We are building a product that uses the apache hadoop & hbase frameworks for handling some of our big data requirements. We are also using Oracle for our reporting requirements. We are keen to go with the OSGi way of bundling our software to take advantage of the remote deployment,service management & loosely coupled packaging features that Fuse Fabric offers.
We have a few doubts in this area:
1)When it comes to our own Java apps, we now know how to create OSGi bundles out of them and deploy them over Fuse Fabric. But how do we handle Java based 3PPs that have a clustered architecture, for example HBase/Hadoop? We saw that Fuse Fabric has created a Hadoop (actually only HDFS not Map Reduce) bundle, but in general how do you go about creating FAB bundles for 3PP's?
2)How do we handle non-java based 3PPs like for example Oracle. Should we create a OSGi bundle for it and deploy over OSGi or should we install these 3PP's outside of OSGi and write some monitoring scripts that are triggered over Fuse Fabric to track the status of these 3PP's? What are the best practices in this area?
3) In general, how portable is a FAB bundle? If we need to run our system in a container other than Fuse Fabric, how much of the effort we put in towards FABizing our application is reusable?
4) Are all bundles launched over fuse fabric run within the same single JVM of the container? Some of our applications and 3PPs are huge and we may run into heap/GC issues if all of them are run inside a single JVM. What are the best practices here?
Thanks & Regards