SlideShare a Scribd company logo
1 of 44
Integração de software
      soluções e estilos

Universidade Federal de Goiás
Prof Leonardo A Alves
Integrando para resolver
problemas
• Necessidade de Integração
  • Software de diferentes fabricantes;
  • Software desenvolvido com tecnologias diferentes;
  • Software desenvolvido com necessidades governamentais ou
    legais.
Desafios da Integração
• Integração pode significar mudanças nas politicas
  coorporativas. Cada aplicação é agora parte de um fluxo global
  de aplicações e serviços integrados;
• Os esforços de integração normalmente têm implicações de
  longo alcance sobre o negócio; Uma solução de integração
  que falha pode custar milhões de dólares em negócios
  perdidos, ordens de pagamentos erradas e clientes
  insatisfeitos.
Desafios da Integração
• Quantidade limitada de “controle” que os desenvolvedores de
  integração normalmente têm sobre as aplicações a serem
  integradas.
• O advento do XML, XSL e Web sevices certamente marcam o
  avanço mais significativo de padrões baseados em
  características de uma solução de integração. No entanto, o
  boom em torno de serviços da Web também tem dado
  motivos para nova fragmentação do mercado, resultando em
  um turbilhão de novas "extensões" e
  "Interpretações" das normas.
Desafios da Integração
• Serviços/Soluções Web abordam apenas uma fração dos
  desafios de integração.
• A mistura de tecnologias e a natureza distribuída de soluções
  exige um conjuntos de habilidades que não muitas vezes
  combinam gestão e tecnologia.
O que integrar?
• Portais de Informação
• Replicação de Dados
• Funções compartilhadas de Negócios
• Arquiteturas Orientadas a Serviços
• Processos distribuídos de Negócios
• Integração Business-to-Business(B2B)
Exemplo comum de Integração:
Portal de aplicações empresariais
rodando na Web.
Portal de Informações
Problemas comuns
•   Forte dependência entre módulos;
•   Manutenabilidade comprometida;
•   Mais de um elemento integrador conjugado;
•   Incapacidade de manutenção on-line do serviço;
•   ...
Solução: Integração com
Replicação de dados
Como foi a resolução das
agendas?
• Trabalho de agendas, qual solução você tomou?

• Qual foi a melhor? Vamos avaliar?
Soluções Possíveis
• Há muitas maneiras de implementar a replicação de dados.
  Por exemplo, alguns fornecedores de banco de dados
  constroem funções de replicação no banco de dados,
  podemos exportar os dados em arquivos e re-importá-los para
  outro sistema, ou podemos usar middleware orientado a
  mensagem para o transporte de registros de dados dentro de
  mensagens.
Solução: Função de negócios
compartilhada
• Da mesma forma que muitas aplicações de negócio armazenar
  dados redundantes, eles também tendem a implementar a
  funcionalidade redundante.
• Conferência de CPF, averiquação de cheques, serviços de
  avaliação de informação.
Solução: Função de negócios
compartilhada
Solução: Função de negócios
compartilhada
• Obs.:uma função é geralmente mais invasiva do que o
  carregamento de dados na base de dados, e pode requerer
  programação direta no código, por isso é menos usada.
Serviços Orientados a
Arquitetura
• Esses vocês conhecem bem...
Serviços Orientados a
Arquitetura
Serviços Orientados a
Arquitetura
• Funções de negócios compartilhados são muitas vezes
  referidos como serviços.
• Iniciamente, as aplicações precisam de uma lista centralizada
  de todos os serviços disponíveis. Em segundo lugar, cada
  serviço necessita descrever a sua interface de tal maneira que
  uma aplicação possa "negociar" sua comunicações com base
  no serviço. Estas duas funções, a descoberta de serviços e
  negociação, são os principais elementos que compõem uma
  arquitetura orientada a serviços.
