Universidade Estadual do Sudoeste da Bahia - UESB
Departamento de Química e Exatas - DQE
Integração de Sistemas
Docente: Murilo Santana
•Critérios para integração de
sistemas;
•Técnicas e padrões de
integração de sistemas;
Integração
• A integração de sistemas é uma tarefa
necessária. Não existe uma única aplicação
que faça tudo, que trate de todos os aspectos
de um negócio, e não vale a pena criar tal
aplicação. Empresas geralmente executam
diversas aplicações diferentes, cada qual
especializada em um problema específico.
• A integração de aplicações não é simples.
A maior parte das aplicações não foi
construída pensando em integração, e
mesmo as que foram, geralmente
precisam adaptar formatos, dados,
interfaces.
• Além disso, é importante que a solução
seja independente de sistema, conecte as
aplicações com acoplamento fraco e seja
tolerante a mudanças, permitindo que as
diferentes aplicações integradas evoluam
sem afetar as outras que participam da
• integração.
• É um problema que envolve muitos
desafios. Dentre as várias soluções
possíveis para cada problema de
integração, há vantagens e desvantagens,
que precisam ser consideradas em
contexto. Portanto, a construção de
soluções é uma tarefa complexa.
• Uma forma de lidar com essa
complexidade é aprender com a
experiência dos que já testaram e
avaliaram muitas soluções possíveis.
• Padrões de design são uma técnica
usada para documentar experiência e
conhecimento.
Padrões de design
• Os padrões de integração de sistemas
refletem as melhores soluções resultantes
da experiência acumulada de profissionais
resolvendo problemas recorrentes de
integração.
• As soluções apresentadas na forma de
padrões buscam demonstrar soluções
genéricas para problemas comuns
encontrados na integração.
•
Relembrando...
• O que é integração
Relembrando...
• O que é integração
– Integração de sistemas é fazer vários
sistemas trabalharem juntos, de forma
coordenada. Dentro do escopo considerado
neste curso, a integração envolve uma
comunicação entre máquinas
Cabe ressaltar:
• Um sistema integrado não é a mesma
coisa que um sistema distribuído
(embora seja possível substituir um
sistema distribuído por uma solução de
integração que realize as mesmas tarefas).
SD?
• Um sistema distribuído é uma aplicação
que tem partes fortemente acopladas,
na qual uma parte não funciona sem a
outra e que geralmente se comunica de
forma síncrona.
Sistemas Integrados?
• Sistemas que participam de uma
integração são aplicações independentes
que podem rodar sozinhas, mas operam
de forma coordenada e com baixo
acoplamento. A integração permite que
cada uma se concentre em uma
funcionalidade.
Existem mais diferenças
• A maior parte da comunicação entre
aplicações em um sistema integrado é
realizada de forma assíncrona, enquanto
em sistemas distribuídos a comunicação é
feita de maneira síncrona.
Mais ou menos assim:
Vamos voltar à integração
• As melhores práticas de integração são
denominadas padrões EAI (EAI Patterns) e
foram popularizadas por Gregor Hohpe
através do seu livro Enterprise Integration
Patterns.
• Estas práticas de integração também são
fundamentais para empresas que estejam
buscando iniciativas SOA e BPM, pois
permitem gerir adequadamente a criação e
evolução de serviços (ativos) em repositórios
de serviços (ESB).
• Um processo simples para que você possa
aprender a integrar sistemas em projetos
envolve os seguintes passos:
– Coletar os requisitos arquiteturais de
interoperabilidade;
– Desenvolver soluções independentes de
tecnologia para cada requisito arquitetural
coletado;
• Um processo simples para que você possa
aprender a integrar sistemas em projetos
envolve os seguintes passos:
– Estudar os exemplos disponibilizados na
referência;
– Estudar as tecnologias Java mais adequadas para
cada requisito (ex: WebServices ou RMI);
• Um processo simples para que você possa
aprender a integrar sistemas em projetos
envolve os seguintes passos:
– Implementar os cenários com as tecnologias Java
escolhidas;
– Testar as soluções em ambiente de homologação.
O que precisamos fazer:
• Certificar que as versões dos ambientes a
serem integrados sejam exatamente iguais;
• Analisar cuidadosamente a topologia, isto é, a
organização física do ambiente de produção
do cliente. Diagramas UML de implantação
são uma ferramenta útil neste aspecto;
O que precisamos fazer:
• Analisar os protocolos e requisitos não-
funcionais que possam interferir na
interoperabilidade;
• Antecipar testes realizados na plataforma real
do cliente.
Dica que salva vidas:
• Seja um “Indiana Jones” de aplicações na sua
empresa. Faça uma arqueologia de software
nas aplicações da sua empresa e colete os
erros e lições aprendidas. Os erros do passado
são uma excelente fonte de aprendizado para
projetos futuros.
Estilos, Níveis e Topologias de
Integração
“Se você se conhece, mas não o
inimigo, para cada vitória sofrerá
uma derrota”, Sun Tzu, A Arte da
Guerra.
Como conhecer o inimigo?
• Primeiramente devemos compreender que
interoperabilidade é um mecanismo
arquitetural, ou seja, uma preocupação
importante de um projeto e que, portanto,
requer a atenção técnica ainda no começo do
projeto.
Como conhecer o inimigo?
• Devemos investigar as interoperabilidades
requeridas no nosso projeto através do estilo,
nível e topologia associados, pois para cada
um haverá uma abordagem técnica
diferenciada e tecnologias distintas
Os 4 estilos da interoperabilidade:
• Transferência de arquivos;
• Banco de dados compartilhado;
• Procedimentos remotos (RPC);
• Passagem de mensagens.
• Além dos estilos, podemos classificar a
interoperabilidade em níveis, listados a seguir:
– Nível de dados;
– Nível de Interfaces de Aplicação (API);
– Nível de Processos de Negócio;
– Nível de Apresentação;
Nível de dados
• Como integrar fontes de dados relacionais ou
em outros formatos e como reduzir a sua
redundância? A integração em nível de dados
foca na movimentação de dados entre
aplicações com o objetivo de compartilhar o
mesmo dado entre aplicações diferentes;
Nível de Interfaces de Aplicação
(API)
• Como integrar APIs de aplicação em outras
tecnologias que não sejama mesma? A
integração via APIs passa pela chamada de
funções através de protocolos síncronos (RPC)
ou assíncronos (mensagens);
Nível de Processos de Negócio
• Domínio do mundo BPM/SOA, a integração
em nível de processos de negócio foca no
desenvolvimento de componentes de alto
nível que irão fornecer interfaces de alto nível
que podem ser considerados serviços;
Nível de Apresentação
• Popularmente conhecidos como mash-ups,
integram aplicações através de um conjunto
de vários portlets (janelas visuais
independentes) que residem em um
determinado portal.
E a topologia?
• Comunicação Ponto a Ponto
• Comunicação Hub and Spoke

