2012-12-13 54 views
0

我很困惑如何對我正在做的項目進行分類,如果它是3層或2層。Javascript PHP N層架構

基本上它是一個醫療服務系統,它使用PHP和JS(使用Jquery和Ajax);兩者都用於業務邏輯。一些更有知識的人告訴我它是三層的;我不知道爲什麼......也許是因爲HTML被認爲是表示層,PHP和更重要的JS被認爲是業務層,而PHP(帶MySQL)則是用於數據訪問層?是嗎?我個人認爲它是兩層的。有人可以請給我一個詳細的解釋呢?非常感謝!

+2

爲什麼這很重要?此外,這些術語並沒有特別明確的定義,那麼爲什麼不只是補充/應用自己的定義? http://en.wikipedia.org/wiki/3-tier_architecture –

+0

那麼你是在展示數據,你有業務邏輯來操縱數據,並且你有一個數據層? – shapeshifter

+0

這很重要,因爲架構是項目防禦的一部分。我做了功課,但我仍然在兩者之間徘徊。是的,數據呈現(通過HTML和JS),業務邏輯(JS和PHP)和PHP數據層。但是這些圖層彼此連接,似乎只是兩層 - 即客戶端和服務器層。我應該如何最好地把它準確?很容易混淆 – Wap

回答

1

沒有定義約定。我認爲它是2層客戶端服務器。有人會說我猜...

+0

謝謝。它們是什麼層次?客戶端和服務器層? – Wap

1

我認爲層指的是物理計算機,而不是軟件層。因此,一個3層架構可能是

1 - 數據庫服務器 - MySQL或其它數據庫軟件

2 - 應用(網絡)服務器,運行PHP或其他一些服務器端語言

3 - 客戶( Web瀏覽器解釋HTML和Javascript)

在兩層架構中,數據庫和應用程序服務器都是相同的。

+0

這不會使所有基於瀏覽器的系統都是三層的嗎? (1)用於數據庫的MySQL,(2)需要訪問它的PHP,以及(3)用於客戶端的JS和HTML? – Wap

+0

如果MySQL和Apache/PHP在同一臺服務器上,並且如果MySQL在單獨的服務器上,它將使它們成爲全部兩層。 –

+0

看起來網絡上有很多關於層級是指硬件還是軟件的混淆。例如,本文討論的軟件層http://msdn.microsoft.com/en-us/library/windows/desktop/ms685068(v=vs.85).aspx(可能會或可能不會傳播超過一個服務器),而這一個談論硬件服務器http://www.codingthearchitecture.com/2012/07/20/when_do_you_need_a_3_tier_architecture.html –