mongowp is a Java layer that enables the development of server-side MongoDB wire protocol implementations.
Any application designed to act as a mongo server could rely on this layer to implement the wire protocol. Examples of such applications may be mongo proxies, connection poolers or in-memory implementations, to name a few.
This layer is divided into two main projects:
netty-bson
: provides an abstraction layer over a BSON document. It provides an API that hides the concrete library used to process BSON documents.mongowp
: a Netty-based implementation of the mongo wire protocol. It offers a callback-like interface (RequestProcessor interface, located in subprojectmongo-server-api
) that should be implemented to write a mongo server.
mongowp is the basis for the ToroDB database, an open source, document-oriented, JSON, mongo-compatible database that uses PostgreSQL to store the data relationally. This technique provides high performance gains and a significant reduction of the storage requirements.
mongowp is built with maven, and the artifacts are currently hosted on a public repository. You may build the source code by running "mvn package" on the root directory of each project.