本文将会介绍一个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/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 |