Является ли протокол, основанный на существующем протоколе, протоколом? - PullRequest
1 голос
/ 22 июля 2010

Я разрабатываю открытый «протокол» для динамических сервисов, использующих мобильные телефоны.Он основан на XML-RPC и использует маршалированные объекты в качестве параметров (совсем как Soap).

Каждая сущность и операция будут тщательно документированы в проекте.В качестве примера рассмотрим этот первый каркас документированного объекта Prefs, который будет использоваться в протоколе.


Объект Prefs

Хранит настройки набора Tripлицом, которое его создает [..]

Attribute   Type       Requirement
age         string      MAY
nonsmoking  boolean     MAY
gender      string      MAY
drive       boolean     MAY
ride        boolean     MAY
  • Даже если все атрибуты объектов Prefs являются необязательными, объекты типа Prefs ДОЛЖНЫ предоставляться при выполнении вызовов XML-RPC.В случае нулевых атрибутов ДОЛЖЕН быть предоставлен пустой объект-представитель с пустой структурой XML-RPC
  • пол ДОЛЖЕН быть любым иззначения {'M', 'F', 'B'} , означающие «мужчина», «женщина» или «оба»

Ниже приведен допустимый объект Prefsиспользуется в операциях протокола:

<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>

Операция, использующая объекты Prefs, будет иметь полное описание операции HTTP POST со всеми деталями и т. д.

Вы бы назвали этоПротокол или еще API?Т.е., если мы напишем протокол, основанный на другом протоколе (в данном случае XML-RPC), будет ли производная работа снова протоколом?

Я хотел бы знать это, потому что я буду говорить об этом в моемдиплом бакалавра и я не хочу говорить что-то очень глупое:)

Спасибо!

Ответы [ 2 ]

3 голосов
/ 22 июля 2010

Строго говоря, каждый API - это протокол.Протоколы часто основаны на других протоколах.TCP основан на IP.HTTP лежит на вершине TCP, HTTPS основан на HTTP и т. Д.

Ваш протокол - это не сетевой протокол, а протокол связи прикладного уровня.

2 голосов
/ 09 февраля 2012

Сам протокол похож на механизм, который предоставляет набор связанных функций, работающих на узлах в сети. Верхний уровень протокола может быть приложением или другим протоколом. Протокол предоставляет API (он же Service Access Point) для верхнего уровня для доступа к его функциям.

...