Processo Distribuído de Negócio
Processo Distribuído de
Negócio
• você poderia desenvolver serviços que compartilhem todas as
  funções empresariais relevantes e então codificar o processo
  de negócio dentro de um aplicativo que acessa todos os
  serviços através de uma SOA.
Integração B2B
• Em muitos casos, as funções de negócios podem estar
  disponíveis a partir de fornecedores externos ou parceiros de
  negócios.
Integração B2B
Integração B2B
• No entanto, a comunicação através da Internet ou outra rede
  normalmente suscita novas questões relacionadas protocolos
  de segurança. Além disso, formatos de dados padronizados
  são extremamente importantes.
Acoplamento Fraco
• Um grande exemplo de acoplamento forte é uma invocação
  de método local.
• Muitas abordagens preferem comunicações simple, com troca
  de mensagens, tais como o RPC e RMI, suportado por diversos
  frameworks.
Acoplamento Fraco
• "os objetos que interagem em um sistema distribuído precisa
  ser tratado de maneiras que são intrinsecamente diferentes
  dos objetos que interagem em um único espaço de endereço"
  [Waldo].




   Waldo, J., Wyant, G., Wollrath, A., and Kendall, S., A Note on Distributed
   Computing, Technical Report SMLI TR-94-29, Sun Microsystems Laboratories,
   November 1994, http://citeseer.nj.nec.com/waldo94note.html
Solução de integração com
Acoplamento fraco
• Devemos ter a capacidade de mover dados de um sistema
  para outro, sem perceber as diferenças no formato de dados,
  encaminhar os dados para os sistemas necessários e
  monitorizar o desempenho da solução.
Solução de integração com
Acoplamento fraco
Solução de integração com
Acoplamento fraco
• As soluções de integração pode rapidamente tornar-se
  complexas, pois lidam com múltiplas aplicações, formatos de
  dados, canais de roteamento e de transformação. Todos esses
  elementos podem ser distribuídos em várias plataformas
  operacionais e podem estar dispersas geograficamente. Para
  se ter alguma idéia do que está acontecendo dentro do
  sistema, precisamos de uma função de gerenciamento de
  sistemas. Este subsistema controla o fluxo de dados, garante
  que todos os aplicativos e componentes disponíveis e as
  condições de relatórios de erros em um local centralizado.
Estilos de integração (cap2)
• Integração de Aplicação é a tarefa de fazer aplicações
  separadas trabalhar juntos para produzir um conjunto
  unificado de funcionalidades.
• Todas as empresas por menor que sejam na atualidade
  necessitam trabalhar com algum método que integre seus
  sistemas aos de outras empresas, fornecedores ou governo.
Critérios de Integração
• Acoplamento de aplicação - Mesmo aplicações integradas
  devem minimizar suas dependências entre si de modo que
  cada uma possa evoluir sem causar problemas para a outra.
• Simplicidade na Integração - Ao integrar aplicações em uma
  empresa, os desenvolvedores devem se esforçar para
  minimizar a quantidade de código de integração necessário.
Critérios de Integração
• Tecnologia de integração - técnicas de integração diferentes
  requerem softwares especializados e hardware novo ou mais
  robusto.
• Formato de dados - As aplicações integradas devem
  padronizar o formato dos dados para intercambio, ou deve ter
  uma tradutor intermediário para unificar aplicações que
  insistem em diferentes formatos de dados.
Critérios de Integração

• Atualização dos dados - Integração deve minimizar o tempo
  na atualização de dados entre as aplicações.
• Dados ou serviços - As aplicações integradas não podem
  simplesmente compartilhar dados, eles devem compartilhar a
  funcionalidade de tal forma que cada aplicativo possa chamar
  a funcionalidade nos outros.
Critérios de Integração

• Assincronia - processamento no computador é geralmente
  síncrono, de modo que um procedimento espera enquanto a
  sua subprocedimento executa. Um dado deve estar disponível
  quando o procedimento necessitar utilizá-lo. Como ocorre na
  memória cache “dirt data”.
