Applications Client Serveur Le langage de Spécification ASN.1 Anne Marie Dery Module SAR1 Année 2003 2004.

Slides:



Advertisements
Présentations similaires
PHP5 its a kind of magic. Chargement automatique function __autoload( $nom_classe ) { require_once('obj/'.$nom_classe.'.class.php'); } si on exécute le.
Advertisements

PL/SQL : Le Langage PL/SQL est une extension du SQL, qui offre
Logique approchée Michel de Rougemont Université Paris II VERA: CORRECT:
Portée des variables VBA & Excel
Transformation de documents XML
Applications Client Serveur Illustration avec XDR/RPC et ASN.1 Anne Marie Dery Module SAR1 Année
OTB Analog module: Input configuration with TSX PREMIUM (TSXCPP110)
LIFE Fest – Paris – 13/06/ SCORM 2004 et LOMfr dans SCENARI Erik Gebers Université de Technologie de Compiègne Laboratoire HeuDiaSyC – UMR CNRS 6599.
Direct and Indirect Object Pronouns in French
AFTLD MEETING APRIL 2008 JOHANNESBURG ADMINISTRATION OF.ML Dr Alioune B. Traor é : administrative contact for ;ML.
Cours n° 9 Conception et Programmation à Objets
JPEG2000 Vincent Roudaut Master M2 ESTC CNAM
Diatelic - An Intelligent TeleSurveillance System for Peritoneal Dialysis Laurent Romary Minit Gupta Loria Labs, Nancy.
Xpath XPath is a language for finding information in an XML document.
Les fonctions de XPath et XSLT
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
TP2 ... MVC ? JList JLabel JSlider ImageLibrary Contrôleur Vue Modèle
Symfony Formulaires.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Calcul numérique (avec Maple)
LOGO Profile Enterprise Java Beans Réaliser par: HAMROUNI Aymen HOUIJI Manel WESLATI Yassine.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
CPI/BTS 2 Programmation Web Introduction au PHP
XQuery 1. Introduction 2. Modèle de données 3. XQuery par l'exemple
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
TM.
Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-
Langages du Web Sémantique
La programmation objet Illustration de la POO en Pascal
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
IFT313 Introduction aux langages formels
SEG 3601 Élaboration de cas d'utilisation avec UCEd
HIPSSA Cost model training workshop: Sessions 17-18: Using the ITU training model as a basis to develop cost estimates for member states in the HIPSSA.
TortoiseSVN N°. Subversion : pour quoi faire ? Avoir un espace de stockage commun – Tous les étudiants du SIGLIS ont un espace svn commun Partager vos.
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Cours N°2 Base de Données & Langage SQL
Complément Le diagramme des classes
Programmation par Objets et Java
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
Structures de données IFT-2000 Abder Alikacem La librairie STL du C++ Département dinformatique et de génie logiciel Édition Septembre 2009.
Introduction au WebMapping
ETL et Data Mining Présenté par : Marc Catudal-Gosselin Université de Sherbrooke automne 2004 automne 2004.
1. Les structures de documentation pour la division ST. 2. Les types de document dans la division ST. 3. Linterface informatique. Lundi 8 Mai 2000 ST Quality.
CERN IT Department CH-1211 Genève 23 Switzerland t Get the most of Office 2007! Bruno Lenski, IT/OIS.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Contraintes et Triggers Chapitre 5,
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
Systèmes distribués Le futur des systèmes dinformation est: Networked Diverse Numerous Mobile Ubiquitous Systèmes multiagents Middlewares: CORBA JINI HLA.
Textract Magali Paquot. 2 Outil d'indexation (semi-) automatique de texte.
Marketing électronique Cours 5 La personnalisation.
CLS algorithm Step 1: If all instances in C are positive, then create YES node and halt. If all instances in C are negative, create a NO node and halt.
CSI1502 Principes fondamentaux en conception des logiciels Chapter 8: Gestion des exceptions.
BlueJ_VI 1 Java, les objets : tout de suite ! Test, assertions, « vérification statique » Notes de cours associées au chapitre 6 Avec des assertions, utilisation.
Fabienne Boyer Laboratoire LIG (INRIA-UJF-INPG) Projet SARDES, INRIA Rhône-Alpes Usage.
Parlez!. Write 5 good information questions for the topics you are given: A. La routine quotidienne et des activités à la maison (révision F) B. les loisirs.
Première CTP le 4 décembre Nouvelle CTP depuis le 1 er février RTM milieu de cette année.
Branche Développement Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
27/02/2006L3 MIAGE - GLO ADA1 Les Paquetages Permettent d’encapsuler un groupe d’entités logiquement reliées. Comme toute unité de programme, le paquetage.
Techniques de R éé criture et Transformations Pierre-Etienne Moreau.
Créer des packages.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Initiation au JavaScript
Les bases de données Séance 8 Jointures.
Le langage SQL.
Introduction au Langage Pascal
La couche présentation : ASN.1 et BER Abstract Syntax Notation #1
Applications Client Serveur Illustration avec XDR/RPC et ASN.1
Transcription de la présentation:

