Tags

, , , , , , , , ,

Domain Value Maps (DVM)

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)

Imagem Blog UansCarvalho

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.

Nome XSDDVMBPELProcess.xsd  (Clique sobre o nome para fazer o download do arquivo)

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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:

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

Abaixo inseri apenas mais alguns Estados para nossos testes:

Imagem Blog UansCarvalho

Agora crie um BPEL baseado neste WSDL:

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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:

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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”,””)

Imagem Blog UansCarvalho

Agora realize o deploy local e vamos testa-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:

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

Request:

Imagem Blog UansCarvalho

Response:

Imagem Blog UansCarvalho

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

Selecione DVMBpel_rev1.0 e clique em Open

Imagem Blog UansCarvalho

Clique em Edit

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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.

Imagem Blog UansCarvalho

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

Imagem Blog UansCarvalho

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

/:-D