Opções de Integração
Transferência de arquivos - Faça com que cada aplicação produza
arquivos de dados compartilhados para outras.

Banco de dados Compartilhado – As aplicações armazenam os
dados que deseja compartilhar em um banco de dados comum.

Invocação de Procedure Remoto – Cada aplicação expõe alguns
dos seus procedimentos, para que possam ser invocados
remotamente, através de trocar de mensagens.
Opções de Integração
Transferência de arquivos - Faça com que cada aplicação produza
arquivos de dados compartilhados para outras.

Banco de dados Compartilhado – As aplicações armazenam os dados
que deseja compartilhar em um banco de dados comum.

Invocação de Procedure Remoto – Cada aplicação expõe alguns dos
seus procedimentos, para que possam ser invocados remotamente.

Mensagens – Cada aplicação se conectar a um sistema de mensagens
comum, e trocar dados e chama procedimentos usando mensagens.
Integração por Arquivo
Banco de dados Compartilhado
Procedimento Remoto
Procedimento Remoto
Conclusão
• Mensagens tem o benefício de permitir que as aplicações
  sejam muito mais dissociados umas das outras do que em
  Invocação de procedimento remoto e transferência de
  arquivos.
• Como podemos ver usar as mensagens para integração de
  sistemas, há uma série de novas questões a considerar e
  práticas que podemos empregar.
Exercício
Você foi contratado por uma empresa desenvolvedora de software
que comercializa um sistema de controle e armazena os dados em
um banco de dados em Postgres, como o MER apresentada na
figura 1, e deverá apresentar uma solução para migrar dados de um
banco desconhecido para esse banco, sabendo-se que o banco
desconhecido consegue exportar os dados para xml ou txt (csv). Sua
empresa terá de migrar os dados de um sistema antigo, como parte
do contrato de adesão do sistema. Dê sua solução, imaginando essa
situação, segundo as características da ISO 1471/2000, onde a
arquitetura deve considerar três aspectos: descrição, objetivos e
fundamentação.
Figura 1 – Modelo Cadastro de Clientes
Moodle
Implemente sua própria solução de migração de dados, considere
a necessidade de se manter funcional os dois sistemas durante o
processo de migração. Enviar o trabalho compactado, com um
descritivo de Arquitetura do seu sistema e esquema de
integração. Entrega 20/04/2012.

More Related Content

What's hot

DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaGraziella Bonizi
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIgor Takenami
 
Arquitetura orientada a serviço
Arquitetura orientada a serviçoArquitetura orientada a serviço
Arquitetura orientada a serviçocadeirudo
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TIOhio University
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaDiego Santos
 
Instalação do Windows Server 2008
Instalação do Windows Server 2008Instalação do Windows Server 2008
Instalação do Windows Server 2008Guilherme Lima
 
AAB306 - Wcf Services Best Practices - wcamb
AAB306 - Wcf Services Best Practices - wcambAAB306 - Wcf Services Best Practices - wcamb
AAB306 - Wcf Services Best Practices - wcambMicrosoft Brasil
 
AAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambAAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambguest34ed8ec
 
Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod   Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod Ten Sistemas e Redes
 
Gestão e automação de processos
Gestão e automação de processos Gestão e automação de processos
Gestão e automação de processos Software AG
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPWillian Watanabe
 
xBpm - Extended BPM
xBpm - Extended BPM xBpm - Extended BPM
xBpm - Extended BPM Eduardo
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Andre Bretas
 

What's hot (20)

DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquitetura
 
Ets simonsen wsrv_2011
Ets simonsen wsrv_2011Ets simonsen wsrv_2011
Ets simonsen wsrv_2011
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a Serviços
 
Arquitetura orientada a serviço
Arquitetura orientada a serviçoArquitetura orientada a serviço
Arquitetura orientada a serviço
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TI
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a Bonita
 
Instalação do Windows Server 2008
Instalação do Windows Server 2008Instalação do Windows Server 2008
Instalação do Windows Server 2008
 
