Regras no BPEL

O SOA Suite tem um componente muito bom para trabalhar com regras de negócios: o Oracle Business Rules. Ele permite a gente criar regras de maneira simples, utilizando estruturas IF/THEN ou tabelas de decisões que podem ser manipuladas em tempo de execução. O foco desse post é mostrar como utilizar esses componentes dentro de um BPEL, mas ele pode ser utilizado em conjunto com outros componentes ou como um serviço standalone inclusive.

Crie um projeto com um BPEL síncrono, conforme descrito neste post, mas sem o For Each. Altere o xsd do BPEL para que o input, seja do tipo integer. Entre o elemento receiveInput e replyOutput, arraste um componente de Business Rules. Dê dois cliques para editar e clique no "+" para adicionar um novo dicionário. Especifique um nome (IdadeOracleRules), clique em "+" e Add Input Variable, para adicionar uma variável de entrada. Selecione o nó Variables e clique em "+". Informe o nome "idade". Clique na lupa, selecione o xsd dentro de Project Schema Files e escolha o variável de entrada do processo (process). Na aba initialize, informe o seguinte XPath: $inputVariable.payload para inicializar a variável de entrada com o valor de entrada do processo. Clique OK e faça o mesmo para a variável de saída (output), mas sem a necessidade de inicializar, crie a variável com o nome mensagem. Você deverá obter o seguinte resultado:

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6