MongoDB Morphia in OSGi
Morphia is an object-document mapping (ODM) library for MongoDB. The Morphia core JAR is OSGi-ready. However enabling entity class resolution in Morphia when running in OSGi requires some extra steps.
Morphia is an object-document mapping (ODM) library for MongoDB. The Morphia core JAR is OSGi-ready. However enabling entity class resolution in Morphia when running in OSGi requires some extra steps.
The HTTP Whiteboard service extends the OSGi HTTP service by automatically registering servlets, filters and resource mappings with the embedded servlet container. An AngularJS application consists of static resources that can easily be deployed in any HTTP server. The deployment of AngularJS in Blueprint leverages the HTTP Whiteboard service.
We are using Atomikos, a distributed transaction processor to build transactional JDBC and JMS connection pools in Apache Karaf.
Spring Data is yet another extremely useful Spring subproject that is so tightly coupled with the Spring-specific container features, that it has become very hard to deploy it in Blueprint.
The alternative to an adaptation to Blueprint is (once again) mixing Spring DM and Blueprint bundles and importing Spring DM services into Blueprint contexts.
This article focuses on the implementation of a REST service that can be deployed on Apache Karaf using the excellent HTTP Whiteboard service. In the first part, we will concentrate on building a REST service with Apache CXF and exporting it with the HTTP Whiteboard. In the second part, we will elaborate on securing the service using Spring Security.
OpenDJ is a powerful LDAP server based on the popular OpenDS server. OpenDJ supports multi-master replication, failure auto-detection and recovery. The replication setup is extensively documented and fairly simple to setup. Apache Karaf is a customizable OSGi container with excellent support for application deployment. For OSGi application requiring an LDAP server, it would be ideal to be able to deploy OpenDJ as just another feature of the main application in Karaf.