REST support in OpenESB
This page is a consolidation of requirements, use-cases, discussions, email threads, etc, relating to REST support in OpenESB.
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.
Make it possible.
Make it easier.
- 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 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.)
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
- 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.