Servlets are so ‘90s!
JAX-RS (JSR 311) is the community-driven Standard for building RESTful web services with Java. The reference implementation for JAX-RS is Jersey and ships as OSGi bundles. Unfortunately the OSGi integration does not provide much more. To properly use Jersey in an OSGi context, a number of bootstrapping issues must be overcome, including:
- Fighting classloaders
- HttpService integration
- Dynamic bundle lifecycle concerns
- Declarative service integration
The popular OSGi-JAX-RS Connector project provides deep OSGi / Jersey integration. The connector allows you to simply focus on your REST API by registering and consuming your http resources as OSGi services.
In this live coding session, we will create a REST API from scratch using Eclipse Equinox and the JAX-RS Connector. The audience will come away with an understanding of JAX-RS, OSGi services, and how to create and consume a REST API based entirely on reusable Java Interfaces.