gembin

OSGi JSF Eclipse RCP

 

如何进入Java SCA软件的开发


该文档是SCA Java项目的开发者指南

l         一般性指南

l         获取源代码

l         配置你的开发环境

l         构建二进制和源代码发布包

l         导入SCA模块到你的开发IDE环境中

l         理解SCA代码路径

l         编码指南

l         测试

l         Maven构建结构

l         报告遇到的问题和提供补丁

l         开发提示

Ø         Webapp样例代码生成Eclipse WTP Web工程

Ø         为样例中的程序生成ant的依赖关系

 

一般性指南

 

欢迎来到Tuscany SCA java子工程。我们期待你的参与并努力帮助你。在邮件列表中问你问题是非常轻松的。

这里有些我们这个项目中所使用的一般原则

l         Java SCA子项目的目的是为了提供一个基于SCA的企业级的服务基础设施

l         Tuscany SCA不仅仅是一个参考的实现。我们鼓励基于SCA原则上的创新。我们所做的许多工作是对规范提供一个反馈。

l         Java SCA基础设施应该提供灵活性和可选择性。它不应该规定死编程模型而是应该支持多种编程模型。

l         Java SCA基础设施是非常模块化的,高度的可扩展性以便用户可以定制它来适合自己的需求。

 

获取源代码

 

Java SCA项目的Subversion 库的地址:https://svn.apache.org/repos/asf/incubator/tuscany/java/sca

也可以在地址:http://svn.apache.org/viewvc/incubator/tuscany/java上在线查看。

任何人都可以check out出代码。你只需要指定用户名和密码以便更新subversion库,当然只有Tuscany提交者才有权限做这些。

Subversioncheck out代码

使用如下的命令:

 Svn checkout http://svn.apache.org/repos/asf/incubator/tuscany/java/sca

提交修改到Subversion

任何的Tuscany提交者在svn.apache.org上都应该有一个帐号。在你能提交之前,你需要设置你自己的Subversion的密码。可以登陆到svn.apache.org,然后运行svnpasswd命令。

一旦设置了密码,你就可以用下面的命令提交:

svn commit

如果Subversion没有给出你的用户名,你可以显式地告诉它

svn –username <name> commit

Subversion会提示你输入密码,一旦你输入后,它将记住密码。注意你用svnpasswd配置的密码不是你的shell或其他的密码。

 

配置开发环境

 

首要条件:

Java SCA要求如下:

l         JDK 5.0+ (J2SE 1.5.0+)

l         Apache Maven(2.0.5)(注意:现在使用Maven的版本高于2.0.5可能会在构建Tuscany时出现问题,查看TUSCANY-1676)

l         Subversion(1.2+)

构建树结构

构建树有利于模块化开发和发布。Java SCA当前是使用如下的模块分层:

-java

 |-- sca

     |-- demos         SCA 演示应用程序

     |-- distribution     SCA 发布程序

     |-- itest           SCA 集成测试

     |-- modules       SCA 实现的各个模块 (core, runtimes, contribution, extensions等等)

     |-- samples       SCA 样例程序

     |-- tools          SCA 工具 (Eclipse插件, wsdl2java, java2wsdl等等)

     |-- tutorial        SCA 教程

 

自顶向下的构建(推荐方法)

 

Check out出所有的java源代码

       svn checkout http://svn.apache.org/repos/afs/incubator/tuscany/java

构建SCA源代码非常简单

       cd java/sca

       mvn

即使你由一个空的Maven本地库,它也是会工作的。它总是会有效的,但是当你第一次构建Tuscany项目的时候会下载许多依赖的库,这个会花费比较长的时间,当然也有可能在获取依赖库的时候失败。

在从远程的Maven库下载的时候会发生偶然性的问题,所以假如mvn失败是与网络相关的话,只要再重试一遍就可以解决问题了。

主干代码有时候会SNAPSHOT依赖,该依赖从你的本地库获取时间。所以如果你用下列命令升级了SNAPSHOT jar,你会看到odd构建失败信息。

       mvn –U

一旦你做了自顶向下的构建,你的本地maven库就组装好了,你能用maven的离线选项加速构建的过程

       mvn –o

 

构建二进制和源代码发布包

 

二进制和源代码发布包是在distribution文件夹下运行maven命令创建的,如下:

       cd java/sca/distribution

       mvn clean install –o

发布包工件生成在distribution文件夹下的target文件夹下。

 

导入SCA模块到你的开发IDE环境中

 

使用Eclipse

       假如这是你第一次用maven m2本地库用于你的workspaceEclipse里的工作空间),你要告知你的Eclipse工作空间的目录路径,命令如下:

       mvn –Declipse.workspace=[path-to-eclipse-workspace] eclipse:add-maven-repo

为了生成必要的项目文件,你需要使用maveneclipse插件

       cd java/sca

       mvn –Peclipse eclipse:eclipse

现在,启动你的Eclipse IDE,选择FileàImportàExisting projects into Workplace,然后选择SCA的启始目录(例如 java/sca),然后按Finish,就会导入所有的SCA模块到Eclipse中了。

 

理解SCA的代码路线

 

这里有一个关键方法/函数的概述可以帮助你入门SCA java开发。

(请看我翻译的SCA编码入门)

 

编码指南

 

开发java SCA有些简单的指导原则:

l         基本的编码风格在Sun Java编码标准里描述了,但主要是要保证与你正在升级的代码保持一致性。

l         总是在所有的文件包含Apache License的头信息(源代码和象xml文档的资源文件都包含)

l         包含checkin信息的描述日子信息,比如“修复了某某某问题”

 

命名规范增强代码一致性

文件夹名称:都使用小写和-破折号

n         Maven的工件id = Tuscany-<文件夹的名字>

包名:模块中的包名应该包含模块名,以便很容易地在代码树上定位源代码。例如,java/sca/module/implementation-java就在包org.apache.tuscany.implementation.java.*里。

 

测试

 

Tuscany使用普通的junit测试用例来做单元和集成测试,下面就是一个例子,它可以作为写新的测试用例的一个模板来使用。它演示了在你的测试用例中如何加载Tuscany SCA运行时,同时因为他们是基于junit的,你能选择从IDE或者从Maven启动。

/**

 * Description of your test case and necessary details you find necessary

 */

public class YourTestCase extends TestCase {

    private SCADomain domain;

    private YourService service;

 

 

    @Override

    protected void setUp() throws Exception {

           domain = SCADomain.newInstance("YourTest.composite");

        service = domain.getService(YourService.class, "serviceName");

    }

 

    @Override

    protected void tearDown() throws Exception {

         &nb%2

posted on 2008-05-07 10:47 gembin 阅读(104) 评论(0)  编辑  收藏 所属分类: SCASOA


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 
相关链接:
网站导航:




导航

统计

常用链接

留言簿(2)

随笔分类(221)

随笔档案(211)

文章档案(1)

新闻档案(1)

相册

收藏夹(1)

Favorite Links

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

60天内阅读排行