999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

J2EE中的XML

2008-12-31 00:00:00蔡曉南
電腦知識與技術 2008年35期

摘要:在J2EE架構中集成XML技術是一種可擴展性很強的組合。文章討論了J2EE架構中XML技術在數據描述和交換、數據顯示以及面向消息的分布式計算等方面的應用。

關鍵詞:J2EE;XML;JSP;XSLT;EJB;message-oriented

中圖分類號:TP391文獻標識碼:A 文章編號:1009-3044(2008)35-2147-03

The XML in J2EE

CAI Xiao-nan

(Software College, TongJi University, Shanghai 201804, China)

Abstract: Integrating XML solutions into J2EE framework is an extensible combination..The authors discuss the application of XML in message-oriented distributed computing,data present and data descrption and exchange in J2EE.

Key words: J2EE; XML; JSP; XSLT; EJB; message-oriented

1 引言

XML全稱是Extensible Markup Language ,意思是可擴展的標記語言,它是標準通用標記語言SGML(Standard Generalized Markup language SGML)的一個子集,它以一種開放的,自我表述的方式定義了數據結構,在描述數據內容的同時能突出對結構的描述,從而體現出數據與數據之間的關系。XML與SGML是兼容的,但又沒有SGML那么復雜,被設計用于有限帶寬的網絡,可以在WEB上工作。與WEB應用上常用的超文本標記語言HTML(HyperText Markup Language)比較,XML將數據和顯示分開,擴展名為xml的文件只負責數據的存儲,復用性比較好,可以為同一組數據創(chuàng)建不同的文檔類型定義DTD(Document Type Defination),也可以創(chuàng)建沒有DTD的XML文檔當只是利用XML文檔做數據的交換的時候,靈活性比較高,而HTML的DTD是固定的;而且XML對文檔格式的要求更加嚴格,而HTML文檔格式松散,導致了解析的負責復雜性,也造成了瀏覽器兼容的問題。W3C組織還推出了一系列XML的規(guī)范,主要包括XML、可擴展樣式表語言(XSL)、文檔對象模型(DOM)以及文檔類型定義(DTD)等

為方便開發(fā)Internet商務應用程序而產生的J2EE架構需要處理大量的商務數據,因而J2EE架構的各個功能模塊中必須要有怎樣描述,顯示,存儲,訪問這些大量的數據的過程。XML在數據描述、顯示以及處理上具有明顯的優(yōu)勢,比如描述數據的標準性、平臺和語言的無關性,以及可以根據具體的應用需求定義新的標記,作為一種工具XML語言簡化了數據交換以及進程間消息交換這一類的事情,因而對開發(fā)者的吸引力越來越大,將更多的XML技術引入到J2EE架構中已經是一個潮流。而用戶不會關心開發(fā)者使用什么平臺,也不會關心開發(fā)者使用什么語言,只關心開發(fā)者能提供什么樣的服務,只要求能隨時隨地得到自己想要的服務。為了讓任何人能在任何時間,任何地點訪問你的服務,你的軟件就必須在網絡上提供,并且不能受平臺限制。所以,用XML封裝數據和對象,用SOAP作為方法調用協議的WEB服務就成了最佳的選擇。有了WEB服務,Internet才能真正地為企業(yè)應用,商業(yè)應用乃至個人的桌面應用提供最佳的服務。

XML具備跨平臺兼容性,因此對Java技術的可移植性構成了補充。由于J2EE平臺可實施獨立于平臺的解決方案,XML可通過移植的方式表現數據,二者強大的組合可使J2EE充分利用XML標準的優(yōu)點。

2 XML在交換表示數據中的應用

