7

Click here to load reader

Estudo de Caso - Arquitetura Orientada à Serviço

Embed Size (px)

DESCRIPTION

Artigo apresentado no curso de Sistemas de Informação abordando um estudo de caso de uma empresa que adotou os princípios de SOA.

Citation preview

Page 1: Estudo de Caso - Arquitetura Orientada à Serviço

SOA – ARQUITETURA ORIENTADA A SERVIÇOS

Um estudo de caso

Jean Rozan Streleski, Carlos Gustavo Hisamitsu de Oliveira

Universidade Estadual Paulista "Júlio de Mesquita Filho" – UNESP

Campus Bauru/SP – 2009

Resumo: Este artigo apresenta o estudo de caso de uma empresa fornecedora de

serviços B2B para a área farmacêutica onde a adoção de conceitos de SOA –

Arquitetura orientada a serviços, puderam aproximar a área de TI das áreas de

negócio, alavancar novos negócios, colaborando para o aumento de faturamento da

empresa.

Palavras-chave: SOA, Serviços, B2B

1. Introdução

A competitividade vivida atualmente pelas empresas vem desafiando a lógica

tradicional dos negócios, aquela baseada em processos de produção e serviços quase

que estáticos. Nesta nova ordem a necessidade por inovação em produtos e serviços se

torna fator indispensável para a sobrevivência das empresas. Muito mais que ser reativa

a mudanças, as corporações precisam de agilidade na gestão do seu negócio. Para tanto

é essencial a perfeita sincronia com uma área de TI também ágil e participativa na

criação de produtos e serviços. E uma das principais propostas para este cenário é a

utilização de conceitos de SOA – Arquitetura Orientada em Serviços.

O objetivo deste artigo é apresentar um estudo de caso de uma empresa cujo

principal serviço é oferecer a empresas do mercado farmacêutico um portal B2Bi para

transações entre redes de farmácias, distribuidores e indústria. Esta empresa utilizou-se

dos conceitos de arquitetura orientada à serviços para que pudesse responder

rapidamente às necessidades de negócio dos seus clientes, viabilizar a conquista de

novos clientes, colaborando para o aumento de faturamento da empresa.

Antes de falarmos em SOA é necessário conceituar serviço. Segundo, Christian

Gronroos (Service Management and Marketing, 1990) serviço é uma atividade de

natureza mais ou menos intangível, que normalmente ocorre em iterações entre

consumidores e empregados ou sistemas de um fornecedor. Estes são oferecidos como

soluções para os problemas do consumidor. Complementando este conceito, James

Fitzsimons (Administração de Serviços, 2008) define serviço com uma experiência

perecível, intangível, desenvolvida para um consumidor que desempenha um papel de

co-produto ao acessar um serviço.

SOA vem de encontro ao conceito de serviço quando permite que a as funções

de negócio de uma empresa estejam totalmente acessíveis a qualquer um dos seus

consumidores por meio de componentes de TI. Estas funções de negócio oferecem um

baixo acoplamento e permitem a independência total em relação ao cliente que está

acessando o serviço.

A Microsoft (SOA in the Real World, 2007) conceitua SOA como uma

arquitetura de baixo acoplamento desenhada para ir de encontro às necessidades de

Page 2: Estudo de Caso - Arquitetura Orientada à Serviço

negócio da organização. Complementando este conceito, Wiley (Service Oriented

Architecture for Dummies, 2007) define que SOA permite ao negócio tomar decisões de

negócio SUPORTADAS pela tecnologia ao invés de tomar decisões LIMITADAS pela

tecnologia.

É factível, portanto que a adoção de SOA pode colaborar para que a TI possa ser

finalmente considerada como estrategicamente alinhada ao negócio.

2. Revisão de Bibliografia

Existem diferentes definições para o conceito de serviço. Grönroos (Service

Management and Marketing, 1990) e outros estudiosos destacam a natureza do processo

de serviços. Ele define o conceito de serviço como uma atividade ou uma série de

atividades de caráter mais ou menos intangível que normalmente, mas não

