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

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

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

    隨筆 - 19, 文章 - 93, 評(píng)論 - 17, 引用 - 0
    數(shù)據(jù)加載中……

    Portlet技術(shù)發(fā)展的思考

    ??????Portal 這個(gè)概念出現(xiàn)很長(zhǎng)的時(shí)間了,然而Portal應(yīng)用是直到最近這兩三年才蓬勃發(fā)展起來(lái),這跟原來(lái)缺乏相關(guān)的規(guī)范有一定的關(guān)系。目前關(guān)于Portal方面存在兩個(gè)重要的標(biāo)準(zhǔn),均是2003年下半年正式通過(guò)的,分別為:?
    ????????????1、Java Portlet Specification 1.0 (JSR168), 2003年10月27日?
    ????????????2、Web Services for Remote Portlets 1.0, 2003年9月3日?

    ??????這兩個(gè)規(guī)范發(fā)布之后,得到各個(gè)Portal產(chǎn)商的支持,特別是JSR168標(biāo)準(zhǔn)更是得到OpenSource界的大力支持。許多開(kāi)源項(xiàng)目都聲稱(chēng)支持JSR168標(biāo)準(zhǔn),具體項(xiàng)目列表可以參考:Open Source Portal in Java。?

    ??????不過(guò)在對(duì)這些標(biāo)準(zhǔn)學(xué)習(xí)之后,我認(rèn)識(shí)到除了實(shí)現(xiàn)一個(gè)支持標(biāo)準(zhǔn)的服務(wù)器之外,還有很多空間是值得我們?nèi)ヅΦ摹H绻腥苏谶M(jìn)行Portal方面的研究、實(shí)現(xiàn),希望我的想法能夠有所幫助。

    Java Web Framework -> JSR168?
    ??????我學(xué)習(xí)JSR168這個(gè)規(guī)范后,我就認(rèn)識(shí)到開(kāi)始一個(gè)JSR168 Portlet不會(huì)是一件愉快的事情。JSR168 Portlet十分類(lèi)似于Servlet,現(xiàn)在還有誰(shuí)愿意只是基于Servlet來(lái)開(kāi)發(fā)Web應(yīng)用呢?更進(jìn)一步的問(wèn)題是:開(kāi)發(fā)人員需要直接編寫(xiě)JSR168 Portlet么?答案是不需要!?

    ??????所謂Portlet本身來(lái)說(shuō)就是一個(gè)Web應(yīng)用,只是運(yùn)行在Portal才被稱(chēng)為Portlet。業(yè)界已經(jīng)有大量熟練的Java Web應(yīng)用開(kāi)發(fā)人員,讓他們?nèi)ブ匦聦W(xué)習(xí)一種新的Web應(yīng)用模式、并且只能運(yùn)行在在Portal中是不現(xiàn)實(shí)的,正確的方式應(yīng)該是能夠把普通的Java Web應(yīng)用包裝成JSR168 Portlet。這樣開(kāi)發(fā)人員依然按照原來(lái)的模式開(kāi)發(fā)Web應(yīng)用,只是在部署到Portal之前才包裝成JSR168 Portlet。目前許多Java Web應(yīng)用都是基于某些Web Framework(例如Struts)來(lái)實(shí)現(xiàn),因此可以考慮基于這些Web Framework的包裝方法。?

    ??????對(duì)于這個(gè)包裝器,我目前想到需要注意的地方有:
    1、URL轉(zhuǎn)換。Web應(yīng)用中使用普通的URL,然而訪問(wèn)一個(gè)Portlet的URL有其特殊的格式,因此需要把指向自身的URL全部轉(zhuǎn)換為Portlet格式。這些URL主要是HTML FORM中的ACTION屬性。

    2、Session范圍。Session在Portlet中分為PORTLET_SCOPE和APPLICATION_SCOPE兩種,為了避免沖突缺省情況下應(yīng)該把Web應(yīng)用中的Seesion變量都設(shè)置為PORTLET_SCOPE。

    3、開(kāi)發(fā)人員透明。Web應(yīng)用是否包裝為Portlet對(duì)Web應(yīng)用本身不做更改,這樣即使被包裝為Portlet后,開(kāi)發(fā)人員仍可當(dāng)作普通的Web應(yīng)用繼續(xù)開(kāi)發(fā)。

    4、可選的Portlet特性。使得開(kāi)發(fā)人員能夠在Web應(yīng)用中使用Portlet特性,當(dāng)Web應(yīng)用獨(dú)立部署運(yùn)行時(shí)這些特性自動(dòng)失效,當(dāng)部署到Portal中就可以利用到Portlet特性了。

    Common Web Application -> WSRP?

    ?????????WSRP規(guī)范致力于定義一個(gè)面向表示(presentation-oriented)的Web Services協(xié)議以及相應(yīng)的接口集,面向表示的Web Services協(xié)議不僅提供商業(yè)邏輯還提供界面表示,應(yīng)用程序可以容易的通過(guò)代理工具集成面向表示的Web Services。?

    ?????????在Portal應(yīng)用中,經(jīng)常有將現(xiàn)存的某個(gè)應(yīng)用在Portal界面中顯示的需求,而且該應(yīng)用是運(yùn)行在與Portal服務(wù)器不同的機(jī)器上的。這種需求在Portal項(xiàng)目中使極為常見(jiàn)的,解決的方法主要有:1、如果應(yīng)用提供java接口,可以建立JSR168 Portlet使用該接口;2、如果應(yīng)用存在Web界面,則可通過(guò)Web裁減(Web Clipping)技術(shù)來(lái)集成,Kapow公司是這一技術(shù)的領(lǐng)先者;或者通過(guò)HTML IFRAME技術(shù)作簡(jiǎn)單的集成。?

    ?????????WSRP規(guī)范出現(xiàn)后,我們有了更加方便的新選擇,如果應(yīng)用本身支持WSRP,那么Portal服務(wù)器可以直接集成該應(yīng)用無(wú)需額外開(kāi)發(fā)。但是目前支持WSRP的應(yīng)用還太少,而且期待現(xiàn)存的應(yīng)用自身增加WSRP支持也是不現(xiàn)實(shí)的。例如對(duì)一個(gè)現(xiàn)存的部署在Apapche Http Server上的PHP應(yīng)用,用戶當(dāng)然希望無(wú)需對(duì)該應(yīng)用進(jìn)行任何更改就能夠支持WSRP。?

    ?????????我曾寫(xiě)過(guò)一篇短文“WSRP實(shí)踐&想法”闡述這方面的想法。我最希望看到這樣的WSRP工具出現(xiàn),安裝在Web服務(wù)器上后,通過(guò)配置就能夠?qū)⒉渴鹪谠揥eb服務(wù)器上的應(yīng)用以WSRP協(xié)議發(fā)布。

    這樣的工具主要的是兩部分的功能:?

    ??????1、當(dāng)然是WSRP協(xié)議支持。可以參考已有的開(kāi)源實(shí)現(xiàn),我想其中的初期的重點(diǎn)是URL Wirting和Stateful Information,即URL的雙向轉(zhuǎn)換和狀態(tài)信息的處理。?

    ??????2、與現(xiàn)有應(yīng)用的交互,可以從兩個(gè)方向來(lái)實(shí)現(xiàn):?
    ?????????2.1 利用服務(wù)器功能,例如Java Servlet Server提供javax.servlet.RequestDispatcher接口實(shí)現(xiàn)來(lái)完成對(duì)本服務(wù)器上的資源調(diào)用。這樣做的優(yōu)點(diǎn)的性能高效,缺點(diǎn)是不同的服務(wù)器要開(kāi)發(fā)不同的版本;?

    ?????????2.2 采用類(lèi)似HTTP Porxy的方式實(shí)現(xiàn)。優(yōu)點(diǎn)是適應(yīng)性強(qiáng),不必理睬Web應(yīng)用的具體實(shí)現(xiàn)、部署技術(shù),缺點(diǎn)是性能會(huì)有影響。

    以上就是我的一些想法,希望盡快看到相關(guān)的產(chǎn)品出現(xiàn),這些開(kāi)發(fā)Portal應(yīng)用就會(huì)輕松很多。

    posted on 2006-12-05 10:19 BPM 閱讀(490) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Portal

    主站蜘蛛池模板: 亚洲成AV人片一区二区| 亚洲精品尤物yw在线影院| 亚洲日本一线产区和二线 | 特级无码毛片免费视频| 亚洲熟妇av一区二区三区漫画 | 亚洲乱妇熟女爽到高潮的片| 亚洲一区精彩视频| 亚洲日韩在线中文字幕第一页| 最近中文字幕免费2019| 国产精品无码亚洲精品2021| 亚洲视频在线免费观看| 国产男女猛烈无遮挡免费视频网站| 成人免费777777被爆出| 亚洲a视频在线观看| 国产精品亚洲精品日韩已满| 国产大片免费观看中文字幕| 四虎在线播放免费永久视频 | 最近2019中文字幕免费大全5 | 中文成人久久久久影院免费观看 | 亚洲va在线va天堂va不卡下载| 波多野结衣免费视频观看| 免费人成在线观看69式小视频| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 999久久久免费精品播放| 人妻18毛片a级毛片免费看| 亚洲国产精品成人综合色在线| 亚洲妓女综合网99| 久久久久久a亚洲欧洲aⅴ| 亚洲黄色在线电影| 亚洲一区精品无码| 亚洲国产一区国产亚洲| 亚洲乱码一二三四五六区| 久久久久亚洲精品天堂| 亚洲日产韩国一二三四区| 久久精品亚洲一区二区三区浴池| 亚洲国产精品午夜电影| 久久久久亚洲国产AV麻豆| 亚洲人成人无码.www石榴| 一级美国片免费看| 精品一区二区三区无码免费视频 | 99视频在线看观免费|