SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Comunicação Distribuída – Middleware
             Prof. Adriano Teixeira de Souza
   “Um middleware pode ser visto como uma
    camada de software intermediária localizada
    entre o sistema operacional e a aplicação.”


   Desenvolvimento de Sistemas distribuídos
    mais fácil e ágil.



                          Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
Requisitos de um Middleware
   Permitir Comunicação
    ◦ Uso de protocolos de comunicação
    ◦ Marshalling e Unmarshalling
    ◦ IDL para garantir (un)marshalling dos dados




                            Prof. Adriano Teixeira de Souza
Requisitos de um Middleware
   Permitir Escalabilidade
    ◦ Medida de Capacidade de adaptação
    ◦ Replicação de componentes como solução
      Transparência de acesso
      Transparência de localização
      Transparência de migração
      Transparência de replicação


                              Prof. Adriano Teixeira de Souza
Requisitos de um Middleware
   Lidar com Heterogeneidade
    ◦ Não restringe o sistema a uma só tecnologia
    ◦ Permite que componentes legados sejam
     integrados a novos componentes.




                            Prof. Adriano Teixeira de Souza
   Serviços de Middleware
    ◦ Ciclo de vida
      Gerenciamento do Ciclo de vida dos objetos

    ◦ Serviço de nomes
      Permite referenciar objetos pelo nome

    ◦ Transação
      Faz gerenciamento de transações




                              Prof. Adriano Teixeira de Souza
   Serviços de Middleware
    ◦ Negócio
      Permite localização de serviços

    ◦ Segurança
      Oferece funcionalidades de segurança

    ◦ Tempo
      Serviço de sincronização de relógios




                               Prof. Adriano Teixeira de Souza
   Middleware Transacional
    ◦ Suporte a transações síncronas
    ◦ Coordena requisições entre clientes e servidores
    ◦ Pode suportar as propriedades ACID (Atomicidade,
     Consistência, Isolamento e Durabilidade)




                             Prof. Adriano Teixeira de Souza
Middleware Transacional
   Vantagens
    ◦ Componentes se mantêm consistentes
    ◦ Bastante confiável
    ◦ Boa performance
    ◦ Escalonamento e priorização de solicitações




                             Prof. Adriano Teixeira de Souza
Middleware Transacional
   Desvantagens
    ◦ Ausência de padronização para descrever serviços
    ◦ Executa numa menor quantidade de plataformas
    ◦ Bloqueios desnecessários
    ◦ Marshalling e unmarshalling implementadas
     manualmente



                            Prof. Adriano Teixeira de Souza
   Middleware Orientado a Mensagens (MOM)
    ◦ Message queuing
      Comunicação indireta
      Assincrona
      Mensagens enviada para filas
    ◦ Message Passing
      Comunicação direta
      Síncrona
      Destaque para o modelo publish-subscribe



                                Prof. Adriano Teixeira de Souza
Middleware Orientado a Mensagens (MOM)
   Vantagens
    ◦ Suporta comunicação em grupo de forma atômica
    ◦ Confiabilidade
    ◦ Amplo suporte a protocolos de rede




                            Prof. Adriano Teixeira de Souza
Middleware Orientado a Mensagens (MOM)
   Desvantagens
    ◦ Escalabilidade e heterogeneidade limitadas
    ◦ Pouca portabilidade por falta de padronização
   Uso
    ◦ Aplicações cuja disponibilidade da rede ou de todos
      os componentes não seja um problema




                             Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Middleware Orientado a Objetos (MOO)
    ◦ Evolução dos middlewares procedurais
    ◦ Interação por invocação de métodos
    ◦ Comunicação tipicamente síncrona
    ◦ IDLs para descrever serviços




                             Prof. Adriano Teixeira de Souza
Middleware Orientado a Objetos (MOO)
   Vantagens
    ◦ Grande suporte a heterogeneidade
    ◦ Marshalling e unmarshalling automáticos
    ◦ Versatilidade




                            Prof. Adriano Teixeira de Souza
Middleware Orientado a Objetos (MOO)
   Desvantagens
    ◦ Pouca Escalabilidade

   Uso
    ◦ Aplicações que não precisam de grande
     escalabilidade




                             Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Transacionais
    ◦ Tuxedo (BEA)
    ◦ CICS (IBM)
   MOM
    ◦ MQSeries (IBM)
    ◦ JMS (Sun)
    ◦ HornetQ (Jboss)
   MOO
    ◦ CORBA - Common Object Request Broker Architecture (OMG)
    ◦ DCOM - Distributed Component Object Model (Microsoft)
    ◦ RMI - Remote Method Invocation (Java)




                              Prof. Adriano Teixeira de Souza