necessariamente, realiza-se na interação entre o cliente e empregados e/ou recursos

físicos ou bens e/ou sistemas do prestador de serviços, que são fornecidos como

soluções para os problemas do cliente.

Diferente das atividades dos outros setores da economia, a entidade consumidora

dos bens resultantes do setor de serviços contribui durante o desenvolvimento do bem,

não necessariamente durante todo o processo. Como descrito por James Fitzsimons

(Administração de Serviços, 2008), podemos dizer que um serviço é "uma experiência

perecível, intangível, desenvolvida para um consumidor que desempenha o papel de co-

produtor."

Uma definição para o conceito de serviços mais concisa é sugerida por Vargo e

Lusch (A Service-Dominant Logic of Marketing, 2006). Eles definem serviços como a

aplicação de competências (conhecimentos e habilidades), através de ações, processos, e

performances para o benefício de outra entidade ou a si próprio.

A partir da definição de serviço, é possível passar a falar de um arquitetura

orientada à serviços. SOA pode ser compreendido como uma arquitetura que possui um

conjunto de padrões, princípios, e orientações que englobam desde uma visão de

negócio até as possíveis soluções tecnológicas.

Com muito fundamento Wiley (SOA for Dummies, 2007) relata, que “SOA

permite ao negócio tomar decisões de negócio suportadas pela tecnologia ao invés de

tomar decisões de negócio DETERMINADAS ou LIMITADAS pela tecnologia”.

Willey (SOA for Dummies, 2007) afirma que SOA é muito mais do que uma série de

produtos vendidos pelos grandes players do mercado. SOA representa uma dramática

mudança no relacionamento entre negócio e TI. SOA permite que a tecnologia seja

responsável por atender com agilidade à novas necessidades de negócio e, em muitos

casos, até mesmo criar novas possibilidade de negócio. A TI deixa de ser apenas

responsiva e passa a ser ativa.

A Microsoft (SOA in the Real World, 2007) conceitua SOA como uma

arquitetura de baixo acoplamento desenhada para ir de encontro às necessidades de

negócio da organização. Ela resume que:

• “Arquitetura orientada a serviços é uma estrutura (framework)

para integrar processos de negócio e a infra-estrutura de TI que

o suporta, na forma de componentes seguros e padronizados –

serviços – que podem ser reutilizados e combinados para

endereçar as mudanças de prioridade do negócio”.

Page 3: Estudo de Caso - Arquitetura Orientada à Serviço

Peter Herzum e Oliver Sims (Business Componente Factory – Microsoft, 1999)

alertaram analistas e peritos da indústria tem confundido o conceito de SOA com o de

implementações orientadas a serviço. Esse tipo de confusão pode criar resultados

caóticos e imprevisíveis. Artigos que tentam explicar SOA e abordam simplesmente

como construir Web Services, estão na verdade provendo uma forma de criar soluções

técnicas e não soluções arquiteturais.

SOA deve auxiliar a área de TI a responder as mudanças de mercado de forma

ágil, caso contrário a TI se torna um gargalo e não uma área que auxilia o

desenvolvimento da organização. Portanto, SOA é uma filosofia arquitetural e não

necessariamente um conceito implementável.

Partindo deste pontos, é importante conceituar que:

1. SOA do ponto de vista do negócio: Arquitetura orientada a serviço é uma

maneira de implementar os processos de negócio da empresa na forma de funções

bem definidas, flexíveis e reutilizáveis chamadas de serviços.

2. SOA do ponto de vista de TI: Arquitetura orientada a serviço é uma arquitetura

que permite a automação de processos de negócio da empresa através da

integração de diversos componentes com funções bem definidas, chamados de

serviços. SOA possui como base tecnologias WebServices e BPM, tendo como

característica prioritárias a aderência a padrões, agilidade, flexibilidade,

reutilização, interoperabilidade e alinhamento ao negócio.

Modelos de abstração são idéias, funcionalidades e documentações no nível de

