SCA Java Modules Dependencies (TUSCANY) edited by haleh mahbod
      Page: 
http://cwiki.apache.org/confluence/display/TUSCANY/SCA+Java+Modules+Dependencies
   Changes: 
http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=96772&originalVersion=7&revisedVersion=8






Content:
---------------------------------------------------------------------

{section:border=false}
{column:width=15%}
{include: SCA Java Subproject Menu}
{column}
{column:width=85%}
(!) This page is under construction. 

h1. What this is about
This page can be used by those who would like to pick and choose pieces of 
Tuscany and embed it with their software. It outlines dependencies and 
identifies the minimum set of modules required to use Tuscany.

h1. Current Tuscany Packaging State
As of release 1.3 Tuscany is distributed via one binary distribution that 
includes everything. Based on user feedback, choice of a smaller distribution 
packages is desireable. Tuscany community is in the process of addressing this 
requirement. Please see discussions on the mailing list and contribute if 
interested. 

h1. How to build your own distribution

Let's use the term "feature" to refer to a package. This is also used in 
Eclipse and many people are familiar with it. 

A Tuscany user has defined a set of features applicable to his application at 
[this 
location|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/].
 Although these features can be addressing majority of lower granular packages 
that users may need (we would like to hear your opinion), we realize that there 
will always be a need for smaller features or a combination of features.  let's 
use the real examples that are available in the source code for the purpose of 
this discussion and first explain what is available as an example and then 
describe how you can create your own distribution.

Here are the available [feature types 
|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/] at 
the moment:
* *all feature* - includes everything
* *core feature* -  
[pom.xml|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/core/pom.xml]
This package includes support for building applications based on Java 
components and also exposes SPIs for extending Tuscany SCA to include 
extensions such as binding types, implementation types, policies. 
*This is the minimum required to use Tuscany.*
** Included in this feature:
1. Core runtime includes OSGI support
2. Launchers 
   2a) j2Se
   2b) equinox
   2c) Webapp
3. Bindings: 
   2a) SCA default binding
   2b) corba  (as a light weight binding that you can use with the core distro
4. Data Bindings: Jaxb
5. Interfaces
   4a) Java
   4b) Wsdl

* *ejava feature* - 
[pom.xml|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/ejava/pom.xml]
This package is needed for enterprise Java development.
** Included in this feature:
1. Core runtime: core package
2. EJB suport: hosting ejb
3. Spring
4. Support for scripting languages 
_In addition to what is included in Core:_
5. Bindings: ejb binding, JMS binding
6. Databindings: Axiom


* *manager feature* - 
This package includes features that can be used to manage SCA applications. For 
example, domain manager is in this.
** Included in this package: 
Domain Manager which manages SCA applications

* *process feature* - 
[pom.xml|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/process/pom.xml]
This package enables you to use BPEL components in a composition using Ode. 
** Included in this feature:
1. Core Runtime: Core feature
2. BPEL support; implementation.bpel
3. XQuery support: implementaiton.zquery
_In addition to what is included in core feature:_
4. Bindings: Corba
5. Databindings: SDO, Saxon

* *web20 feature* - 
[pom.xml|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/web20/pom.xml]
This package enables you to use web20 with Tuscany.
** Included in this feature:
1. Core Runtime: Core feature
2. Support for resources and widgets
_In addition to what is included in core feature:_
3. Bindings; Atom (via Abdrea), Jason, RSS (via Rome), HTTP,  
4. Databindings: JSON

* *webservice feature* - 
[pom.xml|http://svn.apache.org/repos/asf/tuscany/java/sca/distribution/features/webservice/pom.xml]
This package provides support for webservices binding based on Axis2. 
** Included in this feature:
1. Core Runtime: Core feature
2. support for webservices
_In addition to what is included in core feature:_
3. Bindings; ws, ws-axi2, ws-wsdlgen, ws-xml
4. Databindings: Jaxb-axiom, SDO, SDO-axiom

You will also notice the following under features:
* *repository* - 
This package is a special feature that builds a Maven repository that you can 
use to mirror Tuscany. This can be useful for enterprises that build on top of 
Tuscany, or use Tuscany in their apps, but don't want to be broken any time the 
public Maven repos going down 


h2. Minimum Required
Core feature set is the minimum that is required to be able to develop SCA 
applications using Java components. 

h2. How to build my own distribution?

You can use the above features as examples to define what you need. For 
example, if you want to develop enterprise applications using webservices, you 
would need the following features: ejb feature (which includes core) and 
webservices feature. Alternatively you can find the dependencies amongst 
modules and create your own distribution.

[to do]: Steps to build distributin?

h2. Understanding dependencies

To understand module dependencies, you can start with a particular feature and 
run one of the following commands.  
{code}
go to the feature directory and issue the command:

mvn:site 

This will create a file called dependencies.html that shows dependencies 
amongst modules that create this feature.
{code}

or for the text version of the dependencies you can use the following command

{code} mvn dependency:tree {code}

{column}
{section}




---------------------------------------------------------------------
CONFLUENCE INFORMATION
This message is automatically generated by Confluence

Unsubscribe or edit your notifications preferences
   http://cwiki.apache.org/confluence/users/viewnotifications.action

If you think it was sent incorrectly contact one of the administrators
   http://cwiki.apache.org/confluence/administrators.action

If you want more information on Confluence, or have a bug to report see
   http://www.atlassian.com/software/confluence


Reply via email to