ModeShape 3.0 and JBoss AS 7.2
rhauch Oct 15, 2012 11:06 AMOne of our goals for ModeShape 3 is to have integrated support for deploying and managoing repositories within JBoss AS 7. During the 3.0 development period, we've started out by creating a kit for installing ModeShape into AS 7.1.1.Final, but there are a number of pretty big issues with Infinispan in AS 7.1.1.Final. One issue is that it uses a slightly older version of Infinispan (5.1.2.FINAL) than the much improved and lastest stable release (5.1.6.FINAL). A second issue is that the Infinispan subsystem (the component that integrates Infinispan into the AS7 ecosystem) is immature and incomplete.
Because of these issues (and probably other AS7.1.1 issues), several users started using AS 7.2, which is still under very active development. Enough changed in AS 7.2 that ModeShape's kit for AS 7.1 doesn't install cleanly into AS 7.2, so we created a separate kit for AS 7.2 to make it easier for them and to help prepare ModeShape for when AS 7.2 is released. Keeping that kit for AS 7.2 up-to-date has been fairly difficult, since the AS 7.2 codebase has been changing quite frequently - the kits for AS 7.2 that we included in our Beta and CR releases do not last very long and (sometimes within days) no longer work with AS 7.2 built a few days later. Simply put, it's very time consuming and error prone to write software that must integrate with a rapidly changing system. And to cap things off, the AS 7.2 codebase just switched from using Infinispan 5.1.x to 5.2.0.Beta1, which is not 100% backward compatible with the Infinispan version we're using.
We're now ready to release ModeShape 3.0.0.Final, but still have yet to see the first AS 7.2.0.Alpha1 release. We simply cannot include the ModeShape kit for AS 7.2 in our release. Firstly, if we did include such a kit, it would only work with out-of-date snapshots of AS 7.2 (which nobody would want to use nor should be using). Secondly, even community support would be reallly difficult, since we could never be sure that users are using the same AS 7.2 snapshot version that we tested with. Believe me, we're just as disappointed as you.
What does this mean for 3.1, which we want to release in roughly 6 weeks? We had hoped that in 3.1 we could simply move to one of the latest stable releases of Infinispan 5.1, allowing us to focus more on our features and enhancements and less on integration. We'll add a kit for installing ModeShape into EAP 6.0.0, which includes fixes for all of the issues we have with JBoss 7.1.1.Final and is also fully-supported. However, we don't think Infinispan 5.2 or AS 7.2 will be stable enough for us to support them.
Back when we first started on the 3.0 effort and considering relying more heavily on Infinispan (and even JBoss AS), we knew that doing so would be more limiting and that we'd have to live within the constraints of their release cycles. Even with these challenges, we still think we made the right decision. Both Infinispan and AS 7 offer a tremendous amount of functionality - reinventing all of that is simply not an option. Plus, reusing those libraries means that we benefit from the many, many people that are using, integrating, testing, and improving Infinispan and JBoss AS7, while we focus on building and improving the fastest, most scalable hierarchical database technology.