detalhe mais adequado. Segundo, Kirsten Vandersluis (The Benefits of a Data

Abstraction Layer for SOA,2008) e Antônio Benedete (Roteiro para a definição de uma

arquitetura SOA utilizando BPM, 2007) as camadas de abstração SOA podem ser

melhor entendias da seguinte forma:

Camada Corporativa: Camada que se preocupa em gerar um modelo

responsável por descrever o negócio da empresa. Esse modelo é capaz de

identificar os processos de negócio chaves que trazem vantagem competitiva

para a empresa, e os processos de negócios que sustentam a organização.

Camada de Processos: Camada que identifica e caracteriza os processos de

negócio. Cada processo pode ser composto por sub-processos e tem como

responsabilidade atender a uma determinada área funcional. Os sub-processos

podem ser decompostos para expor suas dependências da camada de serviço.

É errado pensar que processo e serviço são a mesma coisa. Processos são

definidos uma única vez, e usados dentro de um contexto único, já os

serviços, podem ser construídos dentro de processos de negócio e são criados

para estarem disponíveis para o consumo de usuários, sistemas e outros

serviços.

Camada de Serviços: Camada que tem como responsabilidade mapear os

serviços que compõem as funcionalidades básicas, técnicas e de negócio. A

equipe de negócio identifica as necessidades críticas de negócio, enquanto a

área de TI cria soluções técnicas para atender aos requisitos de negócio.

Camada de Componentes: Camada que mapeia os componentes que

possuem potencial para se transformarem em serviço, é comum se utilizar a

metodologia bottom-up (parte-se da visão de criar aplicações que contém

potencial para serem utilizadas em outros contextos de negócio).

Page 4: Estudo de Caso - Arquitetura Orientada à Serviço

Componentes são blocos de construção de serviços na arquitetura SOA.

Camada de Objetos: Camada responsável por identificar e caracterizar uma

grande quantidade de classes de objetos, seus atributos e relacionamentos.

A partir da abordagem por camadas, é provada a teorização de Wiley (SOA for

Dummies, 2007) que afirma que SOA exige uma drástica mudança no relacionamento

entre áreas. A iniciativa SOA parte da camada corporativa, aquela que até então não

participava de iniciativas da área de TI e vai até a camada de mais baixo nível, a camada

de objetos tecnológicos.

3. Método de Pesquisa

Segundo YIN R. (2001), o estudo de caso representa uma investigação empírica

e compreende um método abrangente, com a lógica do planejamento, da coleta e da

análise de dados. Pode incluir tanto estudos de caso únicos quanto múltiplos, assim

como abordagens quantitativas e qualitativas de pesquisa.

O estudo de caso tem como objetivo retratar a realidade de uma forma completa

e transparente, revelando fatos que envolvem e determinam os diversos momentos da

realidade estudada, utilizando diversas fontes de evidências.

Esse método de pesquisa não aceita um roteiro rígido para a sua delimitação,

mas é possível definir quatro fases que mostram o seu delineamento: delimitação da

unidade-caso; coleta de dados; seleção, análise e interpretação dos dados; elaboração do

relatório (GIL AC., 1995).

Neste estudo de caso foram identificados como elementos de análise

dificuldades e soluções da adoção de SOA na empresa. Utilizou-se como instrumento de

pesquisa um roteiro para uma entrevista semi-estruturada, com questões abertas. Por

tratar-se de uma pesquisa qualitativa, deve-se ter claras as limitações deste tipo de

pesquisa, principalmente quanto ao número de empresas estudadas, restringindo a

generalização dos resultados obtidos.

O estudo foi dividido em quatro fases:

Fase 1: estudo da base teórica de Arquitetura Orientada a Serviços - SOA.

Fase 2: desenvolvimento de um estudo de caso em uma organização que utiliza

os conceitos de SOA. As informações contidas no estudo de caso foram

levantadas através de entrevistas realizadas com um gerente de negócios e o

gerente responsável pela área de TI da empresa.

Fase 3: realização de análises críticas sobre os dados coletados nas fases

anteriores (teórica e empírica).

