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

Criando um Domain Value Maps (DVM) no BPEL

Basicamente o uso do DVM serve para controle de valores: Onde podemos mapear valores através de chaves, o DVM é uma opção ao uso dos arquivos de properties do Java ou XMLCache do WLI (Weblogic Integration)

Para nosso teste vamos criar um DVM que tem o nome de alguns Estados para posteriormente mapearmos através destes nomes suas Siglas.

Primeiro criamos o nosso Projeto, no meu caso criei com o nome DVMBpel

Obs: Veja que criei um BPEL vazio (Empty Composite)

A description...

Criei um XSD e um WSDL com as operações que iremos usar, abaixo segue os mesmos caso você também queira realizar os mesmos testes.

NomeXSD: DVMBPELProcess.xsd (Clique sobre o nome para fazer o download do arquivo)

A description...

Nome WSDL: DwsdlVMBPELProcess.wsdl (Clique sobre o nome para fazer o download do arquivo)

A description...

Após criá-los no seu projeto deveremos ter:

A description...

Agora vamos criar um DVM, com o botão direito clique sobre a pasta SOA Content e clique em New …

A description...

Onde está o ícone de um “Binóculo” escreva DVM e escolha a opção ao lado Domain Value Map(DVM) e clique em OK

A description...

Agora para o nome entre com Siglas.dvm e em Domain Name coloque Estado (Este será nossa chave) e em Domain Value coloque SAO PAULO (Este será um valor default)

Novamente em Domain Name na linha abaixo coloque Sigla (Este será o nosso valor) e coloque em Domain Value coloque SP (Este será a nossa Sigla default) e deverá estar como abaixo:

A description...

Agora clique em OK, veja que no Estado SAO PAULO e a Sigla SP foram criadas como valor default, agora vamos inserir mais alguns Estados com suas respectivas Siglas.

Para isso clique no Sinal + e em Add Domain Values

A description...

Abaixo inseri apenas mais alguns Estados para nossos testes:

A description...

Agora crie um BPEL baseado neste WSDL:

A description...

Após criado nosso BPEL, arraste um Assign para dentro dele conforme abaixo:

A description...

Dentro do Assign1 vamos expandir outputVariable do seu lado direito até client:SiglaEstado, após isso clique em Expression e arraste para dentro de client:SiglaEstado e aparecerá a tela abaixo:

A description...

Agora em Advanced Functions escolha a opção DVM Functions e clique em Insert Into Expression

A description...

Dentro de dvm:lookupValue() vamos colocar os parâmetros necessários conforme abaixo:

dvm:lookupValue(dvmMetadataURI as string, SourceColumnName as string,SourceValue as string, TargetColumnName as string, DefaultValue as string) as string.

No nosso caso ficará assim:

dvm:lookupValue(“Siglas.dvm”,”Estado”,($inputVariable.payload/client:NomeEstado),”Sigla”,””)

A description...

Agora realize o deploy local e vamos testá-lo:

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:

A description...

Clique no seu projeto: DVMBpel [1.0] e clique em Test

A description...

Em seguida coloque um Estado para realizarmos o teste, abaixo coloquei AMAPA que deverá retornar AP

Request:

A description...

Response:

A description...

“Voalá“.. Nosso DVM foi construído com sucesso !

Porem, vamos supor que seu projeto já está em Produção e agora queremos acrescentar mais Estados com mais Siglas.

Para isso certifique-se de que seu Composer está habilitado consultando meu Post:Habilitando soa Composer

Após isso, no seu Browser entre na URL http://localhost:10000/soa/composer

Clique em Open >> Open DVM

A description...

Selecione DVMBpel_rev1.0 e clique em Open

A description...

Clique em Edit

A description...

Clique agora no sinal + para adicionar mais um Estado e mais uma Sigla

A description...

Na tela abaixo entre com o nome do Estado e a Sigla (No meu caso, Estado TOCANTINS, Sigla: TO)

A description...

Clique em OK e veja abaixo que teremos mais um Estado, agora clique em Save e em seguida clique em Commit:

Obs: Preste muita atenção nesta hora pois você tem mesmo que clicar primeiro em Save e só depois clicar em Commit, caso você esqueça de clicar em Commit ou Save o DVM não salvará as alterações.

A description...

Após clicar em Commit clique em Yes conforme abaixo para confirmar suas alterações:

A description...

Pronto: Seu novo Estado com a Sigla foi inserido com sucesso.

Obs: Já vi diversos problemas onde essas alterações não são adicionadas por algum Bug do próprio DVM, por isso sugiro você dar um Logout e entrar novamente na tela para certificar-se que suas alterações estão lá, caso não esteja repita os passos para adiciona-las novamente.

Duvidas ? Deixe seu comentário e faça download deste Projeto

Abraços e até a próxima

Share

You may also like...

Deixe um comentário

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