2

我们已经使用 Apache ODE / WSO2 BPS 实现了一个 BPEL 流程(它涵盖了整个订单流程,因此我们有长时间运行的流程)。

我们正在从六家供应商处获取一些产品的价格,响应格式已经统一,每个响应包含 5-10 个产品。以下是一些示例响应:

供应商 1 的回应:

<Products Vendor="1stVendor">
<Product>
    <Brand>Sony</Brand>
    <Model>M5<Model> 
    <Price>800.00<Price>
<Product>
<Product>
    <Brand>Dell</Brand>
    <Model>B6<Model> 
    <Price>900.00<Price>
<Product>

供应商 2 的回应:

<Products Vendor="2ndVendor">
<Product>
    <Brand>Sony</Brand>
    <Model>M5<Model> 
    <Price>720.00<Price>
<Product>
<Product>
    <Brand>Dell</Brand>
    <Model>B6<Model> 
    <Price>950.00<Price>
<Product>
<Product>
    <Brand>IBM</Brand>
    <Model>H9<Model> 
    <Price>940.00<Price>
<Product>

现在我们需要比较每种产品的价格,以找到每种产品的最便宜价格,并返回最佳选项作为最终响应。对于上面的示例,它应该如下所示:

最后回应:

<Products>
<Product CheapestVendor="2ndVendor">
    <Brand>Sony</Brand>
    <Model>M5<Model> 
    <Price>720.00<Price>
<Product>
<Product CheapestVendor="1stVendor">
    <Brand>Dell</Brand>
    <Model>B6<Model> 
    <Price>900.00<Price>
<Product>
<Product CheapestVendor="2ndVendor">
    <Brand>IBM</Brand>
    <Model>H9<Model> 
    <Price>940.00<Price>
<Product>

关于以上细节:

1-实现这一目标的最佳和最快方法是什么?

2- 使用 Drools 或 WSO2 BRS 之类的规则引擎来比较这些价格是否有意义?如果是,我们应该将所有响应合并到一条消息中并传递给 BRS,还是必须单独发送消息。

谢谢。

4

1 回答 1

0

此处解释了类似的情况http://wso2.com/library/articles/2011/05/integrate-business-rules-bpel/

谢谢

蒂利尼

于 2013-10-29T04:28:57.280 回答