Serviços web (web services)

SOA (Service-Based Architecture, Arquitetura Orientada a Serviços)

Atualizado em 4.1.2011

Arquitetura Orientada a Serviços (Service-Oriented Architecture, SOA) consiste num modelo de planejamento da estratégia de tecnologia da informação (TI) para que esta se alinhe diretamente aos objetivos de negócios de uma organização. Este alinhamento permite a tradução das funcionalidades dos aplicativos em serviços padronizados e interrelacionados.

A orientação a serviços é viável devido à adoção de serviços web, uma das possíveis formas de aplicação das Arquiteturas Orientadas a Serviços (SOAs), pois seu foco destas está na estruturação comercial integrada de atividades, não no desenvolvimento e implementação de soluções isoladas - SOAs permitem a operação integrada de tecnologias, o compartilhamento e a reutilização de serviços em ambientes distribuídos.

O produto deste planejamento tecnológico-comercial é um conjunto de serviços relacionados, desde a transferências de dados até a coordenação de atividades. Os aplicativos baseados em SOA são independentes de plataforma e de linguagem e compatíveis com os padrões mais aceitos pelas indústrias.

Processos

Centrados em torno de serviços, os modelos organizacionais baseados em SOA associam as funcionalidades tecnológicas diretamente aos objetivos de negócios, em processos que seguem um encadeamento que começa pelo exame dos processos de negócio em parceria entre as áreas de TI e de negócios, com identificação dos sistemas existentes e das soluções tecnológicas necessárias para atendê-los.

A seguir, é feita a associação de funcionalidades correspondentes a cada processo de negócio (com as informações de entrada/ saída e sobre a interface dos serviços relacionados), bem como a avaliação, catalogação e categorização de cada funcionalidade, para o estabelecimento de padrões de saída e eliminação de redundâncias.

É possível, a partir daí fazer a explicitação das funcionalidades sob a forma de serviços, que atuam de maneira integrada para atender aos processos de negócios. Se só então começar o desenvolvimento, teste e disponibilização de cada serviço, para uso nos aplicativos associados à sua funcionalidade. Grandes sistemas são fragmentados em blocos menores e independentes um do outro, ajustáveis com maior rapidez, a custos mais baixos e com menos subordinação a fornecedores.

Com o sistema em funcionamento, é feito o estabelecimento de métricas para avaliação, a partir da regulamentação através dos serviços, as quais variam em função dos indicativos de negócios e da sua aderência às expectativas.

Estudo global realizado pelo Gartner Group com 200 companhias no quarto trimestre de 2008, mostrou que 40% dos usuários de SOA não mediam o tempo adequado para a verificação do retorno sobre os investimentos e 50% dos que não utilizavam SOA justificam a não adoção por não conseguirem articular e demonstrar seu valor para os negócios. Os pesquisadores verificaram que muitos projetos de SOA têm métricas falhas para avaliar os resultados. (2)

As metricas permitem a verificação das oportunidades de aperfeiçoamento do modelo, a partir da avaliação dos serviços, completando um ciclo de alinhamento e interlocução que se auto-alimenta.

-> Exemplo: Os gestores de um site muito popular resolvem colocar livros à venda através de um programa de afiliação. A livraria à qual se o site está ligada publica um serviço web que possibilita uma fácil integração com informações sobre o estoque e sistema de pedidos.

Por meio de algumas páginas web adaptadas à sua interface, os livros são mostrados no site afiliado, que pode também vendê-los.

A separação entre os componentes da implementação do serviço e a publicação da interface através de SOA simplifica a integração entre os sites, facilita a sua manutenção, promove a reutilização dos elementos. Permite também que qualquer mudança efetuada no sistema da livraria seja automaticamente implementada nos afiliados.

O uso do serviço é um passo a mais que visa a reduzir as barreiras de entendimento e soma de valor ao negócio, quando se trata de criar novas aplicações ou integrar as já existentes.

Benefícios da SOA

Os benefícios da centralização em torno dos objetivos de negócios incluem:

Suporte a formações em nuvem, que no entanto dependem da habilidade de gerenciar, governar e coordenar diversos serviços compartilhados de forma segura entre diversos departamentos e empresas.

Aumento da produtividade e da agilidade no relacionamento entre as áreas de negócios e de tecnologia, que implica no aumento da responsabilidade comercial da área tecnológica na gestão de mudanças.

