2010-07-22 9 views
1

Je développe un «protocole» ouvert pour les services de covoiturage dynamique utilisant des téléphones portables. Il est basé sur XML-RPC et utilise des objets gérés en tant que paramètres (tout comme Soap).Un protocole basé sur un protocole existant est-il toujours un protocole?

Chaque entité et chaque opération seront fortement documentées dans le brouillon. Par exemple, regardez ce premier squelette d'un objet Prefs documenté à utiliser dans le protocole.


Préf objectera

Stocke les préférences d'un voyage fixé par la personne qui crée [..]

Attribute Type  Requirement 
age   string  MAY 
nonsmoking boolean  MAY 
gender  string  MAY 
drive  boolean  MAY 
ride  boolean  MAY 
  • Même si tous les attributs d'objets Préf sont facultatifs , les objets de type Prefs DOIVENT être fournis lors des appels XML-RPC. En cas de zéro attributs prévu un representend objet vide avec une structure XML-RPC vides doivent être fournis
  • genreMUST être l'une des valeurs { 'M', 'F', 'B' }, ce qui signifie 'homme', 'femme' ou 'les deux'

Ce qui suit est un objet valide Préf utilisé dans les opérations de protocole:

<struct> 
<member> 
    <name>nonsmoking</name> 
    <value> 
    <boolean>0</boolean> 
    </value> 
</member> 
<member> 
    <name>gender</name> 
    <value> 
    <string/> 
    </value> 
</member> 
<member> 
    <name>ride</name> 
    <value> 
    <boolean>0</boolean> 
    </value> 
</member> 
<member> 
    <name>drive</name> 
    <value> 
    <boolean>0</boolean> 
    </value> 
</member> 
<member> 
    <name>age</name> 
    <value> 
    <string>18-40</string> 
    </value> 
</member> 
</struct> 

Une opération utilisant des objets Prefs aurait une description complète d'une opération HTTP POST avec tous les détails, etc.

Appelez-vous celui-ci un protocole ou encore une API? C'est-à-dire, si nous écrivons un protocole basé sur un autre protocole (dans ce cas XML-RPC), le dérivé travaille-t-il encore un protocole?

Je voudrais savoir parce que je vais en parler dans ma thèse de bachelor et je ne veux pas dire quelque chose de très stupide :)

Merci!

Répondre

3

Strictement parlant, chaque API est un protocole. Les protocoles sont souvent basés sur d'autres protocoles. TCP est basé sur IP. HTTP se trouve en haut sur TCP, HTTPS est basé sur HTTP et ainsi de suite.

Votre protocole n'est pas un protocole réseau, mais un protocole de communication au niveau de l'application.

+0

Merci beaucoup pour la clarification! – dgraziotin

2

Le protocole lui-même est semblable à un mécanisme qui fournit un ensemble de fonctions connexes fonctionnant sur des nœuds du réseau. La couche supérieure du protocole peut être une application ou un autre protocole. Le protocole fournit une API (aka Service Access Point) à la couche supérieure pour accéder à ses fonctionnalités.