Pular para o conteúdo

DB Adapter no SOA Suite – Como criar um Processo BPEL para inserir funcionários na tabela EMPLOYEES

DB Adapter no SOA Suite

Quando você tem um processo BPEL, e ele precisa executar uma operação em uma tabela de banco de dados, por exemplo, inserir um funcionário, você tem que usar o adaptador de banco de dados. O adaptador de banco de dados expõe ao SOA, tabelas e SQL de forma transparente e não intrusiva.

Neste post, vou criar um Processo BPEL para inserir funcionários na tabela EMPLOYEES do HR Schema. Melhores práticas, tais como a utilização de MDS e Mediador, não são o objetivo deste post. Faça o download do aplicativo de amostra:

http://waslleysouza.com.br/wp-content/uploads/2014/09/SOADBAdapterApp.zip

Crie uma aplicação SOA.

No Step 1, defina o Application Name e Application Package Prefix.

DB Adapter no SOA Suite

No Step 2, defina o Project Name.

WWhDzqI4DVk9e2RchMBXjHfftotg9JCZu9bNuMB NZqmGMx5qlZs3BF6VgMCWjeNbz3M3yfsR2MtG9qh1 f9jRnCZcXk2ZuvznIzdizPkqLqQXGlPQUSRfp 33oQ4hgPm 8tnrI4 2E

No Step 3, escolha Empty Composite e clique em Finish para criar a aplicação.

mL edBx 9yruWqpGBgT0YiXd DcaYph2fVS3kuc6se1i2gQWp20D 2uNiAUGLhkHarL2pQ W16iIQv4K 7B8ykFXOtpOm1Qn7hwkfNC8OYAXkfSdVkzN q0g lWMHbGabLguR4GSuM

Crie o XSD de funcionários.

Na janela Applications, clique com o botão direito na pasta Schemas dentro do Projeto e escolha New > From Gallery.

Na caixa de diálogo New Gallery, escolha SOA Tier > Interfaces > XML Schema, e clique em OK.

Defina o File Name e Target Namespace, e clique em OK.

gubQ1O4842JgUlTdC63Zm5rY 85njTacLtLeHRTKFWumZEFqUcoxrkBuwbwYDO9JMxKVPWiuTUJ KorV6X1TA4aPczXD372nq9E86ye8sO9QyIufyYxNOMGXNFXqQWXY1j6j5Wd

Cole o seguinte código dentro do arquivo XSD:

<xsd:element name="createEmployeeRequest">

  <xsd:complexType>

    <xsd:sequence>

      <xsd:element name="employee" type="employeeType"/>

    </xsd:sequence>

  </xsd:complexType>

</xsd:element>

<xsd:element name="createEmployeeResponse">

  <xsd:complexType>

    <xsd:sequence>

      <xsd:element name="status" type="xsd:string" minOccurs="0"/>

    </xsd:sequence>

  </xsd:complexType>

</xsd:element>

<xsd:complexType name="employeeType">

  <xsd:sequence>

    <xsd:element name="firstName" type="xsd:string" minOccurs="0"/>

    <xsd:element name="lastName" type="xsd:string"/>

    <xsd:element name="email" type="xsd:string"/>

    <xsd:element name="hireDate" type="xsd:date"/>

    <xsd:element name="jobId" type="xsd:string"/>

  </xsd:sequence>

</xsd:complexType>
iaY1bhIM0MACUdgqbXkcUAzet4OgIsStRMQLlK3jaZS1MIDfLGdcq6gP X 4wOavUj7rIQNXV GtumMhlbMG oXfwuPy GGdIoj TqOkDXq1tKkZblGVbT3EPg4oodkOWIgOdfX9JnQ


Crie o contrato de serviço (WSDL).

Na janela Applications, clique com o botão direito na pasta WSDLs dentro do Projeto e escolha New > From Gallery.

Na janela New Gallery, escolha SOA Tier > Interfaces > SOA WSDL Document, e clique em OK.

Na caixa de diálogo Create WSDL, preencha o formulário e clique em OK.

Abra o arquivo EmployeeProject.

Para criar o processo BPEL, clique com o botão direito na seção Components, e escolha Insert > BPEL Process.

Na caixa de diálogo Create BPEL Process, preencha o formulário e clique em OK.

MqYoZAM4H8qzRCoioB2zj4MAzmkRni5P4KtcNH o ByiUftjgxN

Para criar o Database Adapter, clique com o botão direito na seção External References e escolha Insert > Database.

No Step 1, defina o DBAdapter Name e clique em Avançar.

Od00ZQgaM0V NQ0ExonImhyWcgXeFD8Iuq3YgAn5j8epF 3RmzJ6NjzSO8Lx05MpP8KG29MnmHbjHdyEPJi5hFUb7zWg6v3VNWGvzQk8toe538kfdHLxyqjjTUybUgq4 G0 ArtU23k

No Step 2, escolha a conexão de banco de dados, defina o JNDI Name e clique em Avançar.

96K88H01nYDGAPRHR5ovrVgBQXUs2A3kW9cHCfDx3cEK0hX53ME6Zi1K81F8puNjYf3CyPCIx

No Step 3, escolha a opção Insert Only e clique em Avançar.

KXs9VAuSmcAO5zf1BTsJ9JdrdUWvlbIUAHUshGzzeufDsReiAvk Dnc6jVIAvwX kNjNZ12GhVVnv7vf0hlYrL0CQJsbeHZXs6YwBpTikKhw8oWzVc5QlwpPCHa2KpXPWHW90tuDJXE

