Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas Distribuídos Baseados em Objetos
Java Remote Method Invocation Java RMI
Sistemas Distribuídos Resolvendo o Problema da Heterogeneidade
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Exemplo dos Internamentos
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
RMI-IIOP.
Repositório de Interfaces em CORBA
Comunicação Distribuída
Modelo de Arquitetura Diagrama de Componentes
Sistemas Distribuídos CORBA
Invocação de Métodos Remotos RMI
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Comunicação Entre Objetos Distribuídos
1 Serviços CORBA. Serviços CORBA. Funcionalidades que podem ser utilizadas por objetos distribuídos. Naming Service (Serviço de Nomes) Event and Notification.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Comunicação Inter-Processos
Objetos Distribuídos Padrão CORBA
PROGRAMAÇÃO DISTRIBUÍDA EM JAVA Verão/2001
Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Sistemas Distribuídos
JAVA: Conceitos Iniciais
Aula prática 13 Orientação a Objetos – C++ Parte 1
JAVA Linguagem Ambiente de Desenvolvimento
Arquitetura CORBA e Objetos Distribuídos
Sistemas Distribuídos
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
CORBA e Desenvolvimento Baseado em Componentes
Chamada Remota de Procedimentos
Marcela Bezerra da Silva Cin - UFPE
Desenvolvimento de Aplicações CORBA
Remote Method Invocation RMI
Concorrência e Java RMI
Administração e Integração de Redes em Sistemas Distribuídos
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Tecgraf PUC-Rio maio de 2011 Principais conceitos de CORBA.
TMV Gestão de Redes e de Sistemas Distribuídos ???? Sumário  Arquitectura de Gestão SNMP  Arquitectura de Gestão OSI/TMN  Novas Arquitecturas.
Arquitetura de Sistemas Distribuídos
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Java RMI João Gabriel (jggxm).
Processos.
RMI - JAVA.
Padrões de Interação com o Usuário
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
GESTOR: TIC/TIC-E&P/GIDSEP versão 1 - julho/2013 Tecgraf PUC-Rio Fevereiro de 2014 IDL.
RMI (Remote Method Invocation) Bruno Edson Plínio Tadeu
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Tecgraf PUC-Rio setembro de 2013 IDL. Interface Definition Language Linguagem neutra Define a interface dos objetos CORBA struct Book { string author;
Modificadores Programação II.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
Computação Distribuída João Bosco Mangueira Sobral CORBA Common Object Request Broker.
RMI Remote Method Invocation
Versão 3 – fevereiro/2014 Tecgraf PUC-Rio Fevereiro de 2014 Introdução ao SCS.
Introdução ao SCS Tecgraf PUC-Rio Setembro de 2013.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Principais conceitos de CORBA.
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
Sistemas Distribuídos Prof. Marcus Rodrigues
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 IDL.
Aula Prática: Demo de Sistemas Distribuídos
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Transcrição da apresentação:

Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software Sistemas e Objetos Distribuídos Aula 04: Objetos Distribuídos com Java RMI e CORBA Visão Prática Prof. Dr. Fábio M. Costa 28/06/08

Roteiro Arquitetura geral da aplicação-exemplo Descrição da implementação em JavaRMI Descrição da implementação em CORBA Demonstração da execução Fazer pequenas extensões e demonstrar o processo de compilação e construção das aplicações

Arquitetura Geral da Aplicação em Java Cliente-servidor Com servidor centralizado Um objeto remoto apenas: Biblioteca Demais objetos são locais

Aplicação-exemplo: Classes

Arquitetura inicial: Centralizada Livro Livro Livro Usuário Usuário Cliente Biblioteca Usuário Empréstimo Empréstimo Processo Cliente Empréstimo Processo Servidor

Demonstração Compilar todos os arquivos (javac) Iniciar o rmiregistry Iniciar o servidor Iniciar os clientes Discutir as políticas de segurança e a forma de executar a aplicação a partir da linha de comando

Arquitetura Geral da Aplicação em CORBA Cliente-servidor Com servidor centralizado Um objeto remoto apenas: Biblioteca Demais objetos são locais (value types)

Exemplo: Biblioteca

Elementos da Definição de Interfaces em CORBA IDL

Definição de Tipos em CORBA IDL typedef struct _Address { string logradouro; short numero; string complemento; string bairro; string cidade; } Address; typedef sequence<Address> AddressList; interface Usuario { ... }; Tipos estruturados Tipos Atômicos Tipo de Objeto

Módulos em CORBA IDL Módulos module Library { ttypedef struct _Address { string logradouro; short numero; string complemento; string bairro; string cidade; } Address; }; module Empresa { typedef struct _Address { string caixaPostal; Módulos Library::Address Empresa::Address

Objetos de CORBA: Atributos interface Biblioteca { readonly attribute string politica; attribute long num_livros; ... }; interface Usuario { readonly attribute string nome; attribute Address endereço; Clientes não podem mudar o valor Atributos mutáveis Tipo do Atributo Nome do Atributo

Objetos de CORBA: Operações Categoria de Parâmetro typedef sequence<Emprestimo> ListaDeEmprestimos; interface Biblioteca { ... void emprestaLivro(in string titulo, in string usuario); ListaDeEmprestimos visualizaEmprestimos(); }; Lista de Parâmetros Tipos de Retorno Tipo do parâmetro Nome da operação (usado em requisições)‏ Nome do Parâmetro

Requisições de Objeto Requisições são definidas por objetos clientes Uma requisição consiste de: uma referência ao objeto servidor o nome da operação requisitada argumentos da requisição (parâmetros reais)‏ informação de contexto Requisições são executadas em modo síncrono (bloqueante)‏ Requisições podem ser definidas de duas formas: estaticamente dinamicamente

Objetos CORBA: Exceções Exceções genéricas (ex.: rede fora do ar, ref. de objeto inválida, esgotou a memória)‏ Exceções específicas de determinados tipos Nome da Exceção Dados da Exceção exception LivroEmprestado{sequence<Date> free;}; interface Biblioteca { ... void emprestaLivro(in Date d)‏ raises(LivroEmprestado); }; Operações declaram as exceções que podem gerar

Objetos de CORBA: Sub-tipos Possui Super-tipo implícito: Object Atributos Herdados por Biblioteca interface Instituicao { readonly attribute string nome; attribute Address endereco; }; interface Biblioteca : Instituicao { exception LivroEmprestado{...}; readonly attribute string politica; attribute long num_livros; void emprestaLivro(in Date d)‏ raises(LivroEmprestado); Supertipo

Demonstração Compilar todos os arquivos (javac) Iniciar o servidor de nomes e disponibilizar a referência de objeto para ele Iniciar o servidor (windows) Iniciar os clientes (linux)

Exercícios Aula 03 1: Identificar os serviços e transparências de distribuição que já estejam presentes na aplicação-exemplo 2: Propor extensões às funcionalidades da aplicação novos métodos remotos (apenas a descrição geral) 3: Propor uma arquitetura distribuída para a aplicação lado servidor distribuído em máquinas diferentes explicar os motivos para escolha da arquitetura distribuída 4: Analisar os requisitos da aplicação quanto a: outros serviços de suporte a distribuição outras transparências de distribuição 5: Em geral, quais os problemas advindos da existência de vários clientes fazendo acesso simultâneo a um mesmo servidor? Como esse problema geralmente é tratado?