SOA é um estilo de arquitetura que tenta alinhar melhor processos de negócio com a TI.
Apesar de os frabricantes de TI — como a IBM — serem os que mais falam sobre isso, ingressar em SOA significa primeiro modularizar seus processos de negócio para depois mapear isso aos módulos de aplicações e infra-estrutura.
Grid é um conceito meio obsoleto. Como conceito, mas não como tecnologia. O conceito é obsoleto porque sua atuação é extremamente estrutural e muito complexa. Toda a terminologia relacionada a Grid tem caráter técnico, difícil de explicar e de nada adianta uma empresa pensar em Grid se seus processos de negócio e aplicações que os implementam não estiverem modularizados.
Por isso inventaram SOA. Para que provedores de TI pudessem ter um discurso mais ameno e acessível ao vender a idéia para gestores em seus clientes. E também para atacar o problema do excesso de complexidade da TI do cliente em sua raiz: na modelagem de seus processos de negócio.
E Web Services, onde entra? Dividindo em camadas, o conceito de SOA mora na fronteira entre negócios e TI. Na hora em que os processos vão se materializar em software e aplicações, a boa prática sugere usarmos certos padrões de desenvolvimento, de integração entre módulos. Esses padrões foram agrupados juntos nas especificações de Web Services, e se preocupam em definir como se faz chamadas a serviços (métodos) remotos, como um serviço encontra outro, etc. Então, nessas camadas conceituais, Web Services encontra-se logo abaixo de SOA.
E Grid está logo abaixo de Web Services. Ocupa-se dos mesmos problemas e soluções, mas com abordagens mais operacionais. Grid nasceu em um ambiente científico e WS em um ambiente de aplicações de negócios. Reinventaram a roda um do outro diversas vezes. Mas nos últimos anos têm juntado esforços para limpar os overlaps a fim de produzir um único conjunto de métodos e boas práticas.
Tudo isso é Virtualização
Se a virtualização de hardware (Xen, VMWare, z/VM) divide um equipamento em vários pedacinhos, SOA, WS e Grid dividem a aplicação em vários pedacinhos funcionais.
A virtualização de software (SOA, etc.) é mais difícil de fazer. Mas é também muito mais poderosa que a de hardware. Traz benefícios mais consistentes, mais abrangentes (porque tiveram que arrumar a casa dos negócios antes) e de mais longo prazo.
Tudo isso tem a ver com a Web 2.0
Explicar Web 2.0 está fora do escopo agora, mas sua arquitetura tem muito a ver com SOA.
Ao invés de feeds, podcasts e APIs JavaScript da Web 2.0, SOA tem serviços, provedores de dados e de funcionalidades. Equivalente ao HTML, capaz de juntar funcionalidades e dados de diversos sites, SOA tem a Linguagem de Execução de Processo de Negócio (BPEL, que é XML) que define a ordem e dependências ao juntar Web Services para formar uma aplicação maior. O papel das tags e folksonomy da Web 2.0, é exercido pelo UDDI no contexto de Web Services.
Mashups da Web 2.0 (experimente o iGoogle) são as Aplicações Compostas do SOA (veja também na Wikipedia).
E o Enterprise Service Bus do SOA (também na Wikipedia) tem o Browser como seu equivalente na Web 2.0. Sim, porque ambos tem a missão de materializar as conexões lógicas definidas pelo DHTML ou BPEL.
Web 2.0 é a Arquitetura Orientada a Serviços global.
Rapaz estava procurando definições para SOA em português de repente cai nesse artigo, após terminar de ler minuciosamente cada palavra, pronunciei a seguinte involuntariamente SHOW!! confesso que fiquei mais ou menos um minuto com a seguinte pergunta: Quem escreveu isso?? vendo a AVI p/ todo lado mas que bulhufas A.V.I. tem a ver com isso?? ignorância suprida vamos ao que interessa !!!
No mais Fique seu fã !
Estou escrevendo uma monografia sobre SOA BPMS x ERP,
este “artigo” estabeleceu uma seqüencia de elos que me surpreendeu positivamente.
Tenho uma excelente pergunta/colocação p/ vc, envolvendo tudo isso que falou mas alguns coisitas como “o sonho da engenharia de software” “Orientação a aspectos” TI alinhada aos processos do negocio, etc
Mas vou guardar para uma segunda oportunidade,
Excelente artigo!!
vou publicar o link em brodcast !!
Abraço
Boa tarde, tenho algumas dúvidas referente a virtualização, será que pode me ajudar, por favor ???
Numa plataforma SOA podemos utilizar virtualização de hardware e software,
para dividir Web Services em vários blocos funcionais?
Teremos de adotar uma arquitetura de Grid para satisfazer esses critérios?
Qual o custo e benefício desse tipo de adoção de arquitetura física e lógica?
Agradeço e muito bom os posts por aqui…..
TENHO URGENCIA EM SABER SE EXISTE ALGUM VIDEO SOBRE WEB SERVICE,POIS VOU FAZER MONOGRAFIA SOBRE ESTE TEMA E AINDA NÃO SEI NADA SOBRE O ASSUNTO.