SlideShare ist ein Scribd-Unternehmen logo
1 von 78
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ção
File transfer
Introdução
Abordagens de Integração
File transfer
Shared Database
Introdução
Abordagens de Integração
File transfer
Shared Database
RPC
Introdução
Abordagens de Integração
File transfer
Shared Database
RPC
Messaging
Introdução
Abordagens de Integração
File transfer
Shared Database
RPC
Messaging
Web 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:
Stub
Modulo de comunicação
Servidor
Cliente
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 Call
Vantagens, 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;
Messaging
Conceitos básicos da Abordagem Messaging:
Abordagem Messaging possui diversos conceitos que é preciso
conhece-los antes de fazê-lo uso, seu conceitos são:
• Message
Message é conteúdo da comunicação na Abordagem Messaging;
• Message Channels
O Channel administra os detalhes de como e onde uma message será
entregue;
• Message endpoints
Message 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 Translator
Message Translator tem responsabilidade de transforma a interface da
message para atender um contexto especifico.
• Message Router
Message 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 Services
Componentes 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 Services
Componentes 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 Services
Componentes 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 Services
Componentes 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 Services
Comunicação Web Services:
Modelo de comunicação Web Service em SOA.
Web Services
Vantagens 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 Services
Vantagens 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

Weitere ähnliche Inhalte

Andere mochten auch

Integração entre Sistemas de Informação
Integração entre Sistemas de InformaçãoIntegração entre Sistemas de Informação
Integração entre Sistemas de InformaçãoCésar Augusto Pereira
 
Integração de sistemas de informação
Integração de sistemas de informaçãoIntegração de sistemas de informação
Integração de sistemas de informaçãoGeraldo Munguambe
 
Integração de sistemas
Integração de sistemasIntegração de sistemas
Integração de sistemasFlavio E
 
Transparências Sistemas de Informação
Transparências Sistemas de InformaçãoTransparências Sistemas de Informação
Transparências Sistemas de InformaçãoLuis Borges Gouveia
 
Formularios
FormulariosFormularios
FormulariosAAcioli
 
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoSistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoAline
 

Andere mochten auch (6)

Integração entre Sistemas de Informação
Integração entre Sistemas de InformaçãoIntegração entre Sistemas de Informação
Integração entre Sistemas de Informação
 
Integração de sistemas de informação
Integração de sistemas de informaçãoIntegração de sistemas de informação
Integração de sistemas de informação
 
Integração de sistemas
Integração de sistemasIntegração de sistemas
Integração de sistemas
 
Transparências Sistemas de Informação
Transparências Sistemas de InformaçãoTransparências Sistemas de Informação
Transparências Sistemas de Informação
 
Formularios
FormulariosFormularios
Formularios
 
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoSistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
 

Ähnlich wie Abordagens de Integração em

Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estiloGrupoAlves - professor
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescerGuilherme
 
Lync Server 2010 - Arquitetura
Lync Server 2010 - ArquiteturaLync Server 2010 - Arquitetura
Lync Server 2010 - Arquiteturabrunoestrozi
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemasJether Rodrigues
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIgor Takenami
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados webBenedilosn
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaPaula Santana
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerMarkus Christen
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 

Ähnlich wie Abordagens de Integração em (20)

Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescer
 
Lync Server 2010 - Arquitetura
Lync Server 2010 - ArquiteturaLync Server 2010 - Arquitetura
Lync Server 2010 - Arquitetura
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a Serviços
 
Banco de dados web
Banco de dados webBanco de dados web
Banco de dados web
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageria
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk Server
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 

Mehr von Joao Johanes

Dicas de segurança ti
Dicas de segurança tiDicas de segurança ti
Dicas de segurança tiJoao Johanes
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareJoao Johanes
 
Sqlite - Introdução
Sqlite - IntroduçãoSqlite - Introdução
Sqlite - IntroduçãoJoao Johanes
 
Entregar e suportar
Entregar e suportarEntregar e suportar
Entregar e suportarJoao Johanes
 
Google cloud message
Google cloud messageGoogle cloud message
Google cloud messageJoao Johanes
 

Mehr von Joao Johanes (7)

Dicas de segurança ti
Dicas de segurança tiDicas de segurança ti
Dicas de segurança ti
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Camadas
CamadasCamadas
Camadas
 
Sqlite - Introdução
Sqlite - IntroduçãoSqlite - Introdução
Sqlite - Introdução
 
Entregar e suportar
Entregar e suportarEntregar e suportar
Entregar e suportar
 
