Introducao integracao
-
Upload
fabio-nogueira-de-lucena -
Category
Software
-
view
11 -
download
0
Transcript of Introducao integracao
Integração de AplicaçõesNoções
Fábio Nogueira de LucenaInstituto de Informática (UFG)
“Integração é importante porque aplicações não podem viver isoladas umas das outras.”Martin FowlerForeword do livro Enterprise Integration Patterns, Hope et al.,Addion-Wesley, 2004
ReferênciaEnterprise Integration PatternsHohpe and Woolf,Addison-Wesley, 2004
PORTAL
http://www.enterpriseintegrationpatterns.com/
FIGURAS OBTIDAS DE
http://www.eaipatterns.com/
Portal de apoio ao emprego do livro adotado.Créditos para os autores do livro e do portal, do qual as figuras foram obtidas.
Quais aplicações operam “isoladas” no seu smartphone?E no computador de mesa?
Quais os desafios da integração?Redes não são confiáveis.Redes são lentas.Aplicações usam linguagens diferentes,
formatos de dados diferentes, …Aplicações mudam com o tempo.
Como “atacar” tais desafios?
Transferência de arquivo
Base de dados compartilhada
Chamada remota de procedimento
Troca de mensagens
Qual abordagem a figura sugere?Figura Google
Qual abordagem a figura sugere?Figura Google
Qual abordagem a figura sugere?Figura Google
Estilos de integração (revisão)
Transferência de arquivoBase de dados compartilhadaChamada remota de procedimentoTroca de mensagens
Tarefa da integração de aplicações
Permitir a interação entre as aplicações para a realização de uma funcionalidade obtida do conjunto das aplicações que estão interagindo.
Transferência de Arquivo
Transferência de arquivoQual o formato (esquema dos dados)?Qual o meio empregado para transferi-los?
Binário, TXT, JSON, XML, …Quando produzir? Quando consumir?Quando eliminar?Não exige ferramenta específica ou pacote de
integração.
Base de dados compartilhada
Base de dados compartilhadaTroca de arquivos exige consideração acerca
de quando produzir e quando consumir (frequência)
Qual o projeto dos dados? Aplicações distintas possuem necessidades distintas.
Chamada remota de
procedimento
Chamada remota de procedimentoPara integrar a funcionalidade
Transferência de arquivo de base de dados compartilhada enfatiza os dados.
Dados não encapsuladosCORBA, COM, .Net Remoting, Java RMI,
SOAP, REST, …Acoplamento “forte”
Troca de Mensagens
messaging
Troca de mensagens
ComponentesRemetente ou produtorDestinatário ou consumidorMensagem (o que se deseja enviar/receber)Canal (também conhecido por fila)
Serviços de troca de mensagens Sistema de Troca de MensagensMessage-Oriented Middleware (MOM)Missão
Mover mensagens do produtor até o receptor de forma confiável.
Assíncrona
5 passos para trocar mensagemO produtor cria a mensagem com os dados a
serem enviados.O produtor adiciona a mensagem ao canalO sistema de mensagens move a mensagem
do remetente até o destinatário.O consumidor lê a mensagem do canal.O consumidor extrai os dados enviados.
Conceitos relevantesSend and Forget. Produtor envia e continua
suas operações. Seguro de que a mensagem será entregue.
Store and Forward. O sistema armazena a mensagem e a retransmite para o computador do destinatário. Lá, armazena-a antes de entregar.
Algumas observaçõesModelo “complexo” de programaçãoOrdenação das mensagens não é garantidaAlguns cenários exigem comunicação
síncronaDesempenhoPlataforma pode não oferecer suporteLock-in (fornecedor)
Prática da disciplina
Experimentação dos vários estilos de integração