A binary protocol is a protocol which is intended or expected to be read by a machine rather than a human being, as opposed to a plain text protocol such as IRC, SMTP, or HTTP. Binary protocols have the advantage of terseness, which translates into speed of transmission and interpretation.
There has always been tension between two software development camps that believe new protocols should preferably be text based or binary, respectively. In recent years, with the ready availability of network bandwidth and mass storage, the text based camp has been gaining significant ground - XML and JSON-based systems are nearly ubiquitous.
Binary protocol is also used in the context of a protocol between exactly two parties, in contrast to a multi-party protocol. Binary protocol, or binary collaboration have been used in the terminology of standards such as EbXML and EDOC. An interface in the UML  may also be considered a binary protocol.
- http://www.omg.org/technology/documents/formal/edoc.htm EDOC
- http://www.uml.org/ Unified Modeling Language
- Chapter 5 of "The Tao of Unix Programming" champions textual formats over binary protocols.
|This software engineering-related article is a stub. You can help Wikipedia by expanding it.|