BPEL

Trabalhando com uma Sequence no BPEL

Neste Post vou explicar como podemos inserir valores em uma sequence no BPEL.

Faremos um processo de Insert usando o DBAdapter e adicionaremos no Transformation uma função para configurar a sequence que deverá já estar criada no Banco de Dados.

Nosso primeiro passo é ter criado em nosso banco de dados um SEQUENCE, para isso executei o comando abaixo para cria-la.

CREATE SEQUENCE EMPLOYEE_SEQ
START WITH     1
INCREMENT BY   1;

Essa SEQUENCE usaremos para a tabela EMPLOYEE onde teremos o campo EMPNO que será o numero de empregado e o campo preenchido pela nossa sequence.

Como neste Post nosso foco será a configuração da SEQUENCE pularei alguns passos da criação do nosso DBAdapter, mas caso tenha alguma duvida de como criar um clique aqui e veja o passo a passo para a criação de um.

Crie um projeto chamado SequenceBpel

Imagem Blog UansCarvalho

Crie agora um DataBase Adapter com o nome InsertEmployeeDbAdapter

Imagem Blog UansCarvalho

Escolha somente a opção Insert Only

Imagem Blog UansCarvalho

Importe a tabela EMPLOYEE

Imagem Blog UansCarvalho

Remova qualquer relacionamento que para este exemplo não será necessário.

Imagem Blog UansCarvalho

Finalizando nosso DbAdapter então teremos a seguinte tela:

Imagem Blog UansCarvalho

Vamos agora fazer uma pequena “gambiarra” apenas para que seja criado um WSDL para expormos nosso serviço.

Criaremos um BPEL e posteriormente substituiremos ele por um MEDIATOR.

Arraste então um processo BPEL com as informações abaixo:

Imagem Blog UansCarvalho

Feito isso, teremos a seguinte tela:

Imagem Blog UansCarvalho

Vá agora na pasta XSD do seu projeto e abra o arquivo SequenceBPELProcess.xsd

Imagem Blog UansCarvalho

Edite seu XSD para que ele tenha os parâmetros de entrada necessários para inserirmos em nossa tabela EMPLOYEE, então deverá ficar conforme abaixo:

Imagem Blog UansCarvalho

Agora exclua seu BPEL e Arraste um MEDIATOR com as especificações conforme imagem abaixo:

Imagem Blog UansCarvalho

Ligue então o seu MEDIATOR ao seu WSDL e a outra ponta ao seu DBAdapter e deverá ficar conforme abaixo:

Imagem Blog UansCarvalho

Abra agora nosso MEDIATOR e clique no ícone conforme imagem abaixo:

Imagem Blog UansCarvalho

Abaixo clique em Create New Mapper File para que ele crie nosso Transformation e em seguida clique em OK.

Imagem Blog UansCarvalho

Abra o seu Transformation e na guia General ao seu lado direito da tela escreva sequence conforme abaixo:

Imagem Blog UansCarvalho

Arraste então este componente para que fique entre o transformation:

Imagem Blog UansCarvalho

Dê um duplo clique sobre este componente e na tela a seguir preencha com o nome da sua sequence e o nome do JNDI do seu datasource:

Obs: Coloque o nome da sua SEQUENCE e o nome do seu JNDI com ASPAS DUPLAS

Imagem Blog UansCarvalho

Feito isso ligue agora o componente com o campo empno referente a sua tabela:

Imagem Blog UansCarvalho

Ligue agora os demais campos:

Imagem Blog UansCarvalho

Pronto.. agora é só realizar o deploy do Projeto e testar.

Veja abaixo os meus parâmetros de entrada:

Imagem Blog UansCarvalho

Veja abaixo o resultado na tabela:

Imagem Blog UansCarvalho

Lembrando que a cada execução do payload acima onde insiro as informações irá ser gerado automaticamente mais uma linha no banco de dados incrementando o código do campo EMPNO

Duvidas ? Deixe seu comentário e faça download deste  Projeto  :-)

 

Abraços e até a Próxima

/:-D

 

 

Criei este Blog destinado a desenvolvedores e interessados na Tecnologia Oracle SOA Suite, minha idéia é que no futuro ele sirva de referência para Analistas e Desenvolvedores desde aprendizes a especialistas. Já existem alguns Posts interessantes que abordam um pouco do meu dia a dia, no passar do tempo irei alimentar este Blog com o máximo de informações possíveis, por isso peço por gentileza aos interessados e afins que caso tenham alguma dúvida, sugestão ou crítica que me digam para que eu possa da melhor forma suprir as expectativas e na medida do possível sanar todas as duvidas que vierem a surgir ou até mesmo criar novos Posts abordando algum tópico que venha a ser relevante para todos os interessados. Obrigado Uans Carvalho

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *