Tags

, , , , , , ,

Vamos neste Post aprender a compartilhar seu MDS entre outros Servidores, mas para isso você já deverá ter criado nosso arquivo Commons.jar conforme a Parte 1: Criando e Configurando MDS 

Neste exemplo, criaremos no WSDL exposto, o <wsdl:binding>, <wsdl:port> e criaremos um arquivo XML chamado ConfigPlan.xml, porem existe na documentação da Oracle mais uma outra forma de realizar este procedimento, porem falarei disso em outro Post.

Primeiro Passo: Criação das tags “binding” e “operation” no WSDL

  • “binding” ou melhor, <wsdl:binding> onde dentro teremos uma tag chamada <wsdl:operation> e esta tag será responsável por chamar a operação dentro da tag <wsdl:portType> do seu WSDL
  • “service” ou melhor, <wsdl:service>, aqui teremos uma tag chamada <wsdl:port> que será responsável por fazer a referencia ao <wsdl:binding> e ainda dentro desta tag <wsdl:port> teremos a tag <soap:address> que terá o endPoint do servidor ao qual queremos referenciar.

Segundo Passo: Deveremos criar um arquivo chamado ConfigPlan que é um arquivo XML a ser enviado junto do nosso projeto, e dentro deste arquivo terá a referencia ao <wsdl:port> que inserimos no WSDL

Difícil ? Nada, veja como será simples 🙂

Consulte os Links abaixo para ver as demais partes:

Vamos usar nosso projeto SelectDBAdapter como exemplo, mas apenas para lhe mostrar onde devemos inserir nossas referencias no WSDL e posteriormente como podemos criar o arquivo ConfigPlan.xml.

Uma observação aqui muito importante é que usaremos nosso projeto SelectDBAdapter como exemplo, porem ele não faz referencia a um serviço externo, no caso, não esta chamando algum outro WSDL de um outro BPEL ou algum outro serviço exposto no Service BUS, mas caso tivesse você deveria inserir no nome do outro servidor que no caso é a referencia que criamos <wsdl:port> do seu WSDL, conforme abaixo:

Primeiro vamos criar uma pasta chamada binds do termo “vincular do nosso português dentro de nossa pasta apps

Em cima da pasta apps clique com o botão direito e clique em New

Imagem Blog UansCarvalho

Clique sobre Folder e clique em OK

Imagem Blog UansCarvalho

Na tela abaixo em Folder Name coloque binds e clique em OK

Imagem Blog UansCarvalho

Teremos então a seguinte estrutura

Imagem Blog UansCarvalho

Obs: O arquivo readme.txt é criado automaticamente, pode deletá-lo sem nenhum problema.

Veja como é simples inserirmos os binds e os ports no WSDL, vamos pegar nosso projeto SelectDBAdapter para realizar nossos testes.

Realize o deploy normalmente do projeto e faça o seguinte:

No seu Browser vá no endereço http://localhost:10000/em

Obs: A porta 10000 é o numero que escolhi ao criar o meu Domínio.

Faça o Login:

Imagem Blog UansCarvalho

Clique no seu projeto: SelectDBAdapter[1.0]

Imagem Blog UansCarvalho

Clique em Test

Imagem Blog UansCarvalho

Copie a URL que esta em WSDL conforme abaixo:

No caso: http://localhost:10000/soa-infra/services/default/SelecDBAdapter/selecdbadapterbpelprocess_client_ep?WSDL

Imagem Blog UansCarvalho

Agora cole a URL no seu Browser:

Imagem Blog UansCarvalho

Agora com o botão direito na tela clique em: Visualizar Código Fonte

Imagem Blog UansCarvalho

Selecione todo o conteúdo desta tela e copie

Agora no seu Jdeveloper, vá na pasta que criamos chamada binds e com o botão direito clique em New…

Imagem Blog UansCarvalho

Selecione File e clique em OK

Imagem Blog UansCarvalho

Na tela abaixo em File Name: Coloque um nome para seu do seu wsdl:

No meu caso coloquei: SelecDBAdapterBPELBinding.wsdl (Fica a seu critério colocar o nome que quiser)

Imagem Blog UansCarvalho

Na tela abaixo clique em Source do seu WSDL

Imagem Blog UansCarvalho

Cole agora o conteúdo do arquivo que colocamos no seu Browser e salve o arquivo

Imagem Blog UansCarvalho

Veja na linha import que ele não esta localizando o xsd SelecDBAdapterBPELProcess.xsd, então altere o schemaLocation conforme caminho abaixo:

schemaLocation=”../xsd/SelecDBAdapterBPELProcess.xsd”

Imagem Blog UansCarvalho

Veja no seu WSDL acima que já foi criado automaticamente nosso <wsdl:biding> e nosso <wsdl:service>

Obs: Na verdade as tags <wsdl:biding> e <wsdl:service> foram criadas automaticamente no momento que copiamos a URL no browser

Imagem Blog UansCarvalho

Veja que na tag <soap:address> que o endPoint está referenciando para http://localhost:8080/..

