Hi Mike,

maybe some input from my experience is useful.
Within our Karaf cluster OSGi services are grouped by functionality like one
Karaf node for Mariadb facades, one for Oracle facades, two for integration
projects, one facade for ERP interaction etc...
The Karaf is a homebrew dynamic one covering the basics every node needs to
have in the cluster, like DOSGi (Cellar).
The nodes with the specific functionalities build on a node specific basic
multi maven module project, inheriting from the home-brew Karaf pom. This
basic project brings the BOM for the functionality for that node like Aries
JPA, Hibernate, MariaDB driver and PAX JDBC for the MariaDB node. Every
MariaDB database then gets its own multi maven module facade project
building on that basic project for the node.
This makes it easy extendable and up-gradable per project / facade /
database / node adding more and more methods to the facade as we go along.
Think Symantic versioning.
Because our backend nodes do not have WAN access every multi maven module
project gets packaged in KAR files containing al the jar files needed for
installment. The one disadvantage is that the Karaf maven plugin packaging
the KAR file cannot extract specific dependency parts of other feature XML
files like the camel-ftp feature. So this is a manual copy past action.
Karaf Cellar builds the cluster on runtime and besides cluster provisioning,
exposes specific marked services within the cluster as if they are local to
every node on the cluster (DOSGi), even the event admin can send events into
the cluster. 
Cron-Jobs are mostly used within our integration projects on the integration
nodes and that is where we use Apache Camel a lot, having all the EIP
functionality you can wish for and a powerful DSL.

Hope this inside view helps and improvements and discussions of my
architecture are always welcome.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html

Reply via email to