柏林墻還沒有倒下 論EJB的企業夢

發表于:2007-04-27來源:作者:點擊數: 標簽:企業柏林墻還沒有倒下摘要
摘要: EJB是一種企業應用技術,旨在建立一個企業應用開發框架,但從其誕生之日起,質疑之聲一直不斷。EJB是企業應用框架的先驅,在企業應用框架的方法論上有獨到的見解,雖然存在不少 缺陷 ,但仍不失為企業應用框架的理想。 1. 備受爭議的EJB EJB也許是 Jav

  摘要:

  EJB是一種企業應用技術,旨在建立一個企業應用開發框架,但從其誕生之日起,質疑之聲一直不斷。EJB是企業應用框架的先驅,在企業應用框架的方法論上有獨到的見解,雖然存在不少缺陷,但仍不失為企業應用框架的理想。

  1. 備受爭議的EJB

  EJB也許是Java領域里中最受爭議的技術了。有人說EJB是最偉大的發明,也有人說EJB完全是多此一舉;當一些人陶醉于EJB的深奧理論時,另外一些人卻正被EJB的繁瑣復雜所折磨;嘗到EJB甜頭的人,在EJB的每個新版本中,都能發現盼望已久的驚喜,而被EJB拒之門外的人,則隨著EJB的升級,愈發對EJB敬而遠之了。

  EJB的全稱是Enterprise JavaBeans,JavaBeans很普通,不過Enterprise就不那么簡單了。什么技術,一旦被冠以Enterprise的名頭,就像男人走入婚姻殿堂一樣,身上的責任與單身漢不可同日而語了。從定義上看,JavaBeans只是J2SE平臺上的一個組件架構,包含一些業務邏輯,并且可以被重用。

  EJB不同,作為企業級的JavaBeans,Sun對EJB的定位要遠遠高于JavaBeans,所以EJB的目標也比JavaBeans要遠大得多,除了作為一個包含業務邏輯的可重用組件外,EJB更被賦予了諸如“可移植”、“安全”、“可伸縮”、“交易性”等特征。

  所有這些EJB必須具備的特征,其實正是企業應用所要求的。這也是Enterprise一詞所代表的技術上的含義。企業應用不同于普通應用,企業應用是大規模的、高復雜度的和關鍵的,它所面臨的挑戰,要比普通應用艱巨得多。比如,企業應用對可移植性的要求非常高,這是因為,企業都不愿意將自己的未來綁定到某個供應商的身上,除非是不得已而為之;又比如,安全性對企業應用至關重要,誰能使用什么功能、哪些數據哪些人可以看到,都有嚴格的限制;更不用說的是企業應用的可伸縮性了,當業務規模變大時,你希望全盤推翻舊系統,采購一批嶄新的軟件和硬件,對IT系統來個徹底的革命嗎?增加一臺服務器就能應付更多的客戶,我想這是頭腦正常的企業家都希望的。

  企業應用的需求,就是EJB的目標。用EJB開發的應用,完全符合企業應用的特征。EJB是一個規范,只要符合這個規范,EJB可以在不同的操作系統、不同的應用服務器中無縫地移植;EJB允許開發者在EJB部署描述文件中進行方法級的、基于角色的安全性配置,以統一的方式保護企業應用和數據的安全性;只要你愿意,EJB應用可以全部部署在一臺單獨的服務器上,也可以任何組合方式分布在一組服務器群中,滿足你擴大規模和均衡負載的要求;如果你想保持事務的完整性,那么,EJB的事務管理是一個可靠的、穩健的解決方案。

  這就是EJB,一個企業應用的集大成者,多種技術的濃縮精華,全能的框架和基礎結構??删褪沁@樣一個將企業應用的開發簡化到了前所未有之程度的技術,卻成為許多人口誅筆伐的對象。復雜、難以使用、性能低下、繁瑣等等,從1998年EJB誕生之日起,各種各樣的惡名就伴隨左右,直到八年后的今天,當EJB迎來它的第三次大變臉時,質疑之聲依然不絕于耳。EJB真的那么糟糕嗎?

  2. EJB是企業應用的先驅

  筆者接觸第一個企業應用,是在1997年。那時PowerBuilder風頭正勁,不過,多數人使用PowerBuilder,是因為它的數據窗口。當時筆者在一個項目中遇到一個難題,那就是如何把一臺服務器上的應用一分為二,跑在兩臺服務器上,以提高性能。這是典型的分布式應用,雖然不是一個完整意義上的企業應用,不過,因為應用中需要用到分布式的概念,多少也算和企業應用沾上邊了。

  PowerBuilder其實是個非常不錯的開發工具,在1997年的時候,已經提出了分布式應用的概念,并且付諸實施了。在PowerBuilder中,一個組件可以有一個稱為代理的對象,這個對象可以運行在與組件不同的機器上,其他組件通過代理可以訪問該組件的功能。

  這是一個很初級的分布式應用框架,不過,那時已經給了筆者很大的震動。我試著編了一個實驗性質的程序,當我在一臺機器上按下一個按鈕時,另外一臺機器上赫然彈出一個預期中的對話框,著實讓我大吃一驚。沒有任何Socket編程,也不需要關心實際的應用跑在哪臺機器上,PowerBuilder讓我首次見識了分布式應用框架的巨大威力。

  PowerBuilder解決了分布的問題,但安全性和事務控制,仍然需要程序員自己想辦法。十個程序員可以有十種解決方案,每種都不同,而每種都可能含有未經發現的缺陷。在EJB之前,企業應用的開發沒有規范可循,每個公司都有自己的一套方案,盡管每個公司都對自己的方案充滿信心,但其實這些未經大量應用考驗的方案,都有著這樣那樣的不足或局限。

  J2EE是第一個為業界所廣為接受的完整的企業應用框架,而EJB在其中扮演重要角色。在J2EE框架的支持下,運行在EJB容器中的EJB,完全符合企業應用關于分布、移植、安全和交易的要求。這對于企業應用的開發者來說,意義非同尋常。首先,現在大家可以在一個公共的平臺技術上構建自己的企業應用,不必絞盡腦汁“發明”自己的“輪子”,從而節省大量無謂的、重復性的技術和時間投入;其次,一個公開的平臺,讓大量的企業應用開發者有了共同語言,可以相互交流平臺的使用經驗和教訓,這樣,隨著平臺之上企業應用的不斷增加,平臺的優劣得失一覽無遺,有利于平臺的改進和發展。

  這就是EJB為企業應用作出的貢獻。在EJB之前,多數人不知企業應用為何物,或者雖然有企業應用的模糊概念,但要編寫一個企業應用,談何容易。不同的操作系統、不同的開發語言、不同的網絡環境、不同的應用終端,開發一個企業應用,程序員面臨著兩難的抉擇:要么限定應用的軟硬件平臺,或者犧牲應用的安全性、分布性或交易性,開發一個“偽”企業應用;要么下決心開發一個真正的企業應用,然后累死自己。

共2頁。 1 2 :

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97