No Step 4, clique no botão Import Tables, escolha a tabela EMPLOYEES do HR Schema e clique em Avançar.

No Step 5, clique em Next.

yTCf48 CSFeD 0soCcRXjvkhQT7MdmAjzCrH 6aGV1Ho bdGZNFWVhRFl8lcHKIamKwDtsfqA1r5DXT0Y3nbWihybYpj UjmykDPhZVF hHXQQlynTVjfYkzH

No Step 6, clique em Next.

ii2DES0KotevwgpysBgZ8wLQCnsYLXD7u UkAQNI8ZfkXEmG4WQcsuvKX 6tdR7JEA9CbcHFBrSCSm0hWuDINbGYv2OeIUUU7LWiyDSN9cKXr

No Step 7, clique no botão Search, selecione EMPLOYEES_SEQ como Sequence e clique em Avançar.

Desta forma, a operação de inserção, vai usar essa seqüência para gerar uma chave única.

uO6UbeA0Q4K 0VHffkZ7eGsbi L9LrcxCrGkqF2r81l 2X

No Step 8, clique em Next.

XcNj7ML4R2apIBKF8LX5NoJKaZU

No Step 9, clique em Finish.

2Jr6TT5xUKPBGBFU

Crie uma ligação entre o CreateEmployeeBPELProcess e o HrDbReference.

QFOaCPnnpjW9lZtbK2Fa6dK9qyBhiK yeEeVSEL5V5TM3lw P9SF6MH9ox7WqBrTn0TCybwJBNPhkjI5x Ho2pPNGNTEEzT 5FUP8SBjYOAv78MVRjnqEFoo3WAuJ0gO4skpBjCal9M

Dê um clique duplo no componente CreateEmployeeBPELProcess para criar o fluxo do processo.

Arraste dois compoentes Assign e um Invoke, e solte dentro do processo.

6bGqMMpnqc7E7MeYjc7cXJf2bbJKrm3eYYdz3Vd2KgjCv 5C642QRv5k 1RjlN10 CnuQB5w7xaWa8Sdc98EF eRx6T4wmt2kRYw8toRajYUTHkXlP

Crie uma ligação entre o Invoke e o HrDbReference.

No Edit Invoke, preencha o formulário, crie as variáveis de entrada e de saída, e clique em OK.

eSXAR9h15Xc31w9lglkcqc 830d6

Clique duas vezes no primeiro compotente Assign, ligue os parâmetros e clique em OK.

xM PeCiouhUVrcfot6B1ooDCKkIllD P

Clique duas vezes no segundo compotente Assign, ligue uma expressão ‘Sucesso’ para o parâmetro de status da variável de saída, e clique em OK.

AQecS3v3NOkLhnrtz50u2zGrBs1c6J1pfQ

Nós terminamos nosso processo BPEL!

Agora, inicie o Integrated WebLogic Server e vá para o WebLogic Server Administration Console.

Vá para Services > Data Sources e crie um novo.

SqUW0cwzytGVibDH2RVSxjONb63U55aMLzEP0OOPY0XC3PbdFl0rOMH UdCIlTSb cnDX9jCiLH8QZim88UeRdDxB50Dy4YtzL2 loT cXXIe5be5kHsf1DsaiEzEqQtaAYRFrOycDk

Vá para Deployments e clique em DbAdapter.

Vá para a guia Configuration e, em seguida, Outbound Connection Pools.

Clique no botão New, escolha javax.resource.cci.ConnectionFactory e crie uma nova Outbound Connection.

dcX lZdoq5DnWHwv3lLs8in3j3dpHHxe youMTZH6chMUpt3xp94LxWJD5Mb2e4FlCsHyyaLUbyjckKNJbRzQYTMb1onq2 0VRNUJ LoVmqQlcarFq29uw5FC3cTAvTQ2PRkkh2v9Tk

Clique na Outbound Connection que você criou e defina:

  • sequencePreallocationSize para coincidir com o valor de incremento em sua seqüência (que é 1 por padrão).
  • XADataSourceName para o JNDI Name de seu Data Source.
RLX6cRclWbqnLm9t7UKtZpI0ACHDK2IbTlyuHRbymEyeEBQ6TPSkJZCIcPr91YY E2BRLGaFrlAkY iuqktfmCpoKLv5 YlcHILC667bfA8mqH43E7vXMUOZrQpdbTATPort9jBsveM

Clique em Salvar.

Vá para Deployments e atualize o DbAdapter.

Volte para o JDeveloper e implante seu projeto SOA no Integrated WebLogic Server.

Vá para o Enterprise Manager (EM) e teste o serviço.

8avurUJp2t9duiPD8543 5IkXlEf5MpSQ2hcTwmeQJebr8sHConknjjyoa7DnIcBBUjsCEm6BLWODWkPaKV8OrX ugH14A0joX GAHfy1Ia51JRb14glDnGuEnNwgRabtIkA0jvNNg
sFi5CrzUHjfhti2y6nbSFFSPSdgof3wdHfXCSt9esPBWMZnOBILzj7zopY4RjdYibpz3phzfXKU4qVyQKa0r0ONKj5qd Zu9khuKtnBIKgIorvuLB60J1Yz odgq1MvktmCOpFaVfYE

 

Quão útil foi este post ?

Clique em uma estrela para classificar o post

nota média 5 / 5. Contagem de votos: 16

Sem votos ! Seja o primeiro a classificar !

Deixe um comentário

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

plugins premium WordPress