首先,XML在J2EE環(huán)境中能有效地描述數據:Web服務器向瀏覽器返回的Web數據的描述,Web服務配置的描述,EJB組件的持久化是應用程序服務器與數據與關系數據庫或者EIS數據的交互,而XML的描述數據的標準性使得它可以方便地轉化不同平臺不同描述格式的數據。J2EE的服務器平臺提供XSLT以及SAX和DOM,實現對XML數據的生成、解析與轉換。目前幾乎所有的解析器都對DOM(Document Object Model)和SAX(Simple API for XML)這2套標準的API提供了支持,但是不同解析器提供商有不同的實現版本,比如Apache的Xerces解析器提供的SAX實現類是org..apache.xerces.parsers.SAXParser,為了屏蔽具體廠商的實現,讓Java開發(fā)人員以一種標準的方式對XML進行編譯,Sun公司制定了JAXP標準(Java API for XML Processing), JAXP沒有提供解析XML的新方法,也沒有為XML的處理提供新功能,它只是在解析器之上封裝了一個抽象層,允許開發(fā)人員以獨立于廠商的API調用訪問XML數據,從JAXP1.1開始,JAXP就成為J2EE和J2SE的一部分,JAXP應用程序接口庫提供了絕大部分基于Java的XML應用程序所需的核心功能,提供的服務包括XML語法分析、XML消息發(fā)送以及XSLT的轉換等。在J2EE架構中,XML應用于JSP方法有兩種:1) 在JSP中直接使用XML數據源;2) 使用XSL或者XSLT將XML數據轉換成顯示頁面;3) 從JSP頁面中生成XML文檔。

2.1 在JSP中直接使用XML數據源

比如一個JSP頁面從兩個URL獲取XML數據,并生成HTML頁面。URL可以是一個靜態(tài)的XML文檔,也可以是能動態(tài)生成XML文檔的JSP頁面,對于這兩種URL處理的技巧相同。假設JSP頁面利用parse自定義標簽來解析和存儲XML數據到兩個對象中:customer和一系列book,該JSP頁面隨后析取customer對象的屬性并使用一個自定義的標簽來遍歷該系列book。提交一個能反映book對象屬性的表格。

2.2 用XSLT來完成XML的轉換

在XML數據源上施加一個轉換,或者析取數據,或者創(chuàng)建一個新的格式。這種轉換可以用多種機制來實現并且可以使用自定義標簽訪問到這些數據。XSLT是由W3C標準化的一種轉換語言,可以用來將XML數據轉換成HTML,PDF或另一種XML格式。例如,可以用XSLT將一個公司使用的XML格式轉換成另一個公司使用的格式,利用這種方式來生成HTML頁面,需要一個XSL stylesheet 和一種應用stylesheet的方法,用來完成轉換工作,生成HTML標記,并從元素中析取數據。為了應用stylesheet,需要在JSP編程中從一個JSP Scriptlet 或自定義標簽中調用一個XSLT處理器,在Apache Software Foundation中的jakartataglibs項目中給出了一個標簽庫,包含了一系列用來處理XML輸入和應用XSLT轉換的標簽。

2.3 從JSP頁面中生成XML文檔

JSP頁面生成XML文檔,只需將JSP頁面中的內容設置正確:

<%@ page contentType=\"text/xml\"%>

... XML document

3 XML在EJB的多層商務邏輯中的應用

由于EJB Server與XML技術的結合支持了多種組件事務服務,使系統(tǒng)更能夠應付大量的并發(fā)用戶、有效地管理復雜的事務邏輯,并且簡化了組件的部署和客戶端應用的維護,實現組件位置透明化。

在J2EE中,中間層事務邏輯由EJB實現。EJB是用于開發(fā)和部署多層結構的、分布式的、面向對象的跨平臺構件體系結構,它提供了一個框架來開發(fā)和實施分布式商務邏輯。 EJB規(guī)范定義了EJB組件與它們的容器進行交互作用,提供所有典型的中間層服務,如目錄服務、事務管理、安全性、遠程客戶連接、生存周期管理和數據庫連接緩沖以及容錯性等。

EJB規(guī)范定義了4種基本的Bean類型:

實體Bean:提供了一致性數據的表示,訪問封裝數據對象并支持多用戶數據共享。

無狀態(tài)會話Bean:處理單一的用戶請求或商務過程,提供單一的服務,不維持任何狀態(tài)。

狀態(tài)會話Bean:表示一個業(yè)務過程,提供了與客戶端的會話交互,可以存儲狀態(tài)從而代表一個客戶。

消息驅動Bean:被指派來處理JMS隊列中的消息,通過將EJB和JMS的功能結合在一起實現異步消息。

