Tuscany Java Runtime Work Items
I. Incremental Changes
These changes represent basic code cleanup and need to be done prior to the major work
detailed below. Most of these tasks can be done in parallel.
1. Exception Handling Cleanup
Exception handling needs to follow the style outlined in the exception handling guide.
The following packages need to be updated.
Package |
Owner |
Completion Date |
o.a.t.common |
Sebastien |
9 Dec |
o.a.t.binding.axis |
Raymond |
9 Dec |
o.a.t.core.addressing |
Sebastien |
9 Dec |
o.a.t.core.extensions |
Sebastien |
9 Dec |
o.a.t.core.invocation |
Sebastien |
9 Dec |
o.a.t.core.message |
Sebastien |
9 Dec |
o.a.t.core.pipeline |
Sebastien |
9 Dec |
o.a.t.core.runtime |
Jim |
9 Dec |
o.a.t.container.java.assembly |
Sebastien |
9 Dec |
o.a.t.container.java.builder |
Jim |
9 Dec |
o.a.t.container.java.config |
Jim |
9 Dec |
o.a.t.container.java.handler |
Sebastien |
9 Dec |
o.a.t.container.java.injection |
Jim |
9 Dec |
o.a.t.container.java.runtime |
Jim |
9 Dec |
2. JavaDoc proposal
While cleaning up exceptions, owners should also bring code into conformance with the
following Javadoc guildelines:
- All public interfaces and methods on those interfaces
- All public classes and methods that represent cross-project contracts
- All public classes and methods
- All other classes and methods
3. Contract cleanup
While cleaning up Javadoc, the following needs to be done:
- Turn public classes that represent cross-project contracts into interfaces
- Make public classes that do not need to be protected or default
3. Unclogging proposal
Jeremy to write up best practices and guidelines based on his design. The owners of
exception cleanup should implement for their respective packages.
4. Architecture documents
Jim to convert powerpoint slides and add text around existing architecture documents. Due
12 December.
II. Significant Core Runtime Changes
The following list represents the order in which signficant refactorings and new
functionality will be added to the core runtime.
1. Subsystem design
a. Recursive Injection Container. Jim with some help from Sebastien
b. Susbsystem and Module Component topology/packaging design. Sebastien with some help
from Jim
This will beed to done in conjunction with the recursive injection container.
c. Refactoring of TuscanyModuleComponentContainerImp to support recursive injection
container. Jim and Sebastien.
d. Refactoring of Tomcat code to support subsystems. Sebastien.
2. Proxy Redesign
a. Subsystem "proxies". Sebastien with some help from Jim
b. Module proxies refactoring. Sebastien
3. Entry Point and External Service redesign. Raymond
This will be staged after the Subsystem design work.
4. SDO 2 Support
a. Regenerate models
b. Remove all outstanding EMF dependencies
c. Remove old code that duplactes SDO 2 functions
d. Figure out a way to support POJO property values and support for collections such as
Map and List
e. SDO2 configuration mechanism for the runtime
f. Port tooling to SDO 2 and integrate with the runtime
g. SDO2 and web services authoring integration (annotated POJOs)
5. Policy Support
Some of this could be done in parrallel with SDO2 integration
a. Support for transactions via the Geronimo trasnaction manager
6. First class support of WSDL and XSD for component interfaces
7. Additional component and binding types
a.Spring as a module type
b.XSLT as component type
c. ActiveMQ JMS binding
d. Raw XML/HTTP
e. Scripting language component
8. Pluggable data binding framework
Once the SDO 2 implementation has been integrated, we should investigate how to plug in
different binding technologies such as JAXB.
III. Web Services Work
This may be done in parallel with other work
a. Better AxisServlet configuration>
b. Streamling serialization/deserialization
c. Pluggable databinding as above
d. WS-I basic profile
e. RPC Encoded