Differences between revisions 15 and 16
Revision 15 as of 2006-05-12 13:13:49
Size: 4232
Editor: edslattery
Comment:
Revision 16 as of 2009-09-20 22:48:50
Size: 4234
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
Here is a short term roadmap to our first Tuscany/Java Milestone. This is a summary of the discussion we had on the tuscany-dev mailing list, see [http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200602.mbox/%3c43E11F55.6040401@apache.org%3e Roadmap for the next few weeks] and the follow up discussion thread in the tuscany-dev mail archive for all the details. Here is a short term roadmap to our first Tuscany/Java Milestone. This is a summary of the discussion we had on the tuscany-dev mailing list, see [[http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200602.mbox/%3c43E11F55.6040401@apache.org%3e|Roadmap for the next few weeks]] and the follow up discussion thread in the tuscany-dev mail archive for all the details.

Short Term Roadmap

Here is a short term roadmap to our first Tuscany/Java Milestone. This is a summary of the discussion we had on the tuscany-dev mailing list, see Roadmap for the next few weeks and the follow up discussion thread in the tuscany-dev mail archive for all the details.

This is NOT a project plan. This is just a list of the areas that we would like to focus on, to help people in the group find areas where they can contribute.

Core Module assembly model

  • align implementation with a subset of SCA 0.9 (the implementation diverges from SCA 0.9 in some areas today)
  • support for module and fragment SCDL
  • support for componentType
  • no multiplicity
  • simple properties only, no complex properties
  • support for both Java and WSDL interfaces

Subsystem assembly model

  • support for subsystem SCDL
  • moduleComponents only no externalService and entryPoint at the subsystem level
  • support for wiring/specifying endpoints on externalServices
  • support for overriding properties of moduleComponents
  • on Tomcat, subsystem maps to a Tomcat instance, moduleComponent maps to a Web app
  • in J2SE, you can run a single moduleComponent

Client and implementation model

  • align implementation with a subset of SCA 0.9
  • support for SDO2 as well as regular Java objects
  • basic scope management (request, session, module)
  • no metadata API
  • no request context
  • no session id
  • no service references
  • no conversational, no callbacks

Runtime architecture improvements

  • remove TuscanyModuleComponentContextImpl, transition to new context architecture and make sure model, loaders, builders, config and context are decoupled

  • Fix how proxying and invocation chains works, distinguish source and target proxies / invocation chains

Development Tools

  • WSDL2Java and Java2WSDL generators

  • XSD2SDO and Java2SDO generators
  • both in the form of API and maven plugins

Bindings

  • web service binding using AXIS2 (SOAP/HTTP, doc literal only, support for streaming) - Ant

  • we can live with just a WS binding for now and look at the default SCA binding later (maybe it'll just be a variation of the WS binding with some defaults anyway)
  • pluggable data-binding working with AXIS2 (start with regular Java objects and SDO)
  • investigate how we can leverage AXIOM to implement an XML binding for SDO (independent of the web service binding)
  • JMS binding

Data Access Service

  • complete the transition to SDO2
  • DAS integrated into BigBank sample

  • best-practice DAS sample (stand-alone and SCA-integrated)
  • datasource definition in config file
  • tools support - export metadata - return the SDO Types and/or write an XML file that contains the types created from the config + resultSetMetadata

SDO

  • code generator improvements to support SCA usage
  • model registration/config mechanism
  • update project overview documentation

Extensibility

  • support contribution of a new binding (I'm thinking about a sample HTTP binding to illustrate that)
  • support contribution of a new component type (Ant's sample Javascript component type)

Admin

  • just doc or basic tools (maven plugin?) to install/uninstall a subsystem and module component
  • just doc or basic tools to start/stop a subsystem and module component
  • wiring, configuration of module component properties require editing SCDL file and bouncing the subsystem
  • simple monitoring/logging

Target environments

  • JDK 5.0
  • Tomcat
  • J2SE

Samples

  • We need samples for most of the items in this list to illustrate how various user roles will use Tuscany (app. developer, assembler, deployer-admin, system-developer who wants to extend or integrate with Tuscany) and help drive all this work from concrete scenarios.

Longer Term Roadmap

This is TBD. I'll initiate a discussion on the longer term roadmap on the tuscany-dev list shortly.

Tuscany/TuscanyJava/Roadmap (last edited 2009-09-20 22:48:50 by localhost)