Porem, para podermos jogar este projeto em outros servidores basta você DUPLICAR a tag <wsdl:port> colocando o endereço de endPoint do outro servidor e alterando o nome de nosso Port.

Veja abaixo:

Imagem Blog UansCarvalho

Veja o que alterei:

De: <wsdl:port name=”SelecDBAdapterBPELProcess_pt”

Para:  <wsdl:port name=”SelecDBAdapterBPELProcess_pt_OutroServidor

 

De:  <soap:address location=”http://localhost:10000/

Para:  <soap:address location=”http://200.1.1.0:5200/

Para que você entenda, este nome que alterei no <wsdl:port name será usado pelo nosso arquivo ConfigPlan para referenciar o binding do nosso WSDL  😉

Obs: Para cada servidor que queremos executar nosso deploy devemos criar mais um <wsdl:port

Até aqui nosso WSDL já foi configurado com sucesso.

Vamos agora criar nosso arquivo ConfigPlan que deverá se referenciar ao nosso WSDL.

Vá no seu Jdeveloper, e dentro do projeto SelectDBAdapter, com o botão direito em cima do seu composite.xml clique em Generate Config Plan

Imagem Blog UansCarvalho

Na tela abaixo ele já irá colocar automaticamente o nome SelecDBAdapter_cfgplan.xml, então renomeio apenas o final deste nome com o nome do servidor que você colocou no seu Port lá no seu WSDL, não precisa ser o mesmo nome mas algo que você saiba que é aquele servidor, então clique em OK

Imagem Blog UansCarvalho

Veja abaixo que o arquivo foi gerado com sucesso

Imagem Blog UansCarvalho

Conforme já expliquei aqui, nosso projeto SelectDBAdapter não faz referencia a um serviço externo, no caso, não esta chamando (Invoke) algum outro WSDL de um outro BPEL ou algum outro serviço exposto no Service BUS, mas caso tivesse você deveria inserir no nome do outro servidor que no caso é a referencia criado no <wsdl:port> do seu WSDL, conforme abaixo:

Arquivo ConfigPlan:

Imagem Blog UansCarvalho

Seu WSDL onde criamos o <wsdl:port>:

Imagem Blog UansCarvalho

Veja que será seu <wsdl:port> que fará referencia ao nosso ConfigPlan, por isso entenda que caso tenhamos um outro servidor que terá um endPoint (wsdl:address) diferente, então também devemos ter um outro aquivo ConfigPlan deste outro servidor e não esquecer de colocar essa referencia no arquivo ConfigPlan e WSDL conforme figuras acima:

Mas mais uma vez entenda, que no caso do nosso projeto SelectDBAdapter não seria necessário colocar este nome do <wsdl:port> no nosso ConfigPlan pois nosso projeto SelectDBAdapter não faz nenhuma referencia a algum outro BPEL ou BUS conforme já expliquei acima

Vamos agora fazer o deploy do nosso arquivo Commons.jar e posteriormente do nosso projeto SelectDBAdapter junto do nosso arquivo ConfigPlan.xml

Obs: Caso não tenha criado ainda o arquivo Commons.jar, faça o procedimento conforme post anterior Parte 1: Criando e Configurando MDS

No seu Browser vá no endereço http://localhost:10000/em

Obs: A porta 10000 é o numero que escolhi ao criar o meu Domínio.

Faça o Login:

Imagem Blog UansCarvalho

Ao lado esquerdo clique no sinal + ao lado de SOA em seguida, clique com o botão direito em soa-infra (AdminServer), vá até Adminstration e clique em MDS Configuration

Imagem Blog UansCarvalho

Na opção Import metadata documents from an archive on the machine where this web browser is running clique em Browse e escolha o local onde está o seu arquivo Commons.jar e em seguida clique em Import

Imagem Blog UansCarvalho

Clique em Close após ver a mensagem “Import Operation – Completed Sucessfully”

Imagem Blog UansCarvalho

Obs: Neste caso no meu Commons.jar só haviam 8 documentos a serem importados.

Agora vamos fazer o deploy do nosso projeto SelectDBAdapter junto com nosso ConfigPlan.xml

Ainda no seu Enterprise Manager ( http://localhost:10000/em )

Ao lado esquerdo clique no sinal + ao lado de SOA em seguida, clique com o botão direito em soa-infra (AdminServer), vá até SOA Deployment e clique em Deploy

Em Archive or Exploded Directory deixe selecionado a opção Archive is on the machine where this web browser is running e em Browse selecione o local onde está seu arquivo .jar (sca_SelectDBAdapter_rev1.0.jar)

Em Configuration Plan deixe selecionado a opção

Imagem Blog UansCarvalho

Na tela abaixo, caso não esteja selecionado em SOA Partition selecione default e clique em Next

Imagem Blog UansCarvalho

Deixe selecionado a opção Deploy as default revision e clique em Deploy

Imagem Blog UansCarvalho

Veja abaixo que seu deploy foi feito com sucesso e já está apontando para o endPoint do servidor correspondente .

Imagem Blog UansCarvalho

Duvidas ? Deixe seu comentário

 

Abraços e até a Próxima

/:-D