快速业务通道

通过Java编程处理XML服务定义 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

通过Java编程处理XML服务定义

时间:2010-05-13 IBM Stephen Morris

自助服务趋势

对于大多数服务提供商来说,自助服务正在发展为一种趋势 — 特别是那些资金紧张的ISP。因此,如果您需要更多带宽(进行下载或玩在线游戏),您可以登录到提供商的Web站点并通过Web页面自动升级与提供商的连接。让我们看一个具体的例子:清单1展示了一个简单的基于XML的用户服务配置文件。

清单1. 一个简单的基于XML的服务描述

<ServiceInstance> <Customer>Josephine Bloggs</Customer> <Package>Internet</Package> <Bandwidth>1mbps</Bandwidth> <DownloadLimit>1Gbyte</DownloadLimit> <Uptime>95</Uptime> </ServiceInstance>

代码解释了这个用户 XML 服务模型。该模型包括:

◆ 一个服务实例

◆客户名字

◆ 服务包的名称

◆ 已配置的带宽量

◆ 每月允许的下载限度

◆ 提供商正常运行时间保证

无疑,服务定义可以比此处的例子复杂很多。其他内容可能包括客户地址、账单明细、往返延迟、加密和服务信用信息等。重点是,越来越多的提供商提供如 清单1 所示的Web 访问细节。某种程度上讲,这种尝试可以减少支持电话的花销和发生频度。有趣的是,这种基于Web的服务可以使用户觉得为他们提供服务的是较为先进的提供商。这实现了双赢的局面,因为客户可以更好地访问他们的服务数据,而提供商可以销售无需他们插手的服务包。授权的用户可以修改如 清单1 所示的一些服务参数 — 例如,配置的带宽。随之修改的是用户每月的订购费用。

因此,清单1 中的代码形成了基于XML的服务模型的基础。通过简单地与在线表单进行交互,用户可以修改可写的服务元素(例如带宽)。通过在线表单进行的修改将被记录,然后反映到可由用户配置文件修改的后端服务中。这是一种实现自助服务的标准方法。

然而,您将要了解的是另一种更加松散耦合的自助服务 — 使用这种服务,用户可以通过在网络中传输清单1 中的XML内容修改数据。在这种场景中,所传输的XML内容可通过一个Java客户机进行修改,后者可运行在台式机、笔记本电脑、甚至某种资源受限的设备上(例如手机),然后将数据发回给网络服务提供商。这种机制超越了基本的HTML页面模型并采纳了SOA 思想。

将服务定义XML文档传输给使用Java技术的客户机

Java技术为XML数据处理提供了一些真正强大的工具(请参见侧栏 Java技术和 XML)。如果将 清单1 中的内容看作是给定数据集的基于XML的呈现,那么您还可以使用其他方式进行呈现。构成清单1 基本内容的原始数据一般保存在数据库中。因此,您如何将这些数据打包成XML?

清单2 中的内容摘取自本文附带的Java文件 encodeXML.java.(相关文件可从下载 部分获得)。encodeXML.java类对 XMLEncoder类的对象进行了实例化。如您所见,这个对象随后在当前目录中创建了名为xmldata.xml的文件。下一步是将 XML数据值插入到文件中,这可以通过调用一连串的writeObject() 方法实现(清单2对此进行了说明)。显然,在生产环境中,清单2 中硬编码的文本字符串将来自数据库这样的持久性存储。无论何种情况,可以看到 XML数据文件的创建非常简单。

清单2. 使用XML 格式编码数据

XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("xmldata.xml"))); e.writeObject("Josephine Bloggs"); e.writeObject("Internet"); e.writeObject("1mbps"); e.writeObject("Gbyte"); e.writeObject("295"); e.close();

执行 清单2 中的程序后,程序的执行目录中将出现一个名为xmldata.xml的文件。清单3解释了新创建文件包含的内容。

清单3. 生成的XML数据

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号