<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個(gè)優(yōu)秀的技術(shù)型管理者,除了需要具備扎實(shí)的技術(shù)基礎(chǔ)之外,還應(yīng)該培養(yǎng)良好的人際關(guān)系能力、談判與溝通技能、客戶關(guān)系與咨詢技能、商業(yè)頭腦和財(cái)務(wù)技能以及創(chuàng)新意識,此外還要有巧妙的激勵(lì)技巧和化解沖突與解決突發(fā)問題的能力.

    作者 Scott Delap and Floyd Marinescu譯者 Jason Lai(賴翥翔)& 郭曉剛 發(fā)布于 2008年4月30日 下午12時(shí)12分

    社區(qū)
    Java
    主題
    應(yīng)用服務(wù)器
    標(biāo)簽
    Spring框架,
    Spring Dynamic Modules

    獲得一千萬美元風(fēng)投開始算起剛滿一年,如今SpringSource(Spring框架背后的公司)搖身一變,成為應(yīng)用服務(wù)器提供商,并且舉著SpringSource應(yīng)用平臺(SpringSource Application Platform)的黃鉞白旄對現(xiàn)有的Java EE服務(wù)器陣營發(fā)起挑戰(zhàn)。SpringSource應(yīng)用平臺是構(gòu)建在Spring、OSGi和Apache Tomcat之上的應(yīng)用服務(wù)器,這個(gè)新的應(yīng)用服務(wù)器摒棄了原有的Java EE服務(wù)器標(biāo)準(zhǔn),自然而然地將Spring編程模型展現(xiàn)其中,隨之而來的還有一套基于OSGi內(nèi)核構(gòu)建的全新部署和打包系統(tǒng)。今天是該項(xiàng)目在SpringSource評估許可下Beta發(fā)布版發(fā)布的重要里程碑。在隨后一個(gè)月內(nèi)會有基于開源許可(GPLv3)版本和訂閱版本的通用發(fā)布版(General Availability,GA)放出。

    SpringSource應(yīng)用平臺不是Java EE應(yīng)用服務(wù)器。盡管對于WAR部署它提供了支持,但EAR部署和其它EE的規(guī)范,如EJB等,都不在支持范圍之列。SpringSource應(yīng)用平臺被重新設(shè)計(jì),并把關(guān)注點(diǎn)直接放在對被開源項(xiàng)目所廣泛使用的Spring組合的支持上。特別地,這個(gè)應(yīng)用服務(wù)器是基于Spring組合編程模型構(gòu)建的,利用Spring Dynamic Module實(shí)現(xiàn)基于OSGi的部署。SpringSource在Eclipse基金會的Equinox OSGi運(yùn)行時(shí)環(huán)境的基礎(chǔ)上創(chuàng)建了一個(gè)具備日志、跟蹤、啟動、類加載、管理和其它特性的“內(nèi)核”,Tomcat被作為一個(gè)包(bundle)納入到平臺當(dāng)中,從而實(shí)現(xiàn)對Web功能的支持。

    InfoQ借此機(jī)會對Spring框架的共同創(chuàng)始人兼SpringSource的CEO Rod Johnson進(jìn)行一次采訪,對這個(gè)新的應(yīng)用服務(wù)器展開探討。在闡釋這個(gè)新平臺的必要性時(shí),Rod一針見血地指向目前開發(fā)和生產(chǎn)環(huán)境的許多痛處,比如跨配置文件出現(xiàn)的元數(shù)據(jù)重復(fù)現(xiàn)象,還有本質(zhì)上在項(xiàng)目中常常在服務(wù)器上再部署服務(wù)器(即在部署應(yīng)用時(shí),在同一個(gè)部署單元附帶部署許多工具和框架),而與此同時(shí)這些部件卻主要只使用它們應(yīng)用服務(wù)器中的Web容器部分的事實(shí)。因此,SpringSource希望在當(dāng)今的開發(fā)需要的基礎(chǔ)上提供一個(gè)更為簡單的平臺。

    在談到這個(gè)新應(yīng)用服務(wù)器的優(yōu)點(diǎn)時(shí),Johnson強(qiáng)調(diào)了模塊化:對于服務(wù)器本身以及提供給開發(fā)人員的打包和部署模式來說,這是個(gè)兩全之策。通過利用OSGi,以及OSGi包之間依賴關(guān)系相互作用的性質(zhì),運(yùn)行的應(yīng)用服務(wù)器只會激活在它上面運(yùn)行的應(yīng)用所需要的特性,從而削減服務(wù)器的內(nèi)存占用和啟動時(shí)間。這個(gè)依賴關(guān)系支持的功能還允許依賴類庫的多個(gè)版本共存,以支持不同應(yīng)用;因而應(yīng)用服務(wù)器的某些部分就可以很容易地更新和重啟,而無需重啟整個(gè)服務(wù)器。從開發(fā)的角度看,服務(wù)器的模塊化也使得在代碼變化時(shí),可以很快地進(jìn)行極其細(xì)粒度的重部署。

    Johnson在言及OSGi和SpringSource對Eclipse Equinox OSGi的使用時(shí),高度評價(jià)了OSGi規(guī)范的運(yùn)行時(shí)實(shí)現(xiàn)所帶來的基礎(chǔ)平臺,但也表示OSGi在日常的應(yīng)用開發(fā)上屬于比較底層的地位。Johnson闡述到,SpringSource希望幫助開發(fā)人員在企業(yè)環(huán)境中輕松獲得價(jià)值。在新的編程模式的構(gòu)造背后,這個(gè)新的應(yīng)用服務(wù)器將OSGi的許多復(fù)雜性抽象了出來。Johnson接著說,應(yīng)用服務(wù)器將會支持PAR,一套新的可部署單元,簡化企業(yè)應(yīng)用在使用OSGi上的復(fù)雜性(下文會詳細(xì)說明)。

    當(dāng)被問到對于沒有對OSGi提供原生支持的遺留類庫的支持時(shí),Johnson回應(yīng)到,他們已經(jīng)在上面花費(fèi)了很大心血,使得應(yīng)用服務(wù)器環(huán)境和類加載功能能夠以兼容的方式和遺留類庫協(xié)作。

    當(dāng)被問到對不提供OSGi原生支持的類庫的遺留支持時(shí),Johnson回答說他們已經(jīng)在這方面投入了大量精力,保證應(yīng)用服務(wù)器環(huán)境和類加載功能可以和遺留類庫兼容工作。SpringSource還會為他們在如Tomcat之類的項(xiàng)目上所做的任何變更給這些項(xiàng)目提交補(bǔ)丁,使這些類庫可以和OSGi包兼容。

    Johnson解釋到,應(yīng)用服務(wù)器的主題代碼將在GPL v3的許可證下發(fā)布。開發(fā)人員在服務(wù)器、編程模式和部署單元上要接觸到的所有部分都會以開源的形式提供。SpringSource還將提供應(yīng)用服務(wù)器的商業(yè)版本,包括支持、保障、管理和監(jiān)控的功能。


    談到Spring應(yīng)用平臺發(fā)布之后對Spring組合繼續(xù)支持JavaEE有什么影響,Johnson回答說:

    ……我們從根本上說并不打算把Spring用戶社區(qū)驅(qū)趕到任何方向。我們僅僅是給用戶另一種選擇。Spring的哲學(xué)是用戶總是正確的。用戶是聰明的,他們完全明白自己的需要。不管用戶是否選擇SpringSource應(yīng)用平臺,我們覺得用戶總會歡迎多一點(diǎn)選擇的……

    Johnson保證SpringSource一定會繼續(xù)確保Spring組合以及其他SpringSource產(chǎn)品兼容于其它應(yīng)用平臺。接著Johnson還評論了即將到來的Java EE 6規(guī)范:

    Java EE 6重點(diǎn)在模塊性,這個(gè)方向是正確的。很可能SpringSource應(yīng)用服務(wù)器會在一定程度上符合Java EE 6。Java EE 6分成A、B、C三種規(guī)格(profile)。我們幾乎肯定會實(shí)現(xiàn)A和B規(guī)格,C規(guī)格里面我非常確定將實(shí)現(xiàn)Entity Beans 1.1模型以及一些遺留技術(shù)。我還不能說是100%確定,因?yàn)镴ava EE 6規(guī)范還沒有定案。

    最后,InfoQ和Johnson討論到了SpringSource應(yīng)用平臺的大局方面。對于轉(zhuǎn)換到OSGi,他的回答是:

    傳統(tǒng)的應(yīng)用服務(wù)器模型正逐漸過時(shí)。BEA和IBM正在用OSGi逐步重新實(shí)現(xiàn)他們的應(yīng)用服務(wù)器。 SpringSource現(xiàn)在就提供OSGi支持。從統(tǒng)計(jì)數(shù)字上看,大多數(shù)人都不會部署到完整的平臺上,他們部署到Tomcat。他們選擇了Spring 編程模型而非Java EE。市場已經(jīng)作出了選擇,問題只是開發(fā)者還要和服務(wù)器斗爭多長時(shí)間。

    Johnson解釋說他對SpringSource應(yīng)用平臺成功的自信來自三個(gè)原因:

    • 它是第一個(gè)建立在現(xiàn)代技術(shù)基礎(chǔ)上的產(chǎn)品。符合Java EE規(guī)范已經(jīng)不是至高無上的目標(biāo)。干凈的代碼基礎(chǔ)是我們的一項(xiàng)競爭優(yōu)勢。我們在設(shè)計(jì)和實(shí)現(xiàn)中滿足的是現(xiàn)今的需求,而不是10年前的需求。
    • POJO編程是現(xiàn)在行業(yè)的方向所在。過去POJO編程是被強(qiáng)行嫁接到其它產(chǎn)品上的。在我們的產(chǎn)品中,POJO編程是設(shè)計(jì)的前提。
    • SpringSource應(yīng)用平臺采用的OSGi技術(shù)是下一代技術(shù)的基礎(chǔ)。

    除了Rod Johnson,InfoQ還與SpringSource的Rob Harrop探討了新應(yīng)用服務(wù)器的一些技術(shù)細(xì)節(jié)。對于與傳統(tǒng)Java EE應(yīng)用服務(wù)器相比有何增減,他說:

    ……JPA和JMS都支持,但我們沒有包含任何特定實(shí)現(xiàn)。對于JPA,我們支持Hibernate、 OpenJPA和Toplink。我們在OSGi環(huán)境中增加了對加載時(shí)織入的支持,而且會尊重應(yīng)用的邊界,因此不會意外污染應(yīng)用間共享的庫。不包括 JNDI,我們用OSGi Service Registry來取代它。Servlets是通過內(nèi)嵌的Tomcat來支持的。JEE中有而SpringSource應(yīng)用平臺沒有的東西包括 Entity Beans等等。

    接下來InfoQ問到Spring Dynamic Modules。Spring DM成為公開項(xiàng)目已經(jīng)有一段時(shí)間了。對于模塊化部署,我們向Harrop詢問Spring DM是否增加了什么新東西:

    這個(gè)平臺引入了應(yīng)用的概念,應(yīng)用由一個(gè)或多個(gè)Bundle組成。應(yīng)用中的包有明確的作用域,可以防止發(fā)生應(yīng)用間的沖突。在應(yīng)用把服務(wù)發(fā)布到OSGi service registry的情況下,防止沖突尤其重要,誰也不想見到服務(wù)之間發(fā)生沖突。

    我們引入了Import-Library語句,因此在應(yīng)用中使用第三方庫變得更加簡單。你不需要再寫一大串不直觀的 Import-Package聲明,Import-Library可以自動為指定的庫引入所有必需的package。像Hibernate JPA這樣的庫還可以跨多個(gè)Bundle,可見Import-Library確實(shí)物有所值。

    至于為了讓Spring DM在平臺中運(yùn)行而進(jìn)行的擴(kuò)展,為數(shù)不多。

    Harrop接下來說明了新的PAR格式:

    Spring DM掌控下的Bundle(Spring DM powered bundles)是包含META-INF/spring/*.xml文件的普通OSG Bundle。Bundle啟動的時(shí)候META-INF/spring/*.xml文件會自動成為該Bundle的 ApplicationContext。Spring DM提供了一種機(jī)制讓各Bundle通過Spring NamespaceHandler導(dǎo)入和導(dǎo)出服務(wù)。

    一個(gè)PAR(Platform ARchive)本質(zhì)上是一組OSGi Bundle,通常其中有一部分是在Spring DM掌控下的。這些Bundle共同組成了一個(gè)邏輯上的應(yīng)用。編程的時(shí)候完全是純粹的OSGi、Spring和Spring DM——PAR沒有改變什么。

    以前一般用Buddy Classloaders之類的技術(shù)來解決遺留/非OSGi庫的問題,SpringSource這次是怎么做的呢?Rob回答說:

    簡單來說我們避免做這樣的事。Buddy類裝載、動態(tài)import、require-bundle,這些我們都明確回避,因?yàn)榫S持一致的類空間太困難了。我們也不會提供任何專有的替代機(jī)制。

    相反,我們給Equinox增加了一些低級的鉤子,以實(shí)現(xiàn)典型的場景下的資源裝載。我們擴(kuò)展了類裝載來支持加載時(shí)織入,并且把裝載語義丟到一邊。我們操縱context classloader,讓第三方一如既往地看到類。PAR是其中的核心角色,因?yàn)樗x了上下文類裝載以及加載時(shí)織入的可見范圍。

    對于一些最糟糕的情況,我們會提供修補(bǔ)版的庫,讓它們能在OSGi中工作。修補(bǔ)版的庫可以通過SpringSource Enterprise Bundle Repository獲得,我們的修改也會提交回相應(yīng)的項(xiàng)目。

    最后Harrrop著重強(qiáng)調(diào)了這個(gè)應(yīng)用服務(wù)器在模塊化上的優(yōu)勢,應(yīng)用服務(wù)器因此可以維持最低的內(nèi)存占用。平臺在運(yùn)行中才設(shè)置依賴項(xiàng),因此只有確實(shí)用到的依賴項(xiàng)才會被裝載。

    最近幾年中有過許多關(guān)于Java EE標(biāo)準(zhǔn)是否已經(jīng)死亡的討論,而今天我們看到一個(gè)可能很重要的應(yīng)用服務(wù)器不帶Java EE支持。這種變化對于未來有何影響?你怎么看?

    查看英文原文:SpringSource Launches New Application Server without Java EE



    jwebee

    我的個(gè)人網(wǎng)站
    posted on 2008-05-07 10:33 周行 閱讀(442) 評論(0)  編輯  收藏 所屬分類: IT技術(shù)
    Java-Android-jwebee
    主站蜘蛛池模板: 亚洲国产精品无码久久久久久曰| 久久久久久毛片免费看| ass亚洲**毛茸茸pics| 亚洲自偷精品视频自拍| 亚洲资源在线视频| 亚洲理论片在线观看| 亚洲福利一区二区三区| 亚洲邪恶天堂影院在线观看| 亚洲成人在线电影| 精品亚洲成a人片在线观看少妇| 久久精品亚洲日本佐佐木明希| 亚洲国产精品一区二区第一页| 亚洲AV无码乱码在线观看富二代 | 中文字幕乱码免费看电影| www永久免费视频| 免费毛片在线看不用播放器| 久操免费在线观看| ww在线观视频免费观看| 无码国产精品久久一区免费 | 成在人线av无码免费高潮喷水| 热99RE久久精品这里都是精品免费| 久久青草免费91线频观看站街| 一级毛片免费观看| 成年女人18级毛片毛片免费观看| 成人毛片手机版免费看| 又粗又硬又黄又爽的免费视频| 国产精品亚洲精品日韩已方 | 成人午夜18免费看| 亚洲av无码成人精品区| 久久国产亚洲精品麻豆| 亚洲欧洲精品一区二区三区| 亚洲精品123区在线观看| 亚洲AV无码精品国产成人| 久99久无码精品视频免费播放| 日韩人妻无码精品久久免费一| 真人做A免费观看| 免费少妇a级毛片人成网| 亚洲欧洲∨国产一区二区三区 | 天堂亚洲免费视频| 久久久影院亚洲精品| 亚洲精品午夜国产va久久|