SlideShare ist ein Scribd-Unternehmen logo
1 von 22
XDR - eXternal Data
Representation
Sistemas Distribuídos

Kleber Santos – Prof.: Almir Pires
RPC (Remote Procedure Call)
Chamada de
Procedimento
RPC (Remote Procedure Call)
• O programador não se preocupa com
detalhes da implementação remota;
• As chamadas se assemelham a de
procedimentos locais;
RPC (Remote Procedure Call)
• Tecnologia para implementação do
modelo cliente-servidor;

Executar um
procedimento

Resposta do servidor
RPC (Remote Procedure Call)

IDL
Linguagem de Descrição
de Interface
RPC (Remote Procedure Call)
Arquivo IDL

Pode-se gerar
Pode-se gerar

RPCGEN
(Compilador de interface – em C)

STUB
RPC (Remote Procedure Call)
RPC (Remote Procedure Call)

XDR
?

• Necessita de protocolo comum de
representação de dados;
XDR (eXternal Data Representation)
• Padrão IETF de 1995 da camada de
representação do modelo OSI;
• Não permite especificar nomes à
interfaces;
• São fornecidos um número de programa
e um de versão passados na mensagem
de requisição;
XDR (eXternal Data Representation)
• Apenas um parâmetro de entrada é
permitido;
• Procedimentos que necessitam de vários
parâmetros devem incluí-los em única
estrutura;
• Parâmetros de saída retornados por
único resultado;
XDR (eXternal Data Representation)
• Assinatura consistindo do tipo do
resultado, nome do procedimento e no
tipo de parâmetro de entrada;
• Independe da camada de transporte;
XDR (eXternal Data Representation)
• Número do programa = 9999;
• Número da versão = 2;
• Procedimento READ recebe por
parâmetro uma estrutura com três
componentes (referentes a arquivo);
• O resultado é uma estrutura
contendo número de bytes
retornados e dados do arquivo;
• WRITE = 1; READ = 2;
Testa disponibilidade do servidor = 0;
Exemplos de interfaces de procedimentos na XDR da Sun.
XDR (eXternal Data Representation)

Gera procedimentos:
Gera procedimentos:

RPCGEN

(Compilador da Sun)

• stub no cliente;
• main, despachante
e stub no servidor;
• empacotamento e
desempacotamento
de XDR;
XDR (eXternal Data Representation)
• Os dados são transferidos em unidades
de 4 bytes;
• Os números são transferidos na rede em
ordem dos bytes mais significativos;
XDR (eXternal Data Representation)
XDR (eXternal Data Representation)
XDR (eXternal Data Representation)
Serialização:

• Cria-se uma instância da classe
ObjectOutputStream, invocando seu
método writeObject passando o objeto
Person como argumento;
Desserialização:

• Abre-se o fluxo como ObjectInputStream,
utilizando o método readObject
XDR (eXternal Data Representation)
Tipos de dados XDR
•
•
•
•
•
•
•
•
•
•
•

booleano
int (inteiro 32 bit)
hyper (inteiro 64 bit)
double
enumerações
estruturas
string
arrays de tamanho fixo
arrays de tamanho variado
uniões
dados opacos
Kleber Santos – Prof.: Almir Pires

Weitere ähnliche Inhalte

Ähnlich wie XDR Representação de Dados Externos

JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4CDS
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redesDaniel Brandão
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCAdriano Teixeira de Souza
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...CPqD
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguroMarcelo Fleury
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)#Jão Pablo
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskRodrigo R Passos
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskRodrigo R Passos
 
Enucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationEnucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationNathan Saraiva
 

Ähnlich wie XDR Representação de Dados Externos (20)

JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Trabalho t.a 2015
Trabalho t.a   2015Trabalho t.a   2015
Trabalho t.a 2015
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPC
 
Camada rede
Camada redeCamada rede
Camada rede
 
Aulas de rede
Aulas de redeAulas de rede
Aulas de rede
 
Webinar SDR
Webinar SDRWebinar SDR
Webinar SDR
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 
dnad12
dnad12dnad12
dnad12
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguro
 
Camada de rede parte1
Camada de rede   parte1Camada de rede   parte1
Camada de rede parte1
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Enucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationEnucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarization
 

XDR Representação de Dados Externos

  • 1.
  • 2. XDR - eXternal Data Representation Sistemas Distribuídos Kleber Santos – Prof.: Almir Pires
  • 3. RPC (Remote Procedure Call) Chamada de Procedimento
  • 4. RPC (Remote Procedure Call) • O programador não se preocupa com detalhes da implementação remota; • As chamadas se assemelham a de procedimentos locais;
  • 5. RPC (Remote Procedure Call) • Tecnologia para implementação do modelo cliente-servidor; Executar um procedimento Resposta do servidor
  • 6. RPC (Remote Procedure Call) IDL Linguagem de Descrição de Interface
  • 7. RPC (Remote Procedure Call) Arquivo IDL Pode-se gerar Pode-se gerar RPCGEN (Compilador de interface – em C) STUB
  • 9. RPC (Remote Procedure Call) XDR ? • Necessita de protocolo comum de representação de dados;
  • 10. XDR (eXternal Data Representation) • Padrão IETF de 1995 da camada de representação do modelo OSI; • Não permite especificar nomes à interfaces; • São fornecidos um número de programa e um de versão passados na mensagem de requisição;
  • 11. XDR (eXternal Data Representation) • Apenas um parâmetro de entrada é permitido; • Procedimentos que necessitam de vários parâmetros devem incluí-los em única estrutura; • Parâmetros de saída retornados por único resultado;
  • 12. XDR (eXternal Data Representation) • Assinatura consistindo do tipo do resultado, nome do procedimento e no tipo de parâmetro de entrada; • Independe da camada de transporte;
  • 13. XDR (eXternal Data Representation) • Número do programa = 9999; • Número da versão = 2; • Procedimento READ recebe por parâmetro uma estrutura com três componentes (referentes a arquivo); • O resultado é uma estrutura contendo número de bytes retornados e dados do arquivo; • WRITE = 1; READ = 2; Testa disponibilidade do servidor = 0; Exemplos de interfaces de procedimentos na XDR da Sun.
  • 14. XDR (eXternal Data Representation) Gera procedimentos: Gera procedimentos: RPCGEN (Compilador da Sun) • stub no cliente; • main, despachante e stub no servidor; • empacotamento e desempacotamento de XDR;
  • 15. XDR (eXternal Data Representation) • Os dados são transferidos em unidades de 4 bytes; • Os números são transferidos na rede em ordem dos bytes mais significativos;
  • 16. XDR (eXternal Data Representation)
  • 17. XDR (eXternal Data Representation)
  • 18. XDR (eXternal Data Representation) Serialização: • Cria-se uma instância da classe ObjectOutputStream, invocando seu método writeObject passando o objeto Person como argumento; Desserialização: • Abre-se o fluxo como ObjectInputStream, utilizando o método readObject
  • 19. XDR (eXternal Data Representation)
  • 20. Tipos de dados XDR • • • • • • • • • • • booleano int (inteiro 32 bit) hyper (inteiro 64 bit) double enumerações estruturas string arrays de tamanho fixo arrays de tamanho variado uniões dados opacos
  • 21.
  • 22. Kleber Santos – Prof.: Almir Pires