日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Apache Beehive 相關(guān)介紹

 hostler 2006-09-14

開源 SOA 工具的編程技術(shù)



級別: 初級

Kunal Mittal, 門戶/J2EE 架構(gòu)設(shè)計師和咨詢顧問

2005 年 5 月 09 日

Beehive 是一個新的 Apache 項目,用于簡化 Java 2 Platform, Enterprise Edition(J2EE)以及 Web 服務(wù)編程。本文將介紹如何使用 Beehive,并概要介紹 Pollinate,這是一個用于創(chuàng)建 Beehive 應(yīng)用程序的 Eclipse 插件。

BEA Systems Inc. 和 Apache 在 2004 年 5 月 25 日宣布了 Beehive 項目的誕生。這個項目著重用于簡化 Java 2 Platform, Enterprise Edition(J2EE)和 Web 服務(wù)編程,它使用了注釋(annotation)的概念,這種技術(shù)很快就會成為 Java 技術(shù)的一部分。面向服務(wù)的架構(gòu)(SOA)開發(fā)也是這個項目的一個重點。

Beehive 是按照 Apache License V2.0 許可協(xié)議進行發(fā)布的,BEA 對此項目進行了廣泛的支持。現(xiàn)在,大約有一半的 Beehive 代碼提交者都是 BEA 公司的雇員,這清楚地表明社區(qū)中還有其他一些人正在對這個項目貢獻著力量。

Apache Beehive 項目創(chuàng)建是為了支持以下功能:

  • Java Page Flow (JPF)技術(shù),也稱為(NetUI)
  • 控件
  • 基于 Java Specification Request(JSR)181 的 Web 服務(wù)

最終,這些技術(shù)將一起匯集到 Model-ViewController(MVC)編程模型中,如圖 1 所示。JPF 技術(shù)形成控件器層。NetUI 標(biāo)記庫則會參與視圖層。模型層是使用 Java 控件構(gòu)建的。


圖 1. MVC 模型和 Apache Beehive 技術(shù)
MVC 模型和 Apache Beehive 技術(shù)
Pollinate 插件

NetUI、控件和 Web 服務(wù)技術(shù)一起用于簡化 J2EE 和 SOA 的開發(fā)。另外還有一個名為 Pollinate 的 Eclipse 插件項目也在進展之中。這個項目可以允許開發(fā)人員使用 Eclipse 來構(gòu)建 Apache Beehive 應(yīng)用程序。我相信其他 IDE,例如 IntelliJ 和 JBuilder 很快也會開始支持 Apache Beehive。

下面讓我們更詳細(xì)地來了解一下 Apache Beehive 中使用的各種技術(shù)。

NetUI 還是 JPF

如果您曾經(jīng)使用過 BEA WebLogic Workshop V8.1,就可能使用過 JPF 技術(shù),它是直接在 Struts 之上構(gòu)建的。正如您可能了解的一樣,Struts 是目前市場中采用最為廣泛的一種 MVC 框架。因此,如果 JPF 是在 Struts 之上構(gòu)建的,那么為什么不使用 Struts 呢?

JPF 充分發(fā)揮了 Structs 的關(guān)鍵功能,但卻省略了 Struts 所需要的很多繁瑣工作(指對部署配置文件的管理,例如 struts-config.xml 文件)。在 BEA 的 Page Flows 最初版本中,引入了一種由 BEA WebLogic Workshop 自動生成和維護的聲明性編程語言。與之相反,Apache Beehive 版本的 Page Flows 使用 JSR 175 來定義自己的元數(shù)據(jù)。JSR 175 是一種元數(shù)據(jù)規(guī)范,它可以讓您降低 J2EE 的編碼量。

JPF 技術(shù)中也提供了一組標(biāo)簽庫,名為 NetUI。在典型的 MVC 設(shè)計模式中,JPF 用來構(gòu)成控制器層。NetUI 標(biāo)簽庫可以在表示層中提供幫助。實際上,您可以讓一個 Web 應(yīng)用程序同時使用 Struts 和 JPF。

清單 1 給出了一個簡單的 JPF 控制器,它會打印 HelloWorld。


清單 1. 簡單的 HelloWorld JPF 控制器

                        
                        import org.apache.beehive.netui.pageflow.PageFlowController;
                        import org.apache.beehive.netui.pageflow.annotations.Jpf;
                        import org.apache.beehive.netui.pageflow.Forward;
                        @Jpf.Controller (
                        simpleActions= {
                        @Jpf.SimpleAction (name="cancel", path="begin.do")
                        }
                        )
                        public class HelloWorldController extends PageFlowController {
                        @Jpf.Action (
                        forwards= {
                        @Jpf.Forward (name="success", path="helloworld.jsp")
                        }
                        )
                        public Forward begin() {
                        return new Forward("success");
                        }
                        }

注意,這里使用了注釋。我首先使用 @Jpf.Controller 注釋來定義這個類是一個 JPF 控制器。@Jpf.SimpleAction 注釋定義了這個控制器中的操作。這些注釋與 Struts 中操作(action)的概念類似。@Jpf.Action 注釋定義了操作本身。@Jpf.Forward 注釋定義了在流程的下一個階段會發(fā)生什么。這個注釋與 Struts 配置文件中信息的概念類似。

前向注釋(forward annotation)中引用的 HelloWorld JSP 文件在本文中并沒有介紹。對于這個例子來說,它可以是任何 JSP 文件,只要包含一行向屏幕上打印 HelloWorld 信息的代碼即可。

NetUI 技術(shù)還包括 3 個標(biāo)簽庫,它們的基本功能是簡化 JSP 文件的開發(fā),并在視圖層和控制器層之間提供自動的數(shù)據(jù)綁定。這些標(biāo)簽都可以支持 JavaScript,因此您可以像標(biāo)準(zhǔn)的 HTML 標(biāo)簽(例如 inputselect)一樣使用它們。這些標(biāo)簽庫包括:

NetUI
這個標(biāo)簽庫包括與 struts-html 標(biāo)簽類似的一些標(biāo)簽。
NetUI-data
NetUI-data 標(biāo)簽庫用來將表單和控制器中的數(shù)據(jù)綁定到 JSP 文件中。它可以讓您快速顯示數(shù)據(jù)列表,例如搜索結(jié)果。
NetUI-template
您可以在 JSP 文件中使用 NetUI-template 標(biāo)簽庫來創(chuàng)建子節(jié)(或模板)。

有關(guān) NetUI 標(biāo)簽庫的更多信息,請參閱 參考資料



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多