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:
<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"
Verifique em resource palette suas conexões.
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>
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>
<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