開(kāi)源 SOA 工具的編程技術(shù) ![]() |
級(jí)別: 初級(jí) Kunal Mittal, 門(mén)戶(hù)/J2EE 架構(gòu)設(shè)計(jì)師和咨詢(xún)顧問(wèn) 2005 年 5 月 09 日 Beehive 是一個(gè)新的 Apache 項(xiàng)目,用于簡(jiǎn)化 Java 2 Platform, Enterprise Edition(J2EE)以及 Web 服務(wù)編程。本文將介紹如何使用 Beehive,并概要介紹 Pollinate,這是一個(gè)用于創(chuàng)建 Beehive 應(yīng)用程序的 Eclipse 插件。 BEA Systems Inc. 和 Apache 在 2004 年 5 月 25 日宣布了 Beehive 項(xiàng)目的誕生。這個(gè)項(xiàng)目著重用于簡(jiǎn)化 Java 2 Platform, Enterprise Edition(J2EE)和 Web 服務(wù)編程,它使用了注釋?zhuān)╝nnotation)的概念,這種技術(shù)很快就會(huì)成為 Java 技術(shù)的一部分。面向服務(wù)的架構(gòu)(SOA)開(kāi)發(fā)也是這個(gè)項(xiàng)目的一個(gè)重點(diǎn)。 Beehive 是按照 Apache License V2.0 許可協(xié)議進(jìn)行發(fā)布的,BEA 對(duì)此項(xiàng)目進(jìn)行了廣泛的支持。現(xiàn)在,大約有一半的 Beehive 代碼提交者都是 BEA 公司的雇員,這清楚地表明社區(qū)中還有其他一些人正在對(duì)這個(gè)項(xiàng)目貢獻(xiàn)著力量。 Apache Beehive 項(xiàng)目創(chuàng)建是為了支持以下功能:
最終,這些技術(shù)將一起匯集到 Model-ViewController(MVC)編程模型中,如圖 1 所示。JPF 技術(shù)形成控件器層。NetUI 標(biāo)記庫(kù)則會(huì)參與視圖層。模型層是使用 Java 控件構(gòu)建的。 圖 1. MVC 模型和 Apache Beehive 技術(shù) ![]()
下面讓我們更詳細(xì)地來(lái)了解一下 Apache Beehive 中使用的各種技術(shù)。 如果您曾經(jīng)使用過(guò) BEA WebLogic Workshop V8.1,就可能使用過(guò) JPF 技術(shù),它是直接在 Struts 之上構(gòu)建的。正如您可能了解的一樣,Struts 是目前市場(chǎng)中采用最為廣泛的一種 MVC 框架。因此,如果 JPF 是在 Struts 之上構(gòu)建的,那么為什么不使用 Struts 呢? JPF 充分發(fā)揮了 Structs 的關(guān)鍵功能,但卻省略了 Struts 所需要的很多繁瑣工作(指對(duì)部署配置文件的管理,例如 struts-config.xml 文件)。在 BEA 的 Page Flows 最初版本中,引入了一種由 BEA WebLogic Workshop 自動(dòng)生成和維護(hù)的聲明性編程語(yǔ)言。與之相反,Apache Beehive 版本的 Page Flows 使用 JSR 175 來(lái)定義自己的元數(shù)據(jù)。JSR 175 是一種元數(shù)據(jù)規(guī)范,它可以讓您降低 J2EE 的編碼量。 JPF 技術(shù)中也提供了一組標(biāo)簽庫(kù),名為 NetUI。在典型的 MVC 設(shè)計(jì)模式中,JPF 用來(lái)構(gòu)成控制器層。NetUI 標(biāo)簽庫(kù)可以在表示層中提供幫助。實(shí)際上,您可以讓一個(gè) Web 應(yīng)用程序同時(shí)使用 Struts 和 JPF。 清單 1 給出了一個(gè)簡(jiǎn)單的 JPF 控制器,它會(huì)打印 HelloWorld。 清單 1. 簡(jiǎn)單的 HelloWorld JPF 控制器
注意,這里使用了注釋。我首先使用 前向注釋?zhuān)╢orward annotation)中引用的 HelloWorld JSP 文件在本文中并沒(méi)有介紹。對(duì)于這個(gè)例子來(lái)說(shuō),它可以是任何 JSP 文件,只要包含一行向屏幕上打印 HelloWorld 信息的代碼即可。 NetUI 技術(shù)還包括 3 個(gè)標(biāo)簽庫(kù),它們的基本功能是簡(jiǎn)化 JSP 文件的開(kāi)發(fā),并在視圖層和控制器層之間提供自動(dòng)的數(shù)據(jù)綁定。這些標(biāo)簽都可以支持 JavaScript,因此您可以像標(biāo)準(zhǔn)的 HTML 標(biāo)簽(例如
有關(guān) NetUI 標(biāo)簽庫(kù)的更多信息,請(qǐng)參閱 參考資料。
|
聯(lián)系客服