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

OSGi要火 IBM和Eclipse將大力發(fā)展Java模塊化

開發(fā) 后端
為Java提供模塊化的OSGi,正在受到IBM和Eclipse基金會的大力支持。IBM將在它的應(yīng)用服務(wù)器新版本中采用OSGi,而Eclipse也會在一個新框架中通過OSGi訪問其他企業(yè)技術(shù)。

之前51cto曾發(fā)出過2010年將是Java模塊化的一年的聲音,我們也曾獨家采訪淘寶網(wǎng)平臺架構(gòu)部架構(gòu)師關(guān)于其對Java模塊化的理念,目前為Java提供模塊化的OSGi,正在受到IBM和Eclipse基金會的大力支持。IBM將在它的應(yīng)用服務(wù)器新版本中采用OSGi,而Eclipse也會在一個新框架中通過OSGi訪問其他企業(yè)技術(shù)。

前不久IBM發(fā)布了一個基于OSGi和JPA技術(shù)的WAS Beta版本。這個版本暫時使用了一個很笨重的名字:IBM Websphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API(JPA) 2.0 Open Beta。

按照IBM Websphere Application Server的產(chǎn)品經(jīng)理Erik Kristiansen所說,“OSGi在WAS內(nèi)部提供了卓越的模塊性和版本功能。OSGi為那些期望把自己的應(yīng)用建立在WAS之上的企業(yè)客戶帶來了OSGi的模塊性和組件化。”

[[9191]]

值得注意的是,IBM之前已經(jīng)發(fā)布過alpha形式的OSGi feature pack,但并未聲明公開版本發(fā)布的具體日期。IBM的feature pack是基于Apache Aries項目,來為企業(yè)應(yīng)用開發(fā)者提供OSGi服務(wù)。

OSGi致力于提供更加容易的代碼庫管理的同時,允許創(chuàng)建更多動態(tài)的可以在運行時運行插件和擴展的軟件。RedMonk的分析師Michale Cote認為,“因為某些原因,Java代碼越發(fā)往整體復雜的趨勢發(fā)展,但也一直存在技術(shù)和文化上的努力在與巨大的復雜性進行斗爭。從設(shè)計的角度看,OSGi和Java中的其他組件會是一種比較好的方式,來組織工程中的代碼,讓開發(fā)者的日子更好過。”

在Eclipse方面,新建立的Gemini項目是與Eclipse運行時相關(guān)聯(lián)的孵化項目,它基于OSGi。根據(jù)EclipseCon 2010技術(shù)大會中有關(guān)Gemini話題的網(wǎng)頁,以及前Eclipse董事會成員之一Mik Kersten所說的,“Gemini的目標是在一個模塊化框架中提供對標準企業(yè)技術(shù)的訪問。Gemini將會采用OSGi,并讓企業(yè)服務(wù)器端模塊集成在一起更加簡單。Gemini將會為在OSGi中使用企業(yè)技術(shù)提供“隨時可用的實現(xiàn)”。另外一個新項目Eclipse Virgo則提供來一個基于OSGi的應(yīng)用服務(wù)器,Virgo起源于Spring Source dm Server產(chǎn)品。”

關(guān)于OSGi

OSGi亦稱做Java語言的動態(tài)模塊系統(tǒng),它為模塊化應(yīng)用的開發(fā)定義了一個基礎(chǔ)架構(gòu)。OSGi容器已有多家開源實現(xiàn),比如Knoflerfish、Equinox和Apache的Felix。您可以通過這些容器,把您的應(yīng)用程序劈分為多個模塊單元,這樣,您就可以更容易地管理這些模塊單元之間的交叉依賴關(guān)系。

OSGi規(guī)范和Servlet規(guī)范及EJB規(guī)范類似,該規(guī)范定義了兩種對象,一是容器對外提供的服務(wù)對象,另一個是容器和您的應(yīng)用程序之間必須遵守的契約,其中,服務(wù)對象是容器要實現(xiàn)的。您如果想要在OSGi平臺上進行開發(fā),首先,您必須要使用OSGi API來創(chuàng)建您的應(yīng)用,然后將之部署到OSGi容器中。

關(guān)于Java模塊化

模塊化是個一般概念,這一概念也適用于軟件開發(fā),可以讓軟件按模塊單獨開發(fā),各模塊通常都用一個標準化的接口來進行通信。實際上,除了規(guī)模大小有區(qū)別外,面向?qū)ο笳Z言中對象之間的關(guān)注點分離與模塊化的概念基本一致。通常,把系統(tǒng)劃分外多個模塊有助于將耦合減至***,讓代碼維護更加簡單。

Java語言并不是按照模塊化思想設(shè)計的(除了package,按照Java語言規(guī)范introduction一 節(jié)的介紹,package類似于Modula-3模塊),但是在Java社區(qū)依然有很多實際存在的模塊。任何一個Java類庫實際上都是一個模塊,無論其 是Log4J、Hibernate還是Tomcat。通常,開源和非開源的應(yīng)用都會依賴于一個或多個外部類庫,而這種依賴關(guān)系又有可能傳遞到其他類庫上。

【編輯推薦】

  1. 獨家專訪林昊:一步一步了解Java模塊化
  2. 2010年將是Java模塊化的一年
  3. Java模塊化概念解惑與現(xiàn)狀總結(jié)

 

責任編輯:王曉東 來源: infoq
相關(guān)推薦

2010-03-24 08:34:44

OSGiJava模塊化

2015-10-08 10:17:26

數(shù)據(jù)中心北歐冰島

2015-06-23 16:25:29

數(shù)字校園甘肅高校華為

2020-06-11 10:04:54

物聯(lián)網(wǎng)房地產(chǎn)IOT

2011-08-24 09:48:22

2010-10-27 16:24:07

數(shù)據(jù)中心統(tǒng)一網(wǎng)絡(luò)思科

2023-03-08 15:18:36

數(shù)字經(jīng)濟云計算數(shù)據(jù)中心

2011-05-24 09:16:47

OSGiEclipse

2009-05-07 13:22:01

OSGi面向?qū)ο?/a>模塊化

2010-01-28 10:27:33

Java模塊化OSGi

2014-04-28 17:27:21

浪潮企業(yè)云

2021-04-04 22:56:39

T-Mobile5G家庭寬帶

2010-03-22 16:28:04

泰信科技華為

2015-10-10 11:29:45

Java模塊化系統(tǒng)初探

2012-06-25 11:47:14

ibmdw

2019-08-28 16:18:39

JavaScriptJS前端

2018-03-21 21:31:28

Java9編程Java

2017-05-27 16:12:44

新華三IT信息化

2016-09-23 11:08:35

前端Javascript模塊化

2010-08-02 08:54:53

Flex模塊化
點贊
收藏

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