The project goal for jabsorb is to maintain (and hopefully improve) the practicality and beautiful simplicity that makes JSON-RPC-Java a great library, while also adding new common sense features, more test cases, and more documentation to make the library better for everyone.
jabsorb also aims to add more advanced ORB features, while maintaining complete backward compatibility to the JSON-RPC specification when these advanced features are not used. We are also going to submit some of these new features for consideration into the JSON-RPC specification itself (especially circular references support.)
Why are we forking?
1. JSON-RPC-Java has not had a release Since March 28, 2006 and that’s about a year and a half at the time of this writing.
In that time, some new changes and features have been checked into the CVS (and now SVN) trunk, but no official or unofficial releases have been made.
Many great ideas and suggestions have been posted to the mailing list, and it appears that many people are running on their own locally modified copies of the library– there doesn’t seem to be any cohesive strategy for getting the ideas into the library in a timely fashion.
jabsorb has been created to incorporate the best of these suggested features with a much tighter and faster build/release cycle.
We hope to have a new build released on the order of every 1 to 3 months.
2. We honestly don’t know where Michael Clark (the JSON-RPC-Java project lead) is, or what happened to him! We sincerely hope he is OK, but he has not responded to any posts on the mailing list for well over a month, nor has he responded to personal email regarding the direction of the library. There does not seem to be any other point of control of the library and it all appears to be underneath the corporate umbrella of metaparadigm.
jabsorb is hosted by google code with multiple owners.
Here are the new features that we will be releasing very shortly:
jabsorb 1.1 The goal of this release is to have a baseline that is a fork of the JSON-RPC-Java library we all know and love, with all the features from the latest unreleased SVN trunk from the parent library, along with some basic clean up and a few minor new useful features:
- Support for JSONObject and JSONArray raw serializers (this is an unreleased JSON-RPC-Java feature.)
- Support for SLF4J logging so that user’s may have a choice of the underlying Java Logging System (this is an unreleased JSON-RPC-Java feature.)
- Repackage code into org.jabsorb package space.
- Add much more Javadoc and comments in the code and clean up code style.
- Upgrade to latest json.org library which has many bug fixes and nice features.
- Json pretty printing in DEBUG output (greatly aids debugging.)
- Optional GZIP compression integrated into JSONRpcServlet.
- Caching of list method calls for Callable References.
- More unit tests.
jabsorb 1.2 This release will introduce some significant new features:
- Circular References. This has been requested for quite some time, and we think we have a winner implementation!
- Security Policy. A flexible framework to better secure your server exposed objects and method.
- Constructors. A way to construct objects directly via json-rpc.
- JSONMap and JSONList. Alternative JSON containers with new serializers for simplifying the passing of Maps and Lists.
- Remote Map. Allows an array to have a server-side function called on each element with one request-response pair.
We are putting the finishing touched on the 1.1 release right now, and expect to have a build within the next week.
Some of the 1.2 features are done as well, and we are expecting to have the first 1.2 release build within a month after the 1.1 release, with a test release possibly even sooner.
Currently the jabsorb team consists of Arthur Blake and William Becker. Raziel Alvarez has shown some interest and minor commitment in contributing as well.
For the time being, I will be the self proclaimed benevolent dictator with William as a close backup.
We welcome ideas and input from anyone who wants to contribute. Contributions will be analyzed by the team, in the benevolent dictator style of open source project management.
UPDATE: jabsorb has re-merged with the original JSON-RPC-Java project (but retained the jabsorb name.) The project is now managed under an apache consensus style, with 3 team members on the commitee, Michael Clark, the original creator of JSON-RPC-Java, myself and William Becker. We think this will result in an even better library for the community, and I am excited about these changes. Stay tuned for a major new site and infrastructure roll-out.