gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          如何進入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 閱讀(1024) 評論(0)  編輯  收藏 所屬分類: SCASOA

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          free counters
          主站蜘蛛池模板: 荔浦县| 永顺县| 永昌县| 图木舒克市| 罗甸县| 象州县| 阳东县| 耿马| 星子县| 大姚县| 乌什县| 连云港市| 同江市| 射洪县| 平南县| 安国市| 安丘市| 金门县| 沂水县| 岳池县| 腾冲县| 汝阳县| 太康县| 察哈| 楚雄市| 察隅县| 青阳县| 桐乡市| 蒲江县| 嘉兴市| 临沧市| 南宫市| 余江县| 石嘴山市| 阳新县| 连州市| 和田县| 陇西县| 宣化县| 额尔古纳市| 清丰县|