跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

XML、Java 与 XMLBeans 结合应用的商业价值

结合使用 XML、Java 和 SOA 来解决实际商业问题

Kunal Mittal (kunal@kunalmittal.com), 主管, Domestic TV IT, Sony Pictures Entertainment
Kunal Mittal 是一位擅长 Java 技术、J2EE 和 Web 服务技术的顾问。他已与人合作出版了多本有关这些主题的书籍。Kunal 目前在 Sony Pictures Entertainment 中担任 Domestic TV IT Group 的主管,他负责该部门开发的应用程序的技术架构及管理。有关更多信息,请访问他的网站:www.kunalmittal.com,也可通过 kunal@kunalmittal.com 与他联系。
Grace Walker, IT 顾问, Walker Automated Services
Grace Walker,伊利诺斯州芝加哥市 Walker Automated Services 的合伙人,是一个有丰富背景和广博经验的IT顾问。她曾在 IT 界包括电信、教育、金融服务以及软件等行业工作过,曾经担任过经理、行政人员、程序员、技术指导、业务分析师、产品分析师以及系统分析师等职务。

简介: 通过阅读本文,您将了解面向服务的架构(Service-Oriented Architecture,SOA)、XML 和 XMLBeans 如何在解决实际商业问题中发挥重要作用及其原因,文中将以娱乐业为例进行案例分析。本文的目的并不在于介绍代码,而是让您了解在需要使用 XML 时如何使用 XMLBeans 及其原因。

发布日期: 2006 年 9 月 05 日
级别: 初级
访问情况 : 1429 次浏览
评论: 


面对日益升级的软件复杂度,企业架构师的注意力逐渐集中到了一种能够解决系统集成问题的方法 —— 面向对象的架构(SOA)。从本质上来说,SOA 就是要通过增强业务与信息技术(IT)的运作关系来提高企业效益。

SOA 将请求/应答设计范例应用于同步和异步应用程序中。在这种方法中,业务应用程序的逻辑和功能以服务的形式体现。应用程序开发人员或系统集成人员可以通过组合一项或多项服务来构建应用程序,而不必知道服务的底层实现方法。通过这种方式可以实际地整合所有 IT 资源,包括孤立的数据和以前不兼容的遗留系统。

在 SOA 范例中,提供者与消费者通过消息进行通信。消息传递接口必须与平台和语言无关。因此,通常使用符合 XML 模式的 XML 文档来构造消息。当然,也常常以 XML 格式存储应用程序数据。

XML 提供了基本语法,您可以使用基本语法在各种计算机、各种应用程序和各种组织之间共享信息,而无需经过多层转换。XML 之所以重要,是因为它为构建集成基础设施提供了通用的标准化平台,从而为企业应用程序集成工作提供支持。

为什么使用 XMLBeans?

使用 XMLBeans 可以将 Java™ 编程语言与 XML 结合使用。Java 编程语言是一种面向对象的语言,它基于开放的、公开的标准,可移植、健壮而且可靠。由于具备这些特点,Java 编程语言已被广泛接受并在包括娱乐业在内的许多行业中得到了实现。然而,XML 与 Java 编程语言不兼容。而 XMLBeans 就是扫清这一障碍的最佳选择。

XMLBeans 用于 XML 数据绑定。使用 XMLBeans,Java 应用程序就可以充分利用 XML 的优势。XMLBeans 使用 XML Schema 来编译用于访问和修改 XML 实例数据的 Java 接口和类。使用此项技术,您可以将 XML Schema 编译到一组 Java 类中使其具有以下功能:

  • 遇到任何 Schema 时都使用 XMLBeans
  • 根据需要在任意级别访问 XML 数据

XMLBeans 提供了以下应用程序接口(API)用于数据绑定:

  • XmlObject:如果 Java 类是通过 XML Schema 生成的,则这些 Java 类都是派生自 XmlObject API。
  • XmlCursor:XmlCursor API 提供了对 XML Infoset 的低层访问权,它表示 XML 实例中的光标位置。
  • SchemaType:用于底层元信息的 XML Schema 对象模型。

