2012-11-06 456 views
2

我正在開發這個項目,我的任務是開發一個服務,使用標準的健康保險xml。服務必須對不同的xml字段進行驗證,這涉及將xml數據與數據庫表中的數據進行比較。目前,我們假設所有保險公司的調整保持不變。但我懷疑它會保持不變,並可能有不同的驗證要求每個公司。在這種情況下,使用Drools規則引擎併爲每個公司開發drl文件並使用規則引擎進行xml驗證是一個不錯的主意。Drools規則引擎或任何其他規則引擎適合此需求

+0

我希望我能理解你的問題。讓我嘗試。我會說你的解決方案在於一個合適的設計。既然你不會問設計的建議,但是現在最適合作爲規則引擎的工具,我可能會選擇drools,因爲它被廣泛使用和開發,並且更容易找到熟練的開發人員和良好的文檔。 –

+0

我需要驗證傳入的數據..數據可能會更改每個公司。規則引擎是否適合驗證數據。我們是否需要爲每個公司提供drl文件.. – pavanlapr

+0

是的,是的。基本上,規則引擎告訴你該做什麼,而不是如何去做。 「做什麼」概念與驗證類似。正如你所說的,你可以爲每家公司製作一個DRL,或者擴展一些與主流有例外情況的公司的DRL。要驗證只需插入一個對象,如布爾型,ni工作內存,並檢查對象是真還是假。這是一種方式,你也可以考慮一些在你的情況下效果更好的方法。 –

回答

0

嘗試解決此問題的一種可能方法是首先解析每個公司的圖表將特定文件轉換爲通用格式(中間表示),這是一種xml文件,它可以是您自己的表達您之前解析過的文件數據的標準。

然後編寫該特定中間格式的驗證引擎文件。

如果你這樣做,那麼你可以逃脫一個單一的文件,其中所有的驗證規則是定義的,而不是爲所有不同的公司分開文件。

+0

不知道我是否理解你的回覆.. XML模式對於所有公司都是一樣的。只是一家公司可能無法填充某個領域,而另一家公司可能會發送它。 – pavanlapr

+0

哦好吧......我認爲每個公司都有單獨的模式:P。然後,我能想到的唯一方法是將您擁有的所有xml文件附加到新文件中,作爲其父節點代表其所屬公司的每個父節點的子節點。有了這個,您將能夠在單個文件中指定所有規則。 – subzero