Fase 4: descrição de como os conceitos de SOA estão sendo utilizados na

organização entrevistada.

4. Estudo de Caso

A empresa objeto deste estudo de caso tem como seu principal produto um

portal B2Bi para o mercado farmacêutico intermediando as transações entre redes de

farmácias, distribuidores e a indústria. Atualmente atende clientes de dez estados

Page 5: Estudo de Caso - Arquitetura Orientada à Serviço

brasileiros. Tem aproximadamente 100 redes de farmácias, totalizando

aproximadamente 400 PDVs (Pontos de Venda) e cerca de 300 fornecedores

cadastrados em sua base de usuários, entre distribuidores e fabricantes.

Por atuar como facilitadora das relações entre compradores e fornecedores, os

consultores da empresa se deparavam com uma grande variabilidade de processos de

negócio nos clientes, caracterizando assim um ambiente de constantes mudanças e

customizações na plataforma.

O contato com cenários de negócios tão variados originava grandes

oportunidades de criação de novos serviços que resultariam em um aumento no

faturamento da empresa.

A demanda gerada na criação de novos serviços encontrava pouca agilidade na

resposta da área de TI da empresa. Existia uma grande dificuldade em compor processos

de negócios de maneiras diferentes ao inicialmente planejado. Existia uma orientação da

arquitetura do sistema a funcionalidades. Além deste problema, a tecnologia utilizada na

primeira versão da plataforma impedia que este cenário fosse revertido. Desta forma,

novos negócios eram, em muitos casos, limitados ou até mesmo cancelados devido a

questões tecnológicas.

A partir deste cenário, tornou-se altamente estratégico reformular a arquitetura

do sistema visando a agilidade e o alinhamento às iniciativas de negócio. O

planejamento pelo novo sistema teve a iniciativa da alta direção da empresa, juntamente

com a área de TI e contou com bons aportes de investimento em treinamentos para

equipe, consultorias e infra-estrutura.

O trabalho da TI da empresa com uma consultoria especializada resultou na

indicação do uso de uma arquitetura orientada à serviços para a mudança do cenário.

Sendo esta uma iniciativa estratégica da empresa, a área de TI trabalhou em

conjunto com a área de negócio da empresa de forma a realizar um mapeamento das

funcionalidades do sistema antigo para um modelo na forma de processos de negócio,

com entradas, transformações e saídas bem definidas. O mapeamento de todos os

processos possibilitou que a empresa identificasse quais etapas dos processos poderiam

ser consideradas serviços, gerando um modelo conceitual, denominado catálogo de

serviços. Embora ainda não construídos na forma de TI estes serviços tinha

características como independência de quem acessa, baixo acoplamento e possibilidade

de ser composto em diversas maneiras diferentes.

O próximo passo foi a seleção de uma tecnologia adequada para o

desenvolvimento dos serviços. Apesar dos grandes autores afirmarem que não é

necessária a troca de tecnologia para adoção de SOA (Microsoft – SOA in the Real

World, 2007), a tecnologia utilizada para a primeira versão do sistema não apresentava

mais condições de crescimento e possibilidade de alteração para um modelo orientado à

serviço. Sendo assim, a segunda grande ação da empresa foi reformular o alicerce da

plataforma em uma nova tecnologia que permitisse a aplicação dos conceitos de SOA.

Esta etapa contou com um investimento em treinamento especializado para a equipe

interna.

O projeto de reformulação do alicerce foi acompanhado de perto por consultores

especializados em SOA, somado a constantes treinamentos da equipe. Este trabalho

resultou na criação da camada de componentes de negócio da empresa, contendo os

serviços anteriormente identificados.

Page 6: Estudo de Caso - Arquitetura Orientada à Serviço

Seguindo o modelo sugerido pela Gartner (The Gartner SOA Adoption Model.

EUA: Gartner, 2006.) a empresa optou por implantar SOA apenas nos processos

prioritários, àqueles que poderiam aumentar o retorno sobre investimento mais

rapidamente. Este trabalho contou com uma grande colaboração da área comercial da

