I can tell a little about my experience with karaf. Here we have an ERP writen in delphi (that was written in natural before that) which we need to "upgrade" to a cloud capable software, using the same database and mantaining the old software while we rewrite negotial rules in java. Great part of our clients are small-medium with on-premises, so we had to maintain a architecture easy enough for on-premises and able to use a cloud structure with clusters and so on.
So, we are using karaf for that, OSGi services lets us to build "microservices" and have a easier reuse of Negotial Rules, with common transactions and so on (icks for XA . Well, it works, but we have some headaches, we had to build or own dependency mechanism, because every single feature refreshed the hell of karaf, we also built an remote admin to update services on-the-fly in every single customer, it's working quite nicely, we still have some trouble with failed bundles, but nothing irremediable. Two things that would help us a lot, a spring-boot like app and an easier way to update karaf version, for the updates we had to create a updater which saves a list of negotial bundles, reinstall karaf and restores the bundles, it works but it's quite meh. -- Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
