Marco Mendes´s Blog

Artigos, Comentários e Opiniões sobre Engenharia de Software, SOA e Tecnologias Java

Arquiteturas SOA

A arquitetura SOA (Service Oriented Architecture) é um paradigma de engenharia de software cujo objetivo primário é permitir a integração de aplicações de TI com maior flexibilidade e suportar a criação e operacionalização de novos processos de negócio com mais rapidez e eficiência. Em termos simples, SOA implica em quebrar a visão de sistemas monolíticos e de manutenção muito complexa e, então, criar uma nova visão fragmentada através da exposição de uma camada de serviços, usualmente baseados em WebServices.

Grupos de prospecção e avaliação de tendências, como o Gartner Group e o Evans Data Corp, colocam cenários bem otimistas para o SOA:

“2005 will be the year of the SOA. Mark it down. According to The Yankee Group, 75% of firms plan to invest in the technology and staffing to enable a service-oriented architecture (SOA). Gartner, 2004
“Gartner Inc.’s prediction that by 2008, 60% of enterprises will use SOA as their ‘guiding
principle’ when creating applications and processes”, Gartner, 2004.
“In a survey of more than 1000 European developers, Evans Data Corp. found that nearly
75% are currently developing or are planning to develop SOA in 2005″, Evans, Jan 2005
Do ponto de vista de negócio, os principais objetivos de SOA são:

Melhorar a eficiência dos processos de negócio já existentes. A necessidade de automatizar aplicações B2B e B2C é uma tendência forte para a consolidação de eco-sistemas empresariais. Toda empresa hoje que deseje montar cadeias de fornecedores com produtos entregues Just-In-Time necessita de uma coordenação precisa de informações e acesso real-time a serviços de terceiros e de seus clientes.
Suportar a criação de novos processos de negócio. A criação de novos processos de negócio (inovação de negócios) é um diferencial nas empresas hoje. As áreas de TI precisam prover mecanimos que permitam que novos processos sejam rapidamente construídos e distribuídos.
Suportar a integração de sistemas legados em arquiteturas de serviços. Cada onda de evolução tecnológica trouxe novos paradigmas e aplicações, como por exemplo Mainframes, aplicações cliente servidor, ERPs, aplicações Web, aplicações J2EE/.NET, entre outras. As empresas de TI precisam disponibilizar toda a inteligência de negócio destes passivos de uma forma simples e que permita novas evoluções com custo reduzido.
Em uma ótica técnica, SOA envolve a integração de sistemas em um barramento compartilhado (Enterprise Service Bus) e a exposição de cada componente destes sistemas através de uma camada de serviços expostas como WebServices. A partir destes serviços, novos processos de negócio podem ser montados (orquestrados e coreografados) em linguagens como BPEL (Business Process Execution Language) e executados em servidores de aplicação dedicados a este propósito.

Para informações sobre este complexo e vasto tema, recomendamos os sites abaixo que disponibilizam um amplo acervo sobre arquiteturas orientadas por serviço, incluindo vídeos, apresentações e documentos diversos.

  • Tutoriais SOA: Modelo de Programação com SOA - Série de artigos que explicam o que é e como implementar uma arquitetura SOA.
  • WebCasts e Eventos SOA: http://www.ibm.com/software/solutions/soa/webcasts/overview.html
  • Exemplos SOA: http://www.soaflexibility.com/ibm/ e http://www.ibm.com/developerworks/soa.
  • Governança SOA: http://www.ibm.com/soa/gov
  • Histórias de Sucesso: http://www-306.ibm.com/software/solutions/soa/successstories.html
  • Literatura: http://www-306.ibm.com/software/solutions/soa/literature.html


     | Enviar por e-mail  | Hits para esta publicação: 394
  • Deixe uma resposta.