UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa

Slides:



Advertisements
Apresentações semelhantes
Java Remote Method Invocation Java RMI
Advertisements

Sistemas Distribuídos Resolvendo o Problema da Heterogeneidade
Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
Objetos Distribuídos e Invocação Remota
Sistemas Paralelos e Distribuídos
Comunicação Entre Objetos Distribuídos
C# Documentando código em XML Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 10/10/2002 Autor: Marden Menezes Costa.
Arquitetura CORBA e Objetos Distribuídos
Tópicos de Sistemas de Informação A
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.
RPC and Web Service André Pereira.
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Principais conceitos de CORBA.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Mapeamento de IDL para C#
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Desenvolvimento de Aplicações Web com Java - Servlets e JSP Autor: Juliano Marcos Martins.
1 Sistemas Distribuídos – Capítulo 4 - Aula 5 Aula de hoje Chamada de Procedimento Remoto - RPC Aula Passada Clusters de Servidores Migração de Código.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Algoritmos e Programação Prof. Marcos Saúde
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Estruturas de Dados Aula 2: Estruturas Estáticas
Programação II Introdução.
Educação Profissional Técnica de Nível Médio em Informática
Introdução à Programação
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Revisão de Lógica de Programação e Desenvolvimento Web
Introdução Java.
Webservices Rest.
Soquetes (1) SOCKET Uma interface local, criada por aplicações, ponto final de comunicação no qual os processos de aplicação podem tanto enviar quanto.
XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel
HTML Prof. Júlio Cesar.
Nataniel Vieira Endereçamento IP Nataniel Vieira
Introdução a Linguagem Java
Introdução Java.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Aula 4 Estruturas.
POO - Classes Dilvan Moreira.
Programador/a de Informática
Invocação de Métodos Remotos (RMI) en Java
Edson Susumu Asaga JavaBeans Edson Susumu Asaga
Algoritmos e Estruturas de Dados I
Javascript, Introdução
BANCO DE DADOS I.
Dr. Almir rogério camolesi
Introdução a Arquitetura, HTML e CSS
Modelagem de Objetos de Domínio com Diagrama de Classes
HomologNET Layout de Arquivo.
Remote Method Invocation
Wrappers.
3.2 Sobrecarga de Métodos (Overloading)
Tecnologias XML XML Schema
Rosemary Silveira Filgueiras Melo
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Estruturas de Dados em C
Aula Prática Objeto-Relacional Monitoria GDI
Remote Method Invocation (RMI) Sistemas Distribuídos.
JAVA - BÁSICO COL. ESTADUAL MARIA AGUIAR TEIXEIRA
Programação de Computadores II
Transcrição da apresentação:

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa Aula 09-10: Middleware – Comunicação Inter-Processos Representação Externa de Dados e Marshalling

Representação externa de dados ● Formato independente de linguagem, SO etc ● Utilizada para comunicação dos dados de requisições e respostas entre clientes e servidores ● Formato serializado ● Marshalling: conversão entre a representação interna e externa ➔ CORBA Common Data Representation ➔ Serialização de objetos em Java ➔ XML (Extensible Markup Language)

CORBA CDR ● Representação para tipos primitivos – inteiros, ponto flutuante, octeto – big-endian e little-endian – posicionamento de cada item de dados na msg. ● Representação para tipos construídos – seqüência, string, array, struct, enumeração, união – construída a partir das seqüências de bytes correspondentes aos tipos primitivos constituintes ● Informação de tipo: subentendida através da definição das operações em IDL

Instituto de Informática - UFG Representação de tipos construídos em CORBA CDR

Instituto de Informática - UFG Mensagem em CORBA CDR The flattened form represents aPerson struct with value: {‘Smith’, ‘London’, 1934} 0–3 4–7 8–11 12–15 16– –27 5 "Smit" "h___" 6 "Lond" "on__" 1934 index in sequence of bytes 4 bytes notes on representation length of string ‘Smith ’ length of string ‘London’ unsigned long struct Person { string name; string city; unsigned long year; };

Instituto de Informática - UFG Marshalling em CORBA ● O código gerado automaticamente a partir das definições em IDL das operações ● Converte os parâmetros e valores de retorno das operações ● Seguindo as regras de representação CORBA CDR ● Stub – marshalling de parâmetros e unmarshalling do valor de retorno ● Skeleton: vice-versa

Instituto de Informática - UFG Outra representação externa: Sun XDR ● Usada em conjunto com Sun RPC ● RFC 1832 ● Exercício: comparar Sun XDR com CORBA CDR

Instituto de Informática - UFG Serialização em Java ● Objetos e itens de dados primitivos ● Informações de tipo e classe dos objetos são incluídas na forma serializada – Permitem a reconstrução dos objetos sem conhecimento prévio de suas classes ● Processo recursivo: serializa todos os objetos referenciados pelo objeto em questão ● Classes precisam implementar Serializable ● Objetos remotos: a referência é serializada

Instituto de Informática - UFG Formato de serialização de Java The true serialized form contains additional type markers; h0 and h1 are handles Serialized values Person byte version number int year 5 Smith java.lang.String name: 6 London h0 java.lang.String place: h1 Explanation class name, version number number, type and name of instance variables values of instance variables Exemplo: Serialização do seguinte objeto: Person p = new Person(“Smith”, “London”, 1934);

Instituto de Informática - UFG XML (Extensible Markup Language) ● Define a estrutura lógica de documentos ● Usos de interesse aqui: – definir a interface de serviços Web – prover a representação externa de dados na comunicação entre clientes e serviços ● Representação textual: independente de plataforma ● Representação hierárquica ● Extensível: novos tags podem ser definidos ● Auto-descritiva: tags, esquemas e namespaces

Instituto de Informática - UFG Definição da estrutura Pessoa em XML Smith London 1934 tag atributo elementos

Instituto de Informática - UFG Namespaces Smith London 1934 ● Permitem definir contextos para os marcadores (tags) utilizados em um documento ● Referenciados através de URLs ● Evitam choques de nomes de tags em contextos diferentes

Instituto de Informática - UFG Esquemas XML ● Definem: – os elementos e atributos que podem aparecer em documentos XML (i.e., um vocabulário) – como os elementos são aninhados – a ordem, o número e o tipo dos elementos ● Usados para validar documentos XML ● Um mesmo esquema pode ser compartilhado por vários documentos

Instituto de Informática - UFG Um esquema XML para a estrutura Pessoa

Instituto de Informática - UFG Exercício prático ● Marshalling de objetos Java em XML ● Utilizar funcionalidades padrão da biblioteca de Java para serializar objetos em formato XML ● Descrever o resultado obtido ● Utilizar uma classe representativa como exemplo ● Entrega: 01/09 (código em JAR + texto descritivo)

Instituto de Informática - UFG Representação de Referências de Objetos Internet addressport numbertimeobject number interface of remote object 32 bits ● Necessária quando objetos remotos são passados como parâmetro ● A referência é serializada (não o objeto) ● Contém toda informação necessária para identificar (e endereçar) um objeto unicamente no sistema distribuído