Técnicas e padrões de integração de sistemas.ppt

  • 1.
    Universidade Estadual doSudoeste da Bahia - UESB Departamento de Química e Exatas - DQE Integração de Sistemas Docente: Murilo Santana •Critérios para integração de sistemas; •Técnicas e padrões de integração de sistemas;
  • 2.
    Integração • A integraçãode sistemas é uma tarefa necessária. Não existe uma única aplicação que faça tudo, que trate de todos os aspectos de um negócio, e não vale a pena criar tal aplicação. Empresas geralmente executam diversas aplicações diferentes, cada qual especializada em um problema específico.
  • 3.
    • A integraçãode aplicações não é simples. A maior parte das aplicações não foi construída pensando em integração, e mesmo as que foram, geralmente precisam adaptar formatos, dados, interfaces.
  • 4.
    • Além disso,é importante que a solução seja independente de sistema, conecte as aplicações com acoplamento fraco e seja tolerante a mudanças, permitindo que as diferentes aplicações integradas evoluam sem afetar as outras que participam da • integração.
  • 5.
    • É umproblema que envolve muitos desafios. Dentre as várias soluções possíveis para cada problema de integração, há vantagens e desvantagens, que precisam ser consideradas em contexto. Portanto, a construção de soluções é uma tarefa complexa.
  • 6.
    • Uma formade lidar com essa complexidade é aprender com a experiência dos que já testaram e avaliaram muitas soluções possíveis. • Padrões de design são uma técnica usada para documentar experiência e conhecimento.
  • 7.
    Padrões de design •Os padrões de integração de sistemas refletem as melhores soluções resultantes da experiência acumulada de profissionais resolvendo problemas recorrentes de integração. • As soluções apresentadas na forma de padrões buscam demonstrar soluções genéricas para problemas comuns encontrados na integração. •
  • 8.
    Relembrando... • O queé integração
  • 9.
    Relembrando... • O queé integração – Integração de sistemas é fazer vários sistemas trabalharem juntos, de forma coordenada. Dentro do escopo considerado neste curso, a integração envolve uma comunicação entre máquinas
  • 10.
    Cabe ressaltar: • Umsistema integrado não é a mesma coisa que um sistema distribuído (embora seja possível substituir um sistema distribuído por uma solução de integração que realize as mesmas tarefas).
  • 11.
    SD? • Um sistemadistribuído é uma aplicação que tem partes fortemente acopladas, na qual uma parte não funciona sem a outra e que geralmente se comunica de forma síncrona.
  • 12.
    Sistemas Integrados? • Sistemasque participam de uma integração são aplicações independentes que podem rodar sozinhas, mas operam de forma coordenada e com baixo acoplamento. A integração permite que cada uma se concentre em uma funcionalidade.
  • 13.
    Existem mais diferenças •A maior parte da comunicação entre aplicações em um sistema integrado é realizada de forma assíncrona, enquanto em sistemas distribuídos a comunicação é feita de maneira síncrona.
  • 14.
  • 15.
    Vamos voltar àintegração • As melhores práticas de integração são denominadas padrões EAI (EAI Patterns) e foram popularizadas por Gregor Hohpe através do seu livro Enterprise Integration Patterns.
  • 16.
    • Estas práticasde integração também são fundamentais para empresas que estejam buscando iniciativas SOA e BPM, pois permitem gerir adequadamente a criação e evolução de serviços (ativos) em repositórios de serviços (ESB).
  • 17.
    • Um processosimples para que você possa aprender a integrar sistemas em projetos envolve os seguintes passos: – Coletar os requisitos arquiteturais de interoperabilidade; – Desenvolver soluções independentes de tecnologia para cada requisito arquitetural coletado;
  • 18.
    • Um processosimples para que você possa aprender a integrar sistemas em projetos envolve os seguintes passos: – Estudar os exemplos disponibilizados na referência; – Estudar as tecnologias Java mais adequadas para cada requisito (ex: WebServices ou RMI);
  • 19.
    • Um processosimples para que você possa aprender a integrar sistemas em projetos envolve os seguintes passos: – Implementar os cenários com as tecnologias Java escolhidas; – Testar as soluções em ambiente de homologação.
  • 20.
    O que precisamosfazer: • Certificar que as versões dos ambientes a serem integrados sejam exatamente iguais; • Analisar cuidadosamente a topologia, isto é, a organização física do ambiente de produção do cliente. Diagramas UML de implantação são uma ferramenta útil neste aspecto;
  • 21.
    O que precisamosfazer: • Analisar os protocolos e requisitos não- funcionais que possam interferir na interoperabilidade; • Antecipar testes realizados na plataforma real do cliente.
  • 22.
    Dica que salvavidas: • Seja um “Indiana Jones” de aplicações na sua empresa. Faça uma arqueologia de software nas aplicações da sua empresa e colete os erros e lições aprendidas. Os erros do passado são uma excelente fonte de aprendizado para projetos futuros.
  • 23.
    Estilos, Níveis eTopologias de Integração
  • 24.
    “Se você seconhece, mas não o inimigo, para cada vitória sofrerá uma derrota”, Sun Tzu, A Arte da Guerra.
  • 25.
    Como conhecer oinimigo? • Primeiramente devemos compreender que interoperabilidade é um mecanismo arquitetural, ou seja, uma preocupação importante de um projeto e que, portanto, requer a atenção técnica ainda no começo do projeto.
  • 26.
    Como conhecer oinimigo? • Devemos investigar as interoperabilidades requeridas no nosso projeto através do estilo, nível e topologia associados, pois para cada um haverá uma abordagem técnica diferenciada e tecnologias distintas
  • 27.
    Os 4 estilosda interoperabilidade: • Transferência de arquivos; • Banco de dados compartilhado; • Procedimentos remotos (RPC); • Passagem de mensagens.
  • 28.
    • Além dosestilos, podemos classificar a interoperabilidade em níveis, listados a seguir: – Nível de dados; – Nível de Interfaces de Aplicação (API); – Nível de Processos de Negócio; – Nível de Apresentação;
  • 29.
    Nível de dados •Como integrar fontes de dados relacionais ou em outros formatos e como reduzir a sua redundância? A integração em nível de dados foca na movimentação de dados entre aplicações com o objetivo de compartilhar o mesmo dado entre aplicações diferentes;
  • 30.
    Nível de Interfacesde Aplicação (API) • Como integrar APIs de aplicação em outras tecnologias que não sejama mesma? A integração via APIs passa pela chamada de funções através de protocolos síncronos (RPC) ou assíncronos (mensagens);
  • 31.
    Nível de Processosde Negócio • Domínio do mundo BPM/SOA, a integração em nível de processos de negócio foca no desenvolvimento de componentes de alto nível que irão fornecer interfaces de alto nível que podem ser considerados serviços;
  • 32.
    Nível de Apresentação •Popularmente conhecidos como mash-ups, integram aplicações através de um conjunto de vários portlets (janelas visuais independentes) que residem em um determinado portal.
  • 33.
    E a topologia? •Comunicação Ponto a Ponto • Comunicação Hub and Spoke