更新時間:2022-05-19 10:59:04 來源:動力節(jié)點 瀏覽1718次
動力節(jié)點小編告訴大家,Java三層架構(gòu)將應(yīng)用程序分為三個邏輯和物理計算層,是傳統(tǒng)客戶端-服務(wù)器應(yīng)用程序的主要軟件架構(gòu)。
三層架構(gòu)是一種成熟的軟件應(yīng)用程序架構(gòu),它將應(yīng)用程序組織成三個邏輯和物理計算層:表示層或用戶界面;處理數(shù)據(jù)的應(yīng)用層;和數(shù)據(jù)層,存儲和管理與應(yīng)用程序關(guān)聯(lián)的數(shù)據(jù)。
三層架構(gòu)的主要好處是,因為每一層都在自己的基礎(chǔ)設(shè)施上運行,每一層都可以由單獨的開發(fā)團隊同時開發(fā),并且可以根據(jù)需要進行更新或擴展,而不會影響其他層。
表示層
表示層是應(yīng)用程序的用戶界面和通信層,最終用戶與應(yīng)用程序進行交互。其主要目的是向用戶顯示信息并從用戶那里收集信息。例如,此頂級層可以在 Web 瀏覽器上運行,作為桌面應(yīng)用程序或圖形用戶界面 (GUI)。Web 表示層通常使用 HTML、CSS 和 JavaScript 開發(fā)。取決于平臺,桌面應(yīng)用程序可以用多種語言編寫。
應(yīng)用層
應(yīng)用程序?qū)樱卜Q為邏輯層或中間層,是應(yīng)用程序的核心。在這一層中,在表示層中收集的信息會被處理——有時會對照數(shù)據(jù)層中的其他信息——使用業(yè)務(wù)邏輯,一組特定的業(yè)務(wù)規(guī)則。應(yīng)用層還可以添加、刪除或修改數(shù)據(jù)層中的數(shù)據(jù)。
應(yīng)用層通常使用 Python、Java、Perl、PHP 或 Ruby 開發(fā),并使用API調(diào)用與數(shù)據(jù)層通信。
數(shù)據(jù)層
數(shù)據(jù)層,有時稱為數(shù)據(jù)庫層、數(shù)據(jù)訪問層或后端,是存儲和管理應(yīng)用程序處理的信息的地方。這可以是關(guān)系數(shù)據(jù)庫管理系統(tǒng),例如PostgreSQL、MySQL、MariaDB、Oracle、DB2、Informix 或 Microsoft SQL Server,也可以是NoSQL數(shù)據(jù)庫服務(wù)器,例如 Cassandra、CouchDB或MongoDB。
在三層應(yīng)用程序中,所有通信都通過應(yīng)用程序?qū)印1硎緦雍蛿?shù)據(jù)層不能直接相互通信。
層與層
在三層架構(gòu)的討論中,layer 經(jīng)常被互換使用——并且錯誤地——用于 tier,如“表示層”或“業(yè)務(wù)邏輯層”。
他們不一樣。“層”指的是軟件的功能劃分,而“層”指的是軟件的功能劃分,它在與其他劃分分開的基礎(chǔ)設(shè)施上運行。例如,您手機上的聯(lián)系人應(yīng)用程序是一個三層應(yīng)用程序,但也是一個單層應(yīng)用程序,因為所有三層都在您的手機上運行。
區(qū)別很重要,因為層不能提供與層相同的好處。
同樣,三層架構(gòu)的主要好處是其邏輯和物理功能分離。每一層都可以在單獨的操作系統(tǒng)和服務(wù)器平臺上運行——例如,Web 服務(wù)器、應(yīng)用程序服務(wù)器、數(shù)據(jù)庫服務(wù)器——最適合其功能需求。并且每一層都運行在至少一個專用服務(wù)器硬件或虛擬服務(wù)器上,因此每一層的服務(wù)都可以定制和優(yōu)化,而不會影響其他層。
其他好處(與單層或兩層架構(gòu)相比)包括:
更快的開發(fā):因為每一層可以由不同的團隊同時開發(fā),組織可以更快地將應(yīng)用程序推向市場,程序員可以為每一層使用最新和最好的語言和工具。
改進的可擴展性:任何層都可以根據(jù)需要獨立于其他層進行擴展。
提高可靠性:一個層的中斷不太可能影響其他層的可用性或性能。
改進的安全性:由于表示層和數(shù)據(jù)層不能直接通信,設(shè)計良好的應(yīng)用層可以作為一種內(nèi)部防火墻,防止 SQL 注入和其他惡意攻擊。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)
初級 202925
初級 203221
初級 202629
初級 203743