Situação Atual Grandes Organizações - Governos Grande número de Sistemas de Compras ( Automatizados ou Manuais) Num mesmo setor Para um mesmo fornecedor Dificuldades Compras ineficientes Processo caro Materiais comprados mais caros Problema Básico: É impossível substituir de uma vez todos os sistemas Caro, difícil, demorado, alto risco Solução encontrada : Criar uma camada auxiliar de informação que permita que os dados sejam integrados a partir dos vários sistemas e fontes EAI – Integração de Aplicações Corporativas Integração Corporativa de Aplicações – EAI ( Enterprise Application Integration ) Processo para criar uma infraestrutura integrada, capaz de interligar diferentes sistemas, aplicações e fontes de dados através de toda a organização e seu meio ambiente Estágios de Integração Metodologias de Integração Produtos de Integração Níveis ( estágios ) de Integração Integração Ponto a Ponto Integração Estrutural Integração por Processos Integração Estendida Metodologias ( estratégias ) de Integração Interface Comum aos Usuários Integração da Base de Dados Aplicações Compostas ( Funcional ) Processos Multi-Passos Produtos de integração – Middleware Servidores de Aplicação Intermediários de informação ( Integration Broker ) Modelo de Maturidade de Integração de Aplicações ( AMS ) Investimentos crescentes nas TI Uso de ferramentas mais avançadas Necessidade de reengenharia dos processos de negócios Pré-Integração NIVEL 4 Sistemas isolados com poucas interfaces entre si NIVEL 3 Reentrada e sincronização manual de dados entre as aplicações NIVEL 2 NIVEL 1 Integração Ponto a Ponto Integração Estrutural Integração Estendida Integração por Processos NIVEL 1 Integração Ponto a Ponto •Interfaces ponto a ponto construídas para cada caso, usando API’s ou ferramentas de sincronização de dados •Uso de ferramentas middleware orientadas para mensagens ( MOM ) •Uso de sistemas com acoplamento fraco •Intercâmbio de informação normalmente automática, com pouca reentrada manual de dados Estabelecimento de uma infraestrutura básica de intercâmbio de dados, na qual não é agregada nenhuma lógica de negócios ( esta é codificada dentro das aplicações individuais ) NIVEL 2 Integração Estrutural Uso de ferramentas de middleware mais avançadas, para padronizar e controlar a troca de informação entre as aplicações Normalmente existente ao par de modelo de dados global As regras de negócio para interação entre as aplicações são integradas num framework estruturado NIVEL 3 Integração por Processos A organização deixa de compartilhar informação entre as aplicações, para administrar o fluxo de informação entre as mesmas Uso de sistemas de Gerência de Processos de Negócio - BPMS Criação de uma camada de Modelo de Processos de Negócio, comum a toda a organização NIVEL 4 Integração Estendida Nível de uma organização sem fronteiras: rápida, flexível e capaz de acompanhar a dinâmica do mercado Uso de tecnologias de integração mais avançadas que permitem administrar e compartilhar os acervos de conhecimento Os clientes, fornecedores e parceiros participam de forma direta e interagem com as operações internas da organização, através da Internet Componentes Básicos da Arquitetura de uma Aplicação de software Número de Camadas de uma Aplicação Sistemas de uma única camada •Todos os componentes são agregados num único todo •Comum na maioria dos sistemas legados •Tudo é feito caso a caso •Tudo é rigidamente ligado •Para se mudar algo numa camada tem-se que mudar todas as três camadas Sistemas Cliente Servidor de Duas Camadas Dois dos componentes são agregados: ( Apresentação – Regras de Negócios ) – Base de Dados Ou Apresentação – ( Regras de Negócios – Base de Dados ) Thin Client Fat client Permite usar Interfaces Gráficas do Usuário diferentes para um mesmo sistema ( BD e regras de negócio ) Sistemas com Arquitetura de Três Camadas Separa os três componentes, criando a maior independência possível Usada nas aplicações mais modernas Sistemas com Arquitetura de Múltiplas Camadas Componentes Regras de Negócios ou Base de Dados são divididos em mais de um objeto distribuído Tendência de ser utilizado nos sistemas mais modernos Estratégias para Integração de Aplicações •Interface Comum aos Usuários •Integração da Base de Dados •Aplicações Compostas •Processos Multi-Passos Estratégias para Integração de Aplicações Interface Comum aos Usuários •Aplicações integradas na camada de Apresentação, provendo interfaces do usuário comuns •Comum na Internet •Muitas vezes o usuário tem que entrar duas vezes o mesmo dado, porque as demais camadas não estão integradas •Vantagens: técnicas e ferramentas disponíveis estão testadas e maduras •Desvantagens: a responsabilidade da integração é por conta do usuário: ineficiente e causa de erros Estratégias para Integração de Aplicações Integração da Base de Dados Com utilização de ferramentas sofisticadas para manipulação da base de dados, para mover os dados de um BD para outro. Vantagens: No caso de sistemas legados não há necessidade de se alterar as demais camadas, o que pode acarretar enorme economia. É uma técnica testada quando se usa data warehouses ou federated databases Desvantagens: Pode criar dados errados, pois desconhece a camada de regras de negócio, que pode conter regras de integridade e consistência de dados. Alguns fornecedores de sistemas deixam de dar suporte se é utilizada esta estratégia Estratégias para Integração de Aplicações Aplicações Compostas Envolve o grande uso de aplicações corporativas, por exemplo: ERP que abranja 50% dos processos da organização. Todas as outras aplicações, internas ou externas, devem se conformar com os padrões dessa aplicação central e servir sua base de dado Os fornecedores desses tipos de sistemas de informação corporativa estão aprimorando de forma crescente seus produtos para exercer esta função, inclusive no ambiente Internet. Estratégias para Integração de Aplicações Processos Multi-Passos Usa uma camada adicional de regras de negócio ( processos ) para integrar as diversas aplicações Essa nova camada: Descreve como as diferentes aplicações interagem e se integram Gerencia eventos ou transações num processo multi-passo controlado É a base de novos produtos lançados nos últimos anos: Monitores de transação Message brokers Gerenciadores de Processos de Negócios Estratégias para Integração de Aplicações X Níveis de Maturidade de Integração de Aplicações Qual é a melhor estratégia para o caso específico de cada organização Heterogeneidade das Aplicações Cliente Cliente Complexidade das Aplicações Aplicações de e-comércio entre empresas Middleware Servidor Servidor Arquitetura Arquitetura Cliente - Servidor Multi - Camadas Middleware Software que conecta aplicações, permitindo que as mesmas troquem dados Tipos: • Servidores de Aplicação • Intermediários de Aplicação ( Application Brokers ) Legacyware Acesso a Dados ETL – Extract Transform and Load Data Federation Orientados a Mensagens Objetos Businessware Servidores de Aplicação Existem a mais de 25 anos , eram chamados de monitores de TP ( Transaction Processing Monitor, como o CICS da IBM ) Permitem que vários usuários rodem a mesma aplicação Provem ativação de aplicações, multi-encadeamento de aplicações e multiplexação de conexões Incluem módulos de segurança com autenticação, login e controle de acesso Podem incluir suporte automático a compartilhamento de carga entre várias máquinas Hoje permitem apoio a integração de aplicações pelo método funcional, onde a lógica de negócios é escrita de forma a integrar objetos e componentes, colocando-as à disposição do seu usuário na forma de serviços Podem ser considerados plataformas de desenvolvimento para integração WebSphere – IBM Cold Fusion - Allaire Intermediários de Aplicação Application Brokers Integration Brokers Message Brokers Mecanismo para conectar aplicações, reduzindo o número de ligações entre as interfaces ( de n(n-1) para n+1, onde n é o número de interfaces ) Inicialmente os desenvolvedores de sistemas usavam a abordagem de integração baseada nos dados: recorte de telas ( scraping ), consultas SQL, para acessar um certo dado e copiá-lo para outro sistema Criou-se assim o chamado espagueti de integração ( integração ponto a ponto ) Com o desenvolvimento do mercado de Intermediários de Integração esse espagueti ficou mais administrável MQSeries Integrator ou Workflow – IBM BusinessWare - Vitria Legacyware – Feitos pelo próprio desenvolvedor da aplicação Intermediários de Aplicação Acesso a Dados Já são produtos de mercado desenvolvido por terceiros Ligam uma aplicação a um tipo particular de plataforma de banco de dados Os dados devem ser transformados da representação utilizada pelo sistema fonte para a representação usada pelo sistema destino Sistemas ETL – Extract, Transform, Load Integração de dados históricos ( armazém de dados ) Informatica, Ascential Sistemas Federação de Dados Integração por demanda, dados em operação no momento da transação ( dinâmica ) Cohera, Peoplesoft Intermediários de Aplicação Orientados a Mensagens - MOM Produto antigo do mercado Dados duma aplicação passam para outra aplicação num formato duma mensagem ( como num e-mail: são formadas filas que outra aplicação pode acessar quando necessário ) Integração assíncrona de dados Normalmente usada para intercâmbio de dados num só sentido e com poucas operações realizada com os dados, em situações onde o tempo não é crítico MQSeries – IBM MSMQ - Microsoft Intermediários de Aplicação Objetos Object Monitors ( TP Monitor ) Object Request Brokers - ORB Parte essencial de uma Arquitetura baseada em componentes Faz a mediação entre as aplicações e os serviços de rede ( segurança, monitoramento de desempenho, impressão,..) Permite a criação de serviços e aplicações inter-operacionais ( que se ligam a outros serviços e aplicações ) Arquiteturas disponíveis Corba- Object Management Group –OMG Enterprise JavaBeans ( EJB ) – Sun Component Object Model ( COM+ )-Microsoft Intermediários de Aplicação Businessware ( EAI ) Middleware mais evoluído Tem mecanismo para transformação e transporte de dados comuns aos outros tipos de produto Diferencia dos demais produtos por dar suporte para regras de negócios e processos de negócio O usuário define os seus processos de negócio, com suas regras próprias Produtos mais recentes incluem suporte em XML Usuários compram o módulo central e as interfaces específicas que necessitam, dependendo do produto de ERP e banco de dados que utiliza Fornecedores oferecem também serviço de programação para integração aos sistemas legados existentes Em princípio as empresas encontram pronto 80% do que precisam e 20% deve ser desenvolvido Normalmente utilizado por organizações grandes que dispõem de muitas aplicações Businessware – Vitria ActiveEnterprise – Tibco Software Permite a configuração das comunicações entre diversas aplicações, permitindo a automação ( replicação ) dos processos de negócios Define as regras de negócios que são utilizadas para realizar as tarefas nas camadas abaixo Interpreta e transforma os diferentes tipos de dados de forma que possam ser usados por diferentes aplicações Trata o roteamento de mensagens e garante a passagem de mensagens entre as aplicações Serviço de mensagens Transformação de dados Adaptadores para produtos do mercado ( entrada / saída )