Applications Client Serveur Le langage de Spécification ASN.1 Anne Marie Dery Module SAR1 Année

Plan 4 Présentation générale : marshalling et client-serveur 4 Le langage de base ASN.1 4 Les règles de marshalling ASN.1 4 Les extensions ASN.1

Des utilisations de ASN.1 Depuis toujours en administration de réseaux avec SNMP et GDMO, en X500 et X400… et maintenant partout autour de vous Dans les téléphones cellulaires (Amerique du nord, Europe, et Japon) qui utilisent TCAP décrit en ASN.1 / BER la Federal Aviation Administration et lInternational Civil Aviation utilisent un protocole codé en PER DEC, Hewlett Packard, IBM, Sun and Xerox définissent linterface standard DPA pour leur nouvelles imprimantes avec ASN.1.

Des environnements de programmation Vendus par des industriels OSS Nokalva Outils : Checker (free), Compiler, Encoder/decoder Langages visés : C++ Borland VisualAge sous WindowsNT Java, C, Pascal, Cobol

Logiciels libres Seulement des checkers et mavros

Des références Un glossaire hyper pratique : Des référencs de livres : Des publications : Accès aux normes :

De la spécification des données au transfert de données Les règles dencodage

Règles dencodage Règles utilisées pour transformer les données spécifiées en un format standard qui peut être décodé sur nimporte quel système. Le choix des règles est laissé au concepteur du protocole. Les règles dencodage ASN.1 standardisées sont Basic Encoding Rules (BER) début 1980 Distinguished Encoding Rules (DER) Canonical Encoding Rules (CER) Packed Encoding Rules (PER).

Quelles ER ? Quand ? BER dans un grand champ dapplications : SNMP Simple Network Management Protoco MHS Message Handling Services TSAPI (contrôle des interactions telephone/computer) DER = un BER spécialisé pour les applications sécurisées (cryptographie) e-commerce, CER similaire à DER, pour des très gros messages à encoder au fur et à mesure. PER plus récent avec un algorithmes qui implique un résultat rapide et plus compact dans des applications style contrôle aérien et télécommunications audio-visuelle. Et Lean ED encodage de petite taille avec de hautes performances au détriment des possibilités de diagnostic

De ASN.1 v.1988 à ASN.1 v.1997

Pourquoi une nouvelle version ? Une grammaire ambiguë Problème dutilisation des macros Ambiguïté pour encoder et décoder les types ouverts Une révision de la notation en 1997

ASN.1 v.1988 vs ASN.1 v.1997 ASN défini dans Rec X.208, le BER dans Rec X.209 ASN dans Rec X.680 et 683, le BER dans Rec X.690 Impossible de déterminer sur le flux de bits transmis le ASN.1 utilisé dans la spécification mais suppression dambiguïtés de la première définition remplacement des macros, du ANY,ANY DEFINED BY changement des valeurs de CHOICE obligation de donner les noms des champs des types structurés de nouveaux types de chaînes

Pour passer de v.1988 à v.1997 IUT-T Recommandation X.680 clause A.3Migration to the Current ASN.1 Notation Annexe ESuperseded Features Annexe H Les types ouverts 1. Vérifier la présence des identificateurs de champs dans les types structurés 2. Ajouter un : après les identificateurs dans une valeur de CHOICE 3. Remplacer les ANY par les nouveaux types ouverts 4. Remplacer les notations de macro par la notation de classe d objets ou celle des types paramétrés