AAB306 - Wcf Services Best Practices - wcamb
AAB306 - Wcf Services Best Practices - wcambAAB306 - Wcf Services Best Practices - wcamb
AAB306 - Wcf Services Best Practices - wcamb
 
AAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambAAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcamb
 
Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod   Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod
 
SOA - Fatos e Mitos
SOA - Fatos e MitosSOA - Fatos e Mitos
SOA - Fatos e Mitos
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Eurocloud Day 2012 em Portugal
Eurocloud Day 2012 em PortugalEurocloud Day 2012 em Portugal
Eurocloud Day 2012 em Portugal
 
Gestão e automação de processos
Gestão e automação de processos Gestão e automação de processos
Gestão e automação de processos
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTP
 
xBpm - Extended BPM
xBpm - Extended BPM xBpm - Extended BPM
xBpm - Extended BPM
 
Hcl domino volt v1.0.1
Hcl domino volt v1.0.1Hcl domino volt v1.0.1
Hcl domino volt v1.0.1
 
Ferramentas
FerramentasFerramentas
Ferramentas
 
AX4B - Dynamics AX
AX4B - Dynamics AX AX4B - Dynamics AX
AX4B - Dynamics AX
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0
 

Viewers also liked

Planejamento e gerência de risco de software
Planejamento e gerência de risco de softwarePlanejamento e gerência de risco de software
Planejamento e gerência de risco de softwareGrupoAlves - professor
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoCleber Fonseca
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresCleber Fonseca
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingCleber Fonseca
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreCleber Fonseca
 
Gerência de configuração de softwares
Gerência de configuração de softwaresGerência de configuração de softwares
Gerência de configuração de softwaresGrupoAlves - professor
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineArquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineCleber Fonseca
 

Viewers also liked (20)

Eng de testes
Eng de testesEng de testes
Eng de testes
 
Qualidade de software2
Qualidade de software2Qualidade de software2
Qualidade de software2
 
Eng de testes dia 3
Eng de testes dia 3Eng de testes dia 3
Eng de testes dia 3
 
StartGames Android aula 1
StartGames Android aula 1 StartGames Android aula 1
StartGames Android aula 1
 
Eng de testes aula2
Eng de testes   aula2Eng de testes   aula2
Eng de testes aula2
 
Eng de testes dia 4
Eng de testes dia 4Eng de testes dia 4
Eng de testes dia 4
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Auditoria de sistemas2
Auditoria de sistemas2Auditoria de sistemas2
Auditoria de sistemas2
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Planejamento e gerência de risco de software
Planejamento e gerência de risco de softwarePlanejamento e gerência de risco de software
Planejamento e gerência de risco de software
 
StartGames Android aula 2
StartGames Android aula 2 StartGames Android aula 2
StartGames Android aula 2
 
Implementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentaçãoImplementação de Serviços de Rede - Aula apresentação
Implementação de Serviços de Rede - Aula apresentação
 
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - MalwaresSegurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
 
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud ComputingArquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
Arquiteturas Paralelas e Distribuídas - Aula 6 - Cloud Computing
 
Segurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º SemestreSegurança da informação - Aula 8 - Revisão 1º Semestre
Segurança da informação - Aula 8 - Revisão 1º Semestre
 
Gerência de configuração de softwares
Gerência de configuração de softwaresGerência de configuração de softwares
Gerência de configuração de softwares
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
 
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineArquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 

Similar to Integração de software solucao e estilo

Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoJoao Johanes
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SIAlessandro Almeida
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)Daniela Nunes
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Gerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brGerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brMATHEUSGCL08
 
Gerência integrada de redes e serviços
Gerência integrada de redes e serviçosGerência integrada de redes e serviços
Gerência integrada de redes e serviçosTiago
 
Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Fristtram Helder Fernandes
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasRafael Bandeira
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdfDimas Francisco
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescerGuilherme
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreMauro Tapajós
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosGraziella Bonizi
 
