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
+++ ++ ++ +++
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
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
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.
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.
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 + + -
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).
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;
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.
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