Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aula 05 - RPC e RMI - Coggle Diagram
Aula 05 - RPC e RMI
-
Arquiteturas
Monolítica
Ciclos de
desenvolvimento são amarrados – uma mudança feita em
uma pequena parte do aplicativo requer que o monolito
inteiro seja republicado.
Ao longo do tempo ficará cada vez
mais difícil manter uma estrutura modular, o que torna mais
difícil fazer com que mudanças afetem apenas um módulo.
Escalar requer escalar o aplicativo inteiro, não apenas as
partes que requerem mais recursos.
Microsserviços
não considere migrar para microsserviços a menos que
você já tenha um sistema que seja muito complexo para
gerenciar como um monolito
Microsserviços são uma maneira de gerenciar complexidade
quando softwares se tornaram muito grandes e incômodos
para serem atualizados e mantidos facilmente
Vantagens
• Pode ser desenvolvido independente
• Pode ser escalado independentemente
• Pode ser reutilizado em múltiplas aplicações
• Permite o uso da linguagem de programação que você
preferir
• É mais facilmente implementado nas várias plataformas
• Segurança é feita independentemente
SOA
arquitetura orientada a serviços, define uma maneira
de tornar os componentes de software reutilizáveis por meio de
interfaces de serviço.
Essas interfaces utilizam padrões de
comunicação comuns de tal modo que eles podem ser
rapidamente incorporados a novos aplicativos sem a
necessidade de realizar uma integração sempre.
Cada serviço em uma SOA incorpora o código e as
integrações de dados necessários para executar uma função de negócios completa e discreta (por exemplo, verificar o crédito de um cliente, calcular um pagamento mensal de um empréstimo ou processar uma proposta de hipoteca).
As interfaces de serviço fornecem acoplamento fraco, ou seja, elas podem ser solicitadas com pouco ou nenhum conhecimento sobre como a integração está sendo implementada nos bastidores.
Serviços
Os serviços são expostos usando protocolos de rede padrão, como SOAP (protocolo simples de acesso a objetos) /HTTP ou JSON/HTTP, para enviar solicitações para ler ou alterar dados.
• Os serviços são publicados de forma a possibilitar que os desenvolvedores os encontrem rapidamente e os reutilizem para montar novos aplicativos
Benefícios
• Maior agilidade dos negócios
• Capacidade de potencializar a funcionalidade legada em
novos mercados
• Melhor colaboração entre negócios e TI
RMI
RMI usa um mecanismo padrão empregado em
sistemas RPC, para se comunicar com objetos
remotos, que são "stubs" e "skeletons". O "stub"
funciona semelhante a um "proxy" para o objeto
remoto.
Quando um objeto local invoca um
método em um objeto remoto, o "stub" fica
responsável por enviar a chamada ao método
para o objeto remoto
Java RMI é um mecanismo para permitir a
invocação de métodos que residem em
diferentes máquinas virtuais Java (JVM).
JVM pode estar em diferentes máquinas ou
podem estar na mesma máquina. Em ambos os
casos, o método pode ser executado em um
endereço diferente do processo de chamada.
Java RMI é um mecanismo de chamada de
procedimento remoto orientada a objetos.
RPC
É um recurso de linguagem de programação
desenvolvido para a computação distribuída e
baseado na semântica de chamadas de
procedimento local . São as formas mais
comuns de serviço remoto e foram projetadas
como uma forma de abstrair o mecanismo de
chamada de procedimento a ser usado entre
sistemas conectados por meio de uma rede.