integração de sistemas da informação - abordagens de integração
TRANSCRIPT
Integração de Sistemas da Informação
Abordagens de Integração
João Johanes
Objetivo do Trabalho
Identificar as caracteristicas das Abordagens de Integração para implantar em determinado contexto
Introdução
Mudanças na área da Tecnologia da Informação
Introdução
Ambiente Heterogêneo com sistemas que trabalham de forma isolada
Introdução
EAI
Enterprise Application Integration
Componente de tipo middleware com a função de integrar sistemas heterogêneos.
Introdução
EAI
SAC
Databases
EAP
CRM
Financeiro
Sistemas Legados
EAI
Introdução
Abordagens de Integração
Introdução
Abordagens de IntegraçãoFile transfer
Introdução
Abordagens de IntegraçãoFile transfer
Shared Database
Introdução
Abordagens de IntegraçãoFile transfer
Shared DatabaseRPC
Introdução
Abordagens de IntegraçãoFile transfer
Shared DatabaseRPC
Messaging
Introdução
Abordagens de IntegraçãoFile transfer
Shared DatabaseRPC
MessagingWeb Services
Enterprise Application Integration
EAI é pedir que os aplicativos diferentes trabalhem juntos para produzir um conjunto unificado de funcionalidade...
Eles provavelmente executam em vários computadores, o que pode representar múltiplas plataformas, e pode ser geograficamente dispersos.
Enterprise Application Integration
Principais Desvantagens : • Sistemas trabalhando de forma isolada;• Cada um possuía sua própria base de dados tornando
compartilhamento das informações algo muito complexo; • Inserir uma informação só era possível de forma manual e
correndo risco da informação ter sido inserida diversas vezes; • Redundância de dados não desejada; • Múltiplas vezes a parte gerencial não conseguia compilar as
informações para obter respostas e tomadas de decisões;
Enterprise Application Integration
Principais Vantagens:• Diminui retrabalho e redundância de informações.• Aumento da qualidade das informações, garantindo a
consistência.• Crescer as opções de funcionalidades no sistema e
tornando mais fácil gerenciamento dos processos.• Gerando respostas e tomada de decisões.• Gestores recuperam controle da empresa em sua
totalidade.• Flexibilidade, possível manipular as informações criar,
atualizar e apagar informações em qualquer sistema que participe da integração.
Critérios da Enterprise Application Integration
Será que realmente necessario um Integração?
O que os profissionais devem olhar antes de adotar uma abordagem de integração?
Critérios da Enterprise Application Integration
Acoplamento entre os aplicativos – Minimizar as dependências entre os aplicativos garante que dessa forma os aplicativos podem crescer sem causar impactos nos demais aplicativos;
Critérios da Enterprise Application Integration
Nível de intrusão – Ao se desenvolver uma integração os desenvolvedores devem tentar evitar o máximo de mudanças possíveis tanto na aplicação e principalmente inserção de novas linhas de códigos novos nos aplicativos;
Critérios da Enterprise Application Integration
Selecionar tecnologias – Diferentes abordagens de integração podem levar a quantidade de licenças de software e hardware, aumentarem custo, dependência de fornecedores específicos, carga de trabalho e aumento na curva de aprendizado dos desenvolvedores;
Critérios da Enterprise Application Integration
Formato de dado – Formato de dado deve ser reconhecido pelos aplicativos, sabendo que pode ser inviável manter um único tipo de formato;
Critérios da Enterprise Application Integration
Tempo de atualização dos dados – A integração deve garantir o menor tempo comunicação entre as aplicações no momento que uma aplicação decide compartilhar um dado;
Critérios da Enterprise Application Integration
Comunicação assíncrona remota –A maioria das chamadas de funcionalidades remotas que trabalham com processos de comunicações síncronos é algo muito custoso e complexo para esse tipo de situação;
Critérios da Enterprise Application Integration
File Transfer
Shared Database
RPC Messaging
Acoplamento entre os aplicativos
++ --- - +++
Nível de intrusão ++ --- + +++Selecionar tecnologias ++ ++ ++ -Formato de dado + ++ ++ +++Tempo de atualização dos dados
-- +++ ++ ++
Funcionalidades abertas --- --- +++ +++Comunicação assíncrona remota
+++ ++ ++ +++
Comunicações síncrona e assíncrona
Comunicação
Assíncrona Síncrona
File Transfer Sim
Shared Database Sim
RPC Sim
Messaging Sim
Web Services Sim
Abordagens da EAI
“Há mais de uma abordagem para a integração de aplicações. Cada abordagem aborda alguns dos critérios de integração melhores do que outros. As diferentes abordagens pode ser resumido em quatro estilos de integração principais” Martin Fowler
Abordagens da EAI
File Transfer (em português Transferência de arquivos)
File Transfer
Cenário muito simples e por isso que funciona bem;
Flexibilidade é em grande parte devido á arquitetura cliente-servidor;
File Transfer
File Transfer
Comando de parâmetros de transferência
Comando Significado
PORT Cliente escolhe uma porta, contem 6 dígitos
PASV Servidor escolhe uma porta
TYPE Define tipo de arquivo e, se necessário o formato da impressão
STRU Define organização dos dados (F para File, R para Record, P para Page)
MODE Define o modo de transferência dos dados (S para Stream, B para Block, C para Compressed)
File Transfer
Características do File Transfer:• Modelo que integração rápida e simples;• Rápido e interoperável;• Diversas linguagens de programação
possui APIs para auxiliar comunicação entre dois sistemas;• Não é desenvolvido para trabalhar com
transferência de dados em tempo real
File Transfer
File Transfer
Gerando arquivo de escrituração fiscal
Integração de Sistemas com a abordagem File Transfer
Shared Database
Shared Database (em português Banco de dados compartilhado)
Shared Database
Definição:Shared Database consiste basicamente em várias aplicações consumindo a mesma base de dados, esses aplicativos podem ser heterogêneos e também de estar geograficamente dispersos.
Shared Database
Shared Database
Motivação para implantação de Shared Database:
Shared Database
Principais problemas encontrados quando não se usa Integração Shared Database:
• Informação repetida• Inconsistência de dados
Shared Database
Shared Database
Tipos de Integração com Banco de dados:
• Integração com Federação de dados• Integração com replicação de dados
Shared Database
Tipos de Integração com Banco de dados:• Integração com Federação de dados
Shared Database
Tipos de Integração com Banco de dados:• Integração com Federação de dados
Vantagens:• Transparência passa uma visão para usuários de sistema
único.• Desenvolvedores podem manipular objetos de banco de
dados sem nenhum impacto sobre os usuários ou aplicativos de banco de dados existentes.
Shared Database
Tipos de Integração com Banco de dados:• Integração com Federação de dados
Desvantagens:• Complexidade, é um ambiente muito complexo, é preciso
coordenar o commit ou undo.• Esse aspecto seria uma vantagem da integração com banco de
dados centralizado, mas na integração de banco de dados federados se torna algo muito complexo.
• Custo, para torna uma integração confiável terá que adquirir para infraestrutura mais capacidade processamento, memória disponível.
Shared Database
Tipos de Integração com Banco de dados:• Integração com replicação de dados
Shared Database
Tipos de Integração com Banco de dados:
• Integração com replicação de dados
Vantagens:• Melhor desempenho• Melhor disponibilidade• Escalabilidade, capacidade atendar uma alta demanda de
acessos.
Shared Database
Tipos de Integração com Banco de dados:
• Integração com replicação de dados
Desvantagens:• Necessita de maior controle para que não haja inconsistência
de dados• Custo, hardware com grande capacidade de armazenamento.
Shared Database
Comparação das Integrações baseado no compartilhamento de dados:
Shared Replication Federated
Disponibilidade - + +
Escalabilidade - + -
Desempenho + - +
Segurança + + -
Remote Procedure Call
RPC (Remote Procedure Call, em português Chamada de Procedimento
Remoto)
Remote Procedure Call
RPC permite que o cliente consiga realizar uma comunicação acessando um
procedimento definido (serviço) existente em outra aplicação remota (servidor).
Remote Procedure Call
Remote Procedure Call
Modelo de comunicação da abordagem RPC:
Remote Procedure Call
Modelo de comunicação da abordagem RPC:
• Modelo Cliente /Servidor ;
• Protocolos de requisição-resposta (UDP, TCP ou HTTP) ;
• . O cliente possui uma agente que empacota um identificador e depois envia ao servidor, que possuem um agente com papel desempacotar e executar o procedimento referente ao identificar do cliente.
Remote Procedure Call• Características da comunicação dos Componentes RPC:
• Agentes:StubModulo de comunicação ServidorCliente
Remote Procedure Call
Mensagem de requisição
Remote Procedure Call
Tecnologias de integração com base na abordagem RPC:
XML-RPC:RPC tem papel transportar usando protocolo HTTP e o XML que faz papel da codificação.
GWT-RPC:Framework GWT-RPC tem função de facilitar a troca de objetos Java entre os componentes cliente e servidor através do protocolo HTTP. São apenas métodos para transferir dados entre um servidor e uma aplicação cliente GWT
Remote Procedure Call
Desafios:
Acoplamento - Um serviço bem construido expõe uma interface abstrata que pode separar cliente da implementação. Quaisquer alteração no sistema pode trazer problemas de insdisponibilidade afetando comunicação entre os componentes.
Remote Procedure Call
Desafios:
• Serviços heterogêneos - RPC possui muito tipos de serviços heterogêneos que torna complexo a construção e manutenibilidade.
Remote Procedure Call
Desafios:
• Síncrona - Quando cliente é executa uma requisição para servidor, o cliente irá ficar com estado bloqueado até que servidor emita uma resposta ao cliente.
Remote Procedure Call
Desafios:
• Transações de dados - É preciso decidir se os dados serão persistidos diretamente no banco de dados;
Remote Procedure CallVantagens, Desvantagens e Classificações RPC:
Vantagens:
• RPC oferece uma abordagem mais simples;
• RPC garante processamento sequencial, o modelo RPC síncrono, existe a capacidade de controlar a ordem em que o processamento ocorre no sistema;
• RPC garantir os dados persistidos em ordem e dados consistentes, se problema; é garantir a integridade dos dados abordagem correta é RPC;
• Modelo RPC é ideal para uma comunicação fortemente “tipado” e acoplado;
Remote Procedure Call
Vantagens, Desvantagens e Classificações RPC:
Desvantagens:
• Problemático para dimensionar as partes do sistemas e lidar com interrupções;
• Grande sobrecarga e exigem mais largura de banda.
• Velocidade muito baixa ;
Messaging
Messaging (em português Mensagens)
Messaging
é uma abordagem onde temos dois sistemas que se conecta a um sistema de mensagens com a função de trocar dados e invocar comportamento através de message.
Messaging
Messaging
Esta abordagem se torna tão especial por não exigir que ambos sistemas esteja em funcionamento no momento de uma operação de comunicação;
Abordagem usa um processo de comunicação assíncrona forçando os desenvolvedores a pensar em uma integração com sistemas remotos;
MessagingConceitos básicos da Abordagem Messaging:Abordagem Messaging possui diversos conceitos que é preciso conhece-los antes de fazê-lo uso, seu conceitos são:
• MessageMessage é conteúdo da comunicação na Abordagem Messaging;
• Message ChannelsO Channel administra os detalhes de como e onde uma message será entregue;
• Message endpointsMessage endpoints são componentes que irão trabalhar em cima da message;
Messaging
Conceitos básicos da Abordagem Messaging:
Messaging
Conceitos básicos da Abordagem Messaging:
• Message TranslatorMessage Translator tem responsabilidade de transforma a interface da message para atender um contexto especifico.
• Message RouterMessage Router está preocupado com destino da message ao invés do causar alguma transformação como acontece com Channel.
Messaging
Messaging ou RPC:RPC como Messaging possui suas particularidades, vantagens e desvantagens;
RPC MESSAGING
Flexibilidade - +
Interrupções - +
Disponibilidade - +
Ordenação + -
Atualização + -
Integridade + -
Performance - +
Web Services
Web Services traz uma proposta de facilitar a comunicação entre sistemas aproveitando a eficácia dos protocolos da internet, HTTP e SOAP.
Web ServicesComponentes Web Services:
Protocolos:
HTTP – Protocolo HTTP responsável de receber e executar solicitações de serviço web em servidor web.
SOAP – Protocolo SOAP de encapsular a mensagem que será transmitida através de protocolo HTTP, protocolo que irá executar troca de mensagens.
Web ServicesComponentes Web Services:
Descrição do serviço:
WSDL – WSDL (Web Service Description Language) é um documento escrito em XML tem a função de definir o formato, os valores que trafega pelo web services.
Web ServicesComponentes Web Services:
Descrição publicação, procura de Web Services:
UDDI – UDDI tem a função de publicar WSDL para os potencias clientes possa encontra-los e consumir os serviços descritos pelo WSDL.
Web ServicesComponentes Web Services:
Comunicação Web Services em uma Arquitetura SOA:
Web Services funciona com uma interface que trabalha independe da plataforma, seu fluxo ocorre através da troca de mensagens entre o fornecedor e consumidor utilizando um protocolo SOAP estruturado em uma linguagem de marcação XML usando canal de comunicação de requisição e resposta HTTP.
Web ServicesComunicação Web Services:
Modelo de comunicação Web Service em SOA.
Web ServicesVantagens e Desvantagens de Integração com Web Services :
Vantagens:
• Usa XML para transferência de dados e para especificação.
• Usando XML permite compreender dos dados transferidos para depurar aplicativos.
• Uso de protocolo da internet permite o uso de serviço por trás de firewall.
• Facilitando a integração entre as diferentes tecnologias e aplicações, utilizando um protocolo de comunicação de alto nível
Web ServicesVantagens e Desvantagens de Integração com Web Services :
Desvantagens :
• Web Services possui diversos padrões e qualquer mudança em desses padrões pode fazer com que aplicação pare de funcionar.
• Quando cliente executa uma solicitação não há uma garantia que requisição seja finalizada, pode ocorrer uma falha na rede ou na internet
Considerações Finais• Não existe a melhor ou pior Integração, na verdade o que
existe são contextos diferentes;
• Preciso saber tipo de comunicação para integração;
• E conhecer as principais caracteristicas da Abordagem de Integração, seus componentes, se esta a alcançe da empresa, suas vantagens e desvantagens;
• E quais os criterios que são atendidos pela Abordagem
Considerações Finais• Não existe a melhor ou pior Integração, na verdade o que
existe são contextos diferentes;
• Preciso saber tipo de comunicação para integração;
• E conhecer as principais caracteristicas da Abordagem de Integração, seus componentes, se esta a alcançe da empresa, suas vantagens e desvantagens;
• E quais os criterios que são atendidos pela Abordagem