2015-11-25 48 views
0

問題簡而言之: 是否有可能從2層逐步轉換爲3層架構?沒有JavaEE的3層架構

問題,因爲它是:

我們有一個混亂的一種,以2層應用程序。 演示是在PHP中,在Oracle中的數據業務邏輯部分在PLSQL中,部分在JavaSE中,部分在PHP中。例如(不幸的是),要殺死當前的軟件架構師是不可能的,將所有的東西都扔掉,然後重新啓動WildFly。

是否有可能逐漸開始製作圖層? 例如,具有業務邏輯的JavaSE應用程序將停止將數據返回到SQL,但Php從JavaSE獲取數據的正確方法是什麼?

我讀過有關SOAP一點,但如果網站上的PHP將開始越來越/通過它發送的所有數據,這將是非常麻煩(因爲我看到它)

+2

「這是不可能殺死當前的軟件架構師」?:) – Kayaman

+1

讓我們擺脫一件事:歷史性的選擇會使這個過程變得繁瑣和昂貴,因爲沒有簡單的方法出。你必須在思想上接受這一點,然後重新設計和**重建** JavaSE的東西到一個RESTful的web服務。我的水晶球告訴我現有的代碼不能以任何方式重寫。 – Gimby

+0

很長的答案,是的,這是可能的,我的建議將首先整理,並決定使用一種語言的業務層,我的簡短答案將運行,如果當前的架構師仍然在該項目上工作,以及讓這種設計發生的人,我想你會在別處更安全 – user902383

回答

0

只是我認爲: 我會完全用Java(SE甚至EE)重寫你的後端。你也可以使用ORM的Hibernate來爲你的數據層訪問提供優勢。處理我的意見的最佳方式是使用RESTful Web服務或SOAP。 PHP有很多庫(包括SOAP擴展),因此您不必擔心在PHP中使用SOAP。 請將閱讀內容寫入: http://php.net/manual/en/book.soap.php

許多PHP框架都支持SOAP,並且在重構前端時會給予很大的幫助。

所以用幾句話。您的前端(php)將調用Java後端businnes層,該層將創建所有的業務邏輯(您可以在此處移植您的PLSQL邏輯),最終將與您的數據層進行對話。