haroldcarr.[com|org]

PEPT: Presentation, Encoding, Protocol, Transport

Erik Meijer points out a typo (or conceptual error) in an FPComplete article that calls JSON a protocol and HTTP a format.

The PEPT remoting architecture considers:

  • a transport to be something that moves bits from one location to another

    • a transport is something where the program does not manipulate header bits

    • e.g., most apps do not touch TCP/IP header bits, they just write/read from the TCP/IP streams

  • a remoting protocol is something where, besides moving bits, the program will manipulate the header bits

    • e.g., HTTP is a protocol for REST

    • e.g., HTTP is a transport for SOAP (in general)

  • a remoting format is

    • a serial encoding of the application data

    • a serial encoding of protocol and/or transport headers

    • e.g., JSON is a common application format for REST

    • e.g., XML is both the application format and the protocol format for SOAP

    • e.g., CDR is both the application format and the protocol format for CORBA IIOP

There are, of course, special cases, but the above taxonomy provides a useful separation of concerns.

comments powered by Disqus