Orquestrar é uma arte!

Essa noite perdi o sono com um pensamento que me incomodou positivamente. Fiquei impressionado por ter constato algo tão simples e, ao mesmo tempo, tão interessante.

Trabalho com orquestração de webservices a mais de 2 anos. Também sou músico amador a pelo menos 25 e talvez eu nunca tivesse feito uma relação entre as duas coisas.

Ora, a coisa é simples! Numa orquestra musical o maestro é responsável por determinar o tempo da música, o seu pulso. Os gestos que ele faz determinam a textura da música, ou seja, se as notas vão ser mais suaves ou mais duras; e a amplitude da regência determina o volume (forte ou piano), quando a música deve crescer e quando deve diminuir, em suma, a interpretação dinâmica.

Além disso o maestro é quem dá as entradas para os músicos (nem todas as músicas começam e terminam com todos os instrumentos tocando ao mesmo tempo) e determina o fechamento da música de forma que todos os músicos possam parar de tocar ao mesmo tempo.

A maioria dos maestros faz a regência bem parecida, mas as diferenças são adaptáveis, dependendo do seu  costume e dos ensaios.

Se você já trabalhou com orquestração de webservices (no meu caso utilizando BPEL) , leia novamente os últimos parágrafos e pense que eu estou falando de sistemas de informação e não de música! É aí que está a grandeza e a beleza de trabalhar com orquestração de webservices!! É algo ‘musical’. O processo de orquestração é capaz de integrar sistemas de forma melodiosa e harmônica. É claro que, como numa orquestra musical, o regente deve ‘dominar’ a sua orquestra, conhecendo-a profundamente nos mínimos detalhes para que possa tirar dela o seu melhor.

Podemos dizer, também, que o maestro não pode fazer tudo sozinho. Ele é o ‘regente’. Mas não é ele quem, no fim, tocará os instrumentos… Se os músicos são bons o resultado é fabuloso!! Igualmente, se os músicos são limitados, não há maestro que faça milagres…

Da mesma forma, numa integração de sistemas, o sistema de orquestração não é capaz de fazer milagres! Se as ‘pontas’ que devem ser integradas são limitadas ou não realizam o seu trabalho de forma correta, não será o orquestrador que conseguirá fazê-lo.

Orquestrar é uma arte!! Com certeza é por isso eu tenho tanto prazer em desenvolver esse tipo de trabalho! :)

Publicado em BPEL, SOA | 5 comentários

Melhores práticas para testes no Oracle SOA Suite 11g

Hoje recebi uma sugestão de uma apresentação que trata sobre melhores práticas para testes no SOA Suite 11g. Compartilho.

Ele completa o outro artigo desse blog sobre testes unitários.

Link original: http://www.slideshare.net/gschmutz/best-practices-for-testing-soa-suite-11g-based-systems

Publicado em BPEL, SOA, SOA Suite 11g, Testes, Unit Tests | Deixar um comentário

SOA Suite 11g – Faults recovery

Ontem meu amigo e colega Rafael Andrade postou no seu blog um procedimento muito interessante sobre como realizar o fault recovery usando uma API Java do Oracle SOA Suite’s Infrastructure Management.

Vale a pena dar uma olhada.

Publicado em BPEL, Oracle, Produtos, SOA Suite 11g | Deixar um comentário

Monitoramento no Oracle SOA Suite 11g (P2)

Dando continuidade ao artigo sobre Monitoramento no Oracle SOA Suite 11g (vide parte 1), hoje vou tratar sobre o monitoramento do Oracle SOA Suite utilizando o Enterprise Manager do WebLogic.

Lembro que esse ensaio foi realizado utilizando:

  • WebLogic Server Version: 10.3.3.0
  • JRockit 1.6.0
  • Oracle SOA Suite Version: 11.1.1.3
  • Integrações BPEL desenvolvidas utilizando JDev 11.1.1.3

Monitoramento utilizando o console do  Enterprise Manager (EM)

O EM possui várias ferramentas de monitoramento dos serviços e do ambiente SOA Suite. Abaixo estão descritos alguns desses recursos.

Na tela de abertura do EM é possível ter um panorama geral do status do ambiente SOA, ou seja, o status dos serviços disponibilizados, organizados por partition [antigo domain da versão 10 do SOA Suite]. Também é possível visualizar o status dos domínios do WebLogic.

É possível visualizar o status de um domínio específico do WebLogic. No caso das instâncias do domínio SOA Suite os itens visíveis são: informações gerais do ambiente (saúde, utilização da CPU, versão do produto, etc), informações gerais sobre Servlets, JSPs, EJBs, JMSs, JDBCs e uso de JTAs, além de uma estatística sobre requisições por minuto e requisições pendentes. Além disso é possível visualizar a situação geral dos deploys (aplicações e componentes SOA) e estatísticas dos serviços mais requisitados.


