论坛首页 Java企业应用论坛

我的服务流程编排工具第一个发布版

浏览 2544 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-26  

     话说上次有前辈推荐学习敏捷开发方法,于是我去当当拖了两本书——《敏捷软件开发——原则、模式与实践》和《敏捷开发的艺术》,都是好书,受益匪浅。


     但在这个项目里我是一个人在战斗,怎么办?只能和空气结对~我用Win7的便笺功能作为故事卡片贴桌面上;测试驱动是本来就这么干的;版本控制一直在用Google的code服务;客户只能又让自己兼了……


~~~~以上是胡扯,我是分割线~~~~


     在这个发布版里,我重构了之前中期检查时那个版本的对象模型,BPEL元素的对象全部由JAXB来映射;考虑到一些命名空间的细节,我自创的BCP模型也稍作修改;完全重写了从BCP模型到BPEL模型的翻译过程;添加了一个获取方法参数列表的资源服务……


     目前可以实现的流程还是那么多:纯顺序结构、混合顺序结构、与合并和与分叉结构。要体验完整的服务编排和执行,还是得依赖项目组的服务部署服务器和执行引擎(接下来的工作便是模拟一个自己的服务部署服务器和执行引擎)。


      例如下图这个编排方式:


      翻译后的BPEL代码为:(因为没有部署的服务,这段代码只算是一个骨架,没有具体的服务调用数据)

 

<process name="process" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
  <documentation>This is a test BPEL code.</documentation>
  <partnerLinks/>
  <variables/>
  <sequence>
    <assign name="assign"/>
    <flow>
      <links>
        <link name="link1"/>
        <link name="link2"/>
        <link name="link3"/>
        <link name="link4"/>
        <link name="link5"/>
      </links>
      <receive name="receive0">
        <sources>
          <source linkName="link1"/>
        </sources>
      </receive>
      <assign>
        <targets>
          <target linkName="link1"/>
        </targets>
        <sources>
          <source linkName="link2"/>
        </sources>
      </assign>
      <flow>
        <targets>
          <target linkName="link2"/>
        </targets>
        <invoke name="invoke0">
          <sources>
            <source linkName="link3"/>
          </sources>
        </invoke>
        <invoke name="invoke1">
          <sources>
            <source linkName="link4"/>
          </sources>
        </invoke>
      </flow>
      <assign>
        <targets>
          <joinCondition>$link3 and $link4</joinCondition>
          <target linkName="link3"/>
          <target linkName="link4"/>
        </targets>
        <sources>
          <source linkName="link5"/>
        </sources>
      </assign>
      <reply name="reply0">
        <targets>
          <target linkName="link5"/>
        </targets>
      </reply>
    </flow>
  </sequence>
</process>
 
     整个部署包我已经上传到了我Google code的项目站点上,扔tomcat里就能跑,有兴趣的可以玩玩:地址

 

  • 大小: 15.6 KB
   发表时间:2010-04-26  
给你的连线加个箭头吧……
0 请登录后投票
   发表时间:2010-04-26  
lee326 写道
给你的连线加个箭头吧……

恩,这我都想加好久了,老忘记……
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics