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:

3. Contract cleanup

While cleaning up Javadoc, the following needs to be done:

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