Introducao integracao

Post on 11-Apr-2017

11 views 0 download

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