Este documento apresenta um estudo de caso de uma empresa que adotou a Arquitetura Orientada a Serviços (SOA) para melhor atender às necessidades de negócio de seus clientes de forma ágil. A empresa oferecia um portal B2B para o mercado farmacêutico, mas enfrentava desafios para criar novos serviços rapidamente devido à limitada agilidade da área de TI. Após investir em treinamentos e consultorias, a empresa reformulou sua arquitetura com base em SOA, permitindo que a TI apoiasse de forma estr
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Estudo de Caso - Arquitetura Orientada à Serviço
1. 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
2. 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”.
3. 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).
4. 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
5. 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.
6. 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.
7. 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.