background image

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>