GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Usando DB Adapter no SOA Suite 12c

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.

No Step 2, defina o Project Name.

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

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.

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>


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.

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.

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

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

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.

No Step 6, clique em Next.

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.

No Step 8, clique em Next.

No Step 9, clique em Finish.

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

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.

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.

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

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.

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.

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.

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.

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.

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado.