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

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

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

Apresentações semelhantes


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

1 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 fmc@inf.ufg.br www.inf.ufg.br/~fmc/SD2006 Aula 09-10: Middleware – Comunicação Inter-Processos Representação Externa de Dados e Marshalling

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

3 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

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

5 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–19 20-23 24–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; };

6 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

7 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

8 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

9 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 3 1934 8-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);

10 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

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

12 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

13 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

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

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

16 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


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

Apresentações semelhantes


Anúncios Google