Compatibilité des 2 versions Par importation et exportation de modules en suivant les consignes de la clause A.2 import de macros impossible en v.1997 import de nouveaux types impossible en v.1988 Incompatible dans un module

Les spécificités de v.1997

Types extensibles ENUMERATED, SEQUENCE, SET, CHOICE State ::= ENUMERATED{on, off, out-of-order, …, stand-by} Dimension ::= SET { x INTEGER, y INTEGER, …, z INTEGER} utilisé pour la gestion de version très proche de la notion d héritage

Object Information FUNCTION ::= CLASS { &ArgumentType, &ResultType DEFAULT NULL, &Errors ERROR OPTIONAL, &code INTEGER (0..MAX) UNIQUE} addition FUNCTION ::= { &ArgumentType SEQUENCE {a INTEGER, b INTEGER}, &ResultType INTEGER, &code 1}

Object Information FUNCTION ::= CLASS { &code INTEGER (0..MAX) UNIQUE, &Alphabet BMPString DEFAULT {Latin1 INTERSECTION Level1}, &ArgumentType, &SupportedArguments &ArgumentType OPTIONAL, &ResultType DEFAULT NULL, &result-if-error &ResultType DEFAULT NULL, &associated-function FUNCTION OPTIONAL, &Errors ERROR DEFAULT {rejected-argument|memory-fault}

Exemple addition FUNCTION ::= { &ArgumentType Pair, &SupportedArguments &ResultType INTEGER, &code 1}

Significations de la syntaxe If the field name and if it is then the field of the starts with followed by object contains &Upper-case nothing a type &lower-case a type, a type reference (Upper-case)a fixed-type value &lower-case a type field a variable-type value (&Upper-case) &Upper-case a type or a type reference (Upper-case) a fixed-type value set &Upper-case a type field (&Upper-case) a variable-type value set

Significations de la syntaxe If the field name and if it is then the field of the starts with followed by object contains &lower-case a class name (UPPER-CASES) an information object &Upper-case a class name (UPPER-CASES) an information object set

Exemple en x500 ATTRIBUTE ::= CLASS { &derivation ATTRIBUTE OPTIONAL, &Type OPTIONAL, &equality-match MATCHING-RULE OPTIONAL, &ordering-match MATCHING-RULE OPTIONAL, &substrings-match MATCHING-RULE OPTIONAL, &single-valued BOOLEAN DEFAULT FALSE, &collective BOOLEAN DEFAULT FALSE, &no-user-modification BOOLEAN DEFAULT FALSE, &usage Attribute-Usage DEFAULT userApplications, &id OBJECT IDENTIFIER UNIQUE }

+ une syntaxe WITH SYNTAX { [SUBTYPE OF &derivation] [WITH SYNTAX &Type] [EQUALITY MATCHING RULE &equality-match] [ORDERING MATCHING RULE &ordering-match] [SUBSTRINGS MATCHING RULE &substrings-match] [SINGLE VALUE &single-valued] [COLLECTIVE &collective] [NO USER MODIFICATION &no-user-modification] [USAGE &usage] ID &id }

Une valeur AttributeUsage ::= ENUMERATED { userApplications(0), directoryOperation(1), distributedOperation(2), dSAOperation(3) }

Tout ce que je ne vous ai pas dit Types de Chaînes COMPONENT OF Contraintes SEQUENCE SIZE(103) OF Type Integer(1..103) Two ::= INTEGER(2) Wednesday ::= Day(wednesday) 264

ANY et ANY DEFINED BY v ANY ::= INTEGER:12 T::= SEQUENCE {a BOOLEAN, b REAL} w ANY ::= T:{a TRUE, b{314,10,-2}} Error ::= SEQUENCE{code INTEGER, parameter ANY DEFINED BY code} 0 NULL 1INTEGER 2SEQUENCE OF INTEGER 3 SEQUENCE {param1 T1, param2 T2}

Standards internationaux ITU-T Recommandations X.680 : :1998, Abstract Syntax Notation One (ASN.1): Specification of Basic Notation X.681 : :1998, Abstract Syntax Notation One (ASN.1): Information Object Specification X.682 : :1998, Abstract Syntax Notation One (ASN.1): Constraint Specification X.683 : Parameterization of ASN.1 Specifications X.690 : ASN.1 Encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) X.691 : ASN.1 Encoding Rules: Specification of Packed Encoding Rules (PER)