Sunday, April 13, 2014

Apache Karaf 2.3.5 and 3.0.1 Released!

The Apache Karaf team are pleased to announce the availability of Apache Karaf 2.3.5 and 3.0.1!

These releases provide system update patches to the 2.3.x and 3.0.x lines. It is recommended that you review our release notes before updating your deployments.

This release process has been something more special, as we produced two release candidates for review at the same time - hence double decanter day.

The Karaf 3.0.1 RC process was enjoyed with Gabbiano Chianti 2011, while the Karaf 2.3.5 RC was enjoyed over a bottle of Fetzer Vally Oaks Zinfandel 2010.

Best release process ever.

Happy developing!

Thursday, April 10, 2014

Double Decanter Day!

Apache Karaf 2.3.5 and 3.0.1 Release Candidates are both up for vote!

I'll apologize that I had to switch over the Extravaganza Trapiche 2013 to a Gabbiano Chianti 2011 (Karaf 3.0.1). The former bottle accidentally made it into the general consumption collection.

The Karaf 2.3.5 RC is being enjoyed with a bottle of Fetzer Vally Oaks Zinfandel 2010.

Please take some time to down load the RC kits, or build from tags in git. The more testing the better for the community. In the mean while I'm going to setup two decanters and enjoy the breathing process twice over :)

Monday, March 24, 2014

Thursday, March 13, 2014

Apache Karaf 3.0.0 on Raspberry Pi!

The question we've all been asking finally answered - yes, Apache Karaf 3.0.0 can run on Raspberry Pi! 

If you're not familiar with Raspberry Pi it's a small, inexpensive computer which at its heart runs a 700 MHz Low Power ARM1176JZ-F Applications ProcessorCPU with 512MB ram.

My build utilizes a Debian based Linux distro, Raspbian, and an Arm compatible Oracle JDK build.

Out of the box I had to make some small modification to the Karaf shell script. The "server" flag was not recognized by the Java installation on my RPi. Editing this out of the script allowed Karaf to start up happily.

First Boot!
I have a feeling there are lots of performance gains to be made with some careful tweaking of JVM parameters.
Other than having reduced memory, IO, and CPU resources in comparison to the Servers and Workstations I'm used to working upon the RPi shown itself to be a very capable platform.

What about the Service Wrapper?

