Desenvolvimento - Java
Service-Oriented Architecture (SOA)
Segundo estimativas do Gartner Group, até 2006, o desenvolvimento orientado a serviços mudará a forma de se construir, empacotar e vender sistemas, em mais de 80 % das empresas de software e, até 2007, serviços serão os mecanismos de componentização usados em três de cada cinco soluções de software.
por André Nogueira CarreriO que é o SOA? Trata-se do mais recente conceito de desenvolvimento que explora uma Orientação a Serviços, agregando uma nova visão aos já conhecidos: “Desenvolvimento Orientado a Objetos” e “baseado em Componentes”.
Podemos dizer que o conceito do SOA, de integração, já existe há muito tempo, mas agora ele veio à tona devido à necessidade emergencial de integração de tecnologias que temos atualmente. Na verdade, o SOA é uma metodologia que visa maximizar a reutilização de serviços existentes e a integração com novos serviços para aumentar a eficiência e produtividade de uma empresa.
Mas projetar componentes reutilizáveis não é algo tão simples quanto alguns imaginam. É preciso realizar um estudo cuidadoso do projeto para assegurar o uso eficiente de recursos de rede e minimizar as dependências entre os serviços e as aplicações que os usam.
Entre os principais benefícios do SOA está a total interoperabilidade entre todos os padrões do mercado. Isso significa que agora os usuários não precisarão mais se preocupar com a falta de integração entre tecnologias distintas e podem utilizar livremente padrões Java (EJB, J2EE), Corba ou COM+, por exemplo.
Utilizando o conceito de serviço, o SOA tem por objetivo modelar a corporação como uma coleção de serviços que ficarão disponíveis para uso de toda a companhia. Uma vez montada essa arquitetura não é mais necessário construir novas aplicações desde o início, que passam a ser montadas a partir de serviços publicados (internos ou externos). Um exemplo são as aplicações do tipo ERP que são “dissolvidas” em um grande número de serviços auto-contidos que executam funções de negócio específicas.
Dentro do SOA, Serviço é um conjunto de funcionalidades oferecido por um componente, apresentando características como:
- Invocação somente através da interface;
- Interface endereçável em uma rede (independente de localização);
- É interoperável (independente da plataforma);
- Pode ser dinamicamente encontrado e usado.
Entre os benefícios do SOA destacam-se:
- Mobilidade do código;
- Papéis de desenvolvimento especializados;
- Segurança;
- Testes;
- Suporte a múltiplos tipos de clientes;
- Service assembly;
- Mantenibilidade;
- Reuso;
- Paralelismo no desenvolvimento;
- Escalabilidade;
- Disponibilidade.
Segundo estimativas do Gartner Group, até 2006, o desenvolvimento orientado a serviços mudará a forma de se construir, empacotar e vender sistemas, em mais de 80 % das empresas de software e, até 2007, serviços serão os mecanismos de componentização usados em três de cada cinco soluções de software.
Segue abaixo um link muito interessante sobre o SOA (em inglês):
http://dev2dev.bea.com/technologies/soa/index.jsp
André Nogueira Carreri
Analista de Sistemas
Especialista .NET
ancarreri@hotmail.com