NetBeansPlatformWithRest
Netbeans Platform: REST Use Cases
Contents |
USE Case 1
- user implements a REST service in Web Application project (works since 6.0)
- user creates a Netbeans Module (Netbeanse Module Suite) (works)
- user consumes a REST resource (from WebApplication) (implemented 6.9 M1)
USE Case 2A
- user provides a registration of a REST service in Services tab (Web Services section) (works since 6.5) (works from WADL file)
- user creates a Netbeans Module (Netbeanse Module Suite) (works)
- user consumes the REST service (registered in Services tab) (planned for 6.9 M2)
USE Case 2B
- user creates a Netbeans Module (Netbeanse Module Suite) (works)
- user consumes the REST service from the list of popular SAAS services, registered in Services tab, e.g. Flickr -> Photo Service -> Rest -> photos_search (planned for 6.9 M2)
What's already supported, what's not
Use Case 1, Step 1
- this is implemented since 6.0 release
Use Case 2A, Step 1
- already possible to register REST resources based on wadl file
- Improvement: would be nice to be able to register REST resources from project (without need of deployment)
- this requires to support generation of wadl file from project
- also support generation of wadl file from ApplicationPath (rest application)
- Improvement: improve the current UI of web services in Services tab
- may be useful to have extra top level nodes for REST services and for SOAP services
- it isn't obvious in Add Web service dialog that wadl file is acceptable( fixed M1)
Use Case 2A, Step 3
- already possible to Drag&Drop REST resource to java file in Netbeans module. The client classes are generated based on JDK+JAXB.
- Problem: requires jdk1.6 or higher, or jdk1.5 with JAXB library wrapper
- to work with jdk1.5 seamlessly we need to improve library wrapper in Netbeans Module: issue 178735
- Improvement: improve Drag&Drop UI
- provide options for REST Client:
- A: JDK 1.6 client (JDK 1.5 + JAXB)
- B: Jersey Client (this requires to wrap Jersey library to project:issue 178735)
- generate Jersey client for particular Rest Resource/HTTP method combination
- provide options for REST Client:
Use Case 2B, Step 2
This is similar to Use Case 1, Step 3. Moreover, we need to
- Problem: we also need to wrap the Saas Service request/response data model (e.g. Facebook.jar) to project: issue 178735
Farther improvements
- help user to select JAXB classes from another projects, or generate JAXB from XSD)
- help user to specify JAXB context (which JAXB classes should be accepted)
- help user with JSON format (implement JSON provider checkbox)
- implement Call Rest Service action in java source(e.g. in Insert Code group)
