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

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

Tarciana Dias Luciana Oliveira Flávia Falcão

Apresentações semelhantes


Apresentação em tema: "Tarciana Dias Luciana Oliveira Flávia Falcão"— Transcrição da apresentação:

1 Tarciana Dias Luciana Oliveira Flávia Falcão
ASN.1 Tarciana Dias Luciana Oliveira Flávia Falcão

2 Introdução ASN.1 Notação Sintática Abstrata (Abstract Syntax Notation One – ASN.1) Para que o gerenciamento de dispositivos de uma rede que tenham diferentes fabricantes seja possível, é necessário uma forma padronizada para a descrição dos mesmos A linguagem ASN.1 foi proposta com o objetivo de descrever esses objetos numa forma padronizada e independente de fabricante

3 Modelo SNMP Get Gerente Agente Get-Response MIB “Cliente” “Servidor”
Encarregado de coletar dados dos dispositivos e armazená-los numa estrutura padrão (base de dados) “Cliente” “Servidor” Get Gerente Agente Get-Response Envia mensagens SNMP, modifica valor da variável... Controla (Acesso direto à MIB) MIB SMI: Especifica uma metodologia para definição da informação contida na MIB. Usa um subconjunto de tipos de dados ASN.1 Define o conjunto conceitual dos objetos e contém informações detalhadas sobre cada objeto

4 ASN.1 Tipos Primitivos INTEGER – inteiro de tamanho arbitrário
BOOLEAN - TRUE ou FALSE BIT STRING – Lista de zero ou mais bits OCTET STRING – Lista de zero ou mais byte ANY – União de todos os tipos NULL – Absolutamente nenhum tipo OBJECT IDENTIFIER – Nome de objeto (ex.: uma biblioteca)

5 Construtores SEQUENCE: Lista ordenada de vários tipos
SEQUENCE OF: Lista ordenada de um só tipo SET: Colecção não ordenada de vários tipos SET OF: Coleção não ordenada de um só tipo CHOICE: Qualquer tipo de uma lista

6 Exemplo de código ASN.1 Employee DEFINITIONS ::= BEGIN EXPORTS;
PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET { Name, title [0] IA5String, number EmployeeNumber, dateOfHire [1] Date, nameOfSpouse [2] Name, children [3] IMPLICIT SEQUENCE OF ChildInformation } ChildInformation ::= SET { dateOfBirth [0] Date Name ::= [APPLICATION 1] IMPLICIT SEQUENCE { givenName IA5String, initial IA5String, familyName IA5String EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER Date ::= IA5String END

7 Classes Geradas PersonnelRecord.java _SeqOfChildInformation.java
Date.java EmployeeNumber.java Name.java PrintHandler.java Reader.java Writer.java XMLHandler.java

8 Classes Criadas Gerente.java Agente.java
Iservico.java (interface remota)

9 Compiladores ASN1C (Java, C ou C++) http://www.obj-sys.com
Asn1Compiler (C# e Java) ASN-1Step (C, C++ ou Java)

10 O compilador ASN1C

11 O compilador ASN1C O compilador de ASNC1 é capaz de gerar o código Java. O código gerado de Java consiste em uma série de arquivos de fonte de Java - uma tipo definida dentro de uma especificação ASN.1. Ex: ChildInformation ::= SET {Name, dateOfBirth [0] Date}

12 O compilador ASN1C Cada um destes arquivos em Java contém (no mínimo) os seguintes itens: Uma variável (ou variáveis) pública dos dados Um construtor (ou construtores) para inicializar a variável. Um método encode. Um método decode.

13 O compilador ASN1C Há também uma biblioteca run-time para Java. Ela consiste em uma série de classes para codificar e descodificar os tipos ASN.1 primitivos. Por o exemplo, a classe Asn1Integer codificará ou descodificará uma variável do tipo do INTEIRO ASN.1.

14 Roteiro ASN1C Setar o arquivo .asn1
Identificar o tipo de linguagem a ser gerada (Java, C ou C++) Identifar BER, PER, DER Para compilar e executar: set classpath= local do asn1rt.jar; local do jdk1.4;%path% Por exemplo: Set classpath=C:\acv541\java\asn1rt.jar;C:\jbuilder8\jdk1.4\bin\;%path%


Carregar ppt "Tarciana Dias Luciana Oliveira Flávia Falcão"

Apresentações semelhantes


Anúncios Google