锁定老帖子 主题:我的BPEL业务编排系统雏形
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-25
虽然今天结束了连续的艳阳天,下了半天雨,又闷又热,但我心情灰常的好。两个月过去了,断断续续,一点一点磨到现在,我的所谓的业务编排系统终于有东西可以用来演示啦!
我做的这个系统的用途嘛,是GIS的一部分,就是将现有的WebService通过BPEL语言来组合编排,这个编排方式当然是图形化操作了,而且操作越简单越好,复杂详细的编排工具Eclipse和Netbeans都有免费的了,也不用我造轮子了……
先说下雏形的大概的架构吧。前台,也就是业务编排的操作界面,由Flex完成;服务信息的提高和将逻辑转换成BPEL代码的工作由后台Java写的服务端完成;前台向服务器获取服务信息数据通过REST方式通信,在flex里叫HttpService;其他逻辑数据对象的交互通过RemoteObject的方式通信,也就是在服务器端用blazeds互译Java对象和Flex对象。服务端整体是从SpringSide3的mini-service示例扩展出来的,或者说是套用了它的组织框架,然后添加了自己的东西(它本来就是这个用处嘛~),最终是Spring + Hibernate + Jersey + Blazeds的构成。
代码就不晒了,乱七八糟的还没加像样的注释,之前的文章也说了,在谷歌上开源了,就晒点截图吧:
之前的博客也都提到了,虽然从没接触过Flex,但第一感觉好,就冒着风险用了。事实感觉上手确实挺容易的,很多工具设计得挺周到的,配合FlexBuilder自带的帮助示例和艾睿网上的示例,基本不用找资料书从头学来。最喜欢的是flex的xml数据处理方式,点(.)和@完成了大部分操作,一点不拖沓!Blazeds也不错,可以直接和Java类互转,交互起来比较方便的。
说到Blazeds,不得不说说我混乱的通信方式,说实话,差点再用上WebService,这样三剑客就齐了……最先用到的是Blazeds,毫无疑问就是被它的直接对象映射吸引的。后来在做左侧树结构数据的时候,突然想到了REST,因为我一直认为REST就是用来获取数据的(我管它叫做面向资源的架构,嘿嘿),顺便也学一点新知识吧,就用了。WebService是我接触最早的通信方式,却一直没正式用过,SpringSide里集成了熟悉的CXF,却最终被无情地抛弃了……对于Blazeds还要提一点,我最容易犯的是,将flex里的类映射到Java的接口上,会报错的,折腾死我了~
还有一样最折腾我的就是Hibernate了,毛病还是出在解决方案一大堆的延迟加载上,session啊session,你让我拿什么来爱你~~最终我还是采用了死办法,用Dao取出数据的时候顺带Hibernate.initialize了。
在这之后的工作还有很多,比如几个应用框架的集成(程序运行起来会产生很多applicationContext,明眼人应该知道怎么回事了吧~),剩余业务组合逻辑的实现……最显而易见的界面的美化还没排上号呢~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2000 次