Mais conteúdo relacionado

Mais procurados

Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Hardware e redes de computadores (Componente, tipos de redes e topologias)
Hardware e redes de computadores (Componente, tipos de redes e topologias)Hardware e redes de computadores (Componente, tipos de redes e topologias)
Hardware e redes de computadores (Componente, tipos de redes e topologias)Augusto Nogueira
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Cleber Ramos
 
Aula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoAula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoLucasMansueto
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesCleber Fonseca
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IPPjpilin
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de InterfaceJanynne Gomes
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
Componentes de uma Rede de computadores
Componentes de uma Rede de computadoresComponentes de uma Rede de computadores
Componentes de uma Rede de computadoresFelipe Silva
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à VirtualizaçãoLucas Miranda
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 

Mais procurados (20)

Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Projeto de redes
Projeto de redesProjeto de redes
Projeto de redes
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Hardware e redes de computadores (Componente, tipos de redes e topologias)
Hardware e redes de computadores (Componente, tipos de redes e topologias)Hardware e redes de computadores (Componente, tipos de redes e topologias)
Hardware e redes de computadores (Componente, tipos de redes e topologias)
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall
 
Aula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoAula 6 - Segurança da informação
Aula 6 - Segurança da informação
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redesRedes de computadores 2 - Aula 4 - Divisão em sub-redes
Redes de computadores 2 - Aula 4 - Divisão em sub-redes
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IP
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de Interface
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
Componentes de uma Rede de computadores
Componentes de uma Rede de computadoresComponentes de uma Rede de computadores
Componentes de uma Rede de computadores
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à Virtualização
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 

Destaque

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosArthur Emanuel
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOAAdriano Teixeira de Souza
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Arthur Emanuel
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Api First - A Abordagem
Api First - A AbordagemApi First - A Abordagem
Api First - A AbordagemBruno Paulino
 
Introdução Sistemas Distribuidos
Introdução Sistemas DistribuidosIntrodução Sistemas Distribuidos
Introdução Sistemas Distribuidoselliando dias
 
Sistemas distribuidos intro
Sistemas distribuidos  introSistemas distribuidos  intro
Sistemas distribuidos introOscar Quiroz
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosJuliana Cindra
 
Performance Management of IT Service Processes Using a Mashup-based Approach
Performance Management of IT Service Processes Using a Mashup-based ApproachPerformance Management of IT Service Processes Using a Mashup-based Approach
Performance Management of IT Service Processes Using a Mashup-based ApproachCarlos Raniery
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Carlos Raniery
 

Destaque (20)

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Middlewares
MiddlewaresMiddlewares
Middlewares
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOA
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Api First - A Abordagem
Api First - A AbordagemApi First - A Abordagem
Api First - A Abordagem
 
Introdução Sistemas Distribuidos
Introdução Sistemas DistribuidosIntrodução Sistemas Distribuidos
Introdução Sistemas Distribuidos
 
Mashups - SOA
Mashups - SOAMashups - SOA
Mashups - SOA
 
Sistemas distribuidos intro
Sistemas distribuidos  introSistemas distribuidos  intro
Sistemas distribuidos intro
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas Distribuídos
 
Middleware
MiddlewareMiddleware
Middleware
 
Performance Management of IT Service Processes Using a Mashup-based Approach
Performance Management of IT Service Processes Using a Mashup-based ApproachPerformance Management of IT Service Processes Using a Mashup-based Approach
Performance Management of IT Service Processes Using a Mashup-based Approach
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
 

Semelhante a Middleware Comunicação Distribuída

Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesAdriano Teixeira de Souza
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating MicroservicesThiago Ramos
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoAndré Borgonovo
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Isaac de Souza
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreAlexandroAlves13
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud ComputingRicardo Peres
 

Semelhante a Middleware Comunicação Distribuída (20)

Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 
Mw corp-2013-ss
Mw corp-2013-ssMw corp-2013-ss
Mw corp-2013-ss
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating Microservices
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve Introdução
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 
Microservices
MicroservicesMicroservices
Microservices
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud Computing
 

Mais de Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 

Mais de Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 

