1 Reply Latest reply on May 4, 2016 11:51 AM by Sundar Munirathnam Rajendran

    How do we maintain technical currency in FUSE

    Janahan Seelan Newbie

      Hi All,


      Firstly, I'd like to point out that I'm a solutions architect but a complete novice when it comes to the FUSE platform. Having said that I've been writing enterprise apps for a long time and am now looking to rollout a suite of mobile solutions. Our company has chosen FUSE as the integration/services platform and in the pocess employed a FUSE expert from an offshore company to get FUSE setup and running. I have to say he's done a stella job so far. But there are a couple of things that him and I patently disagree on when it comes to develpoing backend software for these mobile apps. The core issue is that of mantaining technical currentcy on an OSGI platform. To ellaborate:


      * We currently have FUSE 6.0. There is no roadmap to upgrade it at the moment.


      * The FUSE expert insists that we use the FUSE supplied/endorsed OSGI components for Spring and Hibernate (namely Spring 3 and Hibernate 3) and any other libs. That is if it comes with FUSE 6.0 we must use that version.


      * Me being an application architect want to use the latest and greatest (Spring 4 and Hibernate 4) however these libs are not supported by Redhat in their OSGI forms for FUSE 6.0.


      * Now I could just include these libs as party of my application jar but the FUSE expert believes that promotes bloatware on the FUSE platform and that I should be using what comes out of the box with FUSE. He points out that application bundles should be in the KBs and not MBs with large libs like Spring 4.x and Hibernate 4.x and other thirdparty APIs.


      * So where do we go from here. What is the right way to promote technical currentcy on FUSE and still keep true to its OSGI roots?


      That is, ideally what I'd like to see, is us being able to use incremental versions of third pary libs on FUSE with different applications using different versions like:


      Application X uses Spring 3.0.8

      Application Y uses Spring 4.1.2 etc...


      Your thoughts comments  feedback would be greatly appreciated.




        • 1. Re: How do we maintain technical currency in FUSE
          Sundar Munirathnam Rajendran Newbie

          This is a problem at lot of companies , Fuse is largely dependent on Karaf and Camel and Fabric 1.x , it is advisable to use the available packages within the fuse ( primarily for support reasons ) . If you can osgi'fy the spring bundles i don't see a reason why you cannot use Spring 4.1.2 ( and also its dependent bundles and its dependent bundles ) , this is OSGI world ,as long as your developers are aware of the dependencies they are using with in Application X and Application Y it should be safe to use ( but will be unsupported and you may/will run in to problems , after all it is not certified on the product ) .


          I would advise you to move to latest version of Fuse , 6.0 is very old ( though supported if you have a subscription ) . Do not touch the karaf or camel dependencies , and you should be good . But my advise would be to stick to the products certified versions or upgrade your product.