比较BPEL流程中的多个速率 - WSO2

时间:2012-12-15 05:56:14

标签: wso2 wso2esb bpel apache-ode

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

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

来自Vendor1的回复:

<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>

Vendor2的响应:

<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,否则消息必须单独发送。

感谢。

1 个答案:

答案 0 :(得分:0)