BizTalk Server - Princípios básicos dos Mapas

Download BizTalk Server  - Princípios básicos dos Mapas

Post on 06-May-2015

678 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

Os mapas, ou transformaes, so um dos componentes mais comuns nos processos de integrao. Funcionam como tradutores essenciais no desacoplamento entre os diferentes sistemas a interligar. Neste artigo, medida que exploramos o editor de mapas do BizTalk Server, exploramos os seus principais conceitos enquanto abordamos temas como a arquitectura deste servidor e alguns dos padres mais usados na traduo de mensagens.

TRANSCRIPT

<ul><li>1.BizTalk Server - Princpios bsicos dos MapasOs mapas, ou transformaes, so um dos componentes mais comuns nos processos de integrao.Funcionam como tradutores essenciais no desacoplamento entre os diferentes sistemas a interligar. Nesteartigo, medida que exploramos o editor de mapas do BizTal k Server, exploramos os seus principaisconceitos enquanto abordamos temas como a arquitectura deste servidor e alguns dos padres mais usadosna traduo de mensagens.Sandro PereiraMaro 2012Verso 1.0</li></ul><p>2. BizTalk Server - Princpios bsicos dos MapasndiceIntroduo.......................................................................................................................................................... 2Arquitectura ....................................................................................................................................................... 2O que so os mapas de BizTalk e onde podem ser utilizados? ......................................................................... 3 Onde podem ser utilizados os mapas? ......................................................................................................................... 4Introduo ao editor de mapas - BizTalk Mapper Designer .............................................................................. 4 Ligaes e Functoids...................................................................................................................................................... 6 Grelha de Mapeamento ................................................................................................................................................ 7 Operaes possveis nas pginas .............................................................................................................................. 8 Transformaes - Funcionalidades bsicas dos mapas ................................................................................................ 9 Mapeamento simples de um determinado valor (cpia directa) ............................................................................. 9 Concatenao de valores .......................................................................................................................................... 9 Seleces condicionadas ......................................................................................................................................... 10 Scripts customizados ............................................................................................................................................... 10 Adicionar novos dados ............................................................................................................................................ 12 Como organizar os mapas BizTalk ............................................................................................................................... 12 Pginas .................................................................................................................................................................... 13 Operaes possveis de efectuar sobre os mapas ...................................................................................................... 14 Testar mapas (Test Map) ........................................................................................................................................ 15 Validar mapas (Validate Map)................................................................................................................................. 16 Depurar mapas (Debug Map).................................................................................................................................. 17Concluso ......................................................................................................................................................... 18Autor ................................................................................................................................................................ 18Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 2010 1 3. Unicer - Controlo Custos ColaboradorIntroduoOs mapas, ou transformaes, so um dos componentes mais comuns nos processos de integrao. Funcionam como tradutoresessenciais no desacoplamento entre os diferentes sistemas a interligar. Neste artigo, medida que exploramos o editor demapas do BizTalk Server, exploramos os seus principais conceitos enquanto abordamos temas como a arquitectura desteservidor e alguns dos padres mais usados na traduo de mensagens.Este artigo pretende ser uma nota introdutria e destinada a quem est a dar os primeiros passos nesta tecnologia.Podemos definir o BizTalk como um servidor de encaminhamento de mensagens, capaz de tratar, validar, transformar econtrolar inmeros processos, simplificando as necessidades de adaptao de cada sistema a interligar. Ou seja, umcomponente de infra-estrutura essencial nas ligaes entre empresas (B2B - Business-to-Business) e cada vez mais, usado paraligar sistemas, tambm eles, cada vez mais complexos dentro das organizaes (EAI - Enterprise Application Integration). Paraalm dos padres Fire &amp; Forget, o BizTalk tambm usado para cenrios mais complexos onde o workflow depende de vriasmensagens que precisam de ser correlacionadas para orquestrao processos de negcio (BPM - Business ProcessManagement). Neste artigo vamos focar no processo de mapeamento e transformao de mensagens apenas.De maneira simples podemos definir que o BizTalk um servidor de integrao projectado para trabalhar com mensagens, idealpara ser usado principalmente para integrao de aplicaes corporativas (EAI), integrao de sistemas entre parceiros denegcio (B2B) e para gesto de processos de negcio (BPM).ArquitecturaAs mensagens entram no BizTalk atravs de uma porta lgica (portas de recepo ou Receive Port) que so compostas por 1 ouvarias portas fsicas (locais de recepo ou Receive Locations). Cada local de recepo possui uma configurao especfica paraum adaptador, como podemos verificar no exemplo seguinte:Um adaptador FILE poderia ser por exemplo uma pasta de rede (fileshare.localEncomendas) e um filtro (*.edifact) e,paralelamente poderamos tambm estar a receber encomendas por um Web Service (SOAP/REST/XML).Quando o servidor recebe uma mensagem num adaptador, este executa um pipeline. O pipeline simplesmente umacomposio sequencial de componentes que tem como principal objectivo:Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 2010 2 4. BizTalk Server - Princpios bsicos dos Mapas Converter as mensagens que podem estar em diferentes formatos (arquivos de texto (Flat File), arquivos compactados - ZIP),para o formato que o BizTalk usa internamente para processar as mensagens: XML (Extensible Markup Language). Validar as mensagens recebidas. No seu normal funcionamento, o BizTalk s processa mensagens reconhecidasinternamente, para isso utiliza esquemas XML (XML Schema) que permitem descrever a estrutura (record, elemento,atributo, nome, tipo de dado) e define as regras de validao (se ou no obrigatrio, numero de vezes que o elementopode aparecer, hierarquia) das mensagens XML.De seguida as mensagens so despejadas internamente na MessageBox (base de dados) onde so os diferentes subscritores (1ou mais interessados nessa mensagem) a vo receber. Estes subscritores podem ser outras portas de sada (Routing) ou entramem orquestraes lanando novos processos, ou acordando os que estavam espera (via campos correlacionveis).O que so os mapas de BizTalk e onde podem ser utilizados?Os mapas de BizTalk so representaes grficas de documentos XSLT (Extensible Stylesheet Language Transformation) quepermitem efectuar, de forma simples e visual, transformaes s mensagens XML.Podemos enumerar os standards usandos no BizTalk Mapper: XML (Extensible Markup Language) contm os dados das mensagens; XML Schema (XSD - XML Schema Definition) define o formato das mensagens; E XSLT (Extensible Stylesheet Language Transformation) define as regras de tranformao das mensagens;De realar que todos eles so uma recomendao da W3C (Worldwide Web Consortium) - consrcio internacional, que agregaempresas, rgos governamentais e organizaes independentes, e que visa desenvolver standards para a criao e ainterpretao de contedos para a Web.Podemos caracterizar dois tipos de transformaes existentes: Transformaes de Sintaxe: Este tipo de transformaes ocorrem nas pipelines de recepo ou envio e tm como objectivotransformar um documento noutra representao, por exemplo de CSV para XML. Aqui o documento mantem os mesmosdados (semntica), mas muda a sintaxe com que representado. Ou seja traduzimos o documento mas, normalmente, no omodificamos em termos de estrutura. Por norma este tipo de transformao bidireccional, uma vez que continuamos a tero mesmo contedo semntico. Podemos aplicar a mesma lgica de transformao e voltar a obter um documento no seuformato original. Transformaes de Semntica: Este tipo de transformaes ocorre por norma apenas nos mapas de BizTalk. Aqui odocumento mantem a mesma sintaxe com que representado (XML), mas muda a sua semntica. Tipicamente sooperaes One-way, uma vez que quando extramos e agregamos partes de informao de um documento e compomos umoutro documento diferente, podendo perde detalhes importantes para a sua reconstruo.Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 2010 3 5. Unicer - Controlo Custos ColaboradorNota: Neste artigo vamos falar apenas nas transformaes de semntica, ou seja, nos mapas de BizTalk.Onde podem ser utilizados os mapas?Conforme a imagem a baixo demonstra, os mapas de BizTalk podem ser utilizados entrada, nas orquestraes, ou nas portasde sada.A grande diferena entre utilizar nas portas ou em orquestraes, que a utilizao na ltima pode ter mltiplos inputs demensagens (transformaes de vrios documentos para um documento final transformaes N1) e nas portas apenaspermite uma nica mensagem de input (transformaes 11).Introduo ao editor de mapas - BizTalk Mapper DesignerO editor de mapas, BizTalk Mapper Designer, possibilita efectuar transformaes de mensagens XML complexas de forma visuale extremamente simples, expressas em associaes grficas de ligaes (links) que definem as relaes entre os vrioselementos das mensagens.Estas relaes entre elementos so internamente implementadas como transformaes XSLT (Extensible Stylesheet LanguageTransformation) que o standard recomendado pela Worldwide Web Consortium (W3C) para efectuar transformaes entreesquemas XML. Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 2010 4 6. BizTalk Server - Princpios bsicos dos MapasEsta ferramenta encontra-se integrada no Visual Studio e composta essencialmente por 3 mdulos: Esquema de Origem (source schema): trata-se da estrutura de dados da mensagem de origem e encontra-se na parteesquerda da janela principal ponto 1; Esquema de Destino (destination schema): trata-se da estrutura de dados da mensagem final aps ser efectuada atransformao e encontra-se na parte direita da janela principal ponto 2; Grelha de mapeamento (mapper grid): encontra-se no meio da janela principal, entre as duas estruturas de dados (origem edestino) - ponto 3;Esta zona desempenha um papel crtico na definio de mapas, contendo as ligaes e as functoids que iram controlar aforma como os dados de origem da mensagem so transformados, de acordo com o esquema de destino, para a mensagemfinal.Cada mapa pode ter at 20 pginas (mapper grids), acedveis atravs dos separadores (tabs) que se encontram no fundo dagrelha de mapeamento ponto 4.Para alm destes 3 mdulos, existem 2 janelas de extrema importncia para o programador: Janela de Ferramentas (toolbox window): normalmente encontra-se no lado esquerdo do esquema de origem ponto 5;Providencia acesso a todas as functoids que podemos utilizar nos mapas.Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 20105 7. Unicer - Controlo Custos Colaborador Janela de Propriedades (properties window): nesta janela podemos ver e modificar as propriedades de um objectoseleccionado na grelha ou nos esquemas, normalmente encontra-se disponvel direita do esquema de destino ponto 6.Ligaes e FunctoidsAs transformaes num mapa podem ser definidas na forma de relaes simples, como copiar um nome ou um endereo de umdocumento para outro. Podemos expressar uma cpia directa dos dados usando uma ligao, que representada no BizTalkMapper Designer como uma linha que liga os elementos da origem para os elementos de destino.O utilizador tambm pode especificar transformaes mais complexas usando functoids. Podemos considerar uma functoidcomo funes pr-definidas que podemos utilizar para efectuar mapeamentos ou transformaes complexas.Tipicamente num mapa, os dados so copiados da origem para o destino, arrastando ligaes entre os elementos dos doisesquemas. As functoids ficam no meio destas operaes e aplicam uma operao sobre os dados de entrada, de modo atransform-los s exigncias do destino. BizTalk Mapper Designer representa uma functoid como uma caixa no meio da ligaoou ligaes entre os elementos de transformao. Sandro Pereira | DevScope | MVP &amp; MCTS BizTalk Server 2010 6 8. BizTalk Server - Princpios bsicos dos MapasBizTalk fornece um extenso conjunto de functoids que podem ser usadas nos mapas para executar uma variedade de operaesnos dados que esto a ser transformados a partir de uma mensagem de origem para uma mensagem de destino.Por defeito, as functoids esto organizadas em 9 categorias com base nas suas funes: Advanced Functoids: Usadas para criar vrios tipos de manipulao de dados, como a implementao de scriptpersonalizado (C#, Visual Basic .NET, XSLT), mapear valores ou gerir e extrair dados de elementos recursivos. Conversion Functoids: Funes tpicas de converso de valores como: converso de caracteres para ASCII ou de nmeros deuma base para outra (Hexadecimal, decimal). Cumulative Functoids: Usadas para realizar vrios tipos de operaes de acumulao de valores que ocorrem vrias vezesnuma mensagem. Database Functoids: Utilizadas principalmente para pesquisar dados existentes em base de dados. Date and Time Functoids: Trata-se de um conjunto de operaes sobre datas como: adicionar data, hora, data e hora, ouadicionar dias a uma data especfica. Logical Functoids: Estas funes permitem controlar de forma condicional o mapeamento dos valores de origem ou ocomportamento de outras functoids, determinando assim se os dados de sada so criados ou no. Mathematical Functoids: Utilize as functoids matemticas para executar clculos numricos especficos, como adio,multiplicao ou diviso. Scientific Functoids: Usadas para realizar clculos cientficos especficos, como funes logartmicas, exponenciais outrigonomtricas. String Functoids: Usadas para manipular dados alfanumricos (texto) atravs de funes bem conhecidas tais como: calcularcomprimento, concatenao de elementos, extrair bloco de texto, converter para maisculas ou minsculas.No entanto, a plataforma permite que sejam criadas novas functoids pelos programadores assim como orga...</p>