EJB與XML的結合是描述陳述邏輯最好的方式。實體Bean通過多種XML生成方式為 數據模型提供了一個面向消息處理的抽象模型,而會話Bean采用XML技術描述邏輯規(guī)則, 并通過文檔對象存取、Java的綁定來實現用例的商業(yè)邏輯。使用XML可以使EJB整個程序分塊明確,從而增強了分布式應用程序的可擴展性、交互性、可伸縮性以及多用戶安全特性。 另外,通過對EJB的定義以及部署說明為指定的Bean生成合適的XML描述器文件和接口 文件,從而增強了整個系統(tǒng)程序的可靠性、可管理性和可移植性。

4 XML應用于面向消息的分布式計算

面向消息的計算的這一類異步交互(與之相對的是本地或遠程方法調用所代表的同步交互)在某些應用環(huán)境中是非常有用的。面向消息系統(tǒng)的實際應用之一就是企業(yè)之間的松散集成,類似于電子數據交換(EDI)時代的文檔交換,兩個企業(yè)由于業(yè)務的需要而交換消息。此時,通常不能使用RPC、RMI、CORBA或者DCOM之類的遠程方法調用將兩者進行緊密集成,只能使用耦合性較松散的一種交互方式,即面向消息的分布式計算的方式。由于這一類需要松散耦合的交互方式的應用在商業(yè)活動中比較普遍,因此面向消息的分布式計算在商業(yè)系統(tǒng)中占有很重要的地位。由于XML在數據描述上的平臺和語言的無關性,使得它可以很好地描述消息結構,并且能夠被跨平臺的程序所處理,因而將XML技術應用于面向消息的分布式計算中,是一種比較好的方案,這樣實現的整套分布式消息系統(tǒng)也就可以達到平臺無關性。

J2EE架構中包含了JMS編程接口以用來支持開發(fā)面向消息的分布式計算系統(tǒng)這樣開發(fā)出來的消息系統(tǒng)允許雙方交換基于JMS編程接口的消息載荷,但是前提是雙方在會話的時候均能提供兼容載荷但是前提是雙方在會話的時候均能提供兼容的JMS編程接口服務目前仍然存在的困難是: 雙方是否能遵從相同的格式或協議。XML被設計用來解決此類數據的交換問題實質上就是基于XML技術描述數據的標準型,即一個雙方認同的DTD或Schema,通過JMS消息隊列中間件與XML的結合能夠實現面向消息的異步通信模式,應用程序可以向許多不同的接受方發(fā)送請求而不必等待響應,當響應消息都到達時隨時可以處理結果,這種異步通信模式能夠滿足多種不同的應用需求。

1) 在概念上,XML將信息的表現形式同內容分離開來,對于同樣的信息能夠采用不同的訪問模式以實現隨時隨地但非同步的訪問,同時能夠采取不同的形式以適應異質環(huán)境中不同系統(tǒng)的輸入要求。

2) 建立的統(tǒng)一的信息模型,能夠迅速地適應新的需求變化。并根據用戶的需求動態(tài)地擴展已有的異構系統(tǒng)。

3) 對于需要互相連接起來以構成虛擬企業(yè)價值鏈的松散耦合系統(tǒng),允許企業(yè)應用系統(tǒng)之間采用面向消息的中間件異步交換結構化的文檔信息和數據信息。

另一種是基于分布式計算技術的應用是ebXML(電子化業(yè)務)。對于具有高擴展性的商業(yè)交易來說,他們需要一種可信任的結構來實現商業(yè)事務,ebXML是一種基于XML技術來構件電子商務的架構的結構模型。它的兩種建模方式,商務運營模式和功能服務模式都是基于結構模型中的ebXML消息來收發(fā)服務規(guī)范的。該服務規(guī)范的設計目標就是基于XML的電子商務的消息收發(fā)服務,ebXML中的消息收發(fā)服務兼容了SOAP(Simple Object Access Protocal)技術,該協議有助于實現大量異構程序和平臺之前的互操作性,從而使已存在的應用能夠被更加廣泛的用戶所訪問。但是SOAP只是提供了一個底層的結構,而你可能需要一個更高級的框架結構。ebXML就是為了這個目的,處理B2B應用間的合作與通信。

5 結束語

