成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java企業(yè)級應(yīng)用架構(gòu)設(shè)計中的分布式結(jié)構(gòu)

開發(fā) 后端 分布式
Java企業(yè)級應(yīng)用架構(gòu)設(shè)計是每個Java開發(fā)者不必學(xué)的知識,本文將對Java EE應(yīng)用的架構(gòu)與設(shè)計進(jìn)行一些基礎(chǔ)性的介紹,而這些內(nèi)容構(gòu)筑了整個Java EE應(yīng)用開發(fā)的基礎(chǔ)。

Java企業(yè)級應(yīng)用架構(gòu)設(shè)計中的分布式結(jié)構(gòu)大致可以分為單級結(jié)構(gòu)、2級結(jié)構(gòu)、3級結(jié)構(gòu)和N級結(jié)構(gòu)。充分理解和應(yīng)用分布式結(jié)構(gòu)可以更好的理解當(dāng)代網(wǎng)絡(luò)計算的現(xiàn)狀,設(shè)計出更優(yōu)的企業(yè)級應(yīng)用程序。

長久以來,Java企業(yè)級版本(Java EE)已經(jīng)成為了眾多產(chǎn)業(yè)領(lǐng)域(如銀行業(yè)、保險業(yè)、零售業(yè)、酒店業(yè)、旅游業(yè)以及電信業(yè)等等)進(jìn)行企業(yè)商務(wù)應(yīng)用開發(fā)和部署的平臺選擇。Java EE之所以應(yīng)用如此廣泛,其原因在于,Java EE可以為構(gòu)建健壯、高擴(kuò)展性的分布式應(yīng)用系統(tǒng)提供標(biāo)準(zhǔn)化的平臺,而這些應(yīng)用所支持的范圍可以涵蓋從銀行核心業(yè)務(wù)運(yùn)作,到航空公司訂票引擎之間的廣大區(qū)域。不過,開發(fā)成功的Java EE應(yīng)用也可能成為一項(xiàng)艱巨的任務(wù),Java企業(yè)級應(yīng)用架構(gòu)設(shè)計在其中起著重要作用。

首先Java EE平臺自身所提供的豐富選擇就足可以令人生畏。那些過剩的框架、實(shí)用程序類庫、集成開發(fā)環(huán)境(IDE),以及可供選擇的工具讓一切都更加富有挑戰(zhàn)性。因此,選擇好合適的技術(shù)對于開發(fā)基于Java EE的軟件來說至關(guān)重要。而那些擁有健壯架構(gòu)與設(shè)計準(zhǔn)則的技術(shù),會對構(gòu)建易于維護(hù)、重用以及擴(kuò)展的應(yīng)用系統(tǒng)大有裨益。
 
我們將首先回顧一下分布式計算的進(jìn)化史以及n級結(jié)構(gòu)。之后我將展示Java EE平臺是如何解決分布式應(yīng)用開發(fā)中的難點(diǎn)的。同時你還會了解模型-視圖-控制器(MVC)結(jié)構(gòu)準(zhǔn)則。然后我會結(jié)合MVC準(zhǔn)則與Java EE平臺,來講解多層Java EE應(yīng)用結(jié)構(gòu)。
 
在了解了應(yīng)用系統(tǒng)架構(gòu)之后,我將把注意力集中到基于面向?qū)ο笤瓌t的Java EE應(yīng)用開發(fā)上。我同時還會講解如何使用設(shè)計模式來簡化設(shè)計過程,以及如何選擇***的實(shí)踐范例。此外我還會觸及Sun公司的Java BluePrints所收錄的設(shè)計模式目錄,其內(nèi)容在Deepak Alur et al的《核心J2EE設(shè)計模式》(Prentice Hall出版社,2003年)一書中有詳細(xì)的介紹。在文章的***,我將介紹通用建模語言(UML)以及其在可視化Java EE文檔設(shè)計與架構(gòu)之中所扮演的的角色。
 
