You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by be...@incubator.apache.org on 2004/09/21 19:39:12 UTC

[Apache Beehive Wiki] New: Jsr181ProjectPlan

   Date: 2004-09-21T10:39:12
   Editor: MichaelMerz <mm...@acm.org>
   Wiki: Apache Beehive Wiki
   Page: Jsr181ProjectPlan
   URL: http://wiki.apache.org/beehive/Jsr181ProjectPlan

   no comment

New Page:

= Milestone: Axis .jws Deployment =

== Description ==

Annotated Java files with ".jws" file extensions are automatically registered with Axis as a Web Service and configured based on the file's metadata. Most annotations and rules specified in JSR-181 are supported.

== Tasks ==

 * Research
  * Beehive, JSR-181: done
  * Axis: done
 * Checkin of initial version in to Beehive-SVN: done
 * Annotation reader for class files (reflection): done
 * Annotation reader for source files (apt): done
 * Object Model
  * Interfaces: '''work in progress''' (50%)
  * Applicable JSR-181 default values: done
  * Applicable JSR-181 rules: '''work in progress''' (50%)
 * Customized Axis hook, version 1: done
  * @WebService (except endpointInterface): done
  * @WebMethod: done
  * @Oneway: done
  * @WebParam: done
  * @WebResult: done
  * @HandlerChain: done
  * @SOAPBinding: done
  * @SOAPMessageHandlers: done
  * @AnnotatedJWSHandler: done
  * @SecurityRoles: deferred
  * @SecurityIdentity: deferred
 * Backwards compatibility with non-annotated files: done

== Tests ==

 * Unit tests
  * Annotation reader for class files (reflection): done
  * Annotation reader for source files (apt): done
  * Object Model: '''work in progress''' (75%)
   * JSR-181 default values
   * Rule: Oneway/Exceptions
   * Rule: Oneway/OUT-WebParam
   * Rule: Oneway/void 
   * Rule: SOAPHandlers/HandlerChain
  * Customized Axis hook: done
  * AnnotatedJWSHandler
   * Service creation and configuration: '''work in progress''' (50%)
   * Backwards compatibility with non-annotated files: '''work in progress''' (50%)

== Documentation ==

 * Overall architecture and design (Beehive Wiki): '''work in progress''' (75%)
 * Sample application "AddressBook" (from Axis):
  * Server side: '''work in progress''' (%)
  * Simple "local" client (same VM): '''work in progress''' (%)
  * Simple "remote" client (WS): '''work in progress''' (%)
  * Documentation (incl. tutorial on how to author a .jws file with JSR-181 annotations: '''work in progress''' (%)

== Risks ==

 * Legal issues using JCP code
 * More modifications to JSR-181 spec (moving target)
 * More modifications to Axis parts interfacing with Beehive
 * Inter-subproject dependencies such as shared libs, etc.
 * Complex data types need more research

= Milestone: PetStore =

== Description ==

Select functionality of the "Pet Store" sample application used to showcase the other two prongs of Beehive netui and controls is exposed as a WebService, using JSR-181 metadata annotations. The emphasis of this milestone lies on illustrating the simplicity of authoring Web services using JSR-181 annotations compared to the more complex traditional authoring model.
It would be nice to complete this milestone for ApacheCon for demonstrations.

== Tasks ==

(research on the existing sample application required for more detailed outline)

 * Research
  * Axis: '''open'''
  * Pet Store application: '''open'''
 * Update code base with JSR-181 v0.9: '''open'''
 * Identify "Pet Store" functionality to be exposed through WebService: '''open'''
 * Implement WebService with annotations
  * design and implement Web service - server (jws-file and supporting classes): '''open'''
  * design and implement Web service - client: '''open'''
 * Develop "Beehive story" (wsm, netui, controls): '''open'''
  * integrate sample with/use controls (e.g. for database access): '''open'''

== Tests ==

 * JUnit tests for Web service - server: '''open'''
 * JUnit tests for Web service - client: '''open'''

== Documentation ==

 * Describe difference between code samples using and not-using annotations: '''open'''
 * Describe relationship between wsm and netui, controls: '''open'''
 * Describe how to setup required deployment environment: '''open'''
 * Optional: Documentation on how to setup development environment: '''open'''
 * Optional: Describe setup of development environment (plugins, etc.): '''open'''
  * Eclipse configuration
  * Tomcat plugin
  * JDK 1.5 plugin
  * Axis source code

== Risks ==

 * Depends on availability of functional "PetStore" sample application
 * Depends on other subprojects (netui, controls)

= Milestone: JSR-181 compliant =

== Description ==

This milestone adds all the missing pieces to the implementation that are required for a full JSR-181 compliant implementation. The milestone is complete once the implementation passes the TCK.

== Tasks ==

 * Research
  * Axis: '''open'''
  * XMLBeans: '''open'''
 * Customized, JSR-181-compliant Axis hook version 2
  * @WebService.endpointInterface: '''open'''
  * @SecurityIdentity: '''open'''
  * @SecurityRoles: '''open'''
 * WSDL to Java (generates Java server side skeletons from WSDL descriptor)
  * WSDL reader: '''open'''
 * Java to WSDL (generates WSDL descriptor from annotated Java file)
  * WSDL writer: '''open'''

== Tests ==

 * Unit tests: update existing unit tests
  * WSDL reader: '''open'''
  * WSDL writer: '''open'''
 * Test suite with files
  * Automatic build and deployment mechanism for test scenarios: '''open'''
  * WSDL verification: '''open'''
  * Automatic client-side code generation: '''open'''
  * Automatic client-side build and deployment mechanism: '''open'''
 * Download, integrate and check in TCK: '''open'''
 * Annotated test files that cover all functionality: '''open'''

== Documentation ==

 * Update samples: '''open'''
 * Update tutorial: '''open'''
 * Start with Java manual, samples: '''open'''
 * Start with WSDL manual, samples: '''open'''
 * Javadoc: '''open'''
 * Tutorial for converting existing Web application into WebService: '''open'''

== Risks ==

 * Depends on availability of TCK

= Milestone: IDE Support =

== Description ==

This milestone provides functionality for applications that need to verify code (e.g. IDEs) through validation functionality that goes beyond validation by the Java compiler. In particular, the verification routines check for semantic errors that contradict (annotation) rules specified in JSR-181.

== Tasks ==

 * Refactor TwoPhaseAnnotationProcessor (from "controls" to "commons"): '''open'''
 * Make JSR-181 implementation available to IDE (TwoPhaseAnnotationProcessor)
  * update check(): '''open'''
  * update generate(): '''open'''
 * Add appropriate error messages (text, position, etc.) for error cases: '''open'''

== Tests ==

 * Extended JUnit tests for AnnotationProcessor: '''open'''

== Documentation ==

 * Use documentation from controls: --

== Risks ==

--

= Milestone: WSM Demo Application =

This milestone demonstrates how the authoring model suggested by JSR-181 metadata annotations simplifies the creation of Web services. The sample application focuses on the WSM part of Beehive, which keeps the sample small and easier to understand than the more comprehensive "PetStore" sample.

''Do we want to do this on top of the Pet Store sample?''

== Tasks ==

TBD.

== Tests ==

TBD.

== Documentation ==

TBD.

== Risks ==

TBD.