Os mapas, ou transformações, são um dos componentes mais comuns nos processos de integração. 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 padrões mais usados na tradução de mensagens.
O documento discute os principais conceitos de arquitetura orientada a serviços (SOA), incluindo: 1) os benefícios da abordagem SOA para empresas; 2) os desafios de integração no mundo corporativo; 3) os papéis e características de serviços web.
O documento fornece uma introdução aos conceitos fundamentais de bancos de dados relacionais, incluindo: (1) O que é um banco de dados e como ele é diferente de uma planilha, (2) Os benefícios de usar um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS), e (3) Os conceitos de mapeamento cardinalidade e tipos de relacionamentos entre tabelas em um banco de dados.
O documento discute o funcionamento de servidores web, incluindo o que são e os principais tipos. Ele também explica a diferença entre páginas estáticas e dinâmicas, e como o site Gazeta Online usa um modelo misto com a maioria das páginas estáticas hospedadas na Globo.com para melhor desempenho.
1) Web services usam principalmente XML para transmitir dados entre aplicações e integrar sistemas de forma interoperável.
2) XML possui vantagens como comunicação de dados, migração de dados e aplicações web.
3) SOAP é um protocolo padrão para web services que usa XML para troca estruturada de informações em ambientes distribuídos.
O documento discute racks para servidores, servidores e tipos de servidores. Racks para servidores são gabinetes metálicos padronizados para organizar equipamentos de rede. Servidores são computadores dedicados a tarefas específicas que fornecem recursos para outros computadores conectados à rede. Vários tipos de servidores são descritos, incluindo servidores de arquivo, web, e-mail, impressão e banco de dados.
Windows Server é um sistema operacional da Microsoft para gerenciamento de rede empresarial, que oferece funções como Active Directory, DNS, DHCP, serviços de arquivo e impressão.
O documento discute diferentes tipos de servidores, incluindo servidores de arquivos, banco de dados, e-mail, impressão, fax e web. Para cada tipo de servidor, descreve o que é, sua finalidade e os serviços necessários para configurá-lo tanto em sistemas operacionais Windows quanto Linux.
Este documento fornece uma introdução aos WebServices com JBossWS, abordando conceitos como SOA, WebServices, arquitetura do JBossWS, publicação e consumo de serviços EJB e POJO, utilização de handlers e segurança com JAAS e autenticação.
O documento discute os principais conceitos de arquitetura orientada a serviços (SOA), incluindo: 1) os benefícios da abordagem SOA para empresas; 2) os desafios de integração no mundo corporativo; 3) os papéis e características de serviços web.
O documento fornece uma introdução aos conceitos fundamentais de bancos de dados relacionais, incluindo: (1) O que é um banco de dados e como ele é diferente de uma planilha, (2) Os benefícios de usar um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS), e (3) Os conceitos de mapeamento cardinalidade e tipos de relacionamentos entre tabelas em um banco de dados.
O documento discute o funcionamento de servidores web, incluindo o que são e os principais tipos. Ele também explica a diferença entre páginas estáticas e dinâmicas, e como o site Gazeta Online usa um modelo misto com a maioria das páginas estáticas hospedadas na Globo.com para melhor desempenho.
1) Web services usam principalmente XML para transmitir dados entre aplicações e integrar sistemas de forma interoperável.
2) XML possui vantagens como comunicação de dados, migração de dados e aplicações web.
3) SOAP é um protocolo padrão para web services que usa XML para troca estruturada de informações em ambientes distribuídos.
O documento discute racks para servidores, servidores e tipos de servidores. Racks para servidores são gabinetes metálicos padronizados para organizar equipamentos de rede. Servidores são computadores dedicados a tarefas específicas que fornecem recursos para outros computadores conectados à rede. Vários tipos de servidores são descritos, incluindo servidores de arquivo, web, e-mail, impressão e banco de dados.
Windows Server é um sistema operacional da Microsoft para gerenciamento de rede empresarial, que oferece funções como Active Directory, DNS, DHCP, serviços de arquivo e impressão.
O documento discute diferentes tipos de servidores, incluindo servidores de arquivos, banco de dados, e-mail, impressão, fax e web. Para cada tipo de servidor, descreve o que é, sua finalidade e os serviços necessários para configurá-lo tanto em sistemas operacionais Windows quanto Linux.
Este documento fornece uma introdução aos WebServices com JBossWS, abordando conceitos como SOA, WebServices, arquitetura do JBossWS, publicação e consumo de serviços EJB e POJO, utilização de handlers e segurança com JAAS e autenticação.
1) O documento discute os principais padrões associados à Arquitetura Orientada a Serviços (SOA), incluindo Web Services, WSDL, UDDI e SOAP.
2) A linguagem BPEL é abordada como uma linguagem para orquestração e coreografia de serviços.
3) Vários tipos de atividades são descritos na linguagem BPEL, incluindo atividades básicas como receive, invoke e reply.
1) O documento apresenta Marcelo Sincic, um especialista em TI com diversas certificações Microsoft que criou uma apostila básica sobre OLAP para ajudar um grupo de angolanos a aprender o tema.
2) O texto introduz conceitos-chave de OLAP como data warehouse, cubos, cross-join e pivot tables e explica como os dados são transformados de formato relacional para análise.
3) Também descreve como instalar e configurar o serviço OLAP no SQL Server 2005 usando ferramentas como SSIS e SQL Server Management Studio e como criar projet
O documento discute estratégias de acesso a dados para o .NET Compact Framework, incluindo armazenar dados localmente em arquivos XML ou banco de dados SQL Server CE e trocar dados com servidores usando Web Services ou SQL Server CE. A estratégia ideal depende de fatores como quantidade e tipo de dados, conectividade e arquitetura do sistema.
O documento discute otimização de consultas e transações em bancos de dados distribuídos. Explica como fatores como replicação, fragmentação e capacidade de processamento influenciam a otimização de consultas, que ocorre em duas etapas: global e local. Também aborda coordenação de transações distribuídas, tratamento de fal
O documento descreve a arquitetura de rede cliente-servidor, onde os processamentos de informação são divididos entre um servidor, responsável por armazenar dados, e clientes, responsáveis por acessar esses dados. A estrutura básica envolve máquinas servidor disponibilizando recursos como arquivos e bancos de dados para clientes. O Windows Server 2008 Enterprise é indicado para grandes empresas com aplicativos pesados e oferece recursos como failover cluster e ADFS.
O documento descreve como os mapas (transformações) são processados internamente pelo BizTalk Server. Os mapas traduzem as ligações visuais em um documento XSLT que transforma o documento de origem no formato especificado pelo esquema de destino. A ordem das ligações nos elementos de destino e nas functoids pode afetar o resultado final da transformação.
O documento descreve os principais servidores de aplicação Java EE, incluindo JBoss AS, IBM WebSphere Application Server e GlassFish Enterprise Server v3. Estes servidores fornecem serviços como gerenciamento de recursos, segurança, persistência de dados e balanceamento de carga para aplicações Java EE.
O documento apresenta um projeto sobre bancos de dados distribuídos, com o objetivo de mostrar os benefícios da distribuição de dados através de um protótipo. Ele descreve o tema, objetivos, justificativa, referencial teórico, ambiente experimental e principais referências bibliográficas do projeto.
O documento apresenta um resumo de um curso sobre Oracle, abordando conceitos básicos como banco de dados relacional, SQL, ferramentas como SQL*Plus e Oracle Navigator, e demonstra alguns comandos para criação de objetos e manipulação de dados.
O documento descreve o modelo cliente-servidor, no qual programas clientes solicitam informações de programas servidores. Exemplos incluem navegadores da web como clientes e servidores web como servidores. O documento também discute outros modelos de interação em rede como peer-to-peer e apresenta exemplos de aplicações que utilizam o modelo cliente-servidor, como email, transferência de arquivos e sistemas de banco de dados.
O documento descreve a solução IntegraTMS da empresa MSP para integrar sistemas ERP, TMS e transferir dados entre eles em tempo real através de web services. A solução permite a integração ilimitada de sistemas através de um módulo central que resolve questões como compatibilização de chaves e envio de dados para o sistema destinatário.
Microsoft BizTalk server aos olhos dos programadoresSandro Pereira
Já muito se tem falado sobre a plataforma BizTalk Server, o que é, e as vantagens que oferece as organizações. Para os mais distraídos, BizTalk Server é a plataforma de excelência da Microsoft para a integração de sistemas e processos empresariais.
Mas quais os beneficios que esta plataforma oferece aos programadores?
Este documento discute a computação distribuída e as tecnologias emergentes de Web Services e XML. Ele explica como a linguagem XML permite a troca de dados entre sistemas heterogêneos e como os Web Services podem integrar sistemas existentes de forma flexível. O documento também descreve as APIs DOM e SAX para manipulação de documentos XML.
Este documento apresenta um estudo sobre Arquitetura Orientada a Serviços (SOA). Ele discute os fundamentos e características da SOA, incluindo baixo acoplamento, neutralidade de implementação e interoperabilidade. Também apresenta exemplos de padrões e benefícios da SOA, como reuso de código e redução de custos de manutenção.
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mércia Regina da Silva
Este documento apresenta um trabalho interdisciplinar sobre o desenvolvimento de sistemas web para a Universidade Norte do Paraná (UNOPAR). O trabalho aborda conceitos básicos de HTML e edição de documentos HTML, e foi apresentado para as disciplinas de Educação à Distância, Desenvolvimento de Sistemas Web, Metodologia Científica e outras.
Este documento apresenta os principais comandos da linguagem HTML para criação de páginas web. Explica tags básicas como <HTML>, <TITLE>, <BODY> e demonstra o uso de hyperlinks, imagens, formatação de texto e quebras de linha. Também aborda tabelas, formulários e frames.
1) O documento descreve novas características do Apache 2.0, incluindo APR (Apache Portable Run-Time) que melhora a portabilidade, novos filtros que permitem encadear processamento de requisições, e Piped Logs que melhoram o desempenho e gerenciamento de logs.
2) APR melhora a portabilidade do Apache para diferentes plataformas fornecendo uma interface padronizada para chamadas de sistema dependentes da plataforma.
3) Novos filtros permitem que saídas de processamento sejam encadeadas como entrada para outros process
O documento apresenta uma apostila sobre HTML básico com 19 páginas. A apostila introduz os principais comandos HTML como tags, hyperlinks, imagens, textos e tabelas. Inclui também um glossário e anexos com códigos Javascript e tabela de cores hexadecimal.
1) O documento apresenta um guia sobre o software Microsoft Access, abordando seus principais recursos como tabelas, consultas, formulários e relatórios.
2) Inclui instruções sobre a criação de bancos de dados, tabelas, consultas e dicas de planejamento e organização dos dados.
3) Também fornece definições dos principais termos e conceitos relacionados ao Access, como tabela, campo, registro, consulta, formulário e relatório.
O documento descreve as tecnologias XML, Webservices e RSS. XML é uma linguagem para marcação de dados que permite compartilhar informações na internet. Webservices permitem a integração de sistemas através do envio e recebimento de dados em formato XML. RSS é um formato XML para agregar conteúdo de sites e permitir que usuários assinem feeds para receber atualizações.
1) O documento discute os principais padrões associados à Arquitetura Orientada a Serviços (SOA), incluindo Web Services, WSDL, UDDI e SOAP.
2) A linguagem BPEL é abordada como uma linguagem para orquestração e coreografia de serviços.
3) Vários tipos de atividades são descritos na linguagem BPEL, incluindo atividades básicas como receive, invoke e reply.
1) O documento apresenta Marcelo Sincic, um especialista em TI com diversas certificações Microsoft que criou uma apostila básica sobre OLAP para ajudar um grupo de angolanos a aprender o tema.
2) O texto introduz conceitos-chave de OLAP como data warehouse, cubos, cross-join e pivot tables e explica como os dados são transformados de formato relacional para análise.
3) Também descreve como instalar e configurar o serviço OLAP no SQL Server 2005 usando ferramentas como SSIS e SQL Server Management Studio e como criar projet
O documento discute estratégias de acesso a dados para o .NET Compact Framework, incluindo armazenar dados localmente em arquivos XML ou banco de dados SQL Server CE e trocar dados com servidores usando Web Services ou SQL Server CE. A estratégia ideal depende de fatores como quantidade e tipo de dados, conectividade e arquitetura do sistema.
O documento discute otimização de consultas e transações em bancos de dados distribuídos. Explica como fatores como replicação, fragmentação e capacidade de processamento influenciam a otimização de consultas, que ocorre em duas etapas: global e local. Também aborda coordenação de transações distribuídas, tratamento de fal
O documento descreve a arquitetura de rede cliente-servidor, onde os processamentos de informação são divididos entre um servidor, responsável por armazenar dados, e clientes, responsáveis por acessar esses dados. A estrutura básica envolve máquinas servidor disponibilizando recursos como arquivos e bancos de dados para clientes. O Windows Server 2008 Enterprise é indicado para grandes empresas com aplicativos pesados e oferece recursos como failover cluster e ADFS.
O documento descreve como os mapas (transformações) são processados internamente pelo BizTalk Server. Os mapas traduzem as ligações visuais em um documento XSLT que transforma o documento de origem no formato especificado pelo esquema de destino. A ordem das ligações nos elementos de destino e nas functoids pode afetar o resultado final da transformação.
O documento descreve os principais servidores de aplicação Java EE, incluindo JBoss AS, IBM WebSphere Application Server e GlassFish Enterprise Server v3. Estes servidores fornecem serviços como gerenciamento de recursos, segurança, persistência de dados e balanceamento de carga para aplicações Java EE.
O documento apresenta um projeto sobre bancos de dados distribuídos, com o objetivo de mostrar os benefícios da distribuição de dados através de um protótipo. Ele descreve o tema, objetivos, justificativa, referencial teórico, ambiente experimental e principais referências bibliográficas do projeto.
O documento apresenta um resumo de um curso sobre Oracle, abordando conceitos básicos como banco de dados relacional, SQL, ferramentas como SQL*Plus e Oracle Navigator, e demonstra alguns comandos para criação de objetos e manipulação de dados.
O documento descreve o modelo cliente-servidor, no qual programas clientes solicitam informações de programas servidores. Exemplos incluem navegadores da web como clientes e servidores web como servidores. O documento também discute outros modelos de interação em rede como peer-to-peer e apresenta exemplos de aplicações que utilizam o modelo cliente-servidor, como email, transferência de arquivos e sistemas de banco de dados.
O documento descreve a solução IntegraTMS da empresa MSP para integrar sistemas ERP, TMS e transferir dados entre eles em tempo real através de web services. A solução permite a integração ilimitada de sistemas através de um módulo central que resolve questões como compatibilização de chaves e envio de dados para o sistema destinatário.
Microsoft BizTalk server aos olhos dos programadoresSandro Pereira
Já muito se tem falado sobre a plataforma BizTalk Server, o que é, e as vantagens que oferece as organizações. Para os mais distraídos, BizTalk Server é a plataforma de excelência da Microsoft para a integração de sistemas e processos empresariais.
Mas quais os beneficios que esta plataforma oferece aos programadores?
Este documento discute a computação distribuída e as tecnologias emergentes de Web Services e XML. Ele explica como a linguagem XML permite a troca de dados entre sistemas heterogêneos e como os Web Services podem integrar sistemas existentes de forma flexível. O documento também descreve as APIs DOM e SAX para manipulação de documentos XML.
Este documento apresenta um estudo sobre Arquitetura Orientada a Serviços (SOA). Ele discute os fundamentos e características da SOA, incluindo baixo acoplamento, neutralidade de implementação e interoperabilidade. Também apresenta exemplos de padrões e benefícios da SOA, como reuso de código e redução de custos de manutenção.
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mércia Regina da Silva
Este documento apresenta um trabalho interdisciplinar sobre o desenvolvimento de sistemas web para a Universidade Norte do Paraná (UNOPAR). O trabalho aborda conceitos básicos de HTML e edição de documentos HTML, e foi apresentado para as disciplinas de Educação à Distância, Desenvolvimento de Sistemas Web, Metodologia Científica e outras.
Este documento apresenta os principais comandos da linguagem HTML para criação de páginas web. Explica tags básicas como <HTML>, <TITLE>, <BODY> e demonstra o uso de hyperlinks, imagens, formatação de texto e quebras de linha. Também aborda tabelas, formulários e frames.
1) O documento descreve novas características do Apache 2.0, incluindo APR (Apache Portable Run-Time) que melhora a portabilidade, novos filtros que permitem encadear processamento de requisições, e Piped Logs que melhoram o desempenho e gerenciamento de logs.
2) APR melhora a portabilidade do Apache para diferentes plataformas fornecendo uma interface padronizada para chamadas de sistema dependentes da plataforma.
3) Novos filtros permitem que saídas de processamento sejam encadeadas como entrada para outros process
O documento apresenta uma apostila sobre HTML básico com 19 páginas. A apostila introduz os principais comandos HTML como tags, hyperlinks, imagens, textos e tabelas. Inclui também um glossário e anexos com códigos Javascript e tabela de cores hexadecimal.
1) O documento apresenta um guia sobre o software Microsoft Access, abordando seus principais recursos como tabelas, consultas, formulários e relatórios.
2) Inclui instruções sobre a criação de bancos de dados, tabelas, consultas e dicas de planejamento e organização dos dados.
3) Também fornece definições dos principais termos e conceitos relacionados ao Access, como tabela, campo, registro, consulta, formulário e relatório.
O documento descreve as tecnologias XML, Webservices e RSS. XML é uma linguagem para marcação de dados que permite compartilhar informações na internet. Webservices permitem a integração de sistemas através do envio e recebimento de dados em formato XML. RSS é um formato XML para agregar conteúdo de sites e permitir que usuários assinem feeds para receber atualizações.
O documento apresenta uma introdução ao Microsoft Integration Services (SSIS), descrevendo sua arquitetura e principais componentes para desenvolvimento de cargas de dados dinâmicas e incrementais, incluindo containers Foreach Loop e implementação de cargas incrementais.
1) O documento discute XML, incluindo suas características, regras de construção e modelos de processamento como SAX e DOM.
2) XML é usado para estruturar dados hierarquicamente e permite a criação de novas tags, diferente de HTML que tem tags pré-definidas.
3) As regras de XML incluem ter um elemento raiz, tags de abertura e fechamento correspondentes, e diferenciar maiúsculas de minúsculas.
O documento discute:
1) A história e origem do SQL Server, incluindo suas diferentes versões;
2) As diferenças entre as versões 2000, 2005 e 2008 do SQL Server;
3) Os objetos e comandos básicos do SQL Server, como a criação de databases e tabelas.
O documento fornece uma introdução sobre o Oracle, incluindo conceitos de banco de dados, arquitetura cliente-servidor e componentes da instância Oracle como o buffer cache e processos. Também discute estruturas lógicas como tablespaces e segmentos, além de privilégios e linguagem SQL.
O documento discute conceitos fundamentais de tecnologia web, incluindo arquitetura cliente-servidor, linguagens de programação do lado do cliente e servidor, armazenamento de dados em bancos de dados, e frameworks e APIs.
O documento discute Web Services, XML e como eles permitem a integração de sistemas e comunicação entre aplicações. Web Services usam XML para enviar e receber dados entre aplicações de forma padronizada, mesmo que desenvolvidas em plataformas diferentes. XML é recomendado pela W3C para criar linguagens de marcação flexíveis para compartilhar informações online.
Este documento resume uma apresentação sobre BizTalk Mapper e como funcionam os mapas no BizTalk Server 2010. O apresentador, Sandro Pereira, discute princípios básicos de mapeamento, ferramentas de mapeamento chamadas "functoids", e como os mapas do BizTalk funcionam de forma diferente das ferramentas de mapeamento tradicionais. Exemplos reais de uso de mapeamento também são apresentados.
O documento descreve as credenciais e experiência profissional de Marcelo Sincic, um consultor e instrutor Microsoft. Ele possui diversas certificações em tecnologias Microsoft como Windows, SQL Server, .NET e outras. Sincic trabalha com tecnologia da informação desde 1988 e recebeu prêmios da Microsoft por seu trabalho.
1) O documento descreve como o Domain Driven Design (DDD) e o Strategic Design estão ajudando a modernizar um legado de sistema para uma empresa de medicina do trabalho.
2) O sistema começou simples mas cresceu de forma desorganizada ao longo de 5 anos, levando a muitos bugs. O DDD está sendo usado para dividir o domínio em Bounded Contexts e melhorar a arquitetura.
3) A estratégia envolve isolar funcionalidades em módulos/libs, definir interfaces para comunicação com o legado, e
O documento discute os desafios e soluções de integração de software, mencionando a necessidade de integrar sistemas desenvolvidos por diferentes fabricantes ou com tecnologias diferentes. Apresenta alguns dos principais desafios da integração como a limitada capacidade de controle sobre as aplicações e a fragmentação causada por novas tecnologias. Discute também diferentes estilos de integração como serviços web, replicação de dados e arquitetura orientada a serviços.
O documento discute os desafios e soluções de integração de software, mencionando a necessidade de integrar sistemas desenvolvidos por diferentes fabricantes ou com tecnologias diferentes. Apresenta alguns dos principais desafios da integração como a limitada capacidade de controle sobre as aplicações e a fragmentação dos padrões. Discutem-se também diferentes estilos de integração como serviços orientados a arquitetura, processos distribuídos de negócios e integração B2B.
Semelhante a BizTalk Server - Princípios básicos dos Mapas (20)
20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...Sandro Pereira
In this session, we will do a reflection to your existing Power Automation flow’s and when thru a list of must-have best practices, tips, and tricks that will allow you to build more reliable and effective flows. At the same time, these will allow you to be more productive and document your flow’s from the beginning.
The goal of this session to demystify and clarify the BizTalk Server migration process and help both implementation teams as decision-makers to be aware of all the considerations that need to be taken into account when planning your migration to BizTalk Server 2020 and hopefully helping you carry out these tasks.
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricksSandro Pereira
10 tips you should know for being more productive and building more reliable, effective Logic Apps. In this session, we will do a reflection to your existing Logic Apps processes and when thru a list of must-have best practices, tips, and tricks that will allow you to build more reliable and effective workflows. At the same time, these will allow you to be more productive and document your workflows from the beginning.
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricksSandro Pereira
10 tips you should know for being more productive and building more reliable, effective Logic Apps. In this session, we will do a reflection to your existing Logic Apps processes and when thru a list of must-have best practices, tips, and tricks that will allow you to build more reliable and effective workflows. At the same time, these will allow you to be more productive and document your workflows from the beginning.
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...Sandro Pereira
Following the success of one of Sandro's previous presentations at Integrate, Sandro decided to go deep on this hardcore BizTalk topic: Optimizing your BizTalk Server. This session will allow you to gain a better view on how to optimize BizTalk Server for better performance in all phases: your team's proactivity, your code, your environment, and your goals. Once again, this is a very extensive and complex topic and there is no magic formula you can apply to solve all your problems. This presentation will aim to guide you through some of the most important steps, operations, tasks and best practices that you need to do or be aware of, in order to boost the performance of your BizTalk Server projects and that you can adjust or follow according to your needs.
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...Sandro Pereira
The session will cover small pieces of stories with practical real examples from the field to address certain scenarios/requirements. See real techniques been used is some of the most important features of BizTalk Server, some of them are out-of-the-box capabilities others are custom extensions been made in the platform. Topics include BizTalk migration strategy, content-based routing techniques, Mapping, JSON support, BizTalk administration tips, extending BizTalk out-of-the-box capabilities and many more.
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira
In this session, Sandro will talk about a hardcore BizTalk topic that will address the following question: How can I optimize/tuning my BizTalk environment for performance. Optimizing your BizTalk Server installation is not an easy thing to do because it affects several layers and skills. This topic is very well documented by the product group but the problem is that it is very extensive and complex. This presentation will aim to guide you through the most important steps, operations or task you need to do in order to boost the performance of BizTalk that you can adjust or follow according to your needs because, depending on your infrastructure, this can be a straightforward operation or a very extensive and hard operation. But I will try to keep it as simple as possible so everyone can understand and follow.
Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira
In this session, Sandro will talk about a hardcore BizTalk topic that will address the following question: How can I optimize/tuning my BizTalk environment for performance. Optimizing your BizTalk Server installation is not an easy thing to do because it affects several layers and skills. This topic is very well documented by the product group but the problem is that it is very extensive and complex. This presentation will aim to guide you through the most important steps, operations or task you need to do in order to boost the performance of BizTalk that you can adjust or follow according to your needs because, depending on your infrastructure, this can be a straightforward operation or a very extensive and hard operation. But I will try to keep it as simple as possible so everyone can understand and follow.
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...Sandro Pereira
Every organization faces constant pressure to do more with less. While technology is often the key to operating more effectively and efficiently, cost and complexity have often prevented organizations from taking maximum advantage of the potential benefits. The growth of SaaS (software as a service) has lowered barriers – no need to deploy servers or to install and configure complex software systems. Just sign up and go.
Microsoft Flow and Microsoft PowerApps will help these people (normally business users) achieve more.
We know not every business problem can be solved with off-the-shelf solutions. But developing custom solutions has traditionally been too costly and time-consuming for many of the needs teams and departments face, especially those projects that integrate across multiple data sources or require delivery across multiple devices from desktop to mobile. As a result, too many technology needs end up unsolved or under-optimized. We piece together spreadsheets, email chains, SharePoint or/and manual processes to fill in the gaps.
PowerApps and Microsoft Flow are both aimed squarely at these gaps. They give people who best understand their needs and challenges the power to quickly meet them, without the time, complexity and cost of custom software development.
In this session, we will look at these two new offering from Microsoft: PowerApps and Flow. What are they? How can I use it? But special we will walk through and create from scratch some live demos showing how to create Enterprise Mobile Application that easily connects with all your enterprise platforms like Office36, SharePoint Online, Dynamic CRM, on-premise SQL, Social Networks and much more and also how they can automate some common tasks using the new Microsoft Flow.
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA ITSandro Pereira
It’s critical to use good tools and techniques to produce working solutions as quickly as possible and at the same time, given the increase the requirements and number of applications organizations develop today. But at the same time, it’s also critical to maintain the health of the entire platform. In this session, which I’ll try to be a very interactive session (so be prepared to participate), I’ll address and share some useful BizTalk Server Tips and Tricks (and Workarounds) both for developers and administrators. Covering some topics like Integration Roadmap, RosettaNet, SAP, database maintenance, debatching, out-of-the-box pipelines vs custom pipelines and many more.
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...Sandro Pereira
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in Gothenburg.
Maps or transformations are one of the most common components in the integration processes. They act as essential translators in the decoupling between the different systems to connect. For me there is no perfect solution to solve a particular mapping problem, and most of the times we can find several ways to solve it depending on the experience and knowledge that we have or technologies and tools that we like to use, but all of them have advantages and disadvantages.
This session will provide you with common mapper problems and solutions, i.e., some BizTalk Mapper Patterns, specifying best practices and some of the best ways to address some of your needs within the context of message transformation by choosing the right approach and also to enhance your skills when using the BizTalk Server Mapper.
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)Sandro Pereira
Azure API Management que permite proteger, publicar e analisar as nossas APIs e microsserviços numa gateway de API’s escalável.
O objetivo desta sessão é partilhar experiência sobre as capacidades do Azure API Management: como podemos começar a usar; como podemos modernizar as nossos web services, adicionar novos protocolos de segurança; como podemos criar um site de documentação e testes para os developers; como pode ser a base para os seus projetos híbridos de Integração; e explorar algumas das suas funcionalidades principais.
E como sempre, não é esperado que todos tenham conhecimento aprofundado desta tecnologia, mas apesar disso espera-se que esta será uma sessão interativa por forma a tentar ajudar-vos a compreende-la melhor.
2015-12-02 - WebCamp - Microsoft Azure Logic AppsSandro Pereira
This session will be an introduction to the new Azure Integration features: Logic Apps and also a glimpse about API Apps. They are still in preview but how can we get start using these new features? We will learn how you can use Azure Logic Apps to automate business processes without using code. This course will demonstrate the new graphical designer and how to best take advantage of different Logic App capabilities for your scenarios.
BizTalk & SQL: Together for Developers & AdminsSandro Pereira
Introduction to BizTalk Server
What is? What does BizTalk do?
BizTalk & SQL Together for Admins
What is most common that Admins forget?
What you need to be aware and some of the best practices.
BizTalk & SQL Together for Developers
How can we communicate with SQL Server (sending and polling data from SQL Server).
Introduction to Microsoft Azure App Service (Logic and API Apps)Sandro Pereira
This document provides an agenda and overview for a presentation on Microsoft Azure App Service, including Logic Apps and API Apps. The presentation will cover integration challenges, an introduction to Azure App Service, a demonstration of Logic Apps and API Apps, and how BizTalk fits into Azure App Service. Logic Apps allow for easy automation of business processes across SaaS and on-premises systems using a browser-based workflow designer. API Apps make it simple to build, consume and host APIs. Built-in connectors are available for popular SaaS applications.
How to process Flat Files documents (TXT, CSV …) in BizTalk ServerSandro Pereira
Despite over the year’s new protocols, formats or patterns emerged like Web Services, WCF RESTful services, XML, JSON, among others. The use of text files (Flat Files ) as CSV (Comma Separated Values) or TXT, one of the oldest common patterns for exchanging messages, still remains today one of the most used standards in systems integration and / or communication with business partners.
While tools like Excel can help us interpret such files, this type of process is always iterative and requires few user tips so that software can determine where is need to separate the fields/columns as well the data type of each field. But for a system integration (Enterprise Application Integration) like BizTalk Server, you must reduce any ambiguity, so that these kind of operations can be performed thousands of times with confidence and without having recourse to a manual operator.
In this session we will first address: How we can easily implement a robust File Transfer integration in BizTalk Server (using Content-Based Routing in BizTalk with retries, backup channel and so on).
And second: How to process Flat Files documents (TXT, CSV …) in BizTalk Server. Addresing what types of flat files are supported? How is the process of transforming text files (also called Flat Files) into XML documents (Syntax Transformations) – where does it happen and which components are needed. How can I perform a flat file validation?
BizTalk Server Deep Dive Tips & Tricks for Developers and AdminsSandro Pereira
It’s critical to use good tools and techniques to produce working solutions as quickly as possible and at the same time, given the increase the requirements and number of applications organizations develop today. But at the same time, it's also critical to maintain the health of the entire platform. In this session, which I'll try to be a very interactive session (so be prepare to participate), I'll address and share some useful BizTalk Server Tips and Tricks (and Workarounds) both for developers and administrators. Covering some topics like RosettaNet, SAP, database maintenance, debatching, out-of-the-box pipelines vs custom pipelines and many more.
Integration Tales: Logic & API apps to the rescue!Sandro Pereira
Global Azure Bootcamp 2015 Lisbon
Integration Tales: Logic & API apps to the rescue!
Integration Roadmap on permise and in the cloud
The basic things you need to know about Logic & API apps
Sandro Pereira gave a presentation on BizTalk Server and Azure BizTalk Services. BizTalk Server has evolved over 15 years and 15,000 customers to integrate enterprise applications and enable B2B integration. Azure BizTalk Services provides a platform for cloud-based integration of applications and partners with built-in API management, hosting, and workflows. The presentation demonstrated how BizTalk Services can be used to integrate applications and partners in a modern, cloud-friendly way.
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSandro Pereira
In this session we’ll look at the existent functionalities in the new integration services in the cloud: Microsoft Azure BizTalk Services: EAI (Enterprise Application Integration) and EDI (Electronic Data Interchange), how to manage the exchange of EDI messages and trading partners through BizTalk Services Portal; Support Flat files, schemas and transformations (maps). And at the challenges in moving from BizTalk Server to BizTalk Services.
Level: Beginner
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Guardioes Digitais em ação: Como criar senhas seguras!
BizTalk Server - Princípios básicos dos Mapas
1. BizTalk Server - Princípios básicos dos Mapas
Os mapas, ou transformações, são um dos componentes mais comuns nos processos de integração.
Funcionam como tradutores essenciais no desacoplamento entre os diferentes sistemas a interligar. Neste
artigo, à medida que exploramos o editor de mapas do BizTal k Server, exploramos os seus principais
conceitos enquanto abordamos temas como a arquitectura deste servidor e alguns dos padrões mais usados
na tradução de mensagens.
Sandro Pereira
Março 2012
Versão 1.0
2. BizTalk Server - Princípios básicos dos Mapas
Índice
Introdução.......................................................................................................................................................... 2
Arquitectura ....................................................................................................................................................... 2
O que são os mapas de BizTalk e onde podem ser utilizados? ......................................................................... 3
Onde podem ser utilizados os mapas? ......................................................................................................................... 4
Introdução ao editor de mapas - BizTalk Mapper Designer .............................................................................. 4
Ligações e Functoids...................................................................................................................................................... 6
Grelha de Mapeamento ................................................................................................................................................ 7
Operações possíveis nas páginas .............................................................................................................................. 8
Transformações - Funcionalidades básicas dos mapas ................................................................................................ 9
Mapeamento simples de um determinado valor (cópia directa) ............................................................................. 9
Concatenação de valores .......................................................................................................................................... 9
Selecções condicionadas ......................................................................................................................................... 10
Scripts customizados ............................................................................................................................................... 10
Adicionar novos dados ............................................................................................................................................ 12
Como organizar os mapas BizTalk ............................................................................................................................... 12
Páginas .................................................................................................................................................................... 13
Operações possíveis de efectuar sobre os mapas ...................................................................................................... 14
Testar mapas (Test Map) ........................................................................................................................................ 15
Validar mapas (Validate Map)................................................................................................................................. 16
Depurar mapas (Debug Map).................................................................................................................................. 17
Conclusão ......................................................................................................................................................... 18
Autor ................................................................................................................................................................ 18
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
1
3. Unicer - Controlo Custos Colaborador
Introdução
Os mapas, ou transformações, são um dos componentes mais comuns nos processos de integração. 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 padrões mais usados na tradução de mensagens.
Este artigo pretende ser uma nota introdutória 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 e
controlar inúmeros processos, simplificando as necessidades de adaptação de cada sistema a interligar. Ou seja, um
componente de infra-estrutura essencial nas ligações entre empresas (B2B - Business-to-Business) e cada vez mais, usado para
ligar sistemas, também eles, cada vez mais complexos dentro das organizações (EAI - Enterprise Application Integration). Para
além dos padrões “Fire & Forget”, o BizTalk é também usado para cenários mais complexos onde o workflow depende de várias
mensagens que precisam de ser correlacionadas para orquestração processos de negócio (BPM - Business Process
Management). Neste artigo vamos focar no processo de mapeamento e transformação de mensagens apenas.
De maneira simples podemos definir que o BizTalk é um servidor de integração projectado para trabalhar com mensagens, ideal
para ser usado principalmente para integração de aplicações corporativas (EAI), integração de sistemas entre parceiros de
negócio (B2B) e para gestão de processos de negócio (BPM).
Arquitectura
As mensagens entram no BizTalk através de uma porta lógica (portas de recepção ou Receive Port) que são compostas por 1 ou
varias portas físicas (locais de recepção ou Receive Locations). Cada local de recepção possui uma configuração específica para
um 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 poderíamos também 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 uma
composição sequencial de componentes que tem como principal objectivo:
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
2
4. BizTalk Server - Princípios básicos 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 reconhecidas
internamente, para isso utiliza esquemas XML (XML Schema) que permitem descrever a estrutura (record, elemento,
atributo, nome, tipo de dado) e define as regras de validação (se é ou não obrigatório, numero de vezes que o elemento
pode aparecer, hierarquia) das mensagens XML.
De seguida as mensagens são despejadas internamente na MessageBox (base de dados) onde são os diferentes subscritores (1
ou mais interessados nessa mensagem) a vão receber. Estes subscritores podem ser outras portas de saída (Routing) ou entram
em orquestrações lançando novos processos, ou acordando os que estavam à espera (via campos correlacionáveis).
O que são os mapas de BizTalk e onde podem ser utilizados?
Os mapas de BizTalk são representações gráficas de documentos XSLT (Extensible Stylesheet Language Transformation) que
permitem efectuar, de forma simples e visual, transformações às mensagens XML.
Podemos enumerar os standards usandos no BizTalk Mapper:
XML (Extensible Markup Language) – contêm 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 tranformação das mensagens;
De realçar que todos eles são é uma recomendação da W3C (Worldwide Web Consortium) - consórcio internacional, que agrega
empresas, órgãos governamentais e organizações independentes, e que visa desenvolver standards para a criação e a
interpretação de conteúdos para a Web.
Podemos caracterizar dois tipos de transformações existentes:
Transformações de Sintaxe: Este tipo de transformações ocorrem nas pipelines de recepção ou envio e têm como objectivo
transformar um documento noutra representação, por exemplo de CSV para XML. Aqui o documento mantem os mesmos
dados (semântica), mas muda a sintaxe com que é representado. Ou seja traduzimos o documento mas, normalmente, não o
modificamos em termos de estrutura. Por norma este tipo de transformação é bidireccional, uma vez que continuamos a ter
o mesmo conteúdo semântico. Podemos aplicar a mesma lógica de transformação e voltar a obter um documento no seu
formato original.
Transformações de Semântica: Este tipo de transformações ocorre por norma apenas nos mapas de BizTalk. Aqui o
documento mantem a mesma sintaxe com que é representado (XML), mas muda a sua semântica. Tipicamente são
operações One-way, uma vez que quando extraímos e agregamos partes de informação de um documento e compomos um
outro documento diferente, podendo perde detalhes importantes para a sua reconstrução.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
3
5. Unicer - Controlo Custos Colaborador
Nota: Neste artigo vamos falar apenas nas transformações de semântica, 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 orquestrações, ou nas portas
de saída.
A grande diferença entre utilizar nas portas ou em orquestrações, é que a utilização na última pode ter múltiplos inputs de
mensagens (transformações de vários documentos para um documento final – transformações N1) e nas portas apenas
permite uma única mensagem de input (transformações 11).
Introdução ao editor de mapas - BizTalk Mapper Designer
O editor de mapas, BizTalk Mapper Designer, possibilita efectuar transformações de mensagens XML complexas de forma visual
e extremamente simples, expressas em associações gráficas de ligações (links) que definem as relações entre os vários
elementos das mensagens.
Estas relações entre elementos são internamente implementadas como transformações XSLT (Extensible Stylesheet Language
Transformation) que é o standard recomendado pela Worldwide Web Consortium (W3C) para efectuar transformações entre
esquemas XML.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
4
6. BizTalk Server - Princípios básicos dos Mapas
Esta ferramenta encontra-se integrada no Visual Studio e é composta essencialmente por 3 módulos:
Esquema de Origem (source schema): trata-se da estrutura de dados da mensagem de origem e encontra-se na parte
esquerda da janela principal – ponto 1;
Esquema de Destino (destination schema): trata-se da estrutura de dados da mensagem final após ser efectuada a
transformação 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 e
destino) - ponto 3;
Esta zona desempenha um papel crítico na definição de mapas, contendo as ligações e as functoids que iram controlar a
forma como os dados de origem da mensagem são transformados, de acordo com o esquema de destino, para a mensagem
final.
Cada mapa pode ter até 20 páginas (mapper grids), acedíveis através dos separadores (tabs) que se encontram no fundo da
grelha de mapeamento – ponto 4.
Para além destes 3 módulos, existem 2 janelas de extrema importância 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 & MCTS BizTalk Server 2010
5
7. Unicer - Controlo Custos Colaborador
Janela de Propriedades (properties window): nesta janela podemos ver e modificar as propriedades de um objecto
seleccionado na grelha ou nos esquemas, normalmente encontra-se disponível à direita do esquema de destino –
ponto 6.
Ligações e Functoids
As transformações num mapa podem ser definidas na forma de relações simples, como copiar um nome ou um endereço de um
documento para outro. Podemos expressar uma cópia directa dos dados usando uma ligação, que é representada no BizTalk
Mapper Designer como uma linha que liga os elementos da origem para os elementos de destino.
O utilizador também pode especificar transformações mais complexas usando functoids. Podemos considerar uma functoid
como funções pré-definidas que podemos utilizar para efectuar mapeamentos ou transformações complexas.
Tipicamente num mapa, os dados são copiados da origem para o destino, arrastando ligações entre os elementos dos dois
esquemas. As functoids ficam no meio destas operações e aplicam uma operação sobre os dados de entrada, de modo a
transformá-los às exigências do destino. BizTalk Mapper Designer representa uma functoid como uma caixa no meio da ligação
ou ligações entre os elementos de transformação.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
6
8. BizTalk Server - Princípios básicos dos Mapas
BizTalk fornece um extenso conjunto de functoids que podem ser usadas nos mapas para executar uma variedade de operações
nos dados que estão a ser transformados a partir de uma mensagem de origem para uma mensagem de destino.
Por defeito, as functoids estão organizadas em 9 categorias com base nas suas funções:
Advanced Functoids: Usadas para criar vários tipos de manipulação de dados, como a implementação de script
personalizado (C#, Visual Basic .NET, XSLT), mapear valores ou gerir e extrair dados de elementos recursivos.
Conversion Functoids: Funções típicas de conversão de valores como: conversão de caracteres para ASCII ou de números de
uma base para outra (Hexadecimal, decimal).
Cumulative Functoids: Usadas para realizar vários tipos de operações de acumulação de valores que ocorrem várias vezes
numa mensagem.
Database Functoids: Utilizadas principalmente para pesquisar dados existentes em base de dados.
Date and Time Functoids: Trata-se de um conjunto de operações sobre datas como: adicionar data, hora, data e hora, ou
adicionar dias a uma data específica.
Logical Functoids: Estas funções permitem controlar de forma condicional o mapeamento dos valores de origem ou o
comportamento de outras functoids, determinando assim se os dados de saída são criados ou não.
Mathematical Functoids: Utilize as functoids matemáticas para executar cálculos numéricos específicos, como adição,
multiplicação ou divisão.
Scientific Functoids: Usadas para realizar cálculos científicos específicos, como funções logarítmicas, exponenciais ou
trigonométricas.
String Functoids: Usadas para manipular dados alfanuméricos (texto) através de funções bem conhecidas tais como: calcular
comprimento, concatenação de elementos, extrair bloco de texto, converter para maiúsculas ou minúsculas.
No entanto, a plataforma permite que sejam criadas novas functoids pelos programadores assim como organizar e criar novas
categorias.
Projecto de referência para criação e instalação de novas functoids: “BizTalk Mapper Extensions UtilityPack”.
Grelha de Mapeamento
A grelha de mapeamento desempenha um papel crítico na definição de mapas, ela irá conter as ligações e functoids que irão
controlar a forma como os dados de origem de uma mensagem são transformados numa mensagem de destino de acordo com
o seu esquema.
A grelha poderá ter múltiplas camadas, num máximo de 20, chamadas de páginas. Particionar os mapas em diferentes páginas,
além de ser uma boa prática, pode-se tornar extremamente útil por forma a organizar-nos e desta forma torná-los mais legíveis.
Apesar de em pequenos mapas, uma página ser suficiente, quando lidamos com esquemas complexos como EDI, “infestar” uma
página com inúmeras ligações e functoids torna-os ilegíveis, chegando ao ponto de não conseguirmos distinguir um elemento do
outro.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
7
9. Unicer - Controlo Custos Colaborador
Podemos definir as páginas como contentores de ligações e functoids, que servem apenas para organizar os mapas, isto porque
ao nível do compilador não têm qualquer impacto uma vez que são invisíveis.
Operações possíveis nas páginas
Por defeito os mapas são criados com apenas uma página, com o nome “Page 1”, apesar das operação mais frequentes serem a
de criação e renomeação, são 4 operações as operações que podemos efectuar sobre as páginas:
Adicionar nova página: esta é a funcionalidade mais comum, adicionar novas páginas permite-nos organizar diferentes zonas
do mapa em contentores.
o Pressionar botão direito sofre o separador da página, e seleccionar a opção “Add Page”
Renomear uma página existente: muita das vezes esquecida, esta opção permite-nos renomear os separadores de forma a
tornar as diferentes páginas mais legíveis visualmente.
o Pressionar botão direito sofre o separador da página, e seleccionar a opção “Rename Page”
Eliminar uma página existente: eliminação de páginas desnecessárias ou obsoletas.
o Pressionar botão direito sofre o separador da página, e seleccionar a opção “Delete Page”
Reorganizar as páginas existentes: muita das vezes temos a necessidade de organizar a disposição das páginas numa
sequência diferente, para isso basta:
o Pressionar botão direito sofre o separador da página, e seleccionar a opção “Reorder Pages”
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
8
10. BizTalk Server - Princípios básicos dos Mapas
Transformações - Funcionalidades básicas dos mapas
Quando estamos a efectuar uma transformação de mensagens são 5 as funcionalidades básicas que normalmente nos surgem:
Mapeamento simples de um determinado valor (cópia directa)
Concatenação de valores
Selecções condicionadas
Scripts customizados
Adicionar novos dados
Mapeamento simples de um determinado valor (cópia directa)
Esta é a operação mais básica de todas as operações, onde pretendemos mover um valor da origem para um determinado
destino, sem efectuarmos qualquer tipo de operação sobre os valores (cópia directa).
Para isso apenas de necessitamos de efectuar drag-and-drop do elemento de origem para o esquema destino. Na imagem
seguinte está exemplificado o elemento Morada.
Concatenação de valores
Concatenar diferentes valores da origem para um determinado elemento no esquema de destino é outra das operações
quotidianas em transformações, para isso apenas necessitamos de:
Abrir a janela de ferramentas e arrastar para a grelha a functoid “String Concatenate”;
Conforme foi explicado no ponto anterior, arrastar uma ligação entre os elementos pretendidos e a functoid “String
Concatenate”, por exemplo os elementos “Nome” e “Apelido”;
Arrastar a ligação da functoid “String Concatenate” para o elemento no esquema de destino, neste caso o “NomeCompleto”;
Nota: a ordem de entrada dos elementos na functoid é importante, uma vez que a concatenação é efectuada pela ordem de
entrada dos elementos (iremos aprofundar este tema mais à frente).
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
9
11. Unicer - Controlo Custos Colaborador
Selecções condicionadas
Muitas das vezes não queremos simplesmente mover valores da origem para o destino, às vezes necessitamos de gerar a saída
dos dados de acordo com certas condições. Podemos efectuar estas condições de muitas formas distintas através de functoids
ou scripts customizados, aqui fica um exemplo: Testar se o valor na origem é uma string válida, se sim mapeá-la para o esquema
de origem, para isso necessitamos:
Arrastar a functoid “Logical String” para a grelha, esta functoid permite validar se um determinado valor é uma string válida,
semelhante a função C# String.IsNullOrEmpty
o Retorna “False” se a string for vazia ou nula;
o Retorna “True” caso seja uma string válida;
Arrastar uma ligação do elemento pretendido da origem para a functoid “Logical String”, neste caso o elemento
“CodigoPostal”;
Arrastar a functoid “Value Mapping” para a grelha, esta functoid providencia, através de um valor booleano, controlar a
saída dos valores da origem para o destino, ou seja, recebe dois valores:
o O primeiro terá de ser um booleano (True/False);
o O segundo será o valor a ser mapeado;
o Caso o primeiro seja verdadeiro, o valor é mapeado para o esquema de destino, caso seja falso, o mesmo não é
mapeado.
Arrastar uma ligação da functoid “Logical String” para a functoid “Value Mapping”;
Arrastar uma ligação do elemento “CodigoPostal” do esquema de origem para a functoid “Value Mapping”;
Arrastar uma ligação da functoid “Value Mapping” para o elemento “CodigoPostal” do esquema de destino;
Scripts customizados
Scripts customizados são utilizados normalmente em transformações mais complexas ou por forma a facilitar algumas
condições. Basicamente existem dois cenários para utilizarmos esta functoid:
Quando nenhuma das functoids existentes permite efectuar o que pretendemos, o exemplo que vamos ver é converter uma
data de nascimento em idade.
Ou quando a utilização das functoids existentes tornam-se extremamente complexas para resolver um problema do
mapeamento.
Existe uma “regra” que normalmente usa-mos para definir se devemos utilizar functoids ou utilizar scripts customizados que nos
diz: se para um determinado mapeamento utilizarmos mais de 6 functoids, então deveremos utilizar scripts customizados.
Eu gosto de utilizar esta regra de forma ponderada e não à letra, ou seja, se as functoids existentes me ajudarem de forma fácil a
resolver o problema, eu utilizo as functoids existentes, se a utilização das mesmas, se torna extremamente complexa, então
opto por utilizar scripts customizados.
Estão ao dispor do programador 6 tipos de scripts:
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
10
12. BizTalk Server - Princípios básicos dos Mapas
External Assembly: Permite-nos associar e invocar esta functoid com uma função existente numa assembly existente na
Global Assembly Cache (GAC).
Inline C#: Esta opção permite-nos associar e invocar código C# directamente na functoid (Inline Script Buffer property).
Inline JScript .NET: Igual à anterior, mas com uso de código JScript .NET
Inline Visual Basic .NET: Igual às anteriores, mas com uso de código Visual Basic .NET
Inline XSLT: Esta opção permite-nos associar e invocar scripts XSLT directamente na functoid (Inline Script Buffer property).
Inline XSLT Call Template: idêntico à anterior, no entanto esta permite-nos invocar templates XSLT directamente da
functoid.
Neste exemplo, queremos transformar a data de nascimento na idade da pessoa, neste cenário devemos:
Arrastar a functoid “Scripting” para a grelha;
Arrastar uma ligação do elemento “DataNascimento” do esquema de origem para a functoid “Scripting”;
Arrastar uma ligação da functoid “Scripting” para o elemento “Idade” do esquema de destino;
O mapeamento encontra-se efectuado, faltando-nos apenas configurar a script customizado. Para este cenário vamos utilizar
um script do tipo “Inline C#”, e para isso devemos:
Efectuar duplo click na functoid “Scripting” e seleccionar o separador “Script Functoid Configuration”;
Na opção “Select script type”, seleccionar da lista a opção “Inline C#”;
Na opção “Inline script” colocar o seguinte script:
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
11
13. Unicer - Controlo Custos Colaborador
Adicionar novos dados
Em muitos cenários temos a necessidade de adicionar novos dados à mensagem final que não existem na mensagem de origem.
É normal encontrarem situações em que, com base em alguns dados existentes na mensagem de origem, necessitaremos de
consultar um sistema externo, por exemplo base de dados, por forma a adquirimos mais informações para preencher os dados
necessários na mensagem final.
Um exemplo mais básico e simples é adicionar à mensagem final um carimbo de data/hora actual em que a mensagem é
processada, para isso devemos:
Arrastar a functoid “Date and Time” para a grelha;
Arrastar uma ligação da functoid “Date and Time” para o elemento no esquema de destino “DataHoraProcessamento”;
Nota: Como podem verificar, esta functoid não requer nenhum dado de entrada, retornando a data e hora actual do sistema.
Como organizar os mapas BizTalk
Os mapas podem tornar-se extremamente complexos, dificultando assim a sua leitura e manutenção.
O editor de mapas do BizTalk providencia duas importantes funcionalidades que nos permitem minimizar este problema:
Páginas
Etiquetas para as ligações
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
12
14. BizTalk Server - Princípios básicos dos Mapas
Páginas
As páginas permitindo organizar os mapas, especialmente os mais complexos, em subdivisões lógicas de mapeamentos. Esta
funcionalidade já foi descrita anteriormente.
Etiquetas para as ligações
Nas versões anteriores do produto, por defeito, era apresentado a query XPATH se uma ligação fosse estabelecida a uma
functoid:
/*[LOCAL-NAME()='PESSOAORIGEM' AND NAMESPACE-URI()='HTTP://COMOFUNCINAMOSMAPAS.PESSOAORIGEM']/*[LOCAL-NAME()='NOME'
AND NAMESPACE-URI()='']
Ou o nome da functoid caso a ligação proviesse de outra functoid, o que poderá dificultar a leitura dos mapas.
Nesta versão do produto este comportamento foi ligeiramente melhorado, sendo que actualmente o valor defeito é o nome do
elemento do esquema de origem de onde provem a ligação:
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
13
15. Unicer - Controlo Custos Colaborador
Ou o nome da functoid anterior:
No entanto, o editor de mapas permite-nos colocar etiquetas nas ligações, originando a que a mesma substitua a query XPATH
(nas versões antigas) ou o nome do elemento do esquema de origem, para isso devemos:
Seleccionar a ligação e com o botão direito do rato seleccionar a opção “Properties”;
Preencher a propriedade “Label” com a etiqueta pretendida.
Normalmente esta funcionalidade é esquecida pelos programadores.
Apesar de parecer uma funcionalidade banal e sem impacto significativo, a meu ver, trata-se de uma funcionalidade importante
a longo prazo. Enquanto as ideias estão frescas sabemos o que estamos a fazer, mas se for necessário intervir passado algum
tempo e rever os mapeamentos, esta funcionalidade irá tornar a nossa tarefa mais facilitada.
Operações possíveis de efectuar sobre os mapas
Na fase de desenvolvimento, temos ao dispor 3 funcionalidades, incluídas no Visual Studio, que nos permite testar e validar os
mapas:
Testar mapas
Validar mapas
Depurar mapas
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
14
16. BizTalk Server - Princípios básicos dos Mapas
Estas funcionalidades estão ao dispor dos programadores de uma forma fácil e directamente da ferramenta de
desenvolvimento, Visual Studio, não necessitando assim de executar (build) e publicar (deploy) os mapas ou até mesmo criar e
configurar portas.
Testar mapas (Test Map)
Deveremos testar o nosso mapa de uma forma continua, não apenas no final do desenvolvimento, mas sempre que necessário
ou quando um bloco de transformação importante seja concluído.
Para isso apenas necessitamos de:
Abrir a janela do “Solution Explorer”
Seleccionar o mapa em causa
Premir o botão direito do rato sobre o mapa e seleccionar a opção “Test Map”
Por defeito uma instância do esquema de entrada é gerada automaticamente com valores, também eles por omissão, de acordo
com o seu tipo e testada no mapa seleccionado. No final é apresentado o resultado gerado ou os erros ocorridos na execução do
mesmo na janela de saída (Output).
No entanto, muita das vezes, este cenário não é o ideal, e o que pretendemos é testar um documento existente com um mapa.
Para isso apenas necessitamos de configurar as propriedades do mapa antes de corremos o teste:
Efectuar o procedimento anterior, mas em vez de seleccionar a opção “Test Map”, iremos seleccionar a opção “Properties”;
Na janela de propriedades configurar a propriedade “TestMap Input Instance” com o caminho para o ficheiro de entrada.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
15
17. Unicer - Controlo Custos Colaborador
Nesta janela também podemos configurar diversas propriedades como: o formato de entrada e saída dos documentos, assim
como o caminho final do documento de saída, mas mais importante podemos configurar se pretendemos validar os formatos de
entrada e saída com os respectivos esquemas.
Esta segunda opção: validar formato do ficheiro de saída (Validate Test Map Output), é extremamente importante para os
testes intermédios. Ao configurar esta opção como “False” permite-nos testar um mapa incompleto sem ser apresentados erros
de testes ou falta de dados obrigatórios, muito deles associados a zonas por mapear, permitindo-nos assim apenas validar o
trabalho efectuado até à data.
Nota: Esta opção deverá ser configurada como “True” para os testes finais.
Validar mapas (Validate Map)
Esta opção permite-nos validar a estrutura do mapa. Podemos desta forma inspeccionar e analisar o código XSLT gerado pelo
compilador, fornecendo-nos informações adicionais de como os mapas funcionam assim como mais uma outra opção de
depuração (debug).
Para executar esta opção basta:
Aceder ao “Solution Explorer”;
Botão direito do rato sobre o mapa (arquivo *. btm)
E seleccione a opção "Validar Map".
Uma ligação para o XSLT gerado será apresentada na janela de saída (Output).
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
16
18. BizTalk Server - Princípios básicos dos Mapas
Depurar mapas (Debug Map)
Esta opção permite-nos efectuar a depuração (debug) de mapas e assim identificar e corrigir problemas complexos de
mapeamento na fase de desenvolvimento.
Esta funcionalidade faz uso de algumas propriedades dos mapas, tais como “TestMap Input Instance” e “TestMap Output
Instance”. Portanto, antes de depurar o mapa, será necessário configurar as suas propriedades dos mapas, com especial foco
nas duas anteriores.
Para executar esta opção, teremos de:
Aceder ao “Solution Explorer”
Botão direito do rato sobre o mapa (arquivo *. btm)
E seleccione a opção "Debug Map".
Pressione a tecla F10 ou F11 para depurar o código XSL.
o Quando você pressiona F11 numa chamada a uma functoid, o Visual Studio irá entrar para o código C# associado à
functoid.
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
17
19. Unicer - Controlo Custos Colaborador
Conclusão
Devido ao inúmero número de sistemas e aplicação distintas existentes nas organizações, é imperativo usar boas ferramentas e
técnicas para produzir soluções que funcionem durante muitos anos de uma forma controlada e fácil de manter. Ao mesmo
tempo novos processos são adicionados e os existentes vão sofrendo pequenas melhorias, tudo sem perder o rasto ao que está
a acontecer em produtivo.
O BizTalk ajuda-nos a resolver muitos destes problemas, dispondo de inúmeras funcionalidades “out of the box” com o produto.
Neste artigo acho que consegui explicar de uma forma intuitiva os principais conceitos básicos dos mapas de BizTalk, à medida
que exploramos o seu editor.
Autor
Escrito por Sandro Pereira [MVP & MCTS BizTalk Server 2010]
Actualmente Senior Software Developer na empresa DevScope (www.devscope.net). É Microsoft Most
Valuable Professional (MVP) em Microsoft BizTalk desde 2011
(https://mvp.support.microsoft.com/profile/Sandro.Pereira). O seu principal foco de interesse são as
tecnologias e plataformas de Integração (EAI): BizTalk e SOAP / XML / XSLT e Net, que utiliza desde 2002.
É um participante bastante activo nos fóruns da Microsoft (MSDN BizTalk Server Forums), contribuidor no
MSDN Code Gallery e na Microsoft TechNet Wiki, autor do Blog:
http://sandroaspbiztalkblog.wordpress.com/, membro da comunidade BizTalk Brasil: http://www.biztalkbrasil.com.br/ e da
comunidade BizTalk Administrators: http://www.biztalkadminsblogging.com.
Podes contacta-lo em: sandro-pereira@live.com.pt (Twitter: @sandro_asp).
Sandro Pereira | DevScope | MVP & MCTS BizTalk Server 2010
18