分布式計算進(jìn)化史
 
在分布式計算中,一個應(yīng)用會被劃分為若干稍小的部件,并同時運(yùn)行在不同的計算機(jī)上。這種計算方式又被稱為“網(wǎng)絡(luò)計算”,因?yàn)檫@些部件通常會通過建立在TCP/IP或者UDP協(xié)議之上的某些協(xié)議進(jìn)行通訊。這些稍小的應(yīng)用部件被稱為“級”,每一級都可以向其他連接級獨(dú)立提供一類服務(wù)。而“級”又可以被細(xì)化為若干“層”,以便降低功能的粒度。大多數(shù)Java企業(yè)級應(yīng)用架構(gòu)設(shè)計都應(yīng)具有三個不同的層:

◆表現(xiàn)層負(fù)責(zé)用戶接口。

◆業(yè)務(wù)層執(zhí)行業(yè)務(wù)邏輯。在運(yùn)行過程中,它還會與數(shù)據(jù)訪問層進(jìn)行交互。

◆數(shù)據(jù)訪問層負(fù)責(zé)對存儲在企業(yè)信息系統(tǒng)(EIS)中的數(shù)據(jù)進(jìn)行存取等操作。
 
通過分析分布式計算結(jié)構(gòu)的躍遷史,我們可以更好的理解當(dāng)代網(wǎng)絡(luò)計算的現(xiàn)狀。在接下來的幾節(jié)中,我將用幾個恰當(dāng)?shù)睦咏榻B分布式結(jié)構(gòu)的變遷。
 
單級結(jié)構(gòu)
 
單級結(jié)構(gòu)的使用可以追溯到那些使用簡易終端連接巨型主機(jī)的日子。在這種結(jié)構(gòu)中,用戶接口、業(yè)務(wù)邏輯以及數(shù)據(jù)等所有應(yīng)用構(gòu)成層都被配置在同一個物理主機(jī)中。用戶通過終端機(jī)或控制臺與系統(tǒng)進(jìn)行交互,而這種方式只具有非常有限的文本處理能力(參見圖1)

Java企業(yè)級應(yīng)用架構(gòu)設(shè)計中的單層結(jié)構(gòu)
圖1. 單層結(jié)構(gòu)(圖中文字:Console——“控制臺”;Dumb Terminal——“簡易終端”;Mainframe——主機(jī))

2級結(jié)構(gòu)
 
在1980年代早期,個人電腦(PC)變得非常流行,它比大型主機(jī)便宜,處理能力又比簡易終端之類的設(shè)備強(qiáng)。PC的出現(xiàn)為真正的分布式(客戶端——服務(wù)器,C/S)計算鋪平了道路。作為客戶端的PC現(xiàn)在可以獨(dú)立運(yùn)行客戶接口(UI)程序,同時它還支持圖形化客戶接口(GUI),允許用戶輸入數(shù)據(jù),并與服務(wù)器主機(jī)進(jìn)行交互,而服務(wù)器主機(jī)現(xiàn)在只負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)的部分。當(dāng)用戶在客戶端完成數(shù)據(jù)錄入后,GUI程序可以選擇性的進(jìn)行數(shù)據(jù)有效性校驗(yàn),之后將數(shù)據(jù)發(fā)送給服務(wù)器進(jìn)行業(yè)務(wù)邏輯處理。Oracle基于表單的應(yīng)用就是2級結(jié)構(gòu)的優(yōu)秀范例。表單的GUI存儲在客戶端PC中,而業(yè)務(wù)邏輯(包括代碼以及存儲過程)以及數(shù)據(jù)仍然保留在Oracle的數(shù)據(jù)庫服務(wù)器中。
 
