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

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


     但在这个项目里我是一个人在战斗,怎么办?只能和空气结对~我用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里就能跑,有兴趣的可以玩玩: 地址

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值