Web服务及其在Parlay接口中的应用 |
Web Services and Their Applications in Parlay Interface |
杨鑫 |
摘要:电信网与Internet走向融合,而Parlay接口与Web服务作为各自领域开放技术的代表,也开始了互相结合。Web服务是一种基于可扩展标记语言(XML)、面向消息的分布式计算技术,与公共对象请求代理体系结构(CORBA)等分布式对象技术相比,在Internet范围内的互操作性更好。Web服务是实现面向服务体系结构(SOA)的最佳候选技术之一。 基于Web服务的Parlay接口包括Parlay Web服务和Parlay X。其中,Parlay Web服务模拟面向对象的Parlay应用编程接口(API)定义,Parlay X的设计遵循Web服务面向消息的技术发展思路。基于Web服务的Parlay接口技术为构建电信网和Internet融合环境下的统一业务体系提供了基础。
|
关键词:Web服务;公共对象请求代理体系结构;面向服务对象体系结构;开放接口;Parlay接口;异步交互
|
Abstract:Along with the convergence of telecommunication networks and the Internet, the Parlay interface and Web Services, as typical open technologies in their own field, are developing towards convergence too. Web Services is an XML-based message-oriented distributed computing technology. It provides better interoperability while compared with the Common Object Request Broker Architecture (CORBA) and other object-oriented distributed computing technologies. And it is also one of the best technologies for implementing Service-Oriented Architecture (SOA). The Parlay interface based on Web Services includes Parlay Web Services and Parlay X. Parlay Web services simulate object-oriented Parlay Application Programming Interface (API) definitions and Parlay X follows the development trend of message-oriented Web services. The Parlay interface technology based on Web Services lays a foundation for building a unified service system in the converged environment of telecommunication networks and the Internet.
|
Key words:Web service; CORBA; SOA; open interface; Parlay interface; asynchronous interaction
|
基金项目:国家自然科学基金重点项目(60432010) 开放和融合是当前电信网发展的两大特点。开放指的是网络与业务之间采用标准接口,从而实现业务开发与网络能力分离,为计算机界开发人员进行电信业务开发提供了技术便利,有利于引入第三方开发的业务,这是目前网络开放的一种重要思想和具体实施措施,Parlay接口正是这样的网络能力开放接口的代表;融合指的是包括固定网、移动网在内的电信网本身以及电信网与Internet融合。采用Internet领域兴起的Web服务的Parlay接口技术体现了上述的开放和融合,值得关注。 另一方面Web服务作为一种新兴的软件技术,当前人们对其在认识上还存在一些误区:或者把它看作一项简单的接口技术,或者把它看成和公共对象请求代理体系结构(CORBA)等面向对象系统等同的技术,而且由于Web服务与面向服务的体系结构(SOA)常常联系在一起以至于混淆它们之间的关系。 1 Web服务 从定义可以看出,Web服务有以下几个显著的特点。
在Web定义中,除了XML、URI,Web服务并没有特别指定采用什么技术实现其定义中声明的功能,文献[2]给出了Web服务的一个最小“核”:一个包含应用特定相关信息的XML文档,一个可以发送或者接收和处理XML文档的软件程序,一个绑定的协议地址。原则上包括了以上的3个部分就可以构建一个Web服务,但是实际应用中,还需要很多额外的具体协议和技术。图1给出了一个Web服务技术框架,可以说用于建立一个完整和完善的系统,涉及到的协议和技术很多,但是Web服务最基本的技术包括以下3项:Web服务与外界交互的SOAP协议、Web服务描述语言(WSDL)、通用描述和发现集成(UDDI)规范。其中关于SOAP特别需要注意的是以下两项:
1.1 Web服务与CORBA CORBA依赖于一个严格管理的环境,不同的CORBA系统可以互通,但是很多厂商均有自己对象请求代理(ORB)实现上的一些特定的优化,而不同ORB互操作时就没有了这种优化。 Web服务发展目的和方向并不是比CORBA更好的RPC系统,虽然它提供了对RPC的支持,Web服务本质上是一个面向消息的系统,它与一般面向消息的分布式系统的区别在于它建立在XML、Internet标准协议之上,不是某个厂商的私有技术和产品,具有开放性。Web服务的发展定位于构建Internet范围内具有良好互操作性、扩展性、动态性的服务系统。文献[2,4-6]分析介绍了Web服务的技术特点及一些认识的误区,分析了RPC系统与面向消息系统的差别、对象封装成Web服务存在的问题,并指出Web服务更适合位于比CORBA等面向对象系统更高抽象层次的集成和交互,可以作为“中间件的中间件”(例如实现CORBA与DCOM系统的互通)。文献[7]将Web服务使用分为4种场景:简单的远程服务通信、部分功能模块外包、整体流程建模和执行、自动组合和执行。 1.2 Web服务与SOA SOA、服务与基于构件的软件开发(CBSD)和构件的核心差别在于以下两点[8]: (1)SOA比CBSD更强调在运行时的发现、调用和集成,所以服务的描述比构件接口地位显得更重要,服务外部视图和内部实现的分离比构件更彻底。 (2)服务和构件的动态变化程度不同,对于前者,动态变化是典型的场景,而对于构件,一般并不这么假定,虽然也可能有一定的动态变化支持机制,所以支持动态变化的机制在SOA和CBSD中的重要性也是不一样的。 综上,SOA是一种非常适合应用于Internet环境下软件系统的体系结构模型和系统构建方式,并且SOA没有限定某种具体实现的技术。 SOA和Web服务仍然是在发展中的技术,Web服务对SOA的支持也不够完善,需要进一步研究。 2 Web服务在Parlay接口中的应用介绍 本文中的Parlay接口泛指Parlay组织定义的网络能力开放接口,包括细颗粒和粗颗粒两种类型。本文中基于Web服务的Parlay接口指的是Parlay Web Services、Parlay X以及它们的集成。 需要注意的是Parlay X只包括向应用提供的网络能力接口,并不提供认证、授权、计费(AAA),业务等级协定(SLA),网络能力注册等部署环境相关的接口。Parlay Web Services除了向应用提供的网络能力接口,还包括框架等接口,相对Parlay X,更加全面。Parlay X相对Parlay Web Services更加高层,它将电信网络能力粗颗粒地提供给应用。Parlay X一般和Parlay Web Services或者其他Parlay API实现集成在一起,单独的Parlay X不构成一个完整的网络能力开放方案。当前Parlay X提供的能力包括呼叫控制、短消息处理、多媒体消息处理、终端定位、账号管理等。 Parlay接口采用Web服务技术,除了Parlay接口定义采用WSDL,各方的交互基于SOAP协议,Web服务的UDDI可以引入到Parlay接口的部署环境,为应用对网关的发现、各种网络能力的发布等提供了新的方式。例如各种Parlay网关可以在UDDI注册中心登记,应用通过UDDI查找发现Parlay网关,选择合适的Parlay网关访问网络。 基于Web服务的Parlay接口对应用开发的影响主要体现在:计算机软件开发人员相对更容易理解和使用基于Web服务的接口,特别是Parlay X这样的抽象层次较高的网络能力粗颗粒接口;Web服务的开放性和标准性使得网络可以有更广泛的应用接入和使用;基于Parlay Web Services或者Parlay X开发的业务更容易与其他系统例如企业应用系统集成,提升各自的价值。 3 基于Web服务的Parlay接口的技术分析 (1)WSDL绑定 (2)WSDL消息绑定的风格和用法 (3)WSDL文档分离 (4)对象引用
(5)异步交互 对于Parlay X来说,其交互是基于XML文档的消息传递而不是模拟面向对象的方法调用,并且遵循接口尽量保持简单易用的原则。Parlay X应用与Parlay X SCS之间的消息交互一般遵循同步的请求/响应操作并且是应用触发的,Parlay X Services对于应用来说应该是无状态的,应用的每次调用不存在关联关系。可以采用轮询的机制避免进行异步交互,但是有时异步交互也可以被定义,例如应用侧实现一个接受Parlay X SCS通知的Web服务,Parlay X SCS异步通知应用,具体的每一次交互,均是同步的请求/响应类型操作。 从上面的分析总结中可以看出Parlay Web Services是让Web服务支持 “面向对象”的API定义,而Parlay X则除了接口本身较Parlay API简单易用和抽象层次更高,其定义也逐渐摆脱“面向对象”的痕迹,回归“面向消息”的本质,所以可以说Parlay Web Services是一种“形似而神不似”的Web服务网络能力开放接口,而Parlay X是一种“纯”的基于Web服务的网络能力开放接口,这种“纯”不仅体现在一开始接口就是直接采用WSDL定义,而且体现在其设计思想、具体定义风格均是愈来愈符合上面提到的Web服务技术发展思路。 4 结束语 5 参考文献 收稿日期:2005-12-21 |
作者简介:
杨鑫,北京邮电大学毕业,博士。现工作于中国电信股份有限公司北京研究院,曾参与多项国家自然科学基金、国家“863”计划、国家“973”计划项目的研究和开发工作,主要研究方向为下一代网络、新一代业务提供体系和业务开发方法。
|
联系客服