我想開發一個Java EE Web應用程序,該應用程序需要通過JPL爲Prolog提供某些搜索相關任務。 Web應用程序將部署在JBoss應用程序服務器中。 Prolog引擎可以是YAP或SWI(afaik是目前唯一與JPL兼容的Prolog引擎)。 Prolog查詢依賴於存儲在(可能很大)數據庫中的信息。在Java EE Web應用程序中使用JPL(Java + Prolog)
如果有人試圖這樣或類似的東西,請你給我講了以下問題?:
- 什麼是管理需要訪問的Prolog引擎併發的HTTP會話的最佳方式反饋?是否可能 - 可取的 - 分配給每個單獨的會話自己的Prolog引擎?如果這個解決方案有效,是否有可能實現類似於'Prolog引擎池'的快速分配prolog引擎到新會話? 。或者最好的解決方案是讓一個Prolog引擎同步管理所有查詢請求? (並慢慢地)。
- 如何管理Prolog與數據庫的交互?如果數據在數據庫中經常發生變化,並且Prolog需要這些數據來解決它的查詢,那麼保持Prolog引擎中的事實與數據庫中的數據同步的最佳策略是什麼?在每次新會話中從頭開始的海軍選項(例如,將數據庫中的所有數據重新加載爲Prolog事實),如果數據庫變大,似乎不是一個好主意。
- 執行期間與java-prolog-database交互相關的任何其他預期問題/困難?
在此先感謝!
也許將您的問題分成多個問題。關於如何進行Web服務和如何執行持久數據的解決方案有一點相關,但當被置於一個答案時可能會引起混淆。 – 2012-04-18 11:53:19
嗨@CookieMonster!,不知道是否將它拆分是一個好主意。兩個問題共享相同的上下文並且可能解決一個問題(例如,來自web應用程序的對prolog引擎的管理)影響對另一個問題的正確解決方案(例如,prolog引擎如何與數據庫保持同步)。試圖給出問題的全貌。 – Sergio 2012-04-18 13:03:11