Via LtU, UBF:
UBF is a language for transporting and describing complex data structures across a network. It has three components:
* UBF(A) is a data transport format, roughly equivalent to well-formed XML.
* UBF(B) is a programming langauge for describing types in UBF(A) and protocols between clients and servers. UBF(B) is roughly equivalent to to Verified XML, XML-schemas, SOAP and WDSL.
* UBF(C) is a meta-level protocol between used between UBF servers.
While the XML series of languages had the goal of having a human readable format the UBF languages take the opposite view and provide a "machine friendly" format.
UBF is designed to be easy to implement. As a proof of concept - UBF drivers For Erlang, Oz, Java and TCL can be found in the download area. Implementors are welcome to add new languages.
UBF is designed to be "language neutral" - UBF(A) defines a language neutral binary format for transporting data across a network. UBF(B) is a type system for describing client/server interactions which use UBF(A).
Central to UBF is the idea of a "contract" which regulates the set of legal conversations that can take place between a client and a server.
Sounds interesting. Definitely something worth keeping track of.
Only bad thing is: the site says this is a prerelease version, and that "things change frequently", but the site hasn't been updated since March. Hmm...
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):