É possível verificar a situação geral dos composites disponibilizados e de cada um dos serviços de um composite, além de visualizar mensagens de erro e falhas ocorridas.

Cada um dos serviços [dos composites] possui informações próprias a serem monitoradas. No caso do BPEL será possível ver a situação geral  das instâncias [na guia dashboard], estatísticas sobre as instâncias nos seus vários status…

… será possível pesquisar informações sobre uma instância ou um grupo delas…

…verificar situações nas quais as intâncias estão em estado de falha…

… realizar uma busca por componente deployed…

… e re-executar instâncias que estiverem com o status de recovery.

Para cada um dos tipos de serviço (BPEL, mediator, human workflow, business rules ou spring) será possível executar operações específicas de monitoramento.

Para saber informações completas a respeito, veja o guia completo da Oracle sobre o SOA Suite 11g.

Continuaremos os próximos artigos de monitoramento falando sobre como monitorar o JRockit e a utilização de JMX.

Publicado em BPEL, Oracle, Produtos, SOA Suite 11g | Deixar um comentário

Monitoramento no Oracle SOA Suite 11g (P1)

Recentemente me deparei com a necessidade de monitorar as integrações BPEL desenvolvidas para o Oracle SOA Suite 11g em vários níveis, além da necessidade de realizar o re-envio de instâncias com erro.

Ao fazer essa pesquisa sobre monitoramento, encontrei alguns recursos interessantes que serão motivo para os próximos artigos. Mas, resumidamente, apresento o resultado.

Com relação ao monitoramento do ambiente, destacam-se:

  • os recursos disponibilizados pelo console do servidor de aplicação (WebLogic) e do próprio Enterprise Manager;
  • recursos de monitoramento da VM do JRockit;
  • recursos JMX.

Já com relação ao monitoramento das instâncias do BPEL a principal forma de monitoramento está na interface do Enterprise Manager. Existem recursos JMX que podem ser explorados e tratarei em futuros artigos.

Falando do re-envio de instâncias com erro, a versão 11 do produto Oracle SOA Suite tem um recurso interessante para isso. Teremos um tópico para abordar esse assunto.

Quando falamos, porém, de re-envio de instâncias que estavam, por algum motivo, com problemas de negócio (ou seja, não existe erro para o BPEL ), temos um problema que necessita ser controle e gerenciado fora do BPEL. Também tratarei desse ponto.

Esse ensaio foi feito utilizando:

  • WebLogic Server Version: 10.3.3.0
  • JRockit 1.6.0
  • Oracle SOA Suite Version: 11.1.1.3
  • Integrações BPEL desenvolvidas utilizando JDev 11.1.1.3

Para começar, nesse primeiro artigo falarei sobre o monitoramento no WebLogic.

Monitoramento utilizando o console do WebLogic

O WebLogic possui um esquema interessante de monitoramento, disponível no console do servidor de aplicações.

Na guia Monitoring está disponível uma série de opções de controle e monitoramento servidor. Abaixo relacionamos esses itens:

situação atual do servidor e versão dos produtos

saúde do servidor (todos os subsistemas do servidor)

estatística por canal

performance da VW (incluindo estatísticas da JVM e do garbage collection)

situação das threads

timers que estão sendo utilizados pelo servidor

estatísticas de gerenciamento do trabalho, constraints e requisição a classes que estão configuradas no servidor

informações sobre segurança

estatísticas de runtime para o armazenamento padrão do servidor,

estatísticas sobre todas as conexões JMS do servidor,

estatísticas sobre agentes SAF do servidor e estatísticas sobre conexões JDBC do servidor

informações sobre todas as transações de todos os recursos do servidor.

Publicado em BPEL, Oracle, Produtos, SOA Suite 11g | Deixar um comentário

Referências para SOA, BPEL e correlatos

Ultimamente tenho focado meus esforços trabalhando com BPEL (Business Process Execution Language) e SOA. Gostaria de compartilhar algumas referências que encontrei pelo caminho.

BLOGS:

- Referências interessantes dos meus colegas Rafael AndradeRodrigo Zuchetto.

- Discussões interessantes, por Linda Terlouw.

ORACLE:

- como não poderia deixar de citar, algumas referências sobre o produto Oracle SOA Suite:

Publicado em BPEL, Oracle, Produtos, SOA, SOA Suite 11g | Deixar um comentário

Starting up

Iniciando os trabalhos no novo Blog.

O objetivo principal é publicar conteúdos relacionados ao desenvolvimento de integrações utilizando o Oracle BPEL, sobretudo vinculando ao conhecimento adquirido.

Divirtam-se! :)

Publicado em SOA | Deixar um comentário