Master Data Management & Virtualização de Dados em SOA
Master Data Management & Virtualização de Dados em SOAMaster Data Management & Virtualização de Dados em SOA
Master Data Management & Virtualização de Dados em SOARicardo Ferreira
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 

Similar to Integração de software solucao e estilo (20)

Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Gerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.brGerência integrada de redes e serviços www.iaulas.com.br
Gerência integrada de redes e serviços www.iaulas.com.br
 
Gerência integrada de redes e serviços
Gerência integrada de redes e serviçosGerência integrada de redes e serviços
Gerência integrada de redes e serviços
 
Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações Práticas
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescer
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 
Master Data Management & Virtualização de Dados em SOA
Master Data Management & Virtualização de Dados em SOAMaster Data Management & Virtualização de Dados em SOA
Master Data Management & Virtualização de Dados em SOA
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 

More from GrupoAlves - professor (14)

Marketing digital
Marketing digitalMarketing digital
Marketing digital
 
Palestra Criptomoedas
Palestra Criptomoedas Palestra Criptomoedas
Palestra Criptomoedas
 
StartGames Android instalar eclipse
StartGames Android instalar eclipseStartGames Android instalar eclipse
StartGames Android instalar eclipse
 
Sistema de produção fordismo e toyotismo
Sistema de produção   fordismo e toyotismoSistema de produção   fordismo e toyotismo
Sistema de produção fordismo e toyotismo
 
Métrica de softwares
Métrica de softwaresMétrica de softwares
Métrica de softwares
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
Lean
LeanLean
Lean
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Métodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimentoMétodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimento
 
Qualidade de software3
Qualidade de software3Qualidade de software3
Qualidade de software3
 
Usabilidade1
Usabilidade1Usabilidade1
Usabilidade1
 
Preparatório uml aula3
Preparatório uml   aula3Preparatório uml   aula3
Preparatório uml aula3
 
Preparatório uml aula2
Preparatório uml   aula2Preparatório uml   aula2
Preparatório uml aula2
 
Preparatório uml
Preparatório umlPreparatório uml
Preparatório uml
 