XMLBeans 编译器将生成 XML 模式的对象表示。这个对象表示是一组表示模式的结构和约束的通用 Java 类和接口。在生成 Java 类和接口后,符合该模式的 XML 实例文档就会与之绑定。绑定过程包括以面向对象的方式使用 XMLBeans API 来访问实际 XML 实例文档中的数据。

如果使用功能强大的 XMLBeans,则无需为使用 XML 而编写所有代码。您可以轻松地在应用程序中使用 XML。如果不使用 XMLBeans,您就必须编写代码来利用模式的每一部分。试想:用 XMLBeans 为模式生成类,假定有若干个一对一、一对多和多对多关系需要管理,使用 XMLBeans 可以轻而易举地完成这一任务:

  1. 安装 XMLBeans。
  2. 编译模式来生成 Java Archive(JAR)文件。
  3. 编写代码将 XML 实例绑定到表示模式的 Java 类型上。清单 1 提供了一个简单的例子:

清单 1. XMLBeans 简单易用
                 
        File xmlEntertainFile = new File("c:\entertain.xml"); 
     // Bind the instance to the XMLBeans types that were generated. 
        EntertainDocument entDoc = 
          EntertainDocument.Factory.parse(xmlEntertainFile); 
     // Get and then print pieces of the XML instance. 
        Entertain ent = entDoc.getEntertain(); 
        Entertain[] entArray = ent.getEntertainArray(); 
        for (int i = 0; i < entArray.length; i++) 
          { 
               System.out.println(entArray[i]);
          } 



娱乐业

那么,所有这一切是如何在现实世界里实现的呢?首先,计算能力发生了不可思议的转变。随着 SOA 的推广,计算能力越来越多地从传统星型模型(在这种模型里,高性能的服务器共同组成集线器)转到更加对等的模型上,组合网络的优势在于比中央服务器具有更强大的计算能力。实际上,中央服务器就变成了网络中的节点。随着 Internet 和高速 Internet 连接的发展,娱乐业走向了数字化。大多数新产品的销售和发行已经或即将采用数字化方式。

信不信由你,娱乐业因声名狼藉的 Napster 采用这种计算范例而成为最早利用这种转变的行业之一。最近由 South by Southwest(SXSW, Inc.)举办的研讨会又用事实证明了娱乐业仍是先驱者。SXSW 是一家私人公司,位于得克萨斯州奥斯丁市。这家公司专门承办娱乐界及相关媒体业人士的会议和节庆活动。该公司最近承办的会议(2006 年 3 月 11 日至 14 日)讨论了数码创意和电影制作工作者在开发和制作时可利用的工具。其中一次小组讨论专门探讨了发展 XML 在娱乐业的应用:Looking for XML in All the Wrong Places。该公司的会议材料中写到,"Everyone wants to do everything with XML."


电影业

电影业更是 XML 的热情拥护者。电影业已经在包装和发行数字化产品给影院和其他实体的进程中迈出了重要步伐,这其中就包括使用 XML。2005 年 7 月,致力于电影数字化的 Digital Cinema Initiatives(DCI)组织与活动影像和电视工程师协会(Society of Motion Picture and Television Engineers,SMPTE)标准委员会的成员合作,发布了获得主流电影制片公司认可的数字影院的系统规范。标准涵盖了 XML 在包装、文件格式、帧率和调速、编辑播放列表和包装清单等方面的使用。

