Login | Register
My pages Projects Community openCollabNet

hjb
Project home

On Friday, May 18, the normal maintenance window (17:00 Pacific time) will be extended for data center maintenance until 23:00 Pacific. No extended down-time is planned, but brief delays and interruptions are possible throughout the period.

If you were registered and logged in, you could join this project.

Summary HJB (HTTP JMS Bridge)
Category libraries
License GNU Lesser Public License
Owner(s) tbetbe

HJB (HTTP JMS Bridge)

HJB - the HTTP JMS Bridge

Mission

HJB provides access to JMS resources via HTTP.

Scope

HJB

  • is language-neutral: it will allow the writing of software libraries for communicating with JMS providers in any language that has libraries for communicating over HTTP.
  • is RESTful: it provides a RESTful equivalent to all of the non-optional portions of the JMS API including
    • registration of resources administered by the messaging provider
    • connection and session management
    • sending and receipt of all types of JMS message

Implementation overview

HJB

  • is deployed as a servlet (HJBServlet), that can run on any compliant Servlet specification 2.4 container.

  • will work with any messaging vendor that provides a JMS interface.

  • aims to do one thing well. Its role is to act as an HTTP gateway server for JMS resources. Other potentially useful features are deliberately excluded, e.g,

    • HTTP session management
    • authentication and authorization

    These can be added by using other HTTP servers in the HTTP request processing chain, e.g, another servlet, Apache httpd, Zope, RubyOnRails, AddYourFavouriteWebServer here.

  • is extensively unit tested using JUnit and JMock

  • aspires to make the best possible use of the HTTP protocol, and to be a thin, transparent layer so that there is very little obtruding between HJB client code and the JMS API. E.g,

    • success or failure of each request is indicated by the HTTP response code,
    • a descriptive status of each request is returned to the HTTP user agent in the response header,
    • status messages are detailed, clear and fully internationalized,
    • all faults are logged on the server and match the status messages returned to the user agent.
Copyright © 2006 Tim Emiola. All rights reserved.