自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JBoss5迎來可配置時(shí)代

開發(fā) 后端
本文介紹JBoss5時(shí)代的相關(guān)事情,包括開源軟件JBoss即將推出JBoss5版本,在其JBoss5版本中,其微核心本身將是可配置的。

面向?qū)ο蟮旎酥籊rady Booch說:The great thing about objects is they can be replaced.對(duì)象最偉大的之處是其可被替代(這也是使用OO的主要原因之一)。

每個(gè)對(duì)象都是可替代意味著高度的靈活性,我們?cè)?jīng)夢(mèng)想的“按需裝配”時(shí)代已經(jīng)來臨,由Ioc模式/依賴注射組成微容器可以幫助我們實(shí)現(xiàn)對(duì)象的可替代性。

Spring/HiveMind 包括Jdon Framework都是Ioc組成的一種微容器,在Java企業(yè)系統(tǒng)架構(gòu)選擇考量一文中,我已經(jīng)在靈活性方面對(duì)幾個(gè)組件架構(gòu)進(jìn)行了比較。

其中一個(gè)重要的疑問:EJB3是POJO嗎?這里面有兩個(gè)概念:EJB3是否支持POJO?EJB3本身是否是POJO?前者答案是肯定的,但是后者則曾經(jīng)是否定的。

在回答之前,我們必須對(duì)POJO有一個(gè)詳細(xì)了解,最初POJO是相對(duì)EJB提出的,Martin Fowler 對(duì)POJO定義是:我發(fā)現(xiàn):人們已經(jīng)忘記了原來正常的Java Object,因?yàn)檫@些對(duì)象還沒有一個(gè)很特殊的名字,....這樣我?它們?nèi)∶麨镻OJO(Plain Old Java Object), 一個(gè)POJO domain model容易放在一起,快速build,在EJB容器以外運(yùn)行和測(cè)試,并且不依賴EJB。

但是,隨著EJB3支持POJO,POJO的概念從原來相對(duì)EJB的定義已經(jīng)引申開來,代指一種相當(dāng)靈活的對(duì)象,也就是可被隨時(shí)替換的對(duì)象,不因?yàn)橐栏饺魏慰蚣芏荒鼙惶鎿Q。

那么,EJB3本身是否是POJO?實(shí)際意義是EJB container是否是POJO,也就是說:EJB本身組件是否可被替換?

正如我在Java企業(yè)系統(tǒng)架構(gòu)選擇考量一文中所寫,當(dāng)我們只需要EJB3的集群,而事務(wù)等基礎(chǔ)功能都不需要時(shí),EJB服務(wù)器是否支持我們這種任意配置和切割?或者我想替代其中一個(gè)基礎(chǔ)功能,是否可任意供我們切換,也就是Grady Booch那句話:對(duì)象是否可替換?

當(dāng)然,在這場(chǎng)“EJB3是否是POJO”討論中,有人引用一些老外名言:EJB3本身是否是POJO沒有討論意義,可惜說這話的老外自己的概念沒有達(dá)到最新理念上。

那么,作為一種組件結(jié)構(gòu),是否可以既支持應(yīng)用系統(tǒng)的任何一個(gè)組件對(duì)象可替換,而且也支持框架本身的組件也是可替換,這個(gè)境界是否可以達(dá)到呢?

完全沒有問題,目前,開源軟件HiveMind和Jdon框架都是支持徹底的可替換,所謂徹底的可替換就是框架本身一些功能也是可配置,可嵌入的,而不只是應(yīng)用程序是可替換的。

這就實(shí)現(xiàn)了組件架構(gòu)的完全的、徹底的可配置性,是一種Embeddable或Plug-in架構(gòu),這樣的架構(gòu)可允許開發(fā)者介入任何一個(gè)層次進(jìn)行拓展和維護(hù),從而形成強(qiáng)大的可定制性和可拓展性,可以使用建筑的一個(gè)比喻,這種Embeddable架構(gòu)類似鋼筋結(jié)構(gòu)建筑,它只有固定幾個(gè)框架和板筋,你喜歡劃分什么樣的房間完全由你來決定。唯一的限制是你的想像了。

JBoss微容器將是徹底的反轉(zhuǎn)控制,依賴注射的輕量容器,它允許你通過XML配置POJO,這些POJO有自己的生命周期,能夠作為服務(wù) Service,它并不需要JBoss的應(yīng)用服務(wù)器,..大多數(shù)JBoss提供的功能將都會(huì)轉(zhuǎn)為POJO,并且可配置...這些都將在2006年的 JBoss5版本中完全實(shí)現(xiàn)。

對(duì)于現(xiàn)在大部分初學(xué)者來說,首先需要從Jsp中嵌入Java代碼的壞習(xí)慣中改變過來,將你的Java代碼使用組件JavaBeans來實(shí)現(xiàn),然后逐步走上面向組件(面向構(gòu)件)的開發(fā)方式,進(jìn)而上升到可徹底配置的組件化編程層次。

