This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Tuscany SPIs

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Tuscany Java SCA SPIs

Module

Description

SPI packages

Usages

Note

assembly

The model for the artifacts defined by the SCA assembly model
and builders for the model

org.apache.tuscany.sca.assembly
org.apache.tuscany.sca.assembly.builder

model interfaces will be used by other modules
builder interfaces will be used to build the models

Review impl packages being exported
We might need to consider splitting assembly from builder

assembly-xml

Read/resolve/write the assembly models in XML

org.apache.tuscany.sca.assembly.xml

 

binding-sca and binding-sca-xml using assembly-xml -> visit how policy processors are being invoked directly as opposed to using extension mechanism

assembly-xsd

XSDs for various SCA models

 

 

 

binding-sca

Runtime provider for binding.sca

 

 

The SCABinding model is defined in assembly
Should be renamed as binding-sca-runtime

binding-sca-xml

Read/resolve/write the binding.sca model in XML

 

 

Referencing assembly-xml (review)

contribution

Conttribution-related models
Scan/process/resolve artifacts within the contributions

org.apache.tuscany.sca.contribution
org.apache.tuscany.sca.contribution.processor
org.apache.tuscany.sca.contribution.resolver
org.apache.tuscany.sca.contribution.scanner

Model for the contribution/artifact/import/export
Artifact processor SPIs
Artifact resolver SPIs
Contribution package scanner SPIs

 

contribution-java

Model for import.java and export.java

org.apache.tuscany.sca.contribution.java

Model interfaces for import.java and export.java

 

contribution-namespace

Model for import and export (XML namespace)

org.apache.tuscany.sca.contribution.namespace

Model for import and export

 

contribution-xml

Handle the read/write/resolve of sca-contribution.xml and sca-contribution-generated.xml

 

 

Clean-up AnyElementProcessor and make it up to date with latest code

core

Runtime that deals with SCA composite activation, conversation, scope, context and invocation

org.apache.tuscany.sca.core.assembly
org.apache.tuscany.sca.core.context
org.apache.tuscany.sca.core.conversation
org.apache.tuscany.sca.core.factory
org.apache.tuscany.sca.core.invocation
org.apache.tuscany.sca.core.scope
org.apache.tuscany.sca.core.work

Activators for the assembly
Component/Request context handling (accessed by java injection)
Conversation management
Factory pattern for Java Dependency injection
Invocation chain
Scope management
Work scheduler

The core is exporting too many packages. Some of them can be refactor so that only required packages are exported
Visit the packages and identify impl that can become private packages
ObjectFactory is a pattern instead of a contract (visit and identify if there is a better way to handle this)

core-databinding

The data transformation interceptor

 

 

We need to remove the Export-Package for org.apache.tuscany.sca.core.databinding.processor. It's exported as a workaround for a test case in ws-gen.

core-spi

The SPIs between the core and extension modules (binding, implementation and policy providers)

org.apache.tuscany.sca.context
org.apache.tuscany.sca.endpointresolver
org.apache.tuscany.sca.invocation
org.apache.tuscany.sca.management
org.apache.tuscany.sca.provider
org.apache.tuscany.sca.runtime
org.apache.tuscany.sca.work

 

Potential to refactor some spi from core to core-spi

databinding

Databinding framework and a set of built-in databindings and transformers

org.apache.tuscany.sca.databinding
org.apache.tuscany.sca.databinding.annotation
org.apache.tuscany.sca.databinding.impl
org.apache.tuscany.sca.databinding.javabeans
org.apache.tuscany.sca.databinding.util
org.apache.tuscany.sca.databinding.xml

 

Turn some of the implementation classes for DataType into a factory pattern
Refactor some of the utilities into common-xml
Might consider splitting databinding to databinding-xml to make the framework independent of xml

databinding-jaxb

JAXB databinding

org.apache.tuscany.sca.databinding.jaxb

 

JAXB is the default databinding to cover POJOs. We need to find a better way to extract the SPI

definitions

Model and utility for the defintions.xml

