Planet OSGi

Two months ago the OSGi JAX-RS was released in Version 2.0. Today I'm proud to announce Version 2.1. In addition to minor improvements, a new feature was added based on the work of Dirk Lecluse. It's now possible to register @Provider annotated objects as OSGi services. The @Provider annotation is used to register custom de/serialization. Now you can implement a custom MessageBodyWriter, MessageBodyReader, ContextResolver or ExceptionMapper,...

Read More

What happens when you mix one of the best open source communities with some awesome open source software in a really cool city like Boston Massachusetts? You get the making of one amazing conference. EclipseCon 2013 is coming to Boston (March 25-28) next year! EclipseCon has always been my favorite conference.  The technical content is top-notch, the people are great, and I usually end up hacking...

Read More

Editor's note: the Restfuse tool is no longer maintained and has been archived. However, you can still access the sources on GitHub. A few days ago my fellow Frank wrote about running HTTP/REST Integration Tests efficiently in Eclipse. Today I want to show you how to embed those tests in a headless build using Eclipse Tycho. Embedding restfuse in a build is as simple as embedding...

Read More

Update: It turned out that there is already a solution to the problem described here. The bundle org.eclipse.equinox.supplement exports the packages needed by equinox.common. This bundle is available from https://download.eclipse.org/equinox/. If you want to run Eclipse databinding, simply inlude this bundle and org.eclipse.equinox.common and you're set. You can disregard the solution explained below. Thanks Pascal Rapicault for the pointer. Eclipse databinding is separated into a core...

Read More

Back in January 2012, I wrote about the release of the OSGi JAX-RS connector in version 1.0. The connector gives you the opportunity to publish resources by registering @Path annotated types as OSGi services. I'm glad to say that the connector is in production use in many projects. It is pretty stable and as a result there was not much need for maintenance. So, why...

Read More

We are currently working on a very interesting project together with basis06 which has Apache Karaf as a target runtime. Coming from the Eclipse space this is really a challenge for the following reason: when you develop OSGi applications within Eclipse you are used to the PDE Tooling (Plug-In Development Environment) together with its concepts like features. You are also used to Equinox with its...

Read More

With OSGi we are able to implement building blocks for modular applications. Dependency injection frameworks support us in writing flexible, testable and clean code. The "Blueprint Container Specification" defines a dependency injection framework to build applications that run in an OSGi framework. The specification was added in version 4.2 to the OSGi compendium Specification[1]. This specification is derived from the Spring Dynamic Modules project[2] which...

Read More

This post shows how to develop RAP applications with Virgo. The first part guides you through the setup for a Virgo Server instance and how to extend it to become a RAP runtime. The second part is a short walkthrough of how to create a Hello World RAP application using the new RAP OSGi integration. Extend Virgo Kernel 3.0 to support the RAP Widget Toolkit 1.5 Setup...

Read More

The release of the RAP protocol is an important milestone. The protocol enables native mobile client Apps (in addition to the existing browser client) to connect to the RAP server. In other words, the data is now sent over the network by using JSON instead of proprietary JavaScript. One thing we noticed, was that the server responses were not compressed anymore by the server. On company...

Read More

When adopting the Whiteboard Pattern for one of our Eclipse RAP based web applications, we stumbled upon a problem concerning the session scope of events. Here's how we solved it. The Whiteboard Pattern in OSGi development is an alternative to the event listener or Observer pattern commonly used in Java programming. In an OSGi environment, the Whiteboard Pattern is widely considered to be the better choice...

Read More