Index Changes

REST support in OpenESB

About

This page is a consolidation of requirements, use-cases, discussions, email threads, etc, relating to REST support in OpenESB.

Goal

Main goal of REST support is to enable OpenESB components to consume/provide web services other than using SOAP/XML. Ability to interact RESTfully allows OpenESB components to leverage a variety of web services such as Google Apps, Amazon WS, salesforce.com, etc.

Short term

Make it possible.

Long term

Make it easier.

Requirements

  • OpenESB components can provide/consume RESTful services
  • OpenESB user can very easily accomplish the above using wizard/dialog boxes when creating CompApp Projects, not coding required

Use-cases

Use-cases involving REST services can be grouped into the below categories:

Use-case 1: JBI components can easily invoke an external REST-style service

Use-case 2: JBI components can be exposed as a REST-style service

Use-case 3: A JAX-RS Pojo can easily invoke a JBI component

Background for Use-case 3

Notes on JAX-RS Pojo

  • POJO's expose a resource
  • REST service by annotating POJO?
  • Let REST POJO call ESB (Like SOAP to EJB??? (Not sure I got this right I have ESB in my notes))
  • Is JAX-RS EE-only or also available on SE (Later was assumed)
  • JAX-RS only specifies a server interface. Jersey implements a client API (could be useful.)

Longer Term

First class representation of resources in ESB

Resource view of System | Services view of System (Possible? Would be nice.)

Conventions: CRUD operations and ME pattern

Mapping URL -> ESB interaction

How do we define a REST service?

  • Jersey + ESB api
    • Declarative
  • Can we annotate a POJO then generate WADL? (Reversal of contract)
  • WSDL 1.1
    • GET/POST only. Still hard.
  • WSDL 2.0
    • Is this enough of an improvement?
  • WADL as a description?
    • Jersey supports WADL? Maybe.

Issues/Concerns

Prototype

Testing

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-7) was last changed on 09-Jul-09 18:16 PM, -0700 by Edward Chou