{"id":276,"date":"2017-12-05T20:31:15","date_gmt":"2017-12-05T20:31:15","guid":{"rendered":"http:\/\/bufallos.com.br\/bg_br\/?p=276"},"modified":"2017-12-29T14:10:48","modified_gmt":"2017-12-29T14:10:48","slug":"otimize-tempo-com-pipeline-templates-em-seus-barramentos-osb","status":"publish","type":"post","link":"http:\/\/bufallos.com.br\/bg_br\/otimize-tempo-com-pipeline-templates-em-seus-barramentos-osb\/","title":{"rendered":"Otimize tempo com PIPELINE TEMPLATES em seus Barramentos Oracle (OSB)"},"content":{"rendered":"<p style=\"text-align: justify;\">Alguns anos atr\u00e1s, ainda no per\u00edodo de faculdade, lembro que os professores sempre diziam algo que tornou-se comum a ponto de virar\u00a0jarg\u00e3o em sala de aula que era o seguinte : <strong>N\u00e3o pense como programador<\/strong>, que ouve o que um usu\u00e1rio quer e s\u00f3 pensa em como implementar.<\/p>\n<p style=\"text-align: justify;\">Acredito que voc\u00ea j\u00e1 ouviu isso tamb\u00e9m e hoje vejo que \u00e9 uma grande verdade, por que, quando voc\u00ea pensa apenas na implementa\u00e7\u00e3o\u00a0<strong>voc\u00ea esquece de detalhes que n\u00e3o deveriam passar e acaba entrando num ciclo de desenvolvimento sem fim<\/strong>. Tanto \u00e9 que surgiram fun\u00e7\u00f5es\u00a0como Analista de Requisitos, por exemplo, que tem a primordial fun\u00e7\u00e3o de ouvir o usu\u00e1rio e criar uma documenta\u00e7\u00e3o de todo processo<br \/>\nde neg\u00f3cio e o que deve ser feito afim de atend\u00ea-lo.<\/p>\n<p style=\"text-align: justify;\">Acontece que o mercado tem exigido de n\u00f3s, profissionais de TI, a capacidade de atendermos a diversas \u00e1reas ao inv\u00e9s de ficarmos focados\u00a0apenas naquela fun\u00e7\u00e3o que queremos ou sabemos trabalhar. Temos visto que a <strong>otimiza\u00e7\u00e3o de tempo e a entrega r\u00e1pida de resultados<\/strong>\u00a0tem sido considerado como alvos muito importante atualmente.<\/p>\n<p style=\"text-align: justify;\">Como consequ\u00eancia disso temos visto surgir in\u00fameras metodologias de desenvolvimento, gerenciamento de demandas entre outros recursos.\u00a0Um exemplo muito interessante \u00e9 o conceito de <strong>SOA e Microservi\u00e7os<\/strong> que trazem a ideia de <strong>Reusabilidade e otimiza\u00e7\u00e3o de tempo<\/strong>.\u00a0 Mas, mesmo tendo a nossa disposi\u00e7\u00e3o recursos t\u00e3o incr\u00edveis, se n\u00f3s n\u00e3o fizermos nossa parte de nada adiantar\u00e1 tanto aparato.<\/p>\n<p style=\"text-align: justify;\">Pensando nisso, decidi escrever este artigo para trazer uma ideia <strong>para quem n\u00e3o tem este h\u00e1bito<\/strong>, ao mesmo tempo que <strong>refor\u00e7ar para quem j\u00e1 tem<\/strong> que \u00e9 o desenvolvimento de <strong>Templates de Pipeline<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Todas as vezes que atuamos como <strong>Arquiteto de Integra\u00e7\u00e3o<\/strong> temos que compreender :\u00a0 a regra de neg\u00f3cio do cliente, suas pol\u00edticas\u00a0e necessidades para podermos gerar uma <strong>integra\u00e7\u00e3o que traga os resultados<\/strong> esperados pelo mesmo.<\/p>\n<p style=\"text-align: justify;\">Acontece que, a depender do neg\u00f3cio, <strong>muitos passos precisam ser refeitos com certa repeti\u00e7\u00e3o<\/strong> e como estamos num momento em que\u00a0o &#8220;Reuso&#8221; tem sido valorizado <strong>n\u00e3o podemos desenvolver aplica\u00e7\u00f5es que tenham m\u00e9todos que n\u00e3o possam ser reutilizados<\/strong> e para solucionar isso, a melhor coisa a fazer \u00e9 desenvolvermos TEMPLATES que nos ajudam bastante com este prop\u00f3sito.<\/p>\n<p style=\"text-align: justify;\">Falando especificamente de Integra\u00e7\u00e3o com o <strong>OSB (Oracle Service Bus)<\/strong>, temos o <strong>PIPELINE TEMPLATE<\/strong> que nos d\u00e1 a possibilidade de<strong> garantir o\u00a0mesmo padr\u00e3o e ou impor a mesma l\u00f3gica do fluxo de mensagens para todos servi\u00e7os de Proxy.<\/strong> Ou seja, uma vez desenvolvido o TEMPLATE voc\u00ea ter\u00e1 a mesma regra para todos os proxy&#8217;s que voc\u00ea vier a fazer. Isso j\u00e1 economiza um bom tempo.<\/p>\n<p style=\"text-align: justify;\">Ensinarei como voc\u00ea pode criar um<strong> PIPELINE TEMPLATE do zero<\/strong>, mas antes disso \u00e9 importante que voc\u00ea tenha os arquivos que utilizaremos\u00a0nos exemplos que seguir\u00e3o a partir de agora. Por isso, <a href=\"http:\/\/bufallos.com.br\/bg_br\/cadastro_osb.php\" target=\"_blank\" rel=\"noopener\">clique aqui e baixe os arquivos que utilizaremos neste tutorial<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>PS1<\/strong>.: Este artigo \u00e9 o primeiro de uma s\u00e9rie que publicaremos em nosso blog, por isso, mantenha os arquivos para os pr\u00f3ximos artigos.<br \/>\n<strong>PS2<\/strong>.: Fa\u00e7a exatamente como estamos ensinando. Depois voc\u00ea melhora, ok.<\/p>\n<p style=\"text-align: justify;\">Bom, antes de criarmos o template \u00e9 necess\u00e1rio executarmos algumas tarefas imprescind\u00edveis:<br \/>\n<strong>1 &#8211; Criar uma aplica\u00e7\u00e3o<\/strong><br \/>\n<strong> 2 &#8211; Criar um Projeto<\/strong><br \/>\n<strong> 3 &#8211; Importar os WSDLs<\/strong> ( <a href=\"http:\/\/bufallos.com.br\/bg_br\/cadastro_osb.php\" target=\"_blank\" rel=\"noopener\">que voc\u00ea deve baixar clicando aqui<\/a> )<br \/>\n<strong>4 &#8211; Criando Business Services<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>1 &#8211; Criando uma aplica\u00e7\u00e3o<\/strong><br \/>\nDentro de uma aplica\u00e7\u00e3o voc\u00ea pode ter v\u00e1rios projetos, ok. Ent\u00e3o, quando voc\u00ea cria uma aplica\u00e7\u00e3o \u00e9 semelhante a voc\u00ea estar criando um diret\u00f3rio para\u00a0reunir v\u00e1rios projetos em um lugar s\u00f3.<\/p>\n<p>Para criar uma aplica\u00e7\u00e3o v\u00e1 em <strong>File -&gt; New -&gt; From Gallery -&gt; Service Bus Tier<\/strong>, selecione <strong>Service Bus Application<\/strong> e d\u00ea um nome para sua aplica\u00e7\u00e3o,\u00a0 que deve ser <strong>ServiceBusAppl<\/strong>.<\/p>\n<p>Em seguida clique em Finish.\u00a0\u00a0<img loading=\"lazy\" class=\"alignnone size-full wp-image-277\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline1.jpg\" alt=\"\" width=\"584\" height=\"668\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline1.jpg 584w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline1-262x300.jpg 262w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>2 &#8211; Criando um Projeto<\/strong><br \/>\nPara criar um projeto o processo \u00e9 muito parecido, v\u00e1 em <strong>File -&gt; New -&gt; From Gallery -&gt; Service Bus Tier<\/strong>, selecione <strong>Service Bus Project<\/strong> e d\u00ea um nome para\u00a0\u00a0seu projeto, que deve ser <strong>XYZCommon<\/strong>, em seguida clique em Finish.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-278\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline2.jpg\" alt=\"\" width=\"554\" height=\"718\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline2.jpg 554w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline2-231x300.jpg 231w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/p>\n<p><strong>3 &#8211; Importar os WSDL&#8217;s<\/strong><br \/>\nAgora \u00e9 a hora de importar os WSDLs que disponibilizamos. Voc\u00ea pode fazer isso de uma forma bem r\u00e1pida que \u00e9 acessando o diret\u00f3rio do &#8220;<strong>JDeveloper\/MyWork<\/strong>&#8221; e colando todos os WSDLs na raiz da aplica\u00e7\u00e3o que voc\u00ea criou. Feito isso, volte ao JDev e atualize o projeto. Voc\u00ea ver\u00e1 que todos os arquivos que voc\u00ea colou no diret\u00f3rio estar\u00e3o vis\u00edveis em seu projeto.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-279\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline3.jpg\" alt=\"\" width=\"376\" height=\"234\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline3.jpg 376w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline3-300x187.jpg 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>4 &#8211; Criando Business Services<\/strong><br \/>\nAp\u00f3s importar todos os WSDLs, vamos criar um Business Service pra cada WSDL.\u00a0 Manteremos a mesma nomenclatura dos WSDLs acrescentando a sigla BS para identificar como Business Service.<\/p>\n<p>Clique com o bot\u00e3o direito do mouse sobre XYZCommon -&gt; New -&gt; Business Service<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-280\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline4.jpg\" alt=\"\" width=\"706\" height=\"219\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline4.jpg 706w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline4-300x93.jpg 300w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/><\/p>\n<p>Nomeie como &#8220;<strong>CustomerServiceBS&#8221;<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-281\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline5.jpg\" alt=\"\" width=\"698\" height=\"433\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline5.jpg 698w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline5-300x186.jpg 300w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/p>\n<p>Clique para procurar o WSDL correspondente (se voc\u00ea n\u00e3o encontrar em <strong>Application<\/strong>, clique em <strong>File System<\/strong> e v\u00e1 at\u00e9 o diret\u00f3rio onde voc\u00ea colocou os arquivos)<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-282\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline6.jpg\" alt=\"\" width=\"702\" height=\"505\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline6.jpg 702w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline6-300x216.jpg 300w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><br \/>\nAp\u00f3s selecionar o arquivo voc\u00ea retornar\u00e1 para a tela de cria\u00e7\u00e3o do Business Service, clique em <strong>Finish<\/strong>.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-283\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline7.jpg\" alt=\"\" width=\"697\" height=\"480\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline7.jpg 697w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline7-300x207.jpg 300w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><br \/>\nQuando voc\u00ea finalizar o Business Service ser\u00e1 aberto, deixe todos os valores default como est\u00e3o.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-284\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline8.jpg\" alt=\"\" width=\"704\" height=\"278\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline8.jpg 704w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline8-300x118.jpg 300w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/p>\n<p><strong>Repita esses passos para todos os WSDLs.<\/strong> Ou seja, crie um Business Service para cada WSDL conforme foi feito acima.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>Agora que todos os <strong>Business Service<\/strong> foram criados, vamos organizar os arquivo em pasta dentro do projeto. Para isso, clique com o bot\u00e3o direito e v\u00e1 na op\u00e7\u00e3o <strong>REFACTOR =&gt; MOVE\u00a0<\/strong>e defina pra onde voc\u00ea quer direcionar os arquivos. Por boa pr\u00e1tica, n\u00f3s colocamos os arquivos de acordo com sua tipologia.<br \/>\nWSDL&#8217;s numa pasta WSDL,\u00a0 Business Services numa pasta BusinessService\u00a0e assim por diante.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-285\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline9.jpg\" alt=\"\" width=\"699\" height=\"569\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline9.jpg 699w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline9-300x244.jpg 300w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-286\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline10.jpg\" alt=\"\" width=\"521\" height=\"214\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline10.jpg 521w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline10-300x123.jpg 300w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-287\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline11.jpg\" alt=\"\" width=\"368\" height=\"363\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline11.jpg 368w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline11-300x296.jpg 300w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/p>\n<p>Obs.: \u00c9 interessante voc\u00ea fazer como mostramos acima por que o JDeveloper reorganiza de forma correta os arquivos que voc\u00ea criou sem gerar problemas que talvez voc\u00ea tivesse se fosse feito de forma manual.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><strong>Vamos agora criar nosso Pipeline Template<\/strong><br \/>\nCrie um novo projeto chamado XYZCustomer na aplica\u00e7\u00e3o ServiceBusApl e em seguida crie a seguinte estrutura de pastas (como na imagem abaixo) :\u00a0Pipelines, XQueries, XSLTs, WSDLs and ProxyServices<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-288\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline12.jpg\" alt=\"\" width=\"398\" height=\"352\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline12.jpg 398w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline12-300x265.jpg 300w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/p>\n<p>Feito isso, clique com o bot\u00e3o direito na pasta Pipeline e selecione <strong>New -&gt; Pipeline Template<\/strong>.\u00a0\u00a0D\u00ea o nome <strong>CustomerPipelineTemplate<\/strong> e clique em Next.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-289\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline13.jpg\" alt=\"\" width=\"706\" height=\"411\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline13.jpg 706w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline13-300x175.jpg 300w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/> <img loading=\"lazy\" class=\"alignnone size-full wp-image-290\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline14.jpg\" alt=\"\" width=\"703\" height=\"298\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline14.jpg 703w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline14-300x127.jpg 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/p>\n<p>Em Service Type, escolha WSDL SOAP, clique em Finish e a tela do Pipeline ser\u00e1 aberta pra voc\u00ea.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-291\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline15.jpg\" alt=\"\" width=\"698\" height=\"465\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline15.jpg 698w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline15-300x200.jpg 300w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline15-120x80.jpg 120w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-292\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline16.jpg\" alt=\"\" width=\"697\" height=\"339\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline16.jpg 697w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline16-300x146.jpg 300w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/p>\n<p>Como foi falado anteriormente, pelo <strong>Pipeline Template<\/strong> voc\u00ea consegue manter <strong>uma l\u00f3gica comum ou o mesmo padr\u00e3o de fluxo de mensagens que deve ser seguido em todos os servi\u00e7os Proxy.<\/strong><\/p>\n<p>Quando os consumidores chamam o servi\u00e7o de proxy, ele deve ter diferentes caminhos de execu\u00e7\u00e3o com base na opera\u00e7\u00e3o chamada.<\/p>\n<p>O Service Bus fornece o n\u00f3 do <strong>Ramo Operacional<\/strong> que atende a este prop\u00f3sito. Ent\u00e3o, arraste o Operacional que est\u00e1 em <strong>Message Flow -&gt; Template Placeholder<\/strong> para o Template.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-293\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline17.jpg\" alt=\"\" width=\"391\" height=\"210\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline17.jpg 391w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline17-300x161.jpg 300w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/> <img loading=\"lazy\" class=\"alignnone size-full wp-image-294\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline18.jpg\" alt=\"\" width=\"278\" height=\"258\" \/><br \/>\nClique em BranchNode1 e nas propriedades altere o nome para &#8220;CustomerOperation&#8221;, conforme imagem abaixo.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-295\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline19.jpg\" alt=\"\" width=\"476\" height=\"154\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline19.jpg 476w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline19-300x97.jpg 300w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><\/p>\n<p>Agora, arraste um <strong>PIPELINE PAIR<\/strong> para o Branch. Voc\u00ea pode encontr\u00e1-lo em <strong>NODES<\/strong>.\u00a0 Clique em &#8220;<strong>Stage1&#8243;<\/strong> do <strong>Request Pipeline<\/strong>, e em propriedades altere o nome para &#8220;<strong>Validation<\/strong>&#8220;. Desta forma, seu Template deve estar como na imagem abaixo.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-296\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline20.jpg\" alt=\"\" width=\"560\" height=\"475\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline20.jpg 560w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline20-300x254.jpg 300w\" sizes=\"(max-width: 560px) 100vw, 560px\" \/><\/p>\n<hr \/>\n<p>Caso voc\u00ea esteja iniciando, observe uma coisa bem legal quanto ao <strong>BRANCH<\/strong>. Se voc\u00ea traduzir esta palavra em sua forma bruta voc\u00ea ver\u00e1 que significa <strong>RAMO<\/strong>.\u00a0 Ent\u00e3o, um ramo que possui v\u00e1rios caminhos a seguir, ok.\u00a0 Desta forma, se um consumidor desejar CONSULTAR e outro INSERIR uma informa\u00e7\u00e3o, voc\u00ea j\u00e1 entendeu que o BRANCH envia as solicita\u00e7\u00f5es para caminhos diferentes, certo?<\/p>\n<p>Pois bem, vamos dar continuidade. No pr\u00f3ximo artigo, n\u00f3s criaremos um <strong>PROXY SERVICE<\/strong> utilizando este template e ai voc\u00ea poder\u00e1 ver ele sendo utilizado na pr\u00e1tica.<\/p>\n<hr \/>\n<p>O Service Bus fornece atividades de valida\u00e7\u00e3o de esquema. Ent\u00e3o, para que possamos aplicar esta valida\u00e7\u00e3o em nosso TEMPLATE, arraste a atividade <strong>VALIDATE<\/strong> para dentro de VALIDATION.\u00a0Voc\u00ea pode encontrar esta atividade em <strong>MESSAGE PROCESSING<\/strong>.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-297\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline21.jpg\" alt=\"\" width=\"449\" height=\"332\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline21.jpg 449w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline21-300x222.jpg 300w\" sizes=\"(max-width: 449px) 100vw, 449px\" \/><\/p>\n<p>Nas propriedades determine o Location padr\u00e3o como BODY.\u00a0\u00a0Como estamos construindo nosso template, n\u00e3o forneceremos nenhum WSDL como esquema.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-298\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline22.jpg\" alt=\"\" width=\"616\" height=\"193\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline22.jpg 616w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline22-300x94.jpg 300w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/p>\n<p>Bom, pode acontecer de seu desenvolvedor precisar fazer outras valida\u00e7\u00f5es. Ent\u00e3o, para que exista esta possibilidade coloque a atividade <strong>ACTIONS<\/strong> abaixo de VALIDATE.\u00a0Voc\u00ea encontra esta atividade em <strong>Template Placeholders<\/strong>.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-299\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline23.jpg\" alt=\"\" width=\"159\" height=\"276\" \/><\/p>\n<p>Em RESPONSE PIPELINE, delete o Stage1 e depois adicione uma atividade STAGES. Adicione uma atividade STAGES tamb\u00e9m fora de VALIDATION em REQUEST PIPELINE. Esta atividade pode ser encontrada em Template Placeholders.\u00a0Seu Template deve estar como na imagem abaixo.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-301\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline25.jpg\" alt=\"\" width=\"369\" height=\"390\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline25.jpg 369w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline25-284x300.jpg 284w\" sizes=\"(max-width: 369px) 100vw, 369px\" \/><\/p>\n<p>Agora chegou a hora de colocarmos a atividade de Roteamento. O n\u00f3 de roteamento sempre descreve o final do fluxo de mensagens e voc\u00ea n\u00e3o pode colocar outras atividades ap\u00f3s esse n\u00f3.<\/p>\n<p>Ent\u00e3o, arraste e coloque o <strong>ROUTE<\/strong> ap\u00f3s o PipelinePair que colocamos no TEMPLATE e defina o nome como ROUTE na guia Propriedades.\u00a0\u00a0Observe o espa\u00e7o reservado para ACTIONS, ele permite ao usu\u00e1rio colocar qualquer tipo de atividade ao projetar o fluxo de mensagens para seus pipeline&#8217;s<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-300\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline24.jpg\" alt=\"\" width=\"350\" height=\"443\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline24.jpg 350w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline24-237x300.jpg 237w\" sizes=\"(max-width: 350px) 100vw, 350px\" \/><\/p>\n<p>Por \u00faltimo, vamos adicioanr uma camada de <strong>TRATAMENTO DE ERRO<\/strong>. Esta atividade deve ser ligada diretamente ao CustomerPipelineTemplate.\u00a0Para adicionar esta atividade, procure por <strong>ERROR HANDLING<\/strong> em Nodes. Assim seu Pipeline deve ficar como a imagem abaixo.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-302\" src=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline26.jpg\" alt=\"\" width=\"561\" height=\"267\" srcset=\"http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline26.jpg 561w, http:\/\/bufallos.com.br\/bg_br\/wp-content\/uploads\/2017\/12\/templatePipeline26-300x143.jpg 300w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/p>\n<p>Pronto, conclu\u00edmos a constru\u00e7\u00e3o de seu <strong>TEMPLATE<\/strong>.<\/p>\n<p>A partir de agora, ele poder\u00e1 ser usado em qualquer projeto que voc\u00ea quiser e que ele for adequado.<\/p>\n<p>No pr\u00f3ximo artigo, criaremos um Servi\u00e7o de Proxy que usar\u00e1 o template que acabamos de criar.<\/p>\n<p>Refer\u00eancias<br \/>\n&#8211; Este artigo tomou como base uma documenta\u00e7\u00e3o da Oracle desenvolvida por\u00a0<strong>Sivakumar Gonugunta<\/strong><\/p>\n<p>D\u00favidas, entre em contato.<\/p>\n<p>Forte abra\u00e7o.<\/p>\n<p>Eduardo Santana<br \/>\nbufallos@bufallos.com.br<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alguns anos atr\u00e1s, ainda no per\u00edodo de faculdade, lembro que os professores sempre diziam algo que tornou-se comum a ponto<\/p>\n","protected":false},"author":1,"featured_media":265,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,11,4],"tags":[13,19,20,17],"_links":{"self":[{"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/posts\/276"}],"collection":[{"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":5,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":347,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/posts\/276\/revisions\/347"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/media\/265"}],"wp:attachment":[{"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bufallos.com.br\/bg_br\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}