This document discusses Felix HTTP, a modular web application framework. It provides an overview of the current state, available extensions, and a new specification. The new specification standardizes the whiteboard pattern and adds support for asynchronous servlets, filters, listeners, custom error pages, WebSockets, SPDY, and the Servlet 3.0 API. Future work includes finalizing the new specification and improving support for technologies like SPDY and WebSockets.
3. Marcel
Offermans
Director at Luminis Technologies, Fellow at Luminis
Currently working on Amdatu
Apache Member, Committer and PMC member at Apache ACE and
Apache Felix
7. Deployments
Compose modules into different deployments
Low bandwidth by just sending changed modules
Fast deployments by being able to update running applications
12. HttpContext
Provides secure access to servlets and resources.
Layer of abstraction for resource loading.
publicinterfaceHttpContext{
booleanhandleSecurity(HttpServletRequestrequest,
HttpServletResponseresponse);
URLgetResource(Stringname);
StringgetMimeType(Stringname);
}
13. Web Application
Specification
Part of the OSGi Enterprise Specification, chapter 128.
Web Application Bundle (WAB) are extended Java EE WAR files.
They have optional JSP support.
Integration with OSGi BundleContextand service registry.
15. Whiteboard
don't call us, we'll call you!
Register your Servletin the service registry and add a property called
aliascontaining its endpoint.
For more information:
http://www.osgi.org/wiki/uploads/Links/whiteboard.pdf
16. Filters
Just like Servlets, these can be registered whiteboard style
or use explicit registration:
the ExtHttpServiceservice from Felix HTTP
the WebContainerservice from PAX Web
17. Amdatu Web
Resources
of the open source project (Apache Licensed).Part Amdatu.org
X-Web-Resource-Version:1.1
X-Web-Resource:/amdatu-resources;resources
X-Web-Resource-Default-Page:index.html,/doc=javadoc.html
Include-Resource:resources=resources/basic
19. Amdatu Web
REST
Extensive support for based on industry standards.REST endpoints
JAX-RS based annotation support.
Includes support for Jackson mappings.
Self-documenting endpoints with Swagger.
21. Self-
documenting
Endpoints
Swagger is a library that creates documentation for endpoints based on
JAX-RS annotations plus some extras.
Go to Swagger documentation