现在网络上可以找到有很多面向电影业的新应用程序,例如 Apple 的获奖软件 Final Cut Pro,该软件支持开放的、基于标准的 XML Interchange Format。在 Final Cut Pro 中,XML Interchange Format 说明了项目的各个方面。从剪辑、挂片及片段,剪接、转场及效果,到调色设置和关键帧,Final Cut Pro 都为创作人员和编程人员提供了找到影片设计中的亮点的方法。在 Final Cut Pro 中使用 XML 为您提供了一种开放、透明的纯文本格式,可通过多种多样的工具来阅读和操纵此格式。使用 XML Interchange Format 意味着 Final Cut Pro 用户可以与支持 XML 的任何应用程序或系统(包括数据库系统、网络服务器、基于 HTML 的 Web 创作工具和图形化应用程序)共享关于项目的各种信息。还意味着基于 Java 的应用程序可以使用 XMLBeans 轻松地访问这些数据。现在,开发人员可以创建与 Final Cut Pro 完全集成的基于 Java 的应用程序,也构建可节省大量时间和金钱的自定义后期制作管道,这都要归功于 XMLBeans。


XMLBeans 与业内发行

当然,后期制作结束后,要考虑的最重要的事情就是发行,不发行就没有利润。通过 Amazon.com 等代理商,Internet 已经成为各种形式媒体产品(例如 DVD、各类音乐,当然还有图书)发行的重要组成部分。很多人都知道 Amazon.com 是图书经销商,其实它也是娱乐业发行网络的一员。由基于 XML 的协议组成的 Amazon Web 服务(Amazon Web Services,AWS)提供了对 Amazon 的技术平台和产品数据的直接访问功能,从检索一组产品的信息一直到将产品放入购物车,从而提高应用程序的性能,或添加更好的搜索功能。使用 AWS,您可以直接访问 Amazon 的强大平台来启用和增强您的应用程序。

Amazon.com 并非娱乐业的惟一 Internet 资源。Netflix.com 等实体也是发行网络的组成部分。Netflix 使用 RSS(Really Simple Syndication)提要来提供对其内容的访问。开发人员可以使用 RSS 提要创建各种有趣的新方法,来显示 Netflix 提供的信息。当然,RSS 提要不仅限于 Netflix。您可以在许多站点(无论是新闻通讯社的站点还是内容提供商的站点)中找到这些支持 XML 的文档。

可以想像,这种新途径不但能带来巨额利润,而且几乎不会引致与数字版权管理(Digital Rights Management,DRM)和盗版相关的任何问题。随着新发行渠道的开辟,影视制作方(摄影棚、独立制作室等)必须要能与有意购买产品的各方(包括影院、电视台、租赁商和付费点播提供商)进行互动。目前,业内有几家成员正与电子商务组织探讨,在使用 Internet 这种最新或许也是最节省成本的发行渠道发行影视作品时,怎样才能做到既有利可图又安全可靠。这种交互构成了与 DRM 相关的问题。

广泛使用 XMLBeans 的关键在于建立整个娱乐业都接受的开放式 XML 标准。(有关娱乐业目前采用的 XML 标准的更多信息,请参阅 参考资料。)不过,如果您要进行娱乐节目创作并且拥有 XML 编码标准(哪怕是您自己的 XML 模式),就可以利用 XMLBeans。只要使用 XML(无论标准与否),您就可以使用 XMLBeans 来提高创作效率,减少必须测试和维护的代码,并且达到松散耦合和更为面向服务的目标。在 XML 标准补充到 DRM 领域中之后,您还可以利用 XMLBeans 来执行和使用标准。通过本文及其他文章中列出的 XMLBeans 的技术优势,您可以看到一种应用 DRM 标准的一致方法,从而帮助您简化部署及与合作伙伴、发行商和客户交换版权数据的过程。DRM 领域内下一代标准是开放数字版权语言(Open Digital Rights Language,ODRL)。您可以从 ODRL 站点下载 XML 模式(请参阅 参考资料)。

若要从 ODRL 站点下载 XML 模式,请执行以下步骤:

  1. 下载并安装 XMLBeans 和将在其中部署代码的容器(有关执行这些操作的说明信息,请参阅 参考资料)。
  2. 在 ODRL 站点中检索 Expression Language Schema 和 Data Dictionary Schema,然后将文件保存到您创建的容器中。
  3. 访问 XMLBeans Web 站点,然后通过 XML 模式文件生成 XMLBeans。选择保存 Java 源文件的选项。生成的 xmlTypes.jar 文件包含使用 ODRL 和 XMLBeans 所需的类。

