quinta-feira, 17 de abril de 2014

MetaData Service - MDS

O MDS é um repositório que é organizado em partições, onde contem uma estrutura similar aos diretórios (pastas) que utilizamos no Windows, Linux e Mac.
A utilização do MDS nos ajuda a compartilhar e fazer o reuso de artefatos como (XSD, WSDL, XSLT, EDL), assim reduzindo a duplicidade de artefatos nos composites.

Configurando no JDeveloper MDS-Connection

Podemos configurar dois tipos de conexão com o MDS, File Based MDS e DB Based MDS
Vamos criar um projeto chamado Artefatos para ser utilizado em File Based MDS.
  •     Clique em "New Project" e escolha "Generic Project"
  •     Preencha o campo "Project Name" com "Artefatos" e clique em OK
  •     Clique com o botão direito encima do projeto Artefatos, clique em "New" e escolha a opção "Folder" e preencha o campo "Folder Name" com "apps"
  •     Clique com o botão direito encima do diretório "apps", clique em "New" e escolha a opção "Folder" e preencha o campo "Folder Name" com "xsd"
  •     Clique com o botão direito encima do diretório "xsd", clique em "New" e escolha a opção "XML Schema"
  •     Preencha o campo "File Name" com "cliente.xsd" e clique em OK
  •     Gere o arquivo como o exemplo abaixo:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:ls="http://www.leonardosugahara.com.br"
            targetNamespace="http://www.leonardosugahara.com.br"
            elementFormDefault="qualified">
  <xsd:element name="cliente">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element type="xsd:string" name="nome"/>
            <xsd:element type="xsd:string" name="cpf"/>
        </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>



1-) Configurando um File Based MDS
  •     Clique em "New" -> escolha SOA-MDS Connection -> OK
  •     Preencha o campo "connection name": "FileBaseMDS"
  •     Escolha "File Based MDS" no combo "Connection Type"
  •     Clique em Browser e escolha o diretório apps do projeto Artefatos que foi criado anteriormente.
  •     Clique em "Test Connection" e verá a mensagem "Success!"

Neste passo criamos uma conexão MDS apontando para o diretório de artefatos que criamos para serem usado e compartilhados nos projetos. Podemos criar uma conexão apontando para o diretório <JDEVELOPER_HOME>\jdeveloper\integration\seed, nesta estrutura encontra-se os artefatos que são utilizados pelo SOA Suite e que podemos utilizar também, alguns desses artefatos são: RuntimeFault.wsdl, HumanTaskEvent.edl, e ws-addressing.xsd.


2-) Configurando um DB Based MDS
  •     Clique em "New" -> escolha SOA-MDS Connection -> OK
  •     Preencha o campo "connection name": "DBBaseMDS"
  •     Escolha "DB Based MDS" no combo "Connection Type"
  •     Clique no sinal de mais na cor verde para criarmos uma conexão com a base
  •     Na Janela "Create DataBase Connection" preencha com as seguintes informações:
        Creator Connection In: "IDE Connections"
        Connection Name: "DEV_MDS_Connection"
        Connection Type: "Oracle"
        Username: DEV_MDS
        Password: <senha definida para o owner DEV_MDS>
    Os itens abaixo já estão preenchidos com as informações do oracle xe, se não estiver preencher com:       
        Driver: "thin"
        Host Name: "localhost"
        JDBC Port: 1521
        SID: XE
  •     Clique em "Test Connection" e verá a mensagem "Success!"
  •     Clique em OK

    De volta a janela "Create SOA-MDS Connection", escolha a opção "soa-infra" em "Select MDS partition"
    Clique em "Test Connection" e verá a mensagem "Success!"

Verifique em resource palette suas conexões.

Utilizando os artefatos disponíveis no MDS

Quando for utilizado algum artefato (XSD, WSDL, XSLT, EDL, etc) que estão no MDS, você vai ver a notação "oramds:" no inicio da referência da URL do artefato.
Vamos criar um composite para utilizar o artefato cliente.xsd como retorno de um processo BPEL.
  • Clique em "New Project" e escolha "SOA Project"
  • O arquivo composite.xml irá abrir, em "Component Pallete" arraste um "BPEL Process" em "Component"
  • Escolha a opção "BPEL 2.0 Specification"
  • Preencha o campo "Name" com "ClienteProcess"
  • Em "Template" escolha "Syncronous BPEL Process"
  • Em "Outpout" clique na lupa
  • Na janela "Type Chooser", clique no primeiro botão da esquerda para a direita "Import Schema File"
  • Na janela "Import Schema File", clique na lupa
  • Na janela "SOA Resource Browser", escolha no combo a opção Resource Palette, selecione o artefato cliente.xsd de FileBasedMDS e clique em OK

  • Na janela "Import Schema File", tire a flag "Copy to Project" e clique em OK
 

Na janela "Type Chooser", selecione o Type cliente e clique em OK
 
 
 
 
 
Foi criado o WSDL "ClienteProcess.wsdl", abra ele e veja o trecho seguinte, indicando a utilização do arquivo no MDS.

<schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://www.leonardosugahara.com.br" schemaLocation="oramds:/xsd/cliente.xsd" />
</schema>


Configurações na Aplicação

Observe no arquivo adf-config.xml as respectivas entradas.

Quando utilizado File Based MDS:
<metadata-store-usage id="mstore-usage_3">
    <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
        <property value="/home/leonardo/jdeveloper/mywork/MDSSampleApplication/Artefatos"
            name="metadata-path"/>
        <property value="apps" name="partition-name"/>
    </metadata-store>
</metadata-store-usage>


Quando utilizado DB Based MDS:
<metadata-store-usage id="mstore-usage_2">
    <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
        <property value="DEV_MDS" name="jdbc-userid"/>
        <property value="jdbc:oracle:thin:@localhost:1521:XE"
                name="jdbc-url"/>
        <property value="soa-infra" name="partition-name"/>
    </metadata-store>
</metadata-store-usage>

   

Nenhum comentário:

Postar um comentário