前言:
基于上篇技术分享《WSO2 集成当前OA WEBSERVICE测试》我们初步测试了WSO2-ESB产品的功能。实现了将OA WEBSERVICE进行了封装,并通过外部应用程序进行了测试调用。然而在企业级应用中,两个异构系统之间的调度可能是比较复杂的,可能在调用前有一系列的操作,也可能在调用后有一系列的操作。这时候除了在系统中进行配置外,我们也需要借助WSO2 studio来进行一些二次开发,并部署到WSO2-ESB上。从而实现更深层次的需求。
本文将继续基于上次的调用的例子,进行二次开发初探。
关键字:WSO2 STUDIO、Mediator/Sequence增强开发
一:配置eclipse下的WSO2 STUDIO环境
推荐访问eclipse官方网站,并快捷拖动图标方式,进行安装:
http://marketplace.eclipse.org/content/wso2-developer-studio
将图标拖拽到ECLIPSE中实现安装。
安装好之后,可以看到菜单多了:Developer Studio
可以看到官方提供了非常多的可以创建的类型参考
二:企业总线调度增强开发
1:通过WSO2-STUDIO创建一个Mediator Project项目
备注:mediator是ESB中的一个中介处理单元,通常使用XML进行配置,在ESB运行时,消息会被注入到中介,然后mediator作为中介可以进行增强开发处理。
2:项目下编写调用前后序列的Java文件。
备注:sequence是ESB中的序列。在序列中可以制定一系列的操作,包括日志处理、mediator中介处理等组合。
3:将CLASS封装为JAR文件,并部署WSO2服务器
将itgsequence.JAR文件放到:ESB_HOME/repository/components/lib目录下
因为这个目录是启动WSO2时会加载JAR的地方。
4:配置对应的XML文件,并注册在注册表
备注:WSO2中,所有的服务组件配置、传输配置都默认存储在注册表中。可以理解为一个结构化式存储资源的库。
先编写XML文件,然后我们保存在本地,命名为:itgInsequence.xml。一会会选择到它。
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE beansPUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="itgspringtest"class="mediatorPac.ITGinsequenceClass"singleton="false">
<propertyname="message"><value>ITG-DEV-insequen</value></property>
</bean>
</beans>
WSO2注册表中,将这个配置进行注册:
选择刚才本地保存的:itgInsequence.xml
导入XML文件到注册表
5:修改SERVICE配置,补充Spring
备注:mediators中介中可以使用包括JAVA,scripting和 spring的各种技术。
我们还是修改上次已经配置好的:ITG_OA_workflow_service
我们演示调度前进行配置(调度后的配置是一样的,后续就不赘述了)
这个时候在界面上补充一个Srping,并在下方的mediator进行相关配置。
注意到这里的Designsequence中是图形化的,鼠标点在ROOT上时候会浮动出窗口,让你选择加入的模块,比如我们加了LOG,sequence,SPRING。
注意这个Spring ,在里面我们可以补充mediaor的绑定。
Bean名称需要与XML文件中的BEAN名称相同,KEY路径,需要与XML当时注册的路径一致。这个是可以点击“Configuration Registry ”选择到刚才的XML文件的。
注意上面配置完毕后,选择对应的保存按钮。
6:进行简单调用前测试
备注:调用方法为调用对应的ENDPOINT。Endpoint在ESB中表示封装好的服务。
我们利用.NET调用进行了测试,在系统日志中,可以看到对应效果。
7:进行调用后测试,向MYSQL写入日志记录
我们在ITGoutsequenceClass文件中,编写了对应MYSQL的操作,当触发调度时,同时向MYSQL写入日志数据。
可以看到在调用WEBSERVICE的前后,我们JAVA文件编写的iinsequence和outsequence都生效了。
三:小结
通过上面的例子,我们实现了WEB SERVICE调度操作前后的增强开发。回顾一下:我们通过WSO2 STUDIO编写了对应的增强文件,封装为JAR文件后部署在WSO2服务器,并通过编写XML文件,上传注册表,并在服务中配置了这个增强,最后经过测试,验证了我们的增强效果。
由此,我们看出WSO2-ESB作为一个强大的总线平台,具备了较全面的配置和二次开发能力。WSO2 确实具备让企业从实现点对点异构系统集成,向ESB转型的潜力。
厦门小杨
2016.6.22
完整图文可参考:http://wenku.baidu.com/view/5a191837a58da0116d174926