Skip to content
/ ubf-thrift Public

[UNMAINTAINED] Universal Binary Format 2.2 and Thrift

License

Notifications You must be signed in to change notification settings

ubf/ubf-thrift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Binary Format and Thrift

Copyright (c) 2011-2016 by Joseph Wayne Norton

Authors: Joseph Wayne Norton (norton@alum.mit.edu).

This is UBF-THRIFT, a framework for integrating UBF, TBF, and Thrift. This repository depends on the ubf open source repository.

This repository is intended for production deployment and is deployed in carrier-grade systems.

Quick Start Recipe

To download, build, and test the ubf_thrift application in one shot, please follow this recipe:

$ mkdir working-directory-name
$ cd working-directory-name
$ git clone https://github.com/ubf/ubf-thrift.git ubf_thrift
$ cd ubf_thrift
$ make deps clean compile test

Documentation

Where should I start?

This README is a good first step.

The UBF User's Guide is the best next step. Check out http://ubf.github.com/ubf/ubf-user-guide.en.html for further detailed information.

Eunit tests can be found in the test/eunit directory. These tests illustrate a generic module that uses UBF's contract manager for checking Thrift requests and responses.

What is UBF?

UBF is the "Universal Binary Format", designed and implemented by Joe Armstrong. UBF is a language for transporting and describing complex data structures across a network. It has three components:

  • UBF(a) is a "language neutral" data transport format, roughly equivalent to well-formed XML.

  • UBF(b) is a programming language for describing types in UBF(a) and protocols between clients and servers. This layer is typically called the "protocol contract". UBF(b) is roughly equivalent to Verified XML, XML-schemas, SOAP and WDSL.

  • UBF(c) is a meta-level protocol used between a UBF client and a UBF server.

See http://ubf.github.com/ubf for further details.

What is Thrift?

Thrift is a remote procedure call protocol. See http://incubator.apache.org/thrift/ for full details.

Tools

For further information and help for related tools, please refer to the following links:

Credits

Many, many thanks to Joe Armstrong, UBF's designer and original implementer.

Gemini Mobile Technologies, Inc. has approved the release of this repository under an MIT license.

Modules

ftbf
ftbf_driver
tbf
tbf_driver
thrift_contract_parser
ubf_thrift_plugin