Almost there, however this is about as far as the service wrapper will go on RPi platform :(

Unfortunately that feature still does not operate out of the box on Raspberry Pi. A Jira ticket has been filed for this deficiency, hopefully an Apache License compatible solution will be found.

Wednesday, March 5, 2014

Preparing for Apache Karaf 2.4.0, and 3.0.1

We have two Apache Karaf releases currently on our radar - Apache Karaf 2.4.0 and 3.0.1.

Apache Karaf 2.4.0:


Our next iteration of the 2.x line will introduce: The latest Aries and Pax libraries, Apache Pom 13, add support for role-based JMX authorization, includes heap dumps when we create debugging data from create dump command, blueprint-web feature, support for JAAS groups, and includes Pax CDI feature. Of course there are many other new additions, which you'll have to read about in the release notes.

To prepare I've selected a bottle of Barbera D'asti Bersano 2008 to decant while listening to Arcade Fire's album Reflektor.

If you're interested in watching our progress towards a stable release candidate please tune into https://builds.apache.org/job/karaf-2.x/ for our daily Karaf 2.x branch builds.

Apache Karaf 3.0.1:


This will be our first patch release of the 3.0.x line after our long awaited 3.0.0 GA.

Highlights include updates to Felix, Pax, and Aries libraries, inclusion of Pac CDI, added support for displaying Gogo commands in Karaf console, and an updated OpenJPA feature. Many more improvements and bug fixes are provide, and it is highly recommended that you consult the release notes.

To prepare for this patch, I've selected a bottle of Extravaganza Trapiche 2013 to decant while listening to Pearl Jam's album Lightening Bolt.

If you're interested in watching our progress towards a stable release candidate please tune into https://builds.apache.org/job/karaf-3.0.x/ for our daily Karaf 3.0.x branch builds.

Release Process:

We've recently made the switch to Git from Subversion, and have successfully produced our first few major and minor releases under the new system. For those of you whom are interested in some of the changes that occurred behind the scenes, please visit our release guide.

Monday, February 17, 2014

What's on my OSGi book shelf?

I've been asked many times over the years "what books do you have on OSGi?". Initially all I could point people to was the OSGi spec, blogs, and project demos, these days however my book shelf contains many titles. Let's have a look at them.
OSGi books on my book shelf.

OSGi Starter:

Brand new to OSGi? This book is for you. In a brief format the authors introduce you key OSGi concepts, and provide you with definitions, explanations, and examples to get you and your team thinking in modular Java.

Find a copy here: OSGi Starer.

OSGi in Action:

Simply a must read for anyone looking to take a deep dive into the nuts and bolts of OSGi. The first three chapters alone should be essential reading to all developers looking to understand OSGi  bundles, life cycle, and services.

Find a copy here: OSGi in Action.

OSGi core reference and compendium (not pictured above but essential):

The OSGi Alliance publishes the core specification and compendium. These documents are very dense, aimed towards those of us implementing the framework and services. The alliance also hosts an OSGi wiki that is a first stop for quick terminology explanations.

Find a copy here: OSGi specification.

Enterprise OSGi in Action:

Another must read for Enterprise users of OSGi. This book will walk you through using servlets, JSPs, WARs, and JPA. Most importantly it'll give you solid advice in using Blueprint.

Find a copy here: Enterprise OSGi in Action.

Java Application Architecture:

A must read for all Java developers looking into modular design. Even if you do not want to use OSGi you should still read this book for its valuable insights into software architecture. I'd also suggest visiting the author's site for the modular pattern catalog - so many cool concepts to read about here.

Find a copy here: Java Application Architecture.

Learning Apache Karaf:

Brand new to Apache Karaf? This book is for you. In its pages you will be introduced to the OSGi-based container, and learn best practices by example. The book shows you how to set up an Apache Karaf distribution, and how to arrive at a production-ready deployment. Learning Apache Karaf teaches you everything you need to install, configure, and administer Apache Karaf.

Find a copy here: Learning Apache Karaf.


Certainly the above represents a lot of reading, and digesting of core concepts, and expert tips. To help make adopting OSGi and Apache Karaf easier Savoir Technologies offers a training course that introduces your team to the key concepts, builds confidence, and delivers expert tips. For more information please visit http://www.savoirtech.com/services/training/developer-training-for-osgi-apache-karaf.


Sunday, February 16, 2014

Nursing a cold, better write a blog update.

I've been relatively quiet posting to my blog the last few months, a lot of that has been due to travel, work, and few background projects I've puttering away on. Given I'm home nursing a cold I thought I'd update you all on a couple of things I've been working on:

Automated Apache Karaf Builds:

Suse Enterprise Linux,  Ubuntu, and Windows 7 Pro Jenkins Nodes in Action
To help make performing Apache Karaf releases easier I've invested in operating a small Jenkins testing infrastructure. Each node is built on a Dell 110ii server, with Xeon processor and SSD disk. Karaf, along with other projects I'm tracking, are built nightly on various platforms such that I can quick gauge their health status. When a release become immanent I log into the master Jenkins node and quickly issue a build on the platforms before kicking off the release candidate build. This saves me a lot of time as I can often catch platform specific build bugs before having the community begin a RC vote. These builds augment the reports generated by https://builds.apache.org - providing me with more platform coverage, thereby increasing our RC confidence.

Learning Apache Karaf:

As posted here before, my Fall was taken up in writing and finalizing Packt's Learning Apache Karaf.  From feed back I've received many have found it a useful resource for introducing their teams to Apache Karaf, others have commented that they wished we could have dived deeper into development on the platform - to remedy this request a new project was undertaken...

Apache Karaf Cookbook:

Our last Karaf book introduced users and administers to the basics of Apache Karaf. While providing a great overview many people asked for more in depth examples of using Karaf to accomplish everyday tasks. To this end we (Johan, Heath, Achim, and I) have under took a new project to build a recipe book of Karaf projects for Packt Publishing. The work has been underway for the last two months, and we expect it to continue through to the summer season. Topics such as making Karaf production ready, using Apache Camel, ActiveMQ, and CXF in Karaf are covered and so many more! We're really excited to be working on this project and hope that it satisfies our readers thirst for more demos and in-depth explanations.