quarta-feira, 6 de abril de 2011

Estudo realizado sobre OSB - Oracle Service Bus

Estudo OSB
·         A oracle possui uma suite de produtos que pode ser compartilhada via OSB.
1)      Oracle User Interaction
2)      Oracle BPM
3)      Oracle Data Service Integrator



O ciclo de vida do OSB pode ser visto como:
1)      Pesquisa por serviços, utilizando o console OSB
2)      Implementação do serviço proxy
3)      Implementação de orquestração de serviços utilizando os fluxos definidos nos serviços de proxy.
4)      Implementação de transformação para tornar a comunicação de provedor-consumidor menso dependente.
5)      Definições de roteamento de serviços
6)      Testes de serviços e orquestrações dentro do console do OSB



Principais características OSB.
1)      Integração de serviços
- endpoints, broker de mensagens e reuso de serviços
2)      Segurança de serviços
- autenticação, validação de usuário, etc
3)      Composição de serviços
- logica de roteamento de mensagem, transformação de mensagem
4)      Gestão de serviços
- Monitoramento e gestão das atividades

Arquitetura de Componentes OSB.

1)      Service management
- Gestão de mensagem que trafegam no barramento.
2)      Mediation
- descoberta de serviços UDDI, testes de orquestração, especificação de service callout(INVOCA DETERMINADO SERVIÇO DE ACORDO COM O CONTEUDO DA MENSAGEM)
3)      Adaptive Messaging
- HTTP/SOAP, EJB RMI no WEBSPHERE, Protocolos nativos da oracle (oracle data service integrator), WS-I, WS-SECURITY, WS-POLICY, WS-ADRESSING
4)      Security
- segurança no transporte de mensagem(SSL), segurança na mensagem(WS-POLICY), segurança no console(single-sign-on), políticas(WS-SECURITY)

MENSAGENS VIA SERVIÇO DE PROXY.
Uma mensagem é enviada de por cliente via HTTP, JMS, ARQUIVO OU FTP, essa mensagem chega até o OSB para o processamento, após o processamento o OSB invoca uma chamada ao serviço solicitado com o mesmo protocolo de recebimento da mensagem, o serviço recebe e processa a mensagem e retorna ao OSB (sempre utilizando o mesmo protocolo)  e este responde ao cliente que solicitou.
É importante ressaltar que o conceito de proxy é fundamental na arquitetura OSB. É uma interface que os consumidores uitilizam. São definições de web services que o OSB implementa localmente.
O contexto de um serviço de proxy é um conjunto de variáveis XML, essas variaveis podem conter informações sobre a Mensagem, segurança, cabeçalhos etc. Este contexto pode ser lido ou modificado por XQUERY.
As principais variaveis de contexto são: $header(soap), $body(soap) $attachments.
Um serviço de proxy pode ser configurado independente do serviço de negocio ao qual ele se comunica.



Existem alguns tipos de trocas de mensagens no OSB.
Sincrona: envia e espera uma resposta
1pra1 Assincrona: O serviço envia uma resposta para o cliente publicado
 1praN assincrona: resposta dos serviços em broadcast para os clientes publicados
 requisição/resposta assincrona:  OSB prove fila de mensagens JMS, cria duas, uma para request outra para response.
Broker de mensagens:
Permite roteamente de mensagens baseado em conteudo e transformação de dados.
- Xqueries e Callouts de mensagens.
Usada para chamar um serviço de destino. Suporta RPC e substituição de URL
- Tabela de roteamento fora do proxy (maior aproveitamente). Permite definir rotas sem ter que re-configurar o proxy.
- Roteamento baseado em identidade: criar clientes e grupos para aplicar politicas de roteamento.
DATA BASE LOOKUP.
O OSB possui esta funcionalidade para leitura a BD com serviços proxy
CONSOLE DE TESTE.
O OSB possui esta funcionalidade para testar partes específicas de um sistema isoladamente. Permite rastrear fluxos de mensagens.
Podem ser testados: Serviço de proxy, serviço de negócio,  Xquery, XSLT
Outros recursos do OSB:
- tratamento de erros (mensagens customizadas)
- versionamento (permite controlar versões dos serviços)
- monitoramento (media de tempo de um serviço,  volume processado, etc)
PASSOS PARA PUBLICAÇÃO DE UM SERVIÇO.
São basicamente duas etapas para publicação de um serviço no OSB.
1)      Realizar a publicação da aplicação no WLS
2)      Publicar as interfaces de serviços (WSDL) no OSB.
- esta etapa consiste em gerar um .jar para publicação
Para que o serviço fique realmente disponivel, será necessário criar um Business Services associado ao WSDL gerado. Este business service é a configuração no barramento de um serviço que irá ser executado está fora do barramento.
É no business service que ficam configurações como: transporte de mensagem, balaceamento de carga, etc.
Dentro mesmo do ESB é possível testar o WSDL.
ROTEAMENTO DE MENSAGENS.

No cenário apresentado acima, caso a taxa é inferior a 5% o proxy faz o roteamento da mensagem para o serviço correspondente.
Para adicionar rotas é necessário alterar o fluxo do serviço.

2 comentários: