• 20 hours
  • Hard

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Créez vos premières requêtes REST dans oneM2M

Log in or subscribe for free to enjoy all this course has to offer!

Les ressources de base de oneM2M

Le CSE (Common Service Entity)

La ressource la plus importante est le CSE, le Common Service Entity de base (CSE BASE). C’est la ressource racine qui va représenter la base de l’arborescence de ressources sur un nœud. Cette ressource permet de regrouper différentes informations sur le CSE considéré et de stocker de nouvelles ressources sous ce dernier. C’est-à-dire que, d’un point de vue hiérarchique, le CSE base sera la ressource parent et qu’il y aura des ressources filles.

Les application entities (AE)

Parmi ces ressources filles, on retrouve les Application Entities (AE). Plusieurs AE peuvent être enregistrées sous un CSE. Cela représente le lien logique entre une application et un CSE. Cette ressource a différentes utilités, mais permet notamment d’enregistrer une application distante ou locale à la couche de services (CSE).

Les containers (CNT)

Les containers (CNT) représentent une autre ressource primordiale de oneM2M. Ils permettent de structurer l’arborescence de données et de ressources

Les Content Instance (CIN)

Enfin, les Content Instances (CIN), ou instances de contenu, sont à proprement parler les ressources qui permettent de stocker des valeurs dans la plateforme.

 

Comment interagir avec ces ressources ?

Récupérer un contenu

Pour récupérer une instance de ressource, cela va passer par une requête de type GET. C’est-à-dire que l’on va récupérer du contenu stocké dans la plateforme. Par exemple, il peut s’agir là de récupérer la valeur de notre capteur de température cité tout à l’heure.

Le système va nous répondre en nous renvoyant cette ressource sérialisée dans un certain formalisme : ici, XML ou JSON.

On voit ici dans l’exemple comment cette requête sera formulée en HTTP. Le GET sera exécuté sur l’URI de la ressource que l’on souhaite récupérer. De plus, l’hôte physique de la ressource est indiqué (cela va passer par l’IP et le port, le point d’accès de la plateforme).

Ensuite, des en-têtes particuliers propres à oneM2M sont présents, comme X-M2M-Origin, pour indiquer de quelle entité provient la requête, mais aussi le X-M2M-RI qui indique l’identifiant de la requête. Enfin, un dernier en-tête spécifique à HTTP « Accept » permet d’indiquer à la plateforme sous quelle forme nous voulons récupérer la ressource (XML ou JSON, par exemple).

Une fois la requête envoyée et exécutée sur la plateforme, on a sur la figure un exemple de réponse que l’on peut recevoir. Différents attributs sont présents dans cette CIN, comme le Ressource Name (RN), le type de ressource (TY) 4 pour CIN, l’identifiant de la ressource (RI), l’identifiant du parent (PI), la date de création de la ressource et la date de la dernière modification (CT & LT). On retrouve aussi le format du contenu (CNT), la taille du contenu en termes d’octets (CS) et enfin le contenu brut : (CON) 24, la valeur de notre capteur de température.

C’est vrai que, d’apparence, il y a beaucoup d’attributs pour une valeur de température, mais ce formalisme sera similaire pour n’importe quelle instance de contenu stockée dans la plateforme, ce qui apporte de l’interopérabilité et une homogénéité. Cela permet également de conserver un historique de valeurs avec les attributs de date de création.

Envoyer un contenu

De manière similaire, on peut stocker des valeurs dans la plateforme. Nous allons voir un exemple de requête qui, dans l’absolu, peut être envoyée par le capteur lui-même.

Afin de stocker une valeur dans une plateforme oneM2M, il faut créer une nouvelle instance de contenu, donc créer une ressource. Cela passe par une opération POST sur l’URI du parent sous lequel on veut créer une ressource. En suivant, le système répond en nous signifiant que la ressource a été correctement créée.

Ici, on retrouve de manière similaire à la requête précédente la requête POST de création de la ressource. Cependant, il y a ici des informations supplémentaires, comme le type de contenu que l’on envoie. Cela permet à la plateforme de comprendre les informations qu’on lui donne. Ici, il s’agit d’une instance de contenu, sérialisée en JSON. On remarque l’attribut ty=4 indiqué dans le content-type qui permet à la plateforme de savoir que l’on crée une CIN. La plateforme va répondre en indiquant la ressource telle qu’elle a été créée et stockée (avec les attributs générés par la plateforme elle-même, comme la date de création ou l’identifiant).

D’autres types sont utilisés, comme 2 pour les AE ou 3 pour les CNT.

Vous venez de terminer la deuxième partie ! :D

Vous savez désormais ce qu’est une architecture orientée services ainsi que comment se construit une requête REST oneM2M.

Passez le quiz et faites les activités pour valider les compétences acquises dans cette partie et mettre en pratique ces concepts.

Example of certificate of achievement
Example of certificate of achievement