org.apache.tuscany.sca.definitions
org.apache.tuscany.sca.definitions.util

 

 

definitions-xml

Read/write/resolve definitions.xml

 

 

 

endpoint

Default implementation for EndpointResolver and EndpointResolverFactory

 

 

Should we merge this module into core?

extensibility

SPIs to discover extensions/extension points

org.apache.tuscany.sca.core
org.apache.tuscany.sca.extensibility

Extension point registry and core extension points
Extensibility SPIs

Rename .core package ?

extensibility-equinox

Equinox-based extensibility implementation

 

 

We might have to export a package so that it can be used to set up the service discoverer for the running environment

implementation-java

Model for implementation.java and introspection SPIs

org.apache.tuscany.sca.implementation.java
org.apache.tuscany.sca.implementation.java.introspect

 

We might need to refactor some of the SPIs into something like "implementation-pojo" so that all POJO-based component implementation classes such as Spring, OSGi and EJB3 can reuse the same capability of java introspection

implementation-java-runtime

The runtime for implementation.java

org.apache.tuscany.sca.implementation.java.context
org.apache.tuscany.sca.implementation.java.injection

 

The IoC container to be refactored out?

implementation-java-xml

Read/write/resolve the implementation.java model

 

 

 

implementation-node

Model for implementation.node to represent a node configuration

org.apache.tuscany.sca.implementation.node

 

Model the node configuration as impl type is a little bit confusing
We need further discussion with the SCADomain story

implementation-node-runtime

The runtime for implementation.node

org.apache.tuscany.sca.implementation.node.launcher
org.apache.tuscany.sca.implementation.node.webapp

 

 

interface

The model for Interface/Operation/DataType

org.apache.tuscany.sca.interfacedef
org.apache.tuscany.sca.interfacedef.impl
org.apache.tuscany.sca.interfacedef.util

 

Revisit util and possible rename it to a more meaningful based on the functionality that it provides

interface-java

The model for Java interface and visitor SPI

org.apache.tuscany.sca.interfacedef.java
org.apache.tuscany.sca.interfacedef.java.impl
org.apache.tuscany.sca.interfacedef.java.introspect

 

Impl is being exported and used in other places, revisit and possible some refactor
Some common functionality might be refactored to a common-java module

interface-java-jaxws

Introspection for JAXWS interfaces

org.apache.tuscany.sca.interfacedef.java.jaxws

 

The JAXWS interface visitor is exported for core-databinding. There is an ordering requirement between this visitor and DataBindingInterfaceVisitor. We need to find a better way to handle that.

interface-java-xml

Read/write/resolve the interface.java model

 

 

 

monitor

Monitor model

org.apache.tuscany.sca.monitor

 

 

node-api

Node API to bootstrap an SCA node to run SCA composite

org.apache.tuscany.sca.node

 

Further discussion in the context of SCADomain story

node-impl

JSE based Node implementation

org.apache.tuscany.sca.node.impl

 

Further discussion in the context of SCADomain  story

The default node implementation is exported for node-api

node-launcher

A launcher to launch an SCA node with JSE

org.apache.tuscany.sca.node.launcher

 


node-launcher-equinox

A launcher to launch an SCA node with Equinox OSGi runtime

org.apache.tuscany.sca.node.equinox.launcher

 

 

policy

Model for policies

 

 

 

policy-security

Model for security-related policies

 

 

 

policy-xml

Read/write/resolve policy models

 

 

 

sca-api

APIs defined by the OSOA

 

 

Package names need to changed to reflect the OASIS specs

workspace

Workspace model to deal with a collection of SCA contributions within an SCA domain

org.apache.tuscany.sca.workspace
org.apache.tuscany.sca.workspace.builder

 

 

workspace-impl

Implementations for a set of contribution processing functions

 

 

 

workspace-xml

Read/write/resolve workspace.xml

 

 

 

xsd

Model for XML schema files

org.apache.tuscany.sca.xsd

 

The XSDefintion is referenced by databinding module to support Java to WSDL/XSD. We need to find a better way so that databinding doesn't have a hard dependency on xsd