Java 开发:通过 Java 编程处理 XML 服务 SOA
很多大型
供 应商还在开发各自的 SOA 产品。因此,SOA 领域目前综合了各种技术,
包 括 Java Business Integration ( JBI ) 、 Intelligent Event Processing
和 Business Process
Execution Language (BPEL
) 服务器
。 因此,在将各种技术融入到一个解决方案之前,
想要从 SOA
中受益的用户组织很可能需要进行大量投资。通过对 SOA 布置如此高的复杂
性,行业提前为实现供应商定位铺好了道路,即使 SOA 其中的一项承诺是实现基于标准
面向组件、独立于供应商的计算。在开始代价高昂的迁移过程前,用户组织能够获得一些
实用的 SOA 使用体验吗?
为回答这个问题,本文通过简单的 XML
和一些 Java
代码演示了几个重要的 SOA 原
理。本文并不打算介绍 SOA 领域中的所有内容;相反,我们只介绍其中的一些关键部分。
例如,您可以考虑使用 RSS
发布 XML 服务定义。但是,在本文的例子中,传输机制使用
的是 Java 工具。
Java
技术和 XML
Java
技术和 XML
几乎成为了同义词。实际上,我通过 IBM 工具对整篇文章应用了
XML
格式。尽管 XML
取得了显而易见的巨大成功,仍需注意 XML 是一种相当笨拙的技
术,例如 和 标签会增加大量带宽并在通过
§传输数据时处理系统开销。然而,忽略这
种特性,XML 确实提供了一些强大的处理工具。这些工具(本文将探讨其中的两种)基本上
解决了数据表示和解析问题(后者长久以来一直难以解决)
。现在,通过使用 XML 工具,
各种技术级别的程序员都可以实现专业的标准化解析。
Java
技术为 XML 数据处理提供了一些真正强大的工具(
请参见侧栏 Java 技术和
XML)
。如果将 清单 1
中的内容看作是给定数据集的基于 XML 的呈现,那么您还可以使
用其他方式进行呈现。构成 清单 1 基本内容的原始数据一般保存在数据库中。因此,您如
何将这些数据打包成 XML?
这种聚焦式方法的优点就是用户组织中的 Java 开发人员可以使用其中的理念构建自己
的简单的试验性 SOA
。这种试验模式有助于组织实现 SOA 的商业效益。后者包含对业务
服务建模,例如计算服务、用户自助服务、更好的自动化服务和更具响应性的服务。您可以
将上述的迁移作为一个独立试验实现,与现 有业务流程并行运作。
用户组织不需要进行大型投资就可实现一个试验性质的 SOA。通过这种方式,陈述特
定于组织的 SOA 需求时可以脱离任何供应商实现。实际上,某些较小的用户组织可以继
续使用他们的试验性 SOA 模式,只在后期迁移到软件供应商提供的大型商用解决方案。
自助服务趋势
—
对于大多数服务提供商来说,自助服务正在发展为一种趋势
特别是那些资金紧张
的 ISP。因此,如果您需要更多带宽(进行下载或玩在线游戏),您可以登录到提供商的
Web
站点并通过 Web
页面自动升级与提供商的连接。让我们看一个具体的例子:清单 1
展示了一个简单的基于 XML 的用户服务配置文件。
清单 1.
一个简单的基于 XML 的服务描述
< ServiceInstance>
< Customer>Josephine Bloggs< /Customer>