Middleware Comunicação Distribuída

  • 1. Comunicação Distribuída – Middleware Prof. Adriano Teixeira de Souza
  • 2. “Um middleware pode ser visto como uma camada de software intermediária localizada entre o sistema operacional e a aplicação.”  Desenvolvimento de Sistemas distribuídos mais fácil e ágil. Prof. Adriano Teixeira de Souza
  • 4. Requisitos de um Middleware  Permitir Comunicação ◦ Uso de protocolos de comunicação ◦ Marshalling e Unmarshalling ◦ IDL para garantir (un)marshalling dos dados Prof. Adriano Teixeira de Souza
  • 5. Requisitos de um Middleware  Permitir Escalabilidade ◦ Medida de Capacidade de adaptação ◦ Replicação de componentes como solução  Transparência de acesso  Transparência de localização  Transparência de migração  Transparência de replicação Prof. Adriano Teixeira de Souza
  • 6. Requisitos de um Middleware  Lidar com Heterogeneidade ◦ Não restringe o sistema a uma só tecnologia ◦ Permite que componentes legados sejam integrados a novos componentes. Prof. Adriano Teixeira de Souza
  • 7. Serviços de Middleware ◦ Ciclo de vida  Gerenciamento do Ciclo de vida dos objetos ◦ Serviço de nomes  Permite referenciar objetos pelo nome ◦ Transação  Faz gerenciamento de transações Prof. Adriano Teixeira de Souza
  • 8. Serviços de Middleware ◦ Negócio  Permite localização de serviços ◦ Segurança  Oferece funcionalidades de segurança ◦ Tempo  Serviço de sincronização de relógios Prof. Adriano Teixeira de Souza
  • 9. Middleware Transacional ◦ Suporte a transações síncronas ◦ Coordena requisições entre clientes e servidores ◦ Pode suportar as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) Prof. Adriano Teixeira de Souza
  • 10. Middleware Transacional  Vantagens ◦ Componentes se mantêm consistentes ◦ Bastante confiável ◦ Boa performance ◦ Escalonamento e priorização de solicitações Prof. Adriano Teixeira de Souza
  • 11. Middleware Transacional  Desvantagens ◦ Ausência de padronização para descrever serviços ◦ Executa numa menor quantidade de plataformas ◦ Bloqueios desnecessários ◦ Marshalling e unmarshalling implementadas manualmente Prof. Adriano Teixeira de Souza
  • 12. Middleware Orientado a Mensagens (MOM) ◦ Message queuing  Comunicação indireta  Assincrona  Mensagens enviada para filas ◦ Message Passing  Comunicação direta  Síncrona  Destaque para o modelo publish-subscribe Prof. Adriano Teixeira de Souza
  • 13. Middleware Orientado a Mensagens (MOM)  Vantagens ◦ Suporta comunicação em grupo de forma atômica ◦ Confiabilidade ◦ Amplo suporte a protocolos de rede Prof. Adriano Teixeira de Souza
  • 14. Middleware Orientado a Mensagens (MOM)  Desvantagens ◦ Escalabilidade e heterogeneidade limitadas ◦ Pouca portabilidade por falta de padronização  Uso ◦ Aplicações cuja disponibilidade da rede ou de todos os componentes não seja um problema Prof. Adriano Teixeira de Souza
  • 16. Middleware Orientado a Objetos (MOO) ◦ Evolução dos middlewares procedurais ◦ Interação por invocação de métodos ◦ Comunicação tipicamente síncrona ◦ IDLs para descrever serviços Prof. Adriano Teixeira de Souza
  • 17. Middleware Orientado a Objetos (MOO)  Vantagens ◦ Grande suporte a heterogeneidade ◦ Marshalling e unmarshalling automáticos ◦ Versatilidade Prof. Adriano Teixeira de Souza
  • 18. Middleware Orientado a Objetos (MOO)  Desvantagens ◦ Pouca Escalabilidade  Uso ◦ Aplicações que não precisam de grande escalabilidade Prof. Adriano Teixeira de Souza
  • 20. Transacionais ◦ Tuxedo (BEA) ◦ CICS (IBM)  MOM ◦ MQSeries (IBM) ◦ JMS (Sun) ◦ HornetQ (Jboss)  MOO ◦ CORBA - Common Object Request Broker Architecture (OMG) ◦ DCOM - Distributed Component Object Model (Microsoft) ◦ RMI - Remote Method Invocation (Java) Prof. Adriano Teixeira de Souza