此后又出現(xiàn)了另外一種2級結(jié)構(gòu),在這種結(jié)構(gòu)中,不只是用戶接口(UI),連業(yè)務(wù)邏輯也被放到了客戶端一級。這種應(yīng)用的典型運(yùn)行方式是直接連接數(shù)據(jù)庫服務(wù)器進(jìn)行各種數(shù)據(jù)庫查詢。這種客戶端被稱作“胖客戶端”,因?yàn)檫@種結(jié)構(gòu)將可執(zhí)行代碼的相當(dāng)大一部分都放到了客戶端一級(參見圖2)。

Java企業(yè)級應(yīng)用架構(gòu)中的2級結(jié)構(gòu)
圖2. 2級結(jié)構(gòu)(Business Logic Layer——業(yè)務(wù)邏輯層;Optional——可選;User Interface Layer——用戶接口層;Thick Client——胖客戶端;Data Access Layer——數(shù)據(jù)訪問層; Mainframe Server——服務(wù)器主機(jī))

3級結(jié)構(gòu)
 
盡管2級“胖客戶端”應(yīng)用的開發(fā)很簡單,但是任何用戶接口或者業(yè)務(wù)邏輯的改變所導(dǎo)致的軟件升級都需要在所有客戶端上進(jìn)行。幸運(yùn)的是,在上世紀(jì)90年代中期,硬件成本已經(jīng)變得越來越低,而CPU的運(yùn)算能力卻得到了巨大提升。與此同時,互聯(lián)網(wǎng)的發(fā)展非常迅速,互聯(lián)網(wǎng)應(yīng)用的發(fā)展趨勢已經(jīng)逐漸顯現(xiàn),兩者的結(jié)合最終導(dǎo)致了3級結(jié)構(gòu)的產(chǎn)生。
 
在3級結(jié)構(gòu)模型中,PC客戶端只需要安裝“瘦客戶端”軟件——比如瀏覽器——來顯示服務(wù)器提供的展示內(nèi)容,服務(wù)器負(fù)責(zé)準(zhǔn)備展示內(nèi)容、業(yè)務(wù)邏輯以及數(shù)據(jù)訪問邏輯,應(yīng)用程序的數(shù)據(jù)來自企業(yè)信息系統(tǒng),例如關(guān)系數(shù)據(jù)庫。在這樣的系統(tǒng)中,業(yè)務(wù)邏輯可以通過遠(yuǎn)程訪問,因此通過Java控制臺應(yīng)用程序支持一個獨(dú)立的客戶端就成為課程。業(yè)務(wù)層主要通過數(shù)據(jù)訪問層與信息系統(tǒng)實(shí)現(xiàn)交互。因?yàn)檎麄€應(yīng)用都位于服務(wù)器之上,因此這樣的服務(wù)器也被稱作“應(yīng)用程序服務(wù)器”或者“中間件”(參見圖3)。

Java企業(yè)級應(yīng)用架構(gòu)中的3級結(jié)構(gòu)
圖3. 3級結(jié)構(gòu)(圖中文字:Presentation Layer——表現(xiàn)層;Business Logic Layer——業(yè)務(wù)邏輯層;Data Access Layer——數(shù)據(jù)訪問層;Thin Client——瘦客戶端;Application Server——應(yīng)用程序服務(wù)器;Enterprise Data——企業(yè)數(shù)據(jù);Database Server——數(shù)據(jù)庫服務(wù)器)

N級結(jié)構(gòu)
 
隨著互聯(lián)網(wǎng)帶寬的不斷提高,全世界的各大企業(yè)都相繼啟動了他們的網(wǎng)絡(luò)服務(wù)。這種變化導(dǎo)致應(yīng)用服務(wù)器無法繼續(xù)承擔(dān)表現(xiàn)層的巨大負(fù)荷。這項(xiàng)任務(wù)現(xiàn)在已經(jīng)由專門負(fù)責(zé)產(chǎn)生展示內(nèi)容的專門網(wǎng)頁服務(wù)器所承擔(dān)。展示內(nèi)容之后被傳送到客戶端級的瀏覽器上,瀏覽器會負(fù)責(zé)將用戶接口表現(xiàn)出來。N級結(jié)構(gòu)中的應(yīng)用服務(wù)器負(fù)責(zé)提供可遠(yuǎn)程訪問的業(yè)務(wù)邏輯組件,而表現(xiàn)層網(wǎng)頁服務(wù)器則使用本網(wǎng)協(xié)議通過網(wǎng)絡(luò)訪問這些組件。圖4展示了n級結(jié)構(gòu)。

