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