Gerenciamento itl
Gerenciamento itlGerenciamento itl
Gerenciamento itl
 
Google cloud message
Google cloud messageGoogle cloud message
Google cloud message
 

Abordagens de Integração em

  • 1. Integração de Sistemas da Informação Abordagens de Integração João Johanes
  • 2. Objetivo do Trabalho Identificar as caracteristicas das Abordagens de Integração para implantar em determinado contexto
  • 3. Introdução Mudanças na área da Tecnologia da Informação
  • 4. Introdução Ambiente Heterogêneo com sistemas que trabalham de forma isolada
  • 5. Introdução EAI Enterprise Application Integration Componente de tipo middleware com a função de integrar sistemas heterogêneos.
  • 10. Introdução Abordagens de Integração File transfer Shared Database RPC
  • 11. Introdução Abordagens de Integração File transfer Shared Database RPC Messaging
  • 12. Introdução Abordagens de Integração File transfer Shared Database RPC Messaging Web Services
  • 13. 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.
  • 14. 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;
  • 15. 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.
  • 16. 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?
  • 17. 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;
  • 18. 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;
  • 19. 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;
  • 20. 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;
  • 21. 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;
  • 22. 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;
  • 23. 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 +++ ++ ++ +++
  • 24. 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
  • 25. 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
  • 26. Abordagens da EAI File Transfer (em português Transferência de arquivos)
  • 27. File Transfer Cenário muito simples e por isso que funciona bem; Flexibilidade é em grande parte devido á arquitetura cliente-servidor;
  • 29. 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)
  • 30. 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
  • 32. File Transfer Gerando arquivo de escrituração fiscal Integração de Sistemas com a abordagem File Transfer
  • 33. Shared Database Shared Database (em português Banco de dados compartilhado)
  • 34. 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.
  • 36. Shared Database Motivação para implantação de Shared Database:
  • 37. Shared Database Principais problemas encontrados quando não se usa Integração Shared Database: •Informação repetida •Inconsistência de dados
  • 39. Shared Database Tipos de Integração com Banco de dados: •Integração com Federação de dados •Integração com replicação de dados
  • 40. Shared Database Tipos de Integração com Banco de dados: •Integração com Federação de dados
  • 41. 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.
  • 42. 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.
  • 43. Shared Database Tipos de Integração com Banco de dados: •Integração com replicação de dados
  • 44. 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.
  • 45. 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.
  • 46. Shared Database Comparação das Integrações baseado no compartilhamento de dados: Shared Replication Federated Disponibilidade - + + Escalabilidade - + - Desempenho + - + Segurança + + -
  • 47. Remote Procedure Call RPC (Remote Procedure Call, em português Chamada de Procedimento Remoto)
  • 48. 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).
  • 50. Remote Procedure Call Modelo de comunicação da abordagem RPC:
  • 51. 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.
  • 52. Remote Procedure Call • Características da comunicação dos Componentes RPC: • Agentes: Stub Modulo de comunicação Servidor Cliente
  • 54. 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
  • 55. 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.
  • 56. 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.
  • 57. 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.
  • 58. Remote Procedure Call Desafios: • Transações de dados - É preciso decidir se os dados serão persistidos diretamente no banco de dados;
  • 59. Remote Procedure Call Vantagens, 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;
  • 60. 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 ;
  • 62. 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.
  • 64. 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;
  • 65. Messaging Conceitos básicos da Abordagem Messaging: Abordagem Messaging possui diversos conceitos que é preciso conhece-los antes de fazê-lo uso, seu conceitos são: • Message Message é conteúdo da comunicação na Abordagem Messaging; • Message Channels O Channel administra os detalhes de como e onde uma message será entregue; • Message endpoints Message endpoints são componentes que irão trabalhar em cima da message;
  • 66. Messaging Conceitos básicos da Abordagem Messaging:
  • 67. Messaging Conceitos básicos da Abordagem Messaging: • Message Translator Message Translator tem responsabilidade de transforma a interface da message para atender um contexto especifico. • Message Router Message Router está preocupado com destino da message ao invés do causar alguma transformação como acontece com Channel.
  • 68. 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 - +
  • 69. 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.
  • 70. Web Services Componentes 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.
  • 71. Web Services Componentes 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.
  • 72. Web Services Componentes 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.
  • 73. Web Services Componentes 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.
  • 74. Web Services Comunicação Web Services: Modelo de comunicação Web Service em SOA.
  • 75. Web Services Vantagens 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
  • 76. Web Services Vantagens 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
  • 77. 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
  • 78. 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