Introdução ao Microsoft BizTalk Server 2006 Douglas Mello Technical Specialist – CC EAI Tlantic – Sistemas de Informação Agenda Conceitos e Aplicações Componentes do BizTalk Server 2006 Ambiente de Desenvolvimento Operação e Configuração Adaptadores do BizTalk Demos & Tools Primeiros Passos Contexto EAI (Enterprise Application Integration): Nome dado a arquitetura de software que oferece formas flexíveis para transporte de dados entre plataformas. Geralmente utilizado entre aplicações da mesma organização. B2B (Business-to-Business): Conceito de integração entre aplicações de parceiros e fornecedores, utilizado com frequência entre empresas. BPM (Business Process Management): Solução que fornece um conjunto de ferramentas para gerenciar processos de negócio de maneira uniforme, abrangendo o todo. SOA (Service Oriented Architecture): Arquitetura que disponibiliza funções de sistema através de serviços podendo ser reutilizados por outras aplicações. ESB (Enterprise Service Bus): Infra-estrutura para conectividade e integração de aplicações formando um barramento, apoiando o reuso dos serviços. O que é o BizTalk? BizTalk == “Business Talk” Servidor de gerenciamento de processos de negócio (BPM) e integração de sistemas (EAI). Fornece suporte a padrões de indústria como XML e Web Services, atuando como “mediador” entre aplicativos comerciais (SAP, JDE, CRM) e não comerciais (desenvolvidos internamente). Sistema de Entrega Aplicação Web BizTalk Server 2006 Sistema de Faturamento Sistema de Estoque Conceitualmente do que estamos falando? Um servidor que fornece ferramentas para construção de uma arquitetura orientada a serviços (SOA) Suporte a padrões de indústria como Web Services, XML (fácil de conectar) Possibilita a implementação de BPM (a empresa começa a medir performance através de indicadores em tempo real) EAI e B2B (conectando com o que ja existe!) Suporte a ESB (Enterprise Service Bus) Um pouco de história… BizTalk Server 2000 (lançamento 12/2000) Adoção do XML para troca de documentos através do BizTalk Ferramentas gráficas para desenvolvimento (plug-in para MS Visio) Poucos adaptadores (arquivo, ftp, filas de mensagens, http) BizTalk Server 2002 Semelhante a versão 2000 Melhorias em performance e estabilidade da plataforma BizTalk Server 2004 (lançamento 03/2004) – salto tecnológico Novos adaptadores (SOAP, MSMQ, SAP, entre outros) Suporte a Web Services Suporte ao ambiente de desenvolvimento (Visual Studio .NET 2003, .NET Framework 1.1 e Microsoft Office System) BPEL Compliance e melhoria na monitorização (BAM) BizTalk Server 2006 Novos adaptadores (Share Point, POP3) Suporte ao ambiente de desenvolvimento (Visual Studio 2005, .NET Framework 2.0 e Microsoft SQL Server 2005) BizTalk Server 2006 R2 (atualmente em beta) Novos adaptadores (LOB Adapters) Suporte nativo a RFID (Radio Frequency Identification) Platform Alignment (Office 2007, Windows Vista, .NET 3.0, WCF) Ferramentas Incluídas: Para Gerenciamento/Operação: BizTalk Server Administration BizTalk Server Configuration BizTalk Explorer BizTalk Web Service Publishing Wizard BizTalk Business Rule Engine Deployment Wizard Para Desenvolvimento: Visual Studio .NET Project Templates Developer Tools and SDK Orchestration Designer Business Rule Composer (BRC) Orchestration Designet for Business Analysts (ODBA) Para Monitoração: Health and Activity Tracking (Group Hub) Business Activity Monitoring (BAM) Cenários de Integração Entre os diversos cenários podemos citar: EAI B2B Web Portal Sistema de Entrega Usuário Usuário Aplicação Interna BizTalk Server 2006 Empresa de Transporte Casa do cliente Sistema de Faturamento Sistema de Estoque Aplicação Interna BizTalk Server 2006 Sistema de Faturamento Internet Sistema do Parceiro Parceiro de Transporte Fornecedor do Produto Sistema de Estoque Sistema de Entrega Internet Casa do cliente Cliente Portal Web BizTalk Server 2006 Sistema de Faturamento Sistema de Estoque BizTalk Concepts Mensagem Portas (de envio e recebimento) Local de entrada/saída de mensagens Executam um pipeline Gravam mensagens no banco de dados do BizTalk Adaptadores Qualquer informação enviada para o BizTalk baseada num Schema XML (XSD) Componentes de software que habilitam a comunicação entre BizTalk e outros sistemas Orchestrations Processo de negócio baseado em “shapes” Possui transação (try/catch) Processo compilado Arquitetura x Funcionalidades Modelagem BPM Orchestração Monitoração Broker EAI Mensageria dos processos de negócio -Documentação Orchestraion Designer for Business Analysts ODBA deDesigner processos críticos -Identificação Orchestration (Visual Studio 2005) Otimização de processos baseado em utilização processos baseando-se na modelagem -Implementa Orchestration Designer (Visual Studio 2005) gráfica para desenho do diagrama de atividades -Interface BizTalk Mapper Pode ser baseado em SOA -Informações Business Activity precisas Monitoring em tempo (BAM) real sobre o negócio -Permite Health a and identificação Activity Tracking e correção de processos falhos -Facilita Group eHub fornece embasamento para a tomada de decisão - Portas Roteamento de mensagens - Filtros das Portas Pode fazer transformação e tradução - BizTalk Mapper Transparência na comunicação - Adaptadores -Envio/Recebimento Schemas de mensagens -Comunicação Pipelines síncrona e assíncrona -Garantia Portas de entrega (COD/COA) - Adaptadores Integrando Aplicações Por que é necessário integrar sistemas? Nenhum sistema trabalha sozinho (fim das ilhas digitais) Integrar e automatizar os processos da empresa Segurança e consistência de informações corporativas Preservar o investimento existente em hardware e software Adaptação as mudanças de mercado Componentes do BizTalk Para desenvolver um processo de negócio no BizTalk podemos utilizar os seguintes componentes: Schemas (arquivos com extensão .xsd) Mapas (arquivos com extensão .btm) Pipelines (arquivos com extensão .btp) Orchestrations (arquivos com extensão .odx) Schemas São utilizados para definir qualquer informação que trafega pelo BizTalk (mensagem) Existem 2 tipos de schemas suportados: XML Supports native XML message types Defined in XML Schema definition language (XSD) FLAT-FILE Supports delimited or positional file formats XML tags used to represented values Tag information stored using the annotation capabilities of XSD “Toda informação que passa pelo BizTalk é chamada de mensagem e cada mensagem possui um schema associado a ela.” Mapas Utilizados para transformar ou traduzir uma mensagem Data Transformation Data Translation Perform computational and other data operations Automatically insert the data from one message into another during run time Change the format data between messages Translate between a flat file and an xml file Dados podem ser manipulados utilizando functoids “Um mapa no BizTalk é gerado utilizando como padrão o XSLT (Extensible Stylesheet Language Transformation) .” Pipelines Utilizados para pré-processar mensagens de entrada e saída no BizTalk Principais atividades: Normalize data from various formats to XML Serialize data from XML to various formats Assemble and disassemble messages Decode and encode messages Decrypt and encrypt messages Assign and verify digital signatures Orchestrations Componentes onde serão implementadas as regras de negócio a serem executadas (workflows) para cada processo Basicamente podemos definir 2 tipos de transações nas Orchestrations: Atomic Guarantee rollback for transactions failures Use when ACID properties are required (atomic, consistent, isolated, durable) Isolate state change until commited Can set entire orchestration to atomic Long-Runnig May run for an extended time Isolation characteristic is not available Individual steps are committed as completed Can included nested atomic transactions Demo Conhecendo o ambiente de desenvolvimento do BizTalk Server 2006 Administrando o BizTalk Server Melhoria significativa das versões anteriores Ponto único de administração (BizTalk Administration) Ponto único de configuração (BizTalk Configuration) Ponto único de monitoramento (Group Hub) Features interessantes Geração de pacotes MSI (facilitando bastante o deploy) Monitoração simplificada (refresh com um único botão) Wizards para publicação de Schemas e Orchestrations através de Web Services Import/Export de toda configuração da suíte (Enterprise SSO, Runtime, BRE, HWS, BAM) Papeis no BizTalk Server Information Workers Define o fluxo do processo de negócio, identificando os kpi’s para monitoração posterior. Developers Implementam o fluxo definido (workflow), utilizando as ferramentas disponibilizadas pelo BizTalk. IT Professionals Instala e administra a aplicação BizTalk, cuidando da performance e da segurança do ambiente. Arquitetura do BizTalk Server Message Message Rules Inference Engine Receive Port Orchestration Send Port Receive Adapter Send Adapter Send Pipeline Receive Pipeline MessageBox Persistent Store BizTalk Adapters Connect BizTalk to integration systems Provide a fast no-code integration solution Seu Adapter não está na lista? BizTalk Adapter Framework Adaptadores fornecidos por parceiros Protocol Adapters HTTP FTP SMTP SOAP MSMQ FILE POP3 EDI MQSERIES Data Adapters SQL Server Oracle DB2 Application Adapters SharePoint SAP JDE PeopleSoft Siebel Utilizando os Adaptadores do BizTalk Em que caso podemos utilizá-los SMTP/POP3 Para envio e recebimento de documentos através de e-mail Para processos síncronos Para recebimento e transferência de arquivos Para processos assíncronos Para comunicação com fontes de dados HTTP/SOAP FILE/FTP MSMQ/MQSeries SQL/ORACLE BizTalk Enterprise Adapters Conecta o BizTalk a sistemas comerciais utilizados no mercado SAP R/3 4.x and R/3 6.20 (Enterprise) PeopleSoft (PeopleTools 8.17.02, 8.43 and 8.45) JDE One World XE (B7.3.3.3 with SP23) JDE EnterpriseOne (8.10 with Tools Release 8.94) Oracle Database 8i (8.1.6.0), 9i (9.2.0.1) and 10g Siebel eBusiness (6.2.1 with patch 110 or higher) TIBCO Rendezvous (7.3) TIBCO Enterprise Message Service (4.2) Host Applications (CICS and IMS) IBM DB2 (V7, V8 and V9) WebSphere MQ (5.3 fix pack 10 or higher) Portas Portas Físicas São portas criadas no BizTalk para comunicação com sistemas externos (associadas a um adaptador) Criadas no BizTalk Administrator ou BT Explorer Podem ser estáticas ou dinâmicas Send Ports (One-Way or Solicit-Response) Receive Ports (One-Way or Request-Response) Portas Lógicas São criadas nas Orchestrations Devem ser ligadas posteriormente em portas físicas que são associadas aos adaptadores Comunication Pattern (One-Way or Request-Response) Access Restrictions (Private, Internal or Public) Modelo de Segurança O BizTalk fornece vários recursos: Assinatura Digital Resolução de Fornecedores (através de certificados digitais) Criptografia/Descriptografia Autenticação Relação de Confiança Autorização de Recebimento Demo 2 Conhecendo o ambiente de administração e configuração do BizTalk Server 2006 BizTalk Messaging Passos executados pelo Messaging: 1. 2. 3. 4. 5. O BizTalk recebe a informação de diversas formas (Receive Ports) Valida a mensagem (Pipeline) Transforma o formato desta mensagem em outro se for necessário (Mapper) Pode rotear a mensagem com informações da mesma (Filters) Entrega a um determinado destino (Send Ports) Demo 3 - Messaging Transformando um arquivo texto em XML BizTalk Orchestration Passos executados pela Orchestration: 1. 2. 3. 4. Receive Port recebe dados através de um Web Service (SOAP Adapter) Esta porta física está associada a uma porta lógica na Orchestration (Binding) Orchestration irá processar a mensagem recebida Ao final a Orchestration envia o responce para o Web Service pois a Receive Port é Request-Response Demo 4 - Orchestration Criando um Web Service com BizTalk Tools Web Services Studio 2.0 http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65A1D4 EA-0F7A-41BD-8494-E916EBC4159C Developer’s Troubleshooting Guide http://download.microsoft.com/download/3/7/6/376a6f6c-8c97-4ab5-9d5a416c76793fbb/bts06developerstroubleshootingguide.doc BizTalk Code Samples http://msdn2.microsoft.com/en-us/biztalk/aa937647.aspx Orchestration Designer for Business Analyst http://www.microsoft.com/downloads/details.aspx?FamilyID=5c731f68-5a4c-4faf-a18d43d3479187c8&DisplayLang=en BizTalk Server 2006 Best Practices Analyser Tool http://www.microsoft.com/downloads/details.aspx?FamilyID=dda047e3-408e-48ba-83f9f397226cd6d4&DisplayLang=en Por onde começar? Virtual Labs http://www.microsoft.com/biztalk/techinfo/virtual-labs.mspx Fórum MSDN e TechNet http://forums.microsoft.com/Technet-BR http://forums.microsoft.com/msdn-br Documentação do Produto On-Line: http://msdn2.microsoft.com/en-us/library/aa548004.aspx Colunas de Artigos Técnicos: http://www.microsoft.com/brasil/technet/Colunas Douglas Mello Blog: http://dnmello.spaces.live.com © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.