2012-12-15 58 views
2

我們已經使用Apache ODE/WSO2 BPS實施了一個BPEL流程(它涵蓋了整個訂單流程,因此我們有很長的運行流程)。比較BPEL流程中的多個費率 - WSO2

我們收到來自六個供應商的一些產品的價格,響應格式已經統一,每個響應包含5-10個產品。下面是一些示例響應:從供應商1

響應:從供應商2

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

響應:

<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,否則這些消息必須單獨發送。

謝謝。

回答