Questão sobre SOA

Aos caros que conhecem sobre SOA:

O que tem de errado nessa definição sobre SOA?

[quote]Uma arquitetura de software orientada a serviços tem como característica básica livrar-se das funcionalidades implementadas pelas aplicações e revertê-las em serviços, via barramento de serviços em uma computação distribuída.
[/quote]

[quote=Fabricio Cozer Martins]Aos caros que conhecem sobre SOA:

O que tem de errado nessa definição sobre SOA?

[quote]Uma arquitetura de software orientada a serviços tem como característica básica livrar-se das funcionalidades implementadas pelas aplicações e revertê-las em serviços, via barramento de serviços em uma computação distribuída.
[/quote][/quote]

oi

eu mudaria para

Uma arquitetura de software orientada a serviços tem como característica básica disponibilizar as funcionalidades implementadas pelas aplicações na forma de serviços …

Livrar-se das funcionalidades das aplicações? O que sobraria depois disso? Só serviços? Quem usaria os serviços se não há funcionalidades?

Acho essa definição espartana demais.

Olá

Não necessariamente você precisa tem um ESB para implementar SOA.
Mas a parte mais grosseira é a que os colegas citaram

Bom os amigos têm razão. Se você livrar-se das funcionalidades , não há software. O barramento de serviço também não faz parte do conceito, embora possa auxiliar na estratégia de implementação pelas companhias.

Já que quer falar sobre aplicações distribuídas e SOA vamos lá :

“SOA é um termo que representa um modelo em que a lógica é decomposta em pequenas partes, unidades distintas de lógica. Coletivamente, essas unidades formam uma lógica de negócios. Individualmente, essas unidades podem ser distribuídas.” - Thomas Erl , Fundamental SOA.

Outras visões:

Service-Oriented Architecture é uma estratégia de TI , que organiza as funções contidas nas aplicações corporativas, de maneira que as mesmas possam ser interoperáveis, baseadas em padrões de serviço, que combinadas podem ser reutizadas de maneira rápida a fim de atender as necessidades de negócio. - " visão players de mercado" .

Por fim,sua frase: "Uma arquitetura SOA tem como carcaterística básica encapsular as funcionalidades implementadas pelas aplicações em padrões de serviço. "

Abs,

Kenobi

É pessoal, esse livrar-se está errado mesmo, em relação aos barramentos de serviço, qual seria o outro conceito de se comunicar utilizando SOA de forma distribuída ?

Até a parte do distribuídas ele só falou de programação modular, coisa que existe desde os tempos do FORTRAN. Com distribuídas vem de computação distribuída.

Modularidade + distribuição sozinhos não fazem SOA, ou faz?

Até a parte do distribuídas ele só falou de programação modular, coisa que existe desde os tempos do FORTRAN. Com distribuídas vem de computação distribuída.

Modularidade + distribuição sozinhos não fazem SOA, ou faz?[/quote]

Não, esse é apenas um trecho do texto que faz menção à computação distribuída, mas realmente, isso vem desde a década de 60.

O barramento vai ocultar o lookup do serviço. Alguns possuem até algorítmos de balanceamento de carga, como RoudRobin.

Entretanto você pode ter múltiplos endpoints para os serviços, no pŕoprio contrato WSDL, poderia fazer essa definição - http://www.w3.org/TR/2005/WD-ws-addr-wsdl-20050215/#_Toc77464317

Como disse anteriormente, precisar do Barramento para arquitetura SOA não precisa e arquitetura SOA não é somente barramento como os players disseminam, para isso vale também a outra face - http://www.infoq.com/presentations/soa-without-esb

Um uso interessante sobre EDB, outro carinha para conhecerem : http://www.infoq.com/articles/lublinsky-soa-grid

PS: Vendendo meu jabá :slight_smile: Estarei ministrando treinamento de ESB nos próximos dias, detalhes: http://www.guj.com.br/posts/list/112746.java