当前,
Java 2
平台企业版(
J2EE
)架构在厂商市场和开发者社区中倍受推崇。作为一种工具,可扩展标记语言(
XML
)简化了数据交换、进程间消息交换这一类的事情,因而对开发者逐渐变得有吸引力,并开始流行起来。自然,在
J2EE
架构中访问或集成
XML
解决方案的想法也很诱人。因为这将是强大系统架构同高度灵活的数据管理方案的结合。
XML
的应用似乎是无穷无尽的,但它们大致上可以分为三大类:
*
简单数据的表示和交换(针对
XML
的简单
API
(
SAX
)和文档对象模型(
DOM
)语法解析,不同的文档类型定义(
DTDs
)和概要(
schemas
))
*
面向消息的计算(
XML
-
RPC
(远程过程调用),
SOAP
协议,电子化业务
XML
(
ebXML
))
*
用户界面相关、表示相关的上下文(可扩展样式表语言(
XSL
),可扩展样式表语言转换(
XSLT
))
这几类应用在
J2EE
架构(软件设计师)中恰好有天然的对应:数据表示和交换功能是
EJB
组件模型中持久化服务(
persistence services
)的一部分,基于消息的通讯由
Java
消息服务(
JMS
)
API
来处理,而界面表示正是
Java
服务器页面(
JSP
)和
Java Servlets
的拿手好戏。
在本文中,我们将看到当今基于
J2EE
的应用里,
XML
是如何在上述几个方面进行应用的,以及在相关标准的未来版本中这些应用将会如何发展。
基础:数据的表示和交换(http://it.100xuexi.com/HF/it/ruanjianshejishi/)
原型化的
XML
应用(假设有的话)的内容通常是:数据以
XML
格式存放,为了进行显示、修改甚至写入某个
XML
文档而经常被读入到某个对象模型中。作为例子,假定我们正处理多种类型的媒体(图品、视频、文本文档等等),并且用下面这个简单的
XML DTD
来描述这些媒体的元数据:
<
!
<
!--
Media assets are the root of the object hierarchy
.
Assets are also
<
!
<
!
<
!
<
!
<
!
<
!
<
!
以下是一个基于上述媒体
DTD
的
XML
文档,描述了与某个课程讲座相关的内容:
<
!
第
14
讲
与第
14
讲相关的所有内容
<
!--
内容对象
"lecture 14"
的一套子组件
--
>
讲座的幻灯片
讲座的视频片断
!--
讲座开始
--
>