前言:

基于上篇技术分享《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