在apache ode中实现人工输入

时间:2014-05-19 09:47:14

标签: java bpel bpm apache-ode

我想学习如何使用Apache ODE并在我的java aplications中使用它。但我找不到一个好的资源来学习。到目前为止,我发现的网络上的所有示例都非常简单(发送消息并收到消息)。我想做一个简单的过程,发生以下情况:

  1. 处理带有一些输入的星星
  2. java函数通过某种算法运行输入,并将结果传递给下一个函数
  3. 下一个功能显示管理员的输入,他决定是批准流程还是丢弃流程。如果没有,他的回答将传递给下一个函数,否则将终止整个过程。
  4. 如果操作获得批准,则下一个功能会起作用。
  5. 这很难吗?你能给我一些使用apache ode并需要人工输入的项目的链接吗?

1 个答案:

答案 0 :(得分:0)

Apache ODE是一个BPEL引擎。 BPEL本身旨在支持两级编程:BPEL层更抽象,符合组织的实际业务流程,该组织利用以BPEL或“标准”编程语言(如Java)实现的Web服务。因此,BPEL协调Web服务。

所以,完成你的步骤:

  1. BPEL提供< receive>操作你这样做。您的Java程序(或任何其他Web服务客户端)将调用此操作。根据操作是在WSDL中定义为单向还是双向,您需要< assign>和< reply>准备输出消息并将其发送给呼叫者。
  2. Java函数应该作为Web服务公开。您有很多选择,包括JAX-WS,Spring WS和Apache CFX等。这是您描述的经典业务规则服务。
  3. BPEL本身不提供人类活动。这已被BPEL4People添加,但遗憾的是Apache ODE不支持此功能。你需要一些可以通过< invoke>来调用的任务管理器。然后把任务放在那里。对于回调,您需要再次使用< receive>。因为您需要将回调关联到流程实例,所以您需要定义一个关联集。
  4. 无论是什么,但是再一次,在BPEL中它将是一个< invoke>。