Java企業(yè)級應(yīng)用架構(gòu)中的N級結(jié)構(gòu) 

以上是Java企業(yè)級應(yīng)用架構(gòu)設(shè)計中的分布式結(jié)構(gòu),在不同的需求和應(yīng)用場景中,我們會用到不同的分布式結(jié)構(gòu),設(shè)計不同的Java企業(yè)級應(yīng)用架構(gòu)。

【編輯推薦】

  1. J2EE架構(gòu)的6個***實(shí)踐
  2. Java EE的Web服務(wù)原理和體系結(jié)構(gòu)
  3. OSGi和Java企業(yè)級開發(fā)的未來方向
  4. 初探Java企業(yè)級開源框架OSGi
責(zé)任編輯:佚名 來源: 譯言
相關(guān)推薦

2025-03-06 01:00:55

架構(gòu)推送服務(wù)編程語言

2009-10-26 14:10:46

分布式設(shè)計

2022-02-22 10:29:24

分布式架構(gòu)高可用

2010-01-15 10:15:34

分布式交換技術(shù)

2022-06-02 10:35:20

架構(gòu)驅(qū)動

2014-03-03 09:23:43

Zabbix分布式系統(tǒng)監(jiān)控

2023-08-27 16:11:35

數(shù)據(jù)庫分布式事務(wù)數(shù)據(jù)庫

2017-07-06 17:26:36

阿里分布式應(yīng)用架構(gòu)

2021-08-26 00:23:14

分布式存儲高可用

2021-08-24 05:02:34

云原生容器分布式

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2020-01-03 09:00:00

數(shù)據(jù)庫數(shù)據(jù)庫管理金融

2009-08-25 13:48:01

Java EE架構(gòu)企業(yè)級應(yīng)用

2021-08-25 05:05:26

存儲 備份恢復(fù)

2014-03-10 17:21:00

IT技術(shù)周刊

2013-05-13 10:30:26

分布式架構(gòu)架構(gòu)設(shè)計網(wǎng)站架構(gòu)

2021-06-09 09:00:00

微服務(wù)架構(gòu)技術(shù)

2018-11-26 15:12:45

存儲選型架構(gòu)

2019-11-19 09:00:00

數(shù)據(jù)庫架構(gòu)設(shè)計

2021-08-26 23:54:46

分布式存儲負(fù)載
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产九九精品视频 | 中国一级特黄真人毛片免费观看 | 欧美一级黄色网 | 久久午夜视频 | 国产精品久久久久久婷婷天堂 | 性一交一乱一透一a级 | 丝袜一区二区三区 | 久久久久久免费免费 | 亚洲国产精品久久久久秋霞不卡 | 成人国产精品入口免费视频 | 国产a爽一区二区久久久 | 能免费看的av | 欧美一级片在线观看 | 青青伊人久久 | aaa在线观看| www狠狠干| 欧美一二区 | 欧美1区 | 爱综合| 中文字幕高清视频 | 色888www视频在线观看 | 爱草视频 | 精品视频在线观看 | 日本一区二区三区四区 | 欧美性受xxxx白人性爽 | 欧美久久视频 | 亚洲高清免费视频 | 国产精品中文字幕一区二区三区 | 羞羞在线观看视频 | 久久午夜精品 | 亚洲精品www | 青青草中文字幕 | 依人成人| 久久久这里都是精品 | 亚洲精品一区二区在线观看 | 国产一区二区三区色淫影院 | 99热首页 | 欧美日韩精品免费 | 国产精品精品视频 | 欧美激情久久久 | 亚洲精品三级 |