Introducao integracao

27
Integração de Aplicações Noções Fábio Nogueira de Lucena Instituto de Informática (UFG)

Transcript of Introducao integracao

Page 1: Introducao integracao

Integração de AplicaçõesNoções

Fábio Nogueira de LucenaInstituto de Informática (UFG)

Page 2: Introducao integracao

“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

Page 3: Introducao integracao

ReferênciaEnterprise Integration PatternsHohpe and Woolf,Addison-Wesley, 2004

PORTAL

http://www.enterpriseintegrationpatterns.com/

Page 4: Introducao integracao

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.

Page 5: Introducao integracao

Quais aplicações operam “isoladas” no seu smartphone?E no computador de mesa?

Page 6: Introducao integracao

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.

Page 7: Introducao integracao

Como “atacar” tais desafios?

Transferência de arquivo

Base de dados compartilhada

Chamada remota de procedimento

Troca de mensagens

Page 8: Introducao integracao

Qual abordagem a figura sugere?Figura Google

Page 9: Introducao integracao

Qual abordagem a figura sugere?Figura Google

Page 10: Introducao integracao

Qual abordagem a figura sugere?Figura Google

Page 11: Introducao integracao

Estilos de integração (revisão)

Transferência de arquivoBase de dados compartilhadaChamada remota de procedimentoTroca de mensagens

Page 12: Introducao integracao

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.

Page 13: Introducao integracao

Transferência de Arquivo

Page 14: Introducao integracao

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.

Page 15: Introducao integracao

Base de dados compartilhada

Page 16: Introducao integracao

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.

Page 17: Introducao integracao

Chamada remota de

procedimento

Page 18: Introducao integracao

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”

Page 19: Introducao integracao

Troca de Mensagens

messaging

Page 20: Introducao integracao

Troca de mensagens

Page 21: Introducao integracao

ComponentesRemetente ou produtorDestinatário ou consumidorMensagem (o que se deseja enviar/receber)Canal (também conhecido por fila)

Page 22: Introducao integracao

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

Page 23: Introducao integracao

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.

Page 24: Introducao integracao
Page 25: Introducao integracao

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.

Page 26: Introducao integracao

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)

Page 27: Introducao integracao

Prática da disciplina

Experimentação dos vários estilos de integração