XML簡化了數據表示、數據交換與消息交換過程,這兩種技術的結合為中間層集成框架保障了高可用性、高可靠性以及高擴展性的應用需求,同時降低了開發(fā)的費用和復雜性,強有力的支持現有應用程序集成。這些技術的出現給電子商務時代的Web應用程序的開發(fā)提供了一個非常有競爭力的選擇,XML技術與J2EE結合具備很強的開放性與廣闊的應用前景。

參考文獻:

[1] Paul M D,Jarallah A.A Data-centric Design for n-tier Architecture Information Sciences,2003,150(3-4).

[2] Thomas K.Management of XML Documents Without Schema in RelationalDatabaseSystems[J].Information and Software Technology,2002,44(4).

[3] Tseng F S C,Hwung W J. An Automatic Load/extract Scheme for XMLDocumentsthroughObject-relationalRepositories[J].Journal of Systems and Software,2002,64(3).

[4] 王強兵,劉廣鐘.基于J2EE的Web企業(yè)計算[J].計算機工程,2002(1).

[5] Brogden B.Java開發(fā)指南—Servlets和JSP篇[M].北京:電子工業(yè)出版社,2001.

[6] 李東,周曉宇,徐寶文.SOAP及其對服務的影響[J].計算機工程與應用,2002(12).

[7] 李江,張威.實例分析XML/XSL/JAVA網絡編程[M].北京:宇航出版社.2002.

主站蜘蛛池模板: 99爱在线| 少妇精品久久久一区二区三区| 国产欧美日韩在线一区| 中文无码精品A∨在线观看不卡 | 国产麻豆aⅴ精品无码| 欧美狠狠干| 老司机精品一区在线视频 | 热99re99首页精品亚洲五月天| 在线视频精品一区| 99久久精品国产麻豆婷婷| 老司机精品99在线播放| 伊人婷婷色香五月综合缴缴情| 99久久亚洲综合精品TS| 国产麻豆福利av在线播放| 五月婷婷丁香色| 一本视频精品中文字幕| 久久国产高潮流白浆免费观看| 青青久久91| 亚洲免费播放| 精品国产香蕉伊思人在线| 国产亚洲男人的天堂在线观看| 有专无码视频| 国产精品亚洲精品爽爽| 亚洲天堂网在线观看视频| 亚洲欧美在线综合图区| 国产福利免费视频| 亚洲视频在线观看免费视频| 亚洲第一在线播放| 亚洲人成网18禁| 国产精品漂亮美女在线观看| 国产福利在线免费| 97人人做人人爽香蕉精品| 69视频国产| 日韩在线永久免费播放| 国产日韩AV高潮在线| 欧美日韩精品综合在线一区| 在线观看视频一区二区| 日韩在线永久免费播放| 精品无码一区二区在线观看| 色成人亚洲| 四虎永久免费在线| 国产一级在线播放| 亚洲精品视频网| 91成人免费观看在线观看| 中文字幕自拍偷拍| 国产精品人成在线播放| 五月天福利视频| 久久精品国产亚洲麻豆| 国产成人h在线观看网站站| 久久久久久午夜精品| 亚洲av中文无码乱人伦在线r| 午夜少妇精品视频小电影| 精品视频一区在线观看| 高清欧美性猛交XXXX黑人猛交| 日韩av电影一区二区三区四区| 一级成人a毛片免费播放| 国产剧情无码视频在线观看| 国产在线一区视频| 国产成本人片免费a∨短片| 国产免费羞羞视频| 午夜a视频| 91在线国内在线播放老师| 天天爽免费视频| 亚洲av无码久久无遮挡| 亚洲欧美成人| 狠狠做深爱婷婷综合一区| av免费在线观看美女叉开腿| 国产麻豆91网在线看| 国产尤物在线播放| 操国产美女| 青青网在线国产| 青青热久麻豆精品视频在线观看| 怡红院美国分院一区二区| 91福利在线看| 天堂岛国av无码免费无禁网站| 日本三级欧美三级| 亚洲国产中文欧美在线人成大黄瓜 | 欧美三级日韩三级| 亚洲男人在线| 国产精品亚洲专区一区| 曰韩人妻一区二区三区| 日本高清有码人妻|