本文将會介紹一個Eclipse的SCA開發插件,用以協助開發者使用Eclipse進行Apache Tuscany開發,完成相關的配置和運作任務。該工具工作在Eclipse 3.3 Europa上。
從Eclipse的工作區的菜單項中選擇Help - Software Updates - Find and Install。打開Install - Feature Updates對話框。
選擇"Search for new features to install",按下一步。顯示"Update sites to visit"對話框。
按下New Remote site.在彈出對話框中,填入:
Name: Tuscany
URL: http://people.apache.org/~jsdelfino/tuscany/tools/tuscany-sca-2.0-incubating-SNAPSHOT-updatesite/
點選确定,将會如圖1所示:

圖1
點選完成,将會顯示Updates - Search results對話框。如圖2選擇Tuscany。
圖2
按下一步。在授權對話框中,選擇同意授權檔案,點選下一步。最後顯示圖3的對話框。
圖3
點選完成下載下傳Tuscany插件。這個下載下傳包大概有35Mb,包含了Tuscany運作時和所有Tuscany支援的SCA實作類型和綁定的依賴庫。
下載下傳完之後将會出現圖4的對話框。
圖4
現在按下安裝所有,将會安裝該插件。
如圖5所示,提示重新開機Eclipse工作區。
圖5
現在你就擁有一個幫助你編寫,測試和運作SCA應用程式的Eclipse工具了。
下面使用一個簡單的HelloWorld程式來說明如何使用該工具,這個應用程式使用了一個SCA Java元件來提供包含兩種綁定的服務,一個Web Service綁定和一個JSONRPC綁定。
從菜單中選擇New - Java Project。如圖6所示,填入工程名稱:
圖6
點選下一步,進入Java Setting對話框,選擇Libraries的屬性頁。如圖7。
圖7
點選Add然後選擇Tuscany庫,如圖8所示:
圖8
點選下一步,然後點選完成。Tuscany庫将會被添加到編譯路徑,如圖9所示。
圖9
點選結束建立該工程。
現在為我們的Hello SCA元件建立一個Java接口和一個Java實作類。
右鍵點選src目錄,選擇New – Interface。在New Java Interface對話框,輸入
Package: hello
Name: Hello
如圖10所示。
圖10
點選結束來建立Hello接口。編輯器打開,輸入接口的一個方法:
String hey(String name);
按下Ctrl+S來儲存檔案,如圖11所示。
圖11
現在建立HelloImpl Java實作類。右鍵點選Hello接口,選擇New – Class。在打開的視窗中,輸入Name: HelloImpl,確定hello.Hello在接口清單中。如圖12.
圖12
點選完成建立Hello接口。開啟Java編輯器,為HelloImpl.hey(…)方法增加如下代碼:
return "Hey " + name;
按下Ctrl+S儲存。如圖13所示。
圖13
現在将HelloImpl類轉化為一個SCA元件。我們需要建立一個SCA Composite檔案來描述元件的服務和綁定配置。
從菜單中選擇New – Other,在向導中選擇Tuscany - Composite wizard,如圖14所示:
圖14
按下下一步,你就可以建立第一個SCA Composite了。在圖15的對話框裡,選擇Hello/src然後輸入:File name: Hello.composite
圖15
按下結束,開啟XML編輯器。你現在可以進行SCA composite的描述了。如圖16所示。
圖16
增加如下代碼:
<component name="Hello">
<implementation.java class="hello.HelloImpl"/>
<service name="Hello">
<binding.ws uri="hello-there"/>
<t:binding.jsonrpc uri="hello-nicer"/>
</service>
</component>
以上代碼描述了一個HelloImpl類完成的SCA元件,提供了一個Hello服務和Web Service(SOAP)和JSONRPC綁定。
按下Ctrl+S儲存,如圖17所示。
圖17
大功告成了!運作它吧,右鍵點選Hello.composite然後從彈出菜單中選擇Run As – Tuscany。如圖18所示,你的SCA元件正在運作,在http://localhost:8085/hello-there上提供了Hello Web Service,在http://localhost:8080/hello-nicer上提供了JSONRPC服務。
圖18
你可以分别點選這些連結來檢查服務是否正常運作,并且擷取WSDL和SMD描述,如下所示(圖19為WSDL描述,圖20為SMD描述)
圖19
圖20