- Java EE 程序設計
- 郝玉龍編著
- 2089字
- 2019-07-01 10:15:58
1.1 Java EE產生的背景
隨著社會信息化程度不斷提高,越來越多的程序設計人員需要開發企業級的應用程序。為了滿足開發企業級應用的需求,1998年,Sun公司在J2SE(Java 2 Platform Standard Edition)基礎上,提出了J2EE(Java 2 Platform Enterprise Edition)。
說明:自2005年J2EE 5.0版本推出以后,Sun正式將J2EE的官方名稱改為Java EE。因此在本書以后的描述中,統一使用Java EE這一名稱。2009年Sun公司被Oracle公司收購,因此Java EE也轉歸Oracle公司所有。
1.1.1 企業級應用程序特征
所謂企業級應用程序,并不是特指為企業開發的應用軟件,而是泛指那些為大型組織部門創建的應用程序。與常見的應用程序相比較,企業級應用程序一般具有以下特征。
(1)多用戶。企業級應用通常需要服務大量用戶群體,少則是一個單位或組織內的幾十名員工,多則是數以億計的社會人群。
(2)分布式。企業級應用程序通常不是運行在某個單獨的PC上,而是通過局域網運行在某個組織內部,或通過Internet連接分布在世界各地的部門或用戶。
(3)連續性。企業級應用通常需要24×7連續不停地運轉,即使是短暫的服務中斷也可能是無法接受的,例如,鐵路調度系統、電子商務網站等。
(4)多變性。社會環境瞬息萬變,企業組織必須不斷地改變業務規則來適應社會信息的高速變化,相應地,對應用程序也不斷提出新的需求。企業級應用程序必須具備彈性來及時適應需求的改變,同時又盡可能地減少資金的投入。
(5)可擴展性。在網絡環境內,應用的潛在用戶可能成百上千,企業級應用除了要考慮能夠更加有效地利用企業不斷增長的信息資源,還要充分考慮用戶群體的膨脹給應用帶來的性能上的擴展需求。
(6)安全性。維護應用系統的正常操作和運轉,對于企業的成功來說至關重要。但僅僅做到這一點還不夠,企業應用還必須保證企業信息的安全和系統運行的可靠性。
(7)集成化。企業應用除了滿足自身的需求外,還經常需要與其他信息系統進行交互對接。例如,一個電子商務網站通常需要與物流信息系統和電子支付系統進行交互。
注:Java EE是專為解決企業級應用開發提出的,牢記企業應用的上述特征是深入理解和靈活運用Java EE開發技術的前提和基礎。
1.1.2 企業級應用程序體系結構
應用程序體系結構是指應用程序內部各組件間的組織方式。企業級應用程序的體系結構的設計經歷了從兩層結構到三層結構再到多層結構的演變過程。
1.兩層體系結構應用程序
如圖1-1所示,兩層體系結構應用程序分為客戶層(Client)和服務器層(Server),因此又稱為C/S模式。在兩層體系結構中,客戶層的客戶端程序負責實現人機交互、應用邏輯、數據訪問等職能;服務器層由數據庫服務器來實現,主要職能是提供數據庫服務。這種體系結構的應用程序有以下的缺點:

圖1-1 兩層體系結構應用程序
(1)安全性低。客戶端程序與數據庫服務器直接連接,非法用戶容易通過客戶端程序侵入數據庫,造成數據損失。
(2)部署困難。集中在客戶端的應用邏輯導致客戶端程序肥大,而且隨著業務規則的不斷變化,需要不斷更新客戶端程序,大大增加了程序部署工作量。
(3)耗費系統資源。每個客戶端程序都要直接連到數據庫服務器,使服務器為每個客戶端建立連接而消耗大量寶貴的服務器資源,導致系統性能下降。
2.三層體系結構應用程序
為解決兩層體系結構應用程序帶來的問題,軟件開發領域又提出三層體系結構應用程序,在兩層體系結構應用程序的客戶層與服務器層之間又添加了一個第三層——應用服務器層。這樣應用程序共分為客戶層、應用服務器層、數據服務器層三個層次,如圖1-2所示。與兩層體系結構的應用相比,三層體系結構應用程序的客戶層功能大大減弱,只用來實現人機交互,原來由客戶層實現的應用邏輯、數據訪問職能都遷移到應用服務器層上來實現,因此客戶層通常被稱作“瘦客戶層”。數據服務層仍舊僅提供數據信息服務。由于客戶層應用程序通常由一個通用的瀏覽器(Browser)程序實現,因此這種體系結構又被稱作B/S模式或“瘦客戶端”模式。應用服務器層是位于客戶層與數據服務器層中間的一層,因此應用服務器被稱作“中間件服務器”或“中間件”,應用服務器層又被稱作“中間件服務器層”。

圖1-2 三層體系結構應用程序
相對于兩層體系結構的應用程序,三層體系結構的應用程序具有以下優點:
(1)安全性高。中間件服務器層隔離了客戶端程序對數據服務器的直接訪問,保護了數據信息的安全。
(2)易維護。由于業務邏輯在中間件服務器上,當業務規則變化后,客戶端程序基本不做改動,只需要升級應用服務器層的程序即可。
(3)快速響應。通過中間件服務器層的負載均衡以及緩存數據能力,可以大大提高對客戶端的響應速度。
(4)系統擴展靈活。基于三層分布體系的應用系統,可以通過在應用服務器部署新的程序組件來擴展系統規模;當系統性能降低時,可以在中間件服務器層部署更多的應用服務器來提升系統性能,縮短客戶端的響應時間。
3.多層體系結構應用程序
可以將中間件服務器層按照應用邏輯進一步劃分為若干個子層,這樣就形成了多層體系結構的應用程序。關于多層體系結構應用程序,類似于三層體系結構,此處不再贅述。在有些文獻中也將三層以及三層以上體系結構應用程序統稱為多層體系結構應用程序。
為了滿足開發多層體系結構的企業級應用的需求,Sun公司在早期的J2SE基礎上,針對企業級應用的各種需求提出了Java EE。
- Implementing Modern DevOps
- 算法零基礎一本通(Python版)
- C#完全自學教程
- Hands-On Data Structures and Algorithms with JavaScript
- Building RESTful Python Web Services
- Learning Raspbian
- Learning JavaScript Data Structures and Algorithms
- Go語言開發實戰(慕課版)
- Python網絡爬蟲技術與應用
- RocketMQ實戰與原理解析
- 進入IT企業必讀的324個Java面試題
- Learning Unreal Engine Game Development
- 流程讓管理更高效:流程管理全套方案制作、設計與優化
- 深入理解Android:WebKit卷
- Lucene 4 Cookbook