Mdu, the main goal is to have it OSGi runtime independent as much as possible since we target other application servers too. We try to be as OSGi spec compliant as we can and if it comes to JBoss OSGi we use it as reference runtime that delivers enterprise OSGi (not completely yet). So we are quite dependent on its roadmap, for instance JPA integration is one of really important parts we are waiting for. Currently we found some workarounds to make our platform to meet requirements but to have it flexible as expected we do require following:
- JPA integration
- DI like blue print or similar
- optionally WAB (web application bundles) to have clients completely OSGi'fied ;)
Mdu Keswa wrote:
2. The runtime and platform being worked on - how does it compare/contrast to other ongoing efforts such as Eclipse RT/Spring DM?
I do not see it as a competitor of mentioned platforms. What we try to deliver with as we call it "platform" is dynamic ecosystem for BPM, BRM, CEP in one box that is ready for both business needs and IT needs. As business needs I mean agility in applying changes to your business artifacts (processes, rules, events, etc) without affecting already running instances (or at least minimize the risk of affecting them). As for IT needs it is never-ending story with upgrades, especially important in open source world where releases are more often and what is even more important to me, you (as user of the project) can decide to build it yourself (with some extra features or bug fixes) before official release. The platform is aiming at simplifying that and allowing both parties to operate on its full speed :) In general, as it rely in OSGi it should be possible (with some tweaks) to host it on Eclipse RT/Spring DM - I believe...
Mdu Keswa wrote:
3. I do understand conceptually the above - but is it possible to also articulate the gap/pains/challenges this effort is filling/addressing in the Java OSGi space so that there are guiding principles around which the platform requirements are hinged?
A good one :)
This is very wide topic but I will try to put some thoughts here as they may cause other questions and further discussion. In fact the main challenge is to make the design truly modular and OSGi really enforces that. I believe we have past this and have quite clean and simple architecture, but I do think it will evolve once we start some playarounds in more advanced setup (clustering, distributed caches, etc). One of the gap (in fact we have not yet spent too much time on it) is human task server. As we work on the platform having multitenancy in mind we did not decide on how to host task server on the platform. Of course it will rely on OSGi delivering services through service registry (so all dynamics and versioning will be secured) but how to expose it to its counterparts (process engine and its sessions) is still not fixed.
I hope I provided you with some answers and if you have any other I am more than happy to continue this discussion as I do believe it will make users and developers of jBPM and Drools life much easier. In addition our business users will appreciate it even more :)
Cheers