quinta-feira, 23 de dezembro de 2010

Criando um Web Service usando Sonic ESB

Imagine que você recebe a tarefa de disponibilizar para um parceiro de negócios, cliente ou mesmo fornecedor, um Web Service que ofereça a capacidade de buscar seus produtos em sua base de dados corporativa. Mas você possui apenas uma hora para fazer isso, e a única coisa que você possui pronta é a base de dados contendo os produtos. A equipe de infra-estrutura aguarda que em uma hora você tenha este Web Service pronto e funcional para que eles possam somente disponibilizar no servidor da Web exposto fora do firewall. Você deve implementar os seguintes requisitos funcionais e não-funcionais:
  • Busca de um determinado produto na base de dados, dado o código de identificação (chave primária) deste produto
  • Exibição uma mensagem descritiva de falha caso o produto não seja encontrado no Banco de Dados
  • Exibição uma mensagem descritiva de erro caso ocorra uma falha de comunicação com o Banco de Dados
  • Conectividade com o servidor de banco de dados MySQL 5.1, suporte a transações XA e mecanismo de fail-over para JDBC
  • Expor este Web Service numa porta específica do servidor de aplicações que irá hospedar o Web Service (Ex: Porta 5555)
E agora, o que você faria?

Este é o tipo de cenário que o Sonic ESB visa resolver. Através do Sonic ESB, você pode criar e manter processos de integração complexos como este, como o mínimo de esforço, sem ter que perder tempo com cansativas e errôneas horas de escrita de código em Java, C#, Ruby ou mesmo XML, além de poder garantir os requisitos funcionais e não-funcionais através de cenários de testes integrados e de regressão.

Para mostrar como isso pode ser feito, criei cinco vídeos que mostram passo à passo, a criação deste mesmo cenário, e a fim de suprir as expectativas, o cenário é criado e testado em apenas 48 minutos, menos de uma hora. Desafiador concorda? Pegue seu cronômetro e veja como isso é possível nos vídeos abaixo.

Parte 1 - Definição de um Modelo de Dados Canônico e dos Tipos Complexos



Parte 2 - Implementação da Lógica Inicial do Web Service



Parte 3 - Implementando á Consulta do Produto no Banco de Dados MySQL



Parte 4 - Tratando à Exceção "Produto não Encontrado" usando Faults



Parte 5 - Tratanto o Erro "Falha de Comunicação com o Banco de Dados"



Este é o tipo de velocidade que somente o Sonic ESB pode lhe trazer. Não é a toa que o Sonic ESB é o melhor ESB do mundo: Além de rápido e elegante, ele é super escalável e resiliente. Desculpe a concorrência mas quando o assunto é Sonic, o resto é literalmente, apenas o resto.

3 comentários:

Ricardo Ferreira disse...

Só a título de curiosidade pessoal, para criação e edição dos vídeos, tive que fazer de uma forma mais devagar para que pudesse ser o mais didático possível. Se eu fosse fazer de uma maneira mais natural e sem restrições de ter que apresentar para alguem, faria sem muito esforço em apenas 20 minutos :D

Anônimo disse...

Show de bola este Sonic ESB!

Anônimo disse...

Muito boa a iniciativa