integração de sistemas da informação - abordagens de integração

Post on 09-Jun-2015

565 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Integração de Sistemas da Informação

Abordagens de Integração

João Johanes

Objetivo do Trabalho

Identificar as caracteristicas das Abordagens de Integração para implantar em determinado contexto

Introdução

Mudanças na área da Tecnologia da Informação

Introdução

Ambiente Heterogêneo com sistemas que trabalham de forma isolada

Introdução

EAI

Enterprise Application Integration

Componente de tipo middleware com a função de integrar sistemas heterogêneos.

Introdução

EAI

SAC

Databases

EAP

CRM

Financeiro

Sistemas Legados

EAI

Introdução

Abordagens de Integração

Introdução

Abordagens de IntegraçãoFile transfer

Introdução

Abordagens de IntegraçãoFile transfer

Shared Database

Introdução

Abordagens de IntegraçãoFile transfer

Shared DatabaseRPC

Introdução

Abordagens de IntegraçãoFile transfer

Shared DatabaseRPC

Messaging

Introdução

Abordagens de IntegraçãoFile transfer

Shared DatabaseRPC

MessagingWeb Services

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.

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;

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.

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?

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;

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;

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;

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;

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;

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;

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

+++ ++ ++ +++

Comunicações síncrona e assíncrona

Comunicação

Assíncrona Síncrona

File Transfer Sim

Shared Database Sim

RPC Sim

Messaging Sim

Web Services Sim

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

Abordagens da EAI

File Transfer (em português Transferência de arquivos)

File Transfer

Cenário muito simples e por isso que funciona bem;

Flexibilidade é em grande parte devido á arquitetura cliente-servidor;

File Transfer

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)

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

File Transfer

File Transfer

Gerando arquivo de escrituração fiscal

Integração de Sistemas com a abordagem File Transfer

Shared Database

Shared Database (em português Banco de dados compartilhado)

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.

Shared Database

Shared Database

Motivação para implantação de Shared Database:

Shared Database

Principais problemas encontrados quando não se usa Integração Shared Database:

• Informação repetida• Inconsistência de dados

Shared Database

Shared Database

Tipos de Integração com Banco de dados:

• Integração com Federação de dados• Integração com replicação de dados

Shared Database

Tipos de Integração com Banco de dados:• Integração com Federação de dados

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.

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.

Shared Database

Tipos de Integração com Banco de dados:• Integração com replicação de dados

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.

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.

Shared Database

Comparação das Integrações baseado no compartilhamento de dados:

Shared Replication Federated

Disponibilidade - + +

Escalabilidade - + -

Desempenho + - +

Segurança + + -

Remote Procedure Call

RPC (Remote Procedure Call, em português Chamada de Procedimento

Remoto)

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

Remote Procedure Call

Remote Procedure Call

Modelo de comunicação da abordagem RPC:

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.

Remote Procedure Call• Características da comunicação dos Componentes RPC:

• Agentes:StubModulo de comunicação ServidorCliente

Remote Procedure Call

Mensagem de requisição

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

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.

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.

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.

Remote Procedure Call

Desafios:

• Transações de dados - É preciso decidir se os dados serão persistidos diretamente no banco de dados;

Remote Procedure CallVantagens, 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;

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 ;

Messaging

Messaging (em português Mensagens)

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.

Messaging

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;

MessagingConceitos básicos da Abordagem Messaging:Abordagem Messaging possui diversos conceitos que é preciso conhece-los antes de fazê-lo uso, seu conceitos são:

• MessageMessage é conteúdo da comunicação na Abordagem Messaging;

• Message ChannelsO Channel administra os detalhes de como e onde uma message será entregue;

• Message endpointsMessage endpoints são componentes que irão trabalhar em cima da message;

Messaging

Conceitos básicos da Abordagem Messaging:

Messaging

Conceitos básicos da Abordagem Messaging:

• Message TranslatorMessage Translator tem responsabilidade de transforma a interface da message para atender um contexto especifico.

• Message RouterMessage Router está preocupado com destino da message ao invés do causar alguma transformação como acontece com Channel.

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 - +

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.

Web ServicesComponentes 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.

Web ServicesComponentes 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.

Web ServicesComponentes 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.

Web ServicesComponentes 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.

Web ServicesComunicação Web Services:

Modelo de comunicação Web Service em SOA.

Web ServicesVantagens 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

Web ServicesVantagens 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

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

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

top related