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: done
- Applicable JSR-181 default values: done
- Applicable JSR-181 rules: done
- Customized Axis hook, version 1: done
- @WebService (except endpointInterface: deferred): done
- @WebMethod: done
- @Oneway: done
- @WebParam: done
- @WebResult: done
- @HandlerChain: done
- @SOAPBinding: done
- @SOAPMessageHandlers: 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: done
- JSR-181 default values
- Rule: Oneway/Exceptions
- Rule: Oneway/OUT-WebParam
- Rule: Oneway/void
- Rule: SOAPHandlers/HandlerChain
- Customized Axis hook: done
- DropInDeploymentHandler: done
Documentation
- Overall architecture and design (Beehive Wiki): work in progress (95%)
- Sample application "AddressBook" (from Axis)
- Server side: done
- Simple "local" client (same VM): done
- Simple "remote" client (WS): done
- 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
- Axis: done
- Pet Store application: done
- Update code base with JSR-181 v0.9: done
- Integrate wsm with controls
- Use apt for compilation and verification work in progress (%)
- Use reflection for deployment work in progress (%)
- Define demo scenario: done
- identify PetStore functionality to be exposed through WebService
- browser-based netui GUI used by PetStore customers for online shopping
- stand-alone WS client w/ e.g. SWING GUI used by PetStore owner for inventory management
- Implement WebService with annotations
- Develop "Beehive story" (wsm, netui, controls): work in progress (%)
- Define and implement integrated sample (controls (e.g. DBControl), wsm): work in progress (%)
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)
- apt still "pre-release", not (documented) programmatic interface
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: work in progress (50%)
- @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
- 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.