使用 XMLBeans 还有很多其他优点。XMLBeans 可能是目前市场上最成熟的 XML 对象绑定技术,而且免费。总之,XMLBeans 绝对是您在使用 XML 时值得考虑的工具。随着 XML 在娱乐业内的应用的快速发展,如果要使 XML 内容可为基于 Java 的应用程序所用,您会很容易地看到 XMLBeans 的优势。


结束语

娱乐业在多种层面上为很多应用程序使用了 XML。由于 Java 编程语言是世界标准的面向对象的编程语言,而 XML 已成为娱乐业首选的数据格式,XMLBeans 将很快成为首选的 Java 绑定工具。XMLBeans 可创建用于 Java 开发的类,从而避免重复劳动,节约时间和成本。两者结合在一起,为开发客户和供应商应用程序提供了切实有效的方法。


参考资料

学习

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • Web Services Business Strategies and Architectures (Mike Clark,Peter Fletcher,Jeffrey J. Hanson 等人合著;A-Press,2003):您可以通过这本书中生动的文章了解如何应用 XML 技术解决各种业务问题。

  • Web Services and the Real Estate Industry (Kunal Mittal,Tect,2002):这本书深入探讨了 Web 服务辅助房地产业的具体用例,并提供了 Web 服务样例代码。

  • Standards in the Real Estate Industry:您可在 XML Journal 站点上获得并阅读这篇由 Kunal Mittal 撰写的文章。

  • ODRL:有关 ODRL 的更多信息,请访问 Oasis Cover Pages 站点。

  • 使用 XMLBeans 在 Apache Geronimo 中部署 SOA 应用程序(Kunal Mittal,developerWorks,2006 年 5 月):了解如何使用 XMLBeans 和 Apache Geronimo。

  • XML 标准:从 World Wide Web Consortium(W3C)and the Entertainment Sector 站点中了解适用于娱乐业的各种 XML 标准。

  • The ODRL Initiative 站点:访问此站点可以查看有关开放式数字版权语言(Open Digital Rights Language,ODRL)计划的更多信息,这是用于数字版权管理表达式语言的开放式标准。

  • XML:要获得各种技术文章和提示、教程、标准和 IBM 红皮书,请访问 developerWorks XML 专区。

  • IBM XML 1.1 认证:了解如何才能成为一名 IBM 认证的 XML 1.1 及相关技术的开发人员。

  • developerWorks 技术活动和 webcast:了解最新的技术进展。

获得产品和技术

  • XMLBeans:如需获得更多信息或下载 XMLBeans 的一个副本,请访问 Apache XML Project 站点。

讨论

作者简介

Kunal Mittal

Kunal Mittal 是一位擅长 Java 技术、J2EE 和 Web 服务技术的顾问。他已与人合作出版了多本有关这些主题的书籍。Kunal 目前在 Sony Pictures Entertainment 中担任 Domestic TV IT Group 的主管,他负责该部门开发的应用程序的技术架构及管理。有关更多信息,请访问他的网站:www.kunalmittal.com,也可通过 kunal@kunalmittal.com 与他联系。

Grace Walker,伊利诺斯州芝加哥市 Walker Automated Services 的合伙人,是一个有丰富背景和广博经验的IT顾问。她曾在 IT 界包括电信、教育、金融服务以及软件等行业工作过,曾经担任过经理、行政人员、程序员、技术指导、业务分析师、产品分析师以及系统分析师等职务。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML, Open source, Java technology, SOA and web services
ArticleID=161582
ArticleTitle=XML、Java 与 XMLBeans 结合应用的商业价值
publish-date=09052006
author1-email=kunal@kunalmittal.com
author1-email-cc=dwxed@us.ibm.com
author2-email=gwalker@walkerautomated.com
author2-email-cc=dwxed@us.ibm.com

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。