Redução de custos, com a reutilização de serviços de negócios e a de funcionalidades já implementadas.

Maior rapidez no desenvolvimento de aplicativos (que podem ser reutilizados), com interfaces padronizadas. Um sistema, ou parte dele, pode interagir com outros sistemas e compartilhar funcionalidades.

Maior disponibilidade para planejamento da experiência do usuário.

Melhor acompanhamento da relação custo/benefício das funcionalidades, baseado na relação com cada serviço.

Menores custos de uso de tecnologia.

Tendências

Nem sempre a transição para este modelo de desenvolvimento é tranqüila, pois sua adoção precisa ser acompanhada de profundas mudanças organizacionais (tecnológicas, culturais e nos modelos de negócios). Pessoas de áreas de atividades antes estanques precisam trabalhar lado a lado.

Pesquisa realizada pelo SOA Forum com 1,3 mil executivos de empresas do ranking Fortune 500 em 2007 revelou que a maioria (88%) considerava insuficiente a sua abordagem para governança de SOA, o que colocava suas organizações em risco os serviços em produção (ComputerWorld, 23.10.2007).

-> A divisão de banco de varejo da Wachovia desenvolve um projeto SOA plurianual para criar processos de negócios que geram entre outras soluções, aplicativos que operem tanto no call center quanto nos canais de clientes (através de serviços web). Para quebrar as resistências internas, criou uma comunidade de prática para 1.200 desenvolvedores, contratou novos colaboradores e treinou os desenvolvedores de mainframe e sistemas legados.

Há inúmeros grupos de trabalho, como os comitês da OASIS, que examinam unidades de funcionalidade baseadas em SOA em especial em fluxos de trabalho, colaboração, modelagem de processos de negócios, criação de especificações para arquitetura de componentes de serviço e objetos de dados de serviço entre outras funcionalidades.

Por baratear o custo de mudanças estruturais, os desenvolvedores da arquitetura orientada a serviços atrairam grandes empresas de software como IBM, Microsoft, Oracle, BEA Systems, SAP AG e Sybase. O grupo hoje inclui também empresas como Cape Clear, Interface21, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, Software AG, Sun Microsystems e TIBCO Software.

Pesquisa da Accenture com executivos de TI de grandes empresas em 2007 mostrou que 38% do portfólio de aplicações das empresas com melhor desempenho eram formados por sistemas compostos com SOA e 45% das funcionalidades de novas aplicações baseadas no uso ou reuso de serviços existentes. (1)

Pesquisa realizada pelo Gartner entre maio e junho de 2008 numa amostra inicial de mais de 200 empresas no mundo todo com mais de 1.000 funcionários, mostrou que maioria está apostando em SOA, mas 15% não tinham planos de adotá-la. O número de empresas pesquisadas que pretendiam adotar o modelo caiu de 53% em 2007, para 25% em 2008. Enquanto isso, o número de empresas que não tinham planos de implantar SOA mais do que dobrou, passando de 6% em 2007 para 16% em 2008.


Assuntos relacionados
Web semântica
Projetos online em contexto – Portais do conhecimento (ou portal corporativo, de acordo com o projeto)
Criação ou adesão a programas de afiliação

Referências sobre SOA
Ten examples of SOA at work in 2010 (ZDNet, acesso em 4.1.2011)
Understanding enterprise SOA: SOA for enterprise application integration (WebReference, acesso em 8.1.2006)

Referências (Contextos de projeto web) (Recursos)
Technology of the year 2006, comenta SOA como tendência de recurso tecnológico cujo uso deve aumentar em 2006 (Developer.com, acesso em 12.1.2006)

Fontes
2) Quanto vale SOA? (B2B Magazine, acesso em 28.5.2009)
Cresce o Lego do software (Info Online, 1.8.2006)
Adotar SOA é mais complexo do que parece (ComputerWorld, 26.6.2006)
1) Todo poder ao usuário (B2B, 15.1.2008)

Mais informação sobre o assunto
Open SOA Collaboration – contém informações de especificações e textos, sobre a definição de um modelo de programação independente de linguagem que atenda aos desenvolvedores corporativos que trabalham com SOA

Avellar e Duarte no Twitter Avellar e Duarte no Facebook