Integração de software solucao e estilo

  • 1. Integração de software soluções e estilos Universidade Federal de Goiás Prof Leonardo A Alves
  • 2. Integrando para resolver problemas • Necessidade de Integração • Software de diferentes fabricantes; • Software desenvolvido com tecnologias diferentes; • Software desenvolvido com necessidades governamentais ou legais.
  • 3. Desafios da Integração • Integração pode significar mudanças nas politicas coorporativas. Cada aplicação é agora parte de um fluxo global de aplicações e serviços integrados; • Os esforços de integração normalmente têm implicações de longo alcance sobre o negócio; Uma solução de integração que falha pode custar milhões de dólares em negócios perdidos, ordens de pagamentos erradas e clientes insatisfeitos.
  • 4. Desafios da Integração • Quantidade limitada de “controle” que os desenvolvedores de integração normalmente têm sobre as aplicações a serem integradas. • O advento do XML, XSL e Web sevices certamente marcam o avanço mais significativo de padrões baseados em características de uma solução de integração. No entanto, o boom em torno de serviços da Web também tem dado motivos para nova fragmentação do mercado, resultando em um turbilhão de novas "extensões" e "Interpretações" das normas.
  • 5. Desafios da Integração • Serviços/Soluções Web abordam apenas uma fração dos desafios de integração. • A mistura de tecnologias e a natureza distribuída de soluções exige um conjuntos de habilidades que não muitas vezes combinam gestão e tecnologia.
  • 6. O que integrar? • Portais de Informação • Replicação de Dados • Funções compartilhadas de Negócios • Arquiteturas Orientadas a Serviços • Processos distribuídos de Negócios • Integração Business-to-Business(B2B)
  • 7. Exemplo comum de Integração: Portal de aplicações empresariais rodando na Web.
  • 9.
  • 10. Problemas comuns • Forte dependência entre módulos; • Manutenabilidade comprometida; • Mais de um elemento integrador conjugado; • Incapacidade de manutenção on-line do serviço; • ...
  • 12. Como foi a resolução das agendas? • Trabalho de agendas, qual solução você tomou? • Qual foi a melhor? Vamos avaliar?
  • 13. Soluções Possíveis • Há muitas maneiras de implementar a replicação de dados. Por exemplo, alguns fornecedores de banco de dados constroem funções de replicação no banco de dados, podemos exportar os dados em arquivos e re-importá-los para outro sistema, ou podemos usar middleware orientado a mensagem para o transporte de registros de dados dentro de mensagens.
  • 14. Solução: Função de negócios compartilhada • Da mesma forma que muitas aplicações de negócio armazenar dados redundantes, eles também tendem a implementar a funcionalidade redundante. • Conferência de CPF, averiquação de cheques, serviços de avaliação de informação.
  • 15. Solução: Função de negócios compartilhada
  • 16. Solução: Função de negócios compartilhada • Obs.:uma função é geralmente mais invasiva do que o carregamento de dados na base de dados, e pode requerer programação direta no código, por isso é menos usada.
  • 17. Serviços Orientados a Arquitetura • Esses vocês conhecem bem...
  • 19. Serviços Orientados a Arquitetura • Funções de negócios compartilhados são muitas vezes referidos como serviços. • Iniciamente, as aplicações precisam de uma lista centralizada de todos os serviços disponíveis. Em segundo lugar, cada serviço necessita descrever a sua interface de tal maneira que uma aplicação possa "negociar" sua comunicações com base no serviço. Estas duas funções, a descoberta de serviços e negociação, são os principais elementos que compõem uma arquitetura orientada a serviços.
  • 21. Processo Distribuído de Negócio • você poderia desenvolver serviços que compartilhem todas as funções empresariais relevantes e então codificar o processo de negócio dentro de um aplicativo que acessa todos os serviços através de uma SOA.
  • 22. Integração B2B • Em muitos casos, as funções de negócios podem estar disponíveis a partir de fornecedores externos ou parceiros de negócios.
  • 24. Integração B2B • No entanto, a comunicação através da Internet ou outra rede normalmente suscita novas questões relacionadas protocolos de segurança. Além disso, formatos de dados padronizados são extremamente importantes.
  • 25. Acoplamento Fraco • Um grande exemplo de acoplamento forte é uma invocação de método local. • Muitas abordagens preferem comunicações simple, com troca de mensagens, tais como o RPC e RMI, suportado por diversos frameworks.
  • 26. Acoplamento Fraco • "os objetos que interagem em um sistema distribuído precisa ser tratado de maneiras que são intrinsecamente diferentes dos objetos que interagem em um único espaço de endereço" [Waldo]. Waldo, J., Wyant, G., Wollrath, A., and Kendall, S., A Note on Distributed Computing, Technical Report SMLI TR-94-29, Sun Microsystems Laboratories, November 1994, http://citeseer.nj.nec.com/waldo94note.html
  • 27. Solução de integração com Acoplamento fraco • Devemos ter a capacidade de mover dados de um sistema para outro, sem perceber as diferenças no formato de dados, encaminhar os dados para os sistemas necessários e monitorizar o desempenho da solução.
  • 28. Solução de integração com Acoplamento fraco
  • 29. Solução de integração com Acoplamento fraco • As soluções de integração pode rapidamente tornar-se complexas, pois lidam com múltiplas aplicações, formatos de dados, canais de roteamento e de transformação. Todos esses elementos podem ser distribuídos em várias plataformas operacionais e podem estar dispersas geograficamente. Para se ter alguma idéia do que está acontecendo dentro do sistema, precisamos de uma função de gerenciamento de sistemas. Este subsistema controla o fluxo de dados, garante que todos os aplicativos e componentes disponíveis e as condições de relatórios de erros em um local centralizado.
  • 30. Estilos de integração (cap2) • Integração de Aplicação é a tarefa de fazer aplicações separadas trabalhar juntos para produzir um conjunto unificado de funcionalidades. • Todas as empresas por menor que sejam na atualidade necessitam trabalhar com algum método que integre seus sistemas aos de outras empresas, fornecedores ou governo.
  • 31. Critérios de Integração • Acoplamento de aplicação - Mesmo aplicações integradas devem minimizar suas dependências entre si de modo que cada uma possa evoluir sem causar problemas para a outra. • Simplicidade na Integração - Ao integrar aplicações em uma empresa, os desenvolvedores devem se esforçar para minimizar a quantidade de código de integração necessário.
  • 32. Critérios de Integração • Tecnologia de integração - técnicas de integração diferentes requerem softwares especializados e hardware novo ou mais robusto. • Formato de dados - As aplicações integradas devem padronizar o formato dos dados para intercambio, ou deve ter uma tradutor intermediário para unificar aplicações que insistem em diferentes formatos de dados.
  • 33. Critérios de Integração • Atualização dos dados - Integração deve minimizar o tempo na atualização de dados entre as aplicações. • Dados ou serviços - As aplicações integradas não podem simplesmente compartilhar dados, eles devem compartilhar a funcionalidade de tal forma que cada aplicativo possa chamar a funcionalidade nos outros.
  • 34. Critérios de Integração • Assincronia - processamento no computador é geralmente síncrono, de modo que um procedimento espera enquanto a sua subprocedimento executa. Um dado deve estar disponível quando o procedimento necessitar utilizá-lo. Como ocorre na memória cache “dirt data”.
  • 35. Opções de Integração Transferência de arquivos - Faça com que cada aplicação produza arquivos de dados compartilhados para outras. Banco de dados Compartilhado – As aplicações armazenam os dados que deseja compartilhar em um banco de dados comum. Invocação de Procedure Remoto – Cada aplicação expõe alguns dos seus procedimentos, para que possam ser invocados remotamente, através de trocar de mensagens.
  • 36. Opções de Integração Transferência de arquivos - Faça com que cada aplicação produza arquivos de dados compartilhados para outras. Banco de dados Compartilhado – As aplicações armazenam os dados que deseja compartilhar em um banco de dados comum. Invocação de Procedure Remoto – Cada aplicação expõe alguns dos seus procedimentos, para que possam ser invocados remotamente. Mensagens – Cada aplicação se conectar a um sistema de mensagens comum, e trocar dados e chama procedimentos usando mensagens.
  • 38. Banco de dados Compartilhado
  • 41. Conclusão • Mensagens tem o benefício de permitir que as aplicações sejam muito mais dissociados umas das outras do que em Invocação de procedimento remoto e transferência de arquivos. • Como podemos ver usar as mensagens para integração de sistemas, há uma série de novas questões a considerar e práticas que podemos empregar.
  • 42. Exercício Você foi contratado por uma empresa desenvolvedora de software que comercializa um sistema de controle e armazena os dados em um banco de dados em Postgres, como o MER apresentada na figura 1, e deverá apresentar uma solução para migrar dados de um banco desconhecido para esse banco, sabendo-se que o banco desconhecido consegue exportar os dados para xml ou txt (csv). Sua empresa terá de migrar os dados de um sistema antigo, como parte do contrato de adesão do sistema. Dê sua solução, imaginando essa situação, segundo as características da ISO 1471/2000, onde a arquitetura deve considerar três aspectos: descrição, objetivos e fundamentação.
  • 43. Figura 1 – Modelo Cadastro de Clientes
  • 44. Moodle Implemente sua própria solução de migração de dados, considere a necessidade de se manter funcional os dois sistemas durante o processo de migração. Enviar o trabalho compactado, com um descritivo de Arquitetura do seu sistema e esquema de integração. Entrega 20/04/2012.