Criando, Populando e Consumindo Advanced Queue com BPEL – Parte 3/3
E por fim, vamos fazer uso da AQ que foi criada e populada com dados fixos, veja Parte 1 e Parte 2.
O processo de consumo de uma fila chamado de Dequeue, quando executado remove o registro da tabela controladora (Queue Table).
Na camada Oracle Middleware o consumo desta AQ pode ser feito utilizando o Oracle JCA Adapter for Advanced Queue (AQ Adapter) do BPEL.
Nota: Não serão detalhados os procedimentos para a configuração do AQ Adapter no Weblogic, e também a construção básica de um Composite e BPEL, veja as referências deste post.
Consumindo Advanced Queue com BPEL
Crie um novo projeto SOA, e adicione um processo BPEL assíncrono, dê o nome de BPELProcessQueue.
Configure o banco de dados em que foi criada a fila, utilizando o usuário proprietário da AQ.
Arreste o componente AQ Adapter para o processo BPEL, e faça a configuração informando o nome, nome da fila e tipo de uso (enqueue / dequeue) neste caso iremos fazer o Dequeue.
Alguns passos básicos foram ocultados, preencha apenas as configurações a seguir e utilize o next-next-finish.
Selecione a configuração Dequeue.
Selecione o nome da fila que estamos utilizando como exemplo – “XXAR_INVOICE_QTAB”.
Pronto. A fila está preparada para fazer parte do fluxo BPEL, adicione um Receive e associe ao Adaptador, crie uma variável de output que irá conter o tipo de dados da fila.
Bem, com isso feito você já tem o controle total da fila e poderá fazer uso dos dados como quiser, veja abaixo um Assign simples, apenas demonstrando o resultado do nosso receive.
Conclusão
O uso do Oracle AQ pode ser aplicado a diversas situações, uma delas quando está trabalhando com sistemas limitados a tecnologia de Web Services, este recurso é muito útil também em casos que toda a programação está centralizada no banco de dados. Tendo em vista que a implementação e desenvolvimento são razoávelmente rápidos, utilizar a Oracle AQ fornece um ganho enorme para a plataforma de integração.
A seguir você poderá fazer download do projeto utilizado como exemplo e também os scripts para construção da fila.
Downloads
Referência
\o/














