Revision as of 15:40, 5 February 2010 by Mkuchtiak (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Netbeans Platform: REST Use Cases


USE Case 1

  1. user implements a REST service in Web Application project (works since 6.0)
  2. user creates a Netbeans Module (Netbeanse Module Suite) (works)
  3. user consumes a REST resource (from WebApplication) (implemented 6.9 M1)

USE Case 2A

  1. user provides a registration of a REST service in Services tab (Web Services section) (works since 6.5) (works from WADL file)
  2. user creates a Netbeans Module (Netbeanse Module Suite) (works)
  3. user consumes the REST service (registered in Services tab) (planned for 6.9 M2)

USE Case 2B

  1. user creates a Netbeans Module (Netbeanse Module Suite) (works)
  2. 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

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)
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo