J2EE中的XML

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:chueri1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在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的文件只负责数据的存储,复用性比较好,可以为同一组数据创建不同的文档类型定义DTD(Document Type Defination),也可以创建没有DTD的XML文档当只是利用XML文档做数据的交换的时候,灵活性比较高,而HTML的DTD是固定的;而且XML对文档格式的要求更加严格,而HTML文档格式松散,导致了解析的负责复杂性,也造成了浏览器兼容的问题。W3C组织还推出了一系列XML的规范,主要包括XML、可扩展样式表语言(XSL)、文档对象模型(DOM)以及文档类型定义(DTD)等
  为方便开发Internet商务应用程序而产生的J2EE架构需要处理大量的商务数据,因而J2EE架构的各个功能模块中必须要有怎样描述,显示,存储,访问这些大量的数据的过程。XML在数据描述、显示以及处理上具有明显的优势,比如描述数据的标准性、平台和语言的无关性,以及可以根据具体的应用需求定义新的标记,作为一种工具XML语言简化了数据交换以及进程间消息交换这一类的事情,因而对开发者的吸引力越来越大,将更多的XML技术引入到J2EE架构中已经是一个潮流。而用户不会关心开发者使用什么平台,也不会关心开发者使用什么语言,只关心开发者能提供什么样的服务,只要求能随时随地得到自己想要的服务。为了让任何人能在任何时间,任何地点访问你的服务,你的软件就必须在网络上提供,并且不能受平台限制。所以,用XML封装数据和对象,用SOAP作为方法调用协议的WEB服务就成了最佳的选择。有了WEB服务,Internet才能真正地为企业应用,商业应用乃至个人的桌面应用提供最佳的服务。
  XML具备跨平台兼容性,因此对Java技术的可移植性构成了补充。由于J2EE平台可实施独立于平台的解决方案,XML可通过移植的方式表现数据,二者强大的组合可使J2EE充分利用XML标准的优点。
  
  2 XML在交换表示数据中的应用
  
  首先,XML在J2EE环境中能有效地描述数据: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开发人员以一种标准的方式对XML进行编译,Sun公司制定了JAXP标准(Java API for XML Processing), JAXP没有提供解析XML的新方法,也没有为XML的处理提供新功能,它只是在解析器之上封装了一个抽象层,允许开发人员以独立于厂商的API调用访问XML数据,从JAXP1.1开始,JAXP就成为J2EE和J2SE的一部分,JAXP应用程序接口库提供了绝大部分基于Java的XML应用程序所需的核心功能,提供的服务包括XML语法分析、XML消息发送以及XSLT的转换等。在J2EE架构中,XML应用于JSP方法有两种:1) 在JSP中直接使用XML数据源;2) 使用XSL或者XSLT将XML数据转换成显示页面;3) 从JSP页面中生成XML文档。
  2.1 在JSP中直接使用XML数据源
  比如一个JSP页面从两个URL获取XML数据,并生成HTML页面。URL可以是一个静态的XML文档,也可以是能动态生成XML文档的JSP页面,对于这两种URL处理的技巧相同。假设JSP页面利用parse自定义标签来解析和存储XML数据到两个对象中:customer和一系列book,该JSP页面随后析取customer对象的属性并使用一个自定义的标签来遍历该系列book。提交一个能反映book对象属性的表格。
  2.2 用XSLT来完成XML的转换
  在XML数据源上施加一个转换,或者析取数据,或者创建一个新的格式。这种转换可以用多种机制来实现并且可以使用自定义标签访问到这些数据。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技术的结合支持了多种组件事务服务,使系统更能够应付大量的并发用户、有效地管理复杂的事务逻辑,并且简化了组件的部署和客户端应用的维护,实现组件位置透明化。
  在J2EE中,中间层事务逻辑由EJB实现。EJB是用于开发和部署多层结构的、分布式的、面向对象的跨平台构件体系结构,它提供了一个框架来开发和实施分布式商务逻辑。 EJB规范定义了EJB组件与它们的容器进行交互作用,提供所有典型的中间层服务,如目录服务、事务管理、安全性、远程客户连接、生存周期管理和数据库连接缓冲以及容错性等。
  EJB规范定义了4种基本的Bean类型:
  实体Bean:提供了一致性数据的表示,访问封装数据对象并支持多用户数据共享。
  无状态会话Bean:处理单一的用户请求或商务过程,提供单一的服务,不维持任何状态。
  状态会话Bean:表示一个业务过程,提供了与客户端的会话交互,可以存储状态从而代表一个客户。
  消息驱动Bean:被指派来处理JMS队列中的消息,通过将EJB和JMS的功能结合在一起实现异步消息。
  EJB与XML的结合是描述陈述逻辑最好的方式。实体Bean通过多种XML生成方式为 数据模型提供了一个面向消息处理的抽象模型,而会话Bean采用XML技术描述逻辑规则, 并通过文档对象存取、Java的绑定来实现用例的商业逻辑。使用XML可以使EJB整个程序分块明确,从而增强了分布式应用程序的可扩展性、交互性、可伸缩性以及多用户安全特性。 另外,通过对EJB的定义以及部署说明为指定的Bean生成合适的XML描述器文件和接口 文件,从而增强了整个系统程序的可靠性、可管理性和可移植性。
  
  4 XML应用于面向消息的分布式计算
  
  面向消息的计算的这一类异步交互(与之相对的是本地或远程方法调用所代表的同步交互)在某些应用环境中是非常有用的。面向消息系统的实际应用之一就是企业之间的松散集成,类似于电子数据交换(EDI)时代的文档交换,两个企业由于业务的需要而交换消息。此时,通常不能使用RPC、RMI、CORBA或者DCOM之类的远程方法调用将两者进行紧密集成,只能使用耦合性较松散的一种交互方式,即面向消息的分布式计算的方式。由于这一类需要松散耦合的交互方式的应用在商业活动中比较普遍,因此面向消息的分布式计算在商业系统中占有很重要的地位。由于XML在数据描述上的平台和语言的无关性,使得它可以很好地描述消息结构,并且能够被跨平台的程序所处理,因而将XML技术应用于面向消息的分布式计算中,是一种比较好的方案,这样实现的整套分布式消息系统也就可以达到平台无关性。
  J2EE架构中包含了JMS编程接口以用来支持开发面向消息的分布式计算系统这样开发出来的消息系统允许双方交换基于JMS编程接口的消息载荷,但是前提是双方在会话的时候均能提供兼容载荷但是前提是双方在会话的时候均能提供兼容的JMS编程接口服务目前仍然存在的困难是: 双方是否能遵从相同的格式或协议。XML被设计用来解决此类数据的交换问题实质上就是基于XML技术描述数据的标准型,即一个双方认同的DTD或Schema,通过JMS消息队列中间件与XML的结合能够实现面向消息的异步通信模式,应用程序可以向许多不同的接受方发送请求而不必等待响应,当响应消息都到达时随时可以处理结果,这种异步通信模式能够满足多种不同的应用需求。
  1) 在概念上,XML将信息的表现形式同内容分离开来,对于同样的信息能够采用不同的访问模式以实现随时随地但非同步的访问,同时能够采取不同的形式以适应异质环境中不同系统的输入要求。
  2) 建立的统一的信息模型,能够迅速地适应新的需求变化。并根据用户的需求动态地扩展已有的异构系统。
  3) 对于需要互相连接起来以构成虚拟企业价值链的松散耦合系统,允许企业应用系统之间采用面向消息的中间件异步交换结构化的文档信息和数据信息。
  另一种是基于分布式计算技术的应用是ebXML(电子化业务)。对于具有高扩展性的商业交易来说,他们需要一种可信任的结构来实现商业事务,ebXML是一种基于XML技术来构件电子商务的架构的结构模型。它的两种建模方式,商务运营模式和功能服务模式都是基于结构模型中的ebXML消息来收发服务规范的。该服务规范的设计目标就是基于XML的电子商务的消息收发服务,ebXML中的消息收发服务兼容了SOAP(Simple Object Access Protocal)技术,该协议有助于实现大量异构程序和平台之前的互操作性,从而使已存在的应用能够被更加广泛的用户所访问。但是SOAP只是提供了一个底层的结构,而你可能需要一个更高级的框架结构。ebXML就是为了这个目的,处理B2B应用间的合作与通信。
  
  5 结束语
  
  XML简化了数据表示、数据交换与消息交换过程,这两种技术的结合为中间层集成框架保障了高可用性、高可靠性以及高扩展性的应用需求,同时降低了开发的费用和复杂性,强有力的支持现有应用程序集成。这些技术的出现给电子商务时代的Web应用程序的开发提供了一个非常有竞争力的选择,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企业计算[J].计算机工程,2002(1).
  [5] Brogden B.Java开发指南—Servlets和JSP篇[M].北京:电子工业出版社,2001.
  [6] 李东,周晓宇,徐宝文.SOAP及其对服务的影响[J].计算机工程与应用,2002(12).
  [7] 李江,张威.实例分析XML/XSL/JAVA网络编程[M].北京:宇航出版社.2002.
其他文献
由张世君著、华中科技大学出版社出版的《外国文学史》是一部颇具创新性的专著。本书的内容以欧美文学史为重点,作者详细介绍了从古代至19世纪的外国文学史。  本书具有三个方面的特点。  首先,时代特征鲜明。这一特点首先表现在对多媒体的应用上。进入20世纪以来,随着信息全球化和互联网的迅猛发展,信息传播进入了包括文本、声音和图像等多种媒体形式相结合的多媒体时代。多媒体的发展也为课堂教学带来了翻天覆地的变化
摘要:以高校科研管理系统开发为背景,探讨了UML在该系统建模中的应用问题。在对系统进行需求分析的基础上,采用Rational Rose工具对系统进行了需求模型、静态模型、动态模型及实现模型的建模。此过程中,UML为面向对象系统的开发和支持环境的建造提供了一种丰富、严谨、扩充性强的表达方式。  关键词:UML;浏览器/服务器;建模  中图分类号:TP311 文献标识码:A文章编号:1009-3044
摘要:该文对IEEE 802.11n的标准及其核心技术进行了介绍,并就基于它的无线设备组建的校园网进行了分析,对它在校园网中的应用进行了研究。  关键词:IEEE 802.11n标准;无线网;校园网  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2859-03  Wireless Network with the Standard IEEE 802.11n a
范家成  四川广安市岳池县人,现为四川省美协、书协会员,成都市美协、书协会员。  中国画的本质,就像文人们写文章一样,都是作者内心世界的某种感悟,或者说是作者自身对客观与主观事物以笔墨在宣纸等介质上再现的过程。“人如其画”则是美术评论家们对那些绘画风格已经趋于成熟,画里画外都流露出画家深厚学养的最高评价。年近七十岁的成都花鸟画家范家成所创作的《梅》《兰》《竹》《菊》系列,早在二十世纪八十年代就蜚声
《普通高中语文课程标准(2017年版)》将“思辨性阅读与表达”作为一个学习任务群单独列出,其目标之一就是“发展学生实证、推理、批判与发现的能力,增强思维的逻辑性和深刻性,提高理性思维水平”。近年来,高考写作越来越关注理性思辨与表达。但是,在实际的写作教学中,学生不会思考,尤其是不会具体深入思考,使得理性思辨仅停留在口号上,这已经成为影响学生提升思辨能力的瓶颈。如何突破这一瓶颈?笔者认为不妨尝试运用
书名:英美文学简史与作品赏析  作者:李前  出版社:光明日报出版社  出版时间:2017年  ISBN:9787519435479  定价:45元  文学作为一种艺术形式,是不同国家、不同民族文化和思想的集中表现。阅读不同国家和民族的文学作品,也是学习和了解其文化最直接、最常用的方法。初涉外国文学领域的读者,除了存在语言的障碍,还缺乏对其他国家、民族历史的了解,这也带来了在作品选择上的困难,以及
程星琰《庆祝新中国成立七十周年诗詞选抄》行书 231cm×103cm 2019年  程星琰  字仲琪。1986年6月生于海南,现居成都。中国书法家协会会员,中国硬笔书法协会会员,中国佛像艺术研究中心研究员,四川省书法家协会会员,成都市书法家协会会员,成都市青年书法家协会理事,成都市成华区书法家协会理事。
摘要:情感是语文教学的生命,要使一堂课感情丰沛应该在备课时努力挖掘文本深处的感情,课堂导入时就能紧紧抓住学生的心,课堂高潮处能让学生深入领悟情感,然后通过自己的理解用文字表达情感,这样的课堂才是激情无限的,充满吸引力的。  关键词:“挖”情 “入”情 “悟”情 “表”情  引言  情感是语文教学的生命,是语文课堂的生命源,列宁曾经说过:“缺乏情感的认识,便失去了认识的深入,人的思想,只有被浓厚的情
摘要:.NET 平台下ASP.NET 的应用开发得到了越来越多的应用,而MVC设计模式在ASP.NET 中得到了充分的实现和支持。该文对.NET 技术结合MVC 设计模式的三层架构进行了深入剖析,给出了一个三层架构模型及各层的实现策略,该模型及实现策略对于web应用开发而言,能够实现系统的设计目标,具有通用性。  关键词:ASP.NET;MVC设计模式;三层架构;实现策略  中图分类号:TP311
摘要:随着移动电子设备日益普及,移动电子商务要又好又快发展,其安全性必须得到重视。该文针对移动电子商务的安全问题,阐述了无线公钥基础设施技术WPKI的组成及安全框架,其在移动电子商务中的应用情况。  关键词:移动电子商务;安全技术;WPKI;应用  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2880-02  The Applied Study onWPKI