Panel |
---|
borderColor | #C3CDA1 |
---|
bgColor | #ECF4D1 |
---|
titleBGColor | #C3CDA1 |
---|
title | How to get involved in development of Java SCA? |
---|
borderStyle | solid |
---|
| This document is the development guideline for SCA Java project.
|
Anchor |
---|
| General Guide |
---|
| General Guide |
---|
|
Background Color |
---|
| General Guide |
Welcome to the Tuscany SCA Java subproject project. We look forward to your participation and try to help you get on board. Feel free to ask your questions on the mailing list. Here are some general guidelines we use in this project. - Java SCA sub-project aims to provide enterprise-grade service infrastructure based on SCA.
- Tuscany SCA is not just a reference implementation. We encourage innovation based on the tenets of SCA. A lot of work we do provides feedback to the specifications.
- The Java SCA infrastructure should provide flexibility and choice. It should not dictate programming models but support many.
- The Java SCA infrastructure is very modularized and is designed to be highly extensible so users can customize it to fit their needs.
Anchor |
---|
| Getting Source |
---|
| Getting Source |
---|
|
Background Color |
---|
| Getting Source code | Subversion AccessThe Java SCA project Subversion repository is located at https://svn.apache.org/repos/asf/incubator/tuscany/java/sca. The respository repository can also be viewed online at http://svn.apache.org/viewvc/incubator/tuscany/java/ Anyone can check code out of Subversion. You only need to specify a username and password in order to update the Subversion repository, and only Tuscany committers have the permissions to do so. Checking out code from SubversionUse a command likethe command as follows (note that it uses http scheme so if you're a committer change it to https): Code Block |
---|
svn checkout httpshttp://svn.apache.org/repos/asf/incubator/tuscany/java/sca
|
Committing Changes to SubversionAny Tuscany committer should have a shell account on svn.apache.org. Before you can commit, you'll need to set a Subversion password for yourself. To do that, log in to svn.apache.org and run the command svnpasswd. Once your password is set, you can use a command like this to commit: If Subversion can't figure out your username, you can tell it explicitly: Code Block |
---|
svn --username <name> commit
|
Subversion will prompt you for a password, and once you enter 've entered it once, it will remember it for you. Note this is the password you configured with svnpasswd , not your shell or other password. Getting Setup for Development Background Color |
---|
| Setting up your Development Environment |
PrerequisitesJava SCA requires the following: Build tree structureThe build tree is designed to facilitate modular development and releases. Maven modules are grouped by how they are released under an hierarchy. For example, all kernel-related modules are grouped under the 'kernel' module. The build tree contains the following 'top-level' modules: kernel Contains the modules that make up the Java SCA foundation, including: - api - Contains the Java SCA proprietary programming model apis
- host_api - Contains APIs for interacting with the kernel
- spi - Defines kernel extension points. Includes interfaces and abstract extension classes.
- core - The kernel implementation
Kernel may be checked out and built independently from the other modules such as extensions. To checkout kernel, do: Java SCA currently have the below module hierarchy : No Format |
---|
-java
|-- sca
|-- demos SCA demo applications
|-- distribution SCA distributions
|-- itest SCA Integration Tests
|-- modules SCA Implementation Modules (core, runtimes, contribution, extensions, etc)
|-- samples SCA Sample Applications
|
The individual modules can be built separately or build with top-down build. top-down build (recommended approach)Check out all of the java source code. Code Block |
---|
svn checkout httpshttp://svn.apache.org/repos/asf/incubator/tuscany/java/sca/kernel
|
Building the SCA source code is simpleTo build kernel, do: Code Block |
---|
mvncd java/sca
|
Note that mvn -o may be used once all kernel dependencies have been downloaded runtime Contains modules for deploying Java SCA to various runtimes, e.g. in a Servlet Container or as a standalone runtime: - itest - modules for embedding Java SCA in Maven as an iTest Plugin. Used for integration testing.
- standalone - modules for deploying Java SCA as a standalone container
- services - various runtime services such as JMX
- webapp - modules for embedding Java SCA in a Servlet container
To checkout runtime, do: Code Block |
---|
svn checkout https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/runtime
|
The runtime modules may be built together or indepdently as sub-modules using the mvn command. extensions Contains kernel extensions such as bindings for transport protocols, component implementation types to enable the use of alternatice programming models, etc. Each extension sub-module builds independently. services Contains kernel extensions that provide specific services such as persistence for core runtime operations. Each sub-module builds independently. |