在JBoss5推出之前,J2EE曾經(jīng)被指責(zé)為In-House,也就是說,很多功能被綁定在J2EE服務(wù)器上,誕生很多基于JBoss、基于Weblogic的、基于Oracle的、甚至基于JMX的J2EE應(yīng)用系統(tǒng),當(dāng)這樣的J2EE應(yīng)用系統(tǒng)需要移植時(shí),那些依附特性因?yàn)楹腿萜?服務(wù)器粘性太牢,而無法跟著應(yīng)用系統(tǒng)跑。

因此多年來,應(yīng)用者業(yè)界一直呼吁Out-of-Box,Spring/HiveMind/Jdon等框架應(yīng)呼而生,并且Rod Johnson在2005 JavaOne大會(huì)上演講上預(yù)言:J2EE/Java EE將走向一個(gè)以框架為中心的新的開發(fā)時(shí)代。這樣,應(yīng)用系統(tǒng)依賴的很多功能在框架中實(shí)現(xiàn),而框架是可以和應(yīng)用系統(tǒng)到處移植的。

顯然,這種Out-of-Box的倡導(dǎo)對(duì)JBoss路線提出了挑戰(zhàn),JBoss奮起反應(yīng),你們既然指責(zé)我的容器是一個(gè)Box,那么我們就一不做二不休息,打破這個(gè)Box,JBoss5即將誕生,因?yàn)镴Boss5本身是可肢解可配置的,因此,使用JBoss5編制的Java EE應(yīng)用系統(tǒng)需要移植時(shí),可以將應(yīng)用系統(tǒng)依賴的那些功能從JBoss5容器中分離出來,帶著跑,這樣你的應(yīng)用系統(tǒng)又符合Java EE標(biāo)準(zhǔn),在特殊之處,也可以將容器作為一種框架帶了跑。

當(dāng)然,因?yàn)槟壳暗腏2EE標(biāo)準(zhǔn)包括EJB離實(shí)際開發(fā)還有一段路,它沒有提出一種編程模型,因此作為符合標(biāo)準(zhǔn)的應(yīng)用服務(wù)器JBoss在實(shí)際應(yīng)用中還是需要開發(fā)框架輔助的,Spring提供強(qiáng)大全面的API庫(kù);HiveMind提供靈活的配置功能;而Jdon框架在徹底可配置基礎(chǔ)上,瞄準(zhǔn)應(yīng)用開發(fā)中的增刪改查這些功能進(jìn)行缺省實(shí)現(xiàn),提高開發(fā)效率,避免大規(guī)模開發(fā)中這些純勞動(dòng)量的低層次工作。

圍繞Out-of-box 和break the box,未來組件(構(gòu)件)架構(gòu)領(lǐng)域?qū)⒂幸环瑺?zhēng)奪,有人說,你怎么忘記談Weblogic和Websphere了?有一點(diǎn)我忘記說了,這場(chǎng)完全可配置運(yùn)動(dòng)是由開源領(lǐng)域挑起的,也就是說,在組件架構(gòu)設(shè)計(jì)上,開源運(yùn)動(dòng)已經(jīng)走在了工業(yè)界前面,工業(yè)界巨頭們都跑去搞他們賺錢的強(qiáng)項(xiàng):集成和SOA了。

【編輯推薦】

  1. 全面講解OpenCRX+Mysql+JBoss 4.0.5
  2. 將Jboss從4.0.5升級(jí)到4.2.0版本
  3. JBoss與Tomcat的區(qū)別
  4. 在linux下安裝JBoss
  5. 配置JBoss數(shù)據(jù)源
責(zé)任編輯:佚名 來源: show43
相關(guān)推薦

2009-06-18 15:15:35

JBoss的配置

2020-04-21 10:33:55

Nutanix

2009-06-15 12:59:09

JBoss配置

2009-06-12 14:12:18

JBoss配置MyEclipse

2015-11-24 17:55:50

2013-09-26 15:12:28

昆騰數(shù)據(jù)保護(hù)大數(shù)據(jù)管理

2009-06-26 17:37:37

JBOSS配置

2011-08-18 09:37:04

記事軟件

2014-07-01 10:15:52

2009-06-12 15:54:07

JBoss集群配置

2009-06-15 13:24:46

JBoss數(shù)據(jù)源

2009-06-12 16:05:47

JBoss配置

2012-01-01 18:47:49

2023-05-31 19:02:46

客戶需求開發(fā)工具技術(shù)

2021-09-18 11:58:52

企業(yè)上云埃森哲云計(jì)算

2017-07-14 09:06:10

存儲(chǔ)數(shù)據(jù)中心HCI

2014-03-25 21:22:36

IBM論壇Watson云計(jì)算

2013-12-04 15:15:00

MDM移動(dòng)信息化

2009-09-24 17:38:51

2012-05-23 09:46:15

Titanium MoTitanium
點(diǎn)贊
收藏

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