empresa, que detinha a informação de quais oportunidades de negócios deveriam ser

atendidas com prioridade. Conforme o alicerce tecnológico era criado e os serviços

eram criados, os clientes eram migrados da plataforma antiga para a nova.

O novo modelo passou a possibilitar que processos de negócio fossem

facilmente compostos por meio da orquestração dos serviços disponíveis. Atualmente,

através de poucas e ágeis intervenções na plataforma, qualquer processo de negócio,

mesmo àqueles com grandes particularidades, passaram a ser possíveis na plataforma.

Os benefícios da aplicação de SOA se tornaram evidentes recentemente quando

a empresa passou a fechar novos e lucrativos negócios baseados na integração da

plataforma B2Bi da empresa ao sistema ERP dos seus clientes. Os serviços passaram a

ser acessados remotamente, caracterizando perfeitamente o conceito de serviço,

conforme conceituação de James Fitzsimons (Administração de Serviços, 2008). Desta

forma, grandes clientes que tinham resistência na utilização de um sistema fora de seu

ambiente tecnológico, passaram a ter acesso a todos os serviços da plataforma dentro do

seu ERP. Esta etapa exigiu um investimento em um produto especializado na infra-

estrutura de integração entre sistemas, denominado ESB (Enterprise Service Bus).

A aplicação de SOA nas soluções da empresa, embora atualmente consolidado

gerou a demanda por um constante monitoramento nos processos e serviços, visando a

constante otimização destes. Para isto, neste momento a empresa está considerando o

investimento em uma solução baseada nos conceitos de BPM (Business Process

Management).

5. Conclusão

A partir deste estudo de caso, é possível visualizar claramente que a aplicação

dos conceitos de SOA pode colaborar diretamente em maior agilidade na resposta da

área de TI às iniciativas de negócio da empresa.

Entretanto, é importante notar que a iniciativa SOA impactará em mudanças

significativas na estrutura de negócios da empresa, demandando profissionais mais bem

preparados, conforme bem notou Willey ao afirmar que SOA representa uma dramática

mudança no relacionamento entre negócio e TI (SOA for Dummies, 2007). As áreas de

TI e de negócio deixam de ser concorrentes por recursos e passam a efetivamente

colaborar entre si.

Para isto, foi essencial que a iniciativa SOA contasse com um grande apoio da

área estratégica da empresa. Este fator foi essencial para a empresa descrita este estudo

de caso e será em qualquer iniciativa SOA.

Por fim, é possível concluir que, a iniciativa SOA não deve ser considerada a

“bala de prata” para o tão esperado alinhamento entre TI e negócio, contudo, SOA pode

ser uma das grandes colaboradoras para que a TI possa efetivamente colaborar na

concepção de novos negócios e colaborar para a agilidade da empresa.

Page 7: Estudo de Caso - Arquitetura Orientada à Serviço

Bibliografia selecionada

GARTNER. The Gartner SOA Adoption Model. EUA: Gartner, 2006.

HURWITZ, J. et al. Service Oriented Architecture for Dummies. EUA: Wiley, 2007.

BIEBERSTEIN, N. et al. Service Oriented Architecture (SOA) Compass. EUA: IBM,

2006.

ARC. SOA In The Real World. EUA 2008

STRELESKI, J.; ALBINO, RAPHAEL. SOA, BPM e a Agilidade na Gestão do

Negócio. 2008

VANDERSLUIS, KIRSTAN. SOA IBM MAGAZINE - The Benefits of a Data

Abstraction Layer for SOA. EUA 2008

BENEDETE, ANTORNIO JR. Roteiro para a definição de uma arquitetura SOA

utilizando BPM, USP 2007

GRONROOS, CHRISTIAN, Service Management and Marketing, 1990

FITZSIMMONS, J.A.; FITZSIMMONS, M.J. Administração de Serviços, 2008.

VARGO, S.L.; LUSCH, R.F. A Service-Dominant Logic of Marketing. Armonk, NY:

ME Sharpe, 2006.