A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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

2 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

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

4 Aplicação-exemplo: Classes

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

6 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

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

8 Exemplo: Biblioteca

9 Elementos da Definição de Interfaces em CORBA IDL

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

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

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

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

14 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

15 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 exception LivroEmprestado{sequence free;}; interface Biblioteca {... void emprestaLivro(in Date d) raises(LivroEmprestado); }; Dados da Exceção Operações declaram as exceções que podem gerar Nome da Exceção

16 Objetos de CORBA: Sub-tipos 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); }; Atributos Herdados por Biblioteca Supertipo Possui Super-tipo implícito: Object

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

18 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?


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google