11 de outubro de 2007

SOA

SOA – Arquitetura orientada a serviços.

Boa tarde pessoal, o que vou postar aqui não seria bem um tutorial, atualmente estou estudando alguma coisa sobre SOA na faculdade e a maneira de tentar entender melhor é escrever, então ai vai alguns conceitos básicos sobre SOA, posso estar errado em alguns conceitos mas estamos aberto a sugestões e seus comentários serão bem vindo.
Algumas coisas tirei de sites também.

O que é SOA ?

De acordo com alguns artigos que estou lendo SOA é uma evolução da computação distribuída e da programação em módulos.

SOA é uma arquitetura voltada a serviços, a idéia de SOA é fazer com que toda unidade lógica de um sistema se transforme em um serviço, esses serviços devem ser independentes de qualquer outro.

Esses serviços estão organizados em um BUS (Enterprise Service Bus) disponibilizados através de interfaces, que podem ser acessadas via web services, mensageria, etc...

Pela definição SOA pode ser implementado usando um ou mais protocolos como SOAP, CORBA, DCOM, RPC, etc...

O que seria um serviço em SOA ?

De acordo com o site: http://pt.wikipedia.org/wiki/SOA, “é uma função independente e sem estado (stateless), que aceita uma ou mais requisições e devolve uma ou mais respostas através de uma interface bem definida”. Como havia dito antes cada serviço criado usando esta arquitetura deve ser independente de outro serviço não deve depender de estado e nem processos de outro serviço.

Mas o que seria BUS ?

BUS é um barramento que fica a frente dos serviços disponibilizados por sua arquitetura SOA, esse barramento também é conhecido como middleware, um exemplo de middleware seria o JBOSS. Para que SOA seja uma realidade este barramento é fundamental.

Na utilização de mensageria com JMS esses middlewares ficam responsáveis por enviar para a fila as mensagens, ele faz toda a gerencia dessas mensagens.

Requisitos para uma arquitetura orientada a serviços.

Para ser considerado um SOA ele deve ser independente de plataforma a tal de interoperabilidade.

Para que seja usado um serviço a interface disponibilizada deve estar muito bem definida e independente de plataforma.


Princípios Básicos de SOA.

SOA possui alguns princípios como reuso, componentização, interoperabilidade, modularidade.

Outros itens a respeito dos princípios de SOA são:

Serviços bem encapsulados, o baixo acoplamento, contrato, abstração, reusabilidade, componentização, autonomia, otimização.

Porque devo utilizar SOA ?

O ponto principal da utilização de SOA está na reutilização onde uma vez criado um serviço qualquer aplicação pode utiliza-lo.

Você começa a componentizar seu sistema de forma que fique totalmente independente de plataforma, independente de outros serviços, fácil manutenção entre outros aspectos que só alguém que já implementou poderia citá-los, como estou apenas estudando isso é um ponto de vista meu apenas.

[]'s

Nenhum comentário: