Copyright (c) 2011-2016 by Joseph Wayne Norton
Authors: Joseph Wayne Norton ([email protected]
).
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.
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
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.
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.
Thrift is a remote procedure call protocol. See http://incubator.apache.org/thrift/ for full details.
For further information and help for related tools, please refer to the following links:
-
Erlang - http://www.erlang.org/
-
R15B01 or newer, 17.0 has been tested most recently
-
-
Git - http://git-scm.com/
-
Git 1.5.4 or newer, Git 1.9.3 has been tested most recently
-
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.
ftbf |
ftbf_driver |
tbf |
tbf_driver |
thrift_contract_parser |
ubf_thrift_plugin |