资源描述:
《tuscanysca案例分析(一)(连载中)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、tuscanySCA案例分析(一)(连载中...)给了好久的承诺,前些日子一直在学习一些SOA方面相关的资料,包括WebService基础--WSDLSOAPUDDI等,这些是经典的Webservice规范,同时学习了些相关的XML-RPC以及WS-BPEL等相关的内容,其中发现要看明白这些东西必须要先学好XML以及XMLSchema的基础知识,然后又开始学习了,发现可以看明白一些东西了,当然还看了些SOA设计方面的原则的资料了,这些会在学习以及后续的分析整理出来.现在有了高层的设计指导,当然需要具体的编码技术支
2、持了,否则再好的设计也无法实现了,所以开始了对TuscanySCA的编码学习.为了让读者更有思路跟上节奏,以后的连载文章都将按照如下顺序介绍:1解析设计图2具体编码3分析以及总结 为了让编码更容易,做Java编程怎么能缺少Javadoc呢,否则无法查看帮助文档是很郁闷的事情,于是我先安装了maven2.0.5,这个在本人翻译的<如何进入JavaSCA软件的开发>文章中提到了,高于Maven2.0.5版本可能会出现错误,下面就配置maven2.0.5吧,下载maven2.0.5后,直接解压(我这里是解压到
3、d盘了)下面配置maven的可执行文件到Path中然后进入tuscany源代码的解压文件夹,-apache-tuscany-sca-1.0.1-incubating-src
4、--sca
5、--demos SCA演示应用程序
6、--distribution SCA发布程序
7、--itest SCA集成测试
8、--modules
9、SCA实现的各个模块(core,runtimes,contribution,extensions 等等)
10、--samples SCA样例程序
11、--tools SCA工具(Eclipse插件,wsdl2java,java2wsdl等等)这是我环境的结构,在dos窗口中进入sca目录,然后直接使用mvn命令mvnjavadoc:javadoc来生成Javadoc,经过一段时间,就会在modules里面的每个相应目录
12、下的target文件夹下生成site文件夹,里面就是javaAPI的doc了,我们需要的就是这些javadoc,因为我们后面的编程会用到,用得比较多的是modulesdomain-apitargetsiteapidocs里的帮助信息了。里面有SCADomainFactory和SCADomain类的相关信息。好的,万事具备,只欠东风了。我们开始我们的编码旅程吧。顺便说下,为了方便编辑.composite文件,我根据网上的文章下载了个eclipse
13、插件,这里就不多说了。开始了,我们先从最简单的calculator开始,先解析下设计图,如下:在这个案例中,运行环境是每个组件都在一个node上,前台的CalculatorServiceComponent组件分别引用到了AddServiceComponent、SubstractServiceComponent、MultiplyServiceComponent以及DivideServiceComponent四个组件。他们之间的引用关系由SCA运行时自动注入。
14、可以认为后面的四个具体的服务是“原子服务”(它完全由自己实现),而前台的CalculatorServiceComponent组件则是组合出来的服务,虽然它只是简单的做了个功能代理而已,但它完全可以加入自己的附加功能。 好了,设计图的分析到此为止,我们可以开始进行编码了,来学习学习如何用SCAjavaAPI来实现。打开eclipse,新建一个普通的javaproject,在建工程的时候可以加入Junit3的库和MyTuscany用户库(该库的设置在我的的附录中给出了设置方法)我设置了target文件夹为默认的输出路径,这里无所谓的。下一步建立组件的逻辑功能代码。我这里为了保持一致,建立了calculator包,在该包下分别建立加、减、乘、除的服务接口文件AddService.java、SubtractService.java、MultiplyService.java和DivideService