当前位置: 首页 > 专利查询>微软公司专利>正文

分布式应用程序的面向对象和面向服务的表示之间的映射制造技术

技术编号:3511790 阅读:163 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及在分布式应用程序的面向对象和面向服务的表示之间的映射。计算机系统访问服务的已注释的面向对象的表示,它是用服务描述属性来注释的,服务描述属性将所包括的对象映射到该服务的面向服务的表示中对应的面向服务的元素。计算机系统标识注释该已注释的面向对象的表示的对象的服务描述属性。计算机系统依照所标识的服务描述属性中包含的服务描述信息将该对象映射到对应的面向服务的元素。计算机系统输出被配置成实现该面向服务的表示中所描述的行为和数据格式的通道对象。计算机系统启动与该服务的行为和数据格式兼容的通道。

【技术实现步骤摘要】

本专利技术涉及分布式应用程序,尤其涉及在分布式应用程序的面向对象和面向服务的表示之间的映射
技术介绍
计算机系统和相关技术影响着社会的许多方面。实际上,计算机系统处理信息的能力转换了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现之前手工执行的大量任务(例如,文字处理、调度、数据库管理等)。近来,计算机系统被彼此耦合并耦合到其它电子设备以形成有线和无线计算机网络,通过计算机网络,计算机系统和其它电子设备可传输电子数据。结果,在计算机系统处执行的许多任务(例如,语音通信、访问电子邮件、控制家用电器、web浏览和打印文档)包括通过有线和/或无线计算机网络在多个计算机系统和/或其它电子设备之间的电子消息交换。网络实际上已变得如此丰富,使得简单的启用网络的计算系统可通过通常被称为“因特网”的网络聚集与遍及全球的上百万的其它计算系统中的任一个进行通信。这类计算系统可包括台式机、膝上型计算机或图形输入板个人计算机;个人数字助理(PDA);电话机;或能够通过数字网络通信的任何其它计算机或设备。为通过网络通信,一个计算系统(此处称为“发送计算系统”)构造或访问电子消息,并将该电子消息通过网络发送到另一计算系统(此处称为“接收计算系统”)。当电子消息是电子邮件或即使消息时,电子消息可由人类用户读取,或者电子消息可改为由运行在接收计算系统上的应用程序读取。电子消息可由运行在发送计算系统上的应用程序在人类用户的可能帮助下构造。在某些环境中,诸如在面向服务的体系结构环境中,连接端点(通常且在后文被称为“服务”)彼此通信以实现期望的功能。期望的功能可以如同两个服务交换数据那样简单。例如,服务消费者可向服务提供者发送服务请求消息。服务提供者处理该服务请求,并向服务消费者返回服务响应消息。然而,期望的功能也可以更复杂,例如,涉及多个服务交换消息以协调某一活动。服务通常具有支持连接端点的某种类型的计算机系统(硬件和软件)。面向服务的概念描述(地址、绑定和消息交互模式)可用于描述服务。面向服务的概念描述随后可由期望与所描述服务通信的服务消费者来访问。一般而言,面向服务的概念是依照诸如分布式组件对象模型(“DCOM”)、公共对象请求代理体系结构(“CORBA”)、或web服务等某一面向服务标准来描述的。web服务还可依照诸如web服务描述语言(“WSDL”)、web服务策略框架(“WS-Policy”)等各种web服务规范来定义。由此,服务提供者可使用WSDL来描述服务。在局域网(“LAN”)或甚至是已知的互连网络之间,服务提供者可例如使用统一描述、发现和集成(“UDDI”)来向服务目录发行描述。能够访问目录的明白的服务消费者可发出针对目录的查询,以定位WSDL服务描述。由服务提供者发行的WSDL服务描述的各部分可响应于查询而被传递到服务消费者。服务消费者使用WSDL服务描述的各部分来向服务提供者发送已适当格式化的请求。服务提供者反过来向服务消费者提供适当的响应。然而,为依照指定的面向服务的概念描述来实现服务,必须有处理如在面向服务的概念描述中描述的消息的可执行模块。由此,开发者通常编写源代码(例如,以面向对象的语言,诸如C#、C++或Visual Basic)来为面向服务的概念描述中所描述的服务实现消息处理。源代码然后可被编译成可执行模块(例如,动态链接库),并且例如作为服务器运行库来执行,以向服务消费者提供服务。不幸的是,服务可利用以不同的方式实现分布式消息通信功能的不同编程模型。例如,一个编程模型可使用一个接口来实现请求消息,并使用第二不同的接口来实现对应的回复消息。另一方面,另一编程模型可使用具有分离方法的单个接口来同时实现请求消息和对应的回复消息两者。单个接口可具有用于请求消息的一个方法和用于对应的回复消息的第二不同的方法。由此,基于不同的编程模型的服务通常不能彼此通信。此外,分布式应用程序通常在其编程模型方面是严格的,从而仅允许紧密地耦合到其服务运行库的一个编程模型。因此,为兼容性起见,通常要求客户机运行库(例如,服务消费者处)依照与用于开发相应服务运行库的编程模型来处理消息。例如,如果服务运行库是使用用于请求和回复消息的分离接口并使用特定的安全机制来开发的,则客户机运行库必须也实现那些接口或机制。无法使用依照同一编程模型开发的客户机运行库可阻止客户机运行库与服务运行库通信。不幸的是,总是存在没有为服务运行库发行服务描述的某些机率。此外,即使已发行了服务描述,客户机可能不知道所发行的服务描述存在,或可能被阻止(例如,被安全机制或网络条件)访问已发行的服务描述。在更大的分布式网络中,诸如因特网中,发生这些困难的机率显著提高。由此,可能很难(如果不是不可能的话)依照适当的编程模型来实现客户机运行库。结果,可能阻止客户机与服务器运行库通信。因此,用于以其它方式访问服务描述的系统、方法和计算机程序产品将是有利的。
技术实现思路
现有技术的以上问题由本专利技术的原理来克服,本专利技术针对用于分布式应用程序的面向对象和面向服务的表示之间的映射的方法、系统和计算机程序产品。计算机系统访问服务的已注释的面向对象的表示。已注释的面向对象的表示是用服务描述属性来注释的,该服务描述属性将包括在面向对象的表示中的对象映射到服务的面向服务的表示中的对应的面向服务的数据元素。计算机系统标识注释已注释的面向对象的表示的对象的服务描述属性。计算机系统依照包含在所标识的服务描述属性中的服务描述信息将对象映射到对应的面向服务的元素。计算机系统输出被配置成实现面向服务的表示中所描述的行为和格式数据的通道对象。计算机系统启动与服务的行为和数据格式兼容的通道。本专利技术的这些和其它目标以及特征将从以下描述和所附权利要求书中变得明显,或可通过如下所述的对本专利技术的实践而了解。附图说明为进一步阐明本专利技术的上述和其它优点和特征,将参考附图中示出的其具体实施例来呈现本专利技术的更具体描述。可以理解,附图仅描绘了本专利技术的典型实施例,并且因此不被认为是局限本专利技术的范围。本专利技术将通过使用附图以附加的特殊性和细节来描述,附图中图1示出了便于分布式应用程序的面向对象和面向服务的表示之间的映射的计算机体系结构的示例。图2示出了分布式应用程序的面向对象的表示和同一分布式应用程序的面向服务的表示之间的示例映射。图3示出了用于启动通道栈的方法的示例流程图。图4示出了用于本专利技术的原理的合适的操作环境。具体实施例方式现有技术的以上问题由本专利技术的原理来克服,本专利技术针对用于分布式应用程序的面向对象和面向服务的表示之间的映射的方法、系统和计算机程序产品。计算机系统访问服务的已注释的面向对象的表示。已注释的面向对象的表示是用服务描述属性来注释的,该服务描述属性将包括在面向对象的表示中的对象映射到服务的面向服务的表示中的对应的面向服务的数据元素。计算机系统标识注释已注释的面向对象的表示的对象的服务描述属性。计算机系统依照包含在所标识的服务描述属性中的服务描述信息将对象映射到对应的面向服务的元素。计算机系统输出被配置成实现面向服务的表示中所描述的行为和格式数据的通道对象。计算机系统启动与服务的行为和数据格式兼容的通道。本专利技术范围内的实施例包括用于携带或具有在其上储存的计算机可执行指令或数据结构的计算机本文档来自技高网
...

【技术保护点】
在计算机系统中,一种启动通道运行库的方法,所述方法包括:    访问服务的已注释的面向对象的表示的动作,所述已注释的面向对象的表示是用服务描述属性来注释的,所述服务描述属性将包括在所述面向对象的表示中的对象映射到所述服务的面向服务的表示中的对应的面向服务的元素;    标识注释所述已注释的面向对象的表示的对象的服务描述属性的动作;    依照所标识的服务描述属性中包含的服务描述信息将所述对象映射到对应的面向服务的元素的动作;    输出被配置成实现所述面向服务的表示中所描述的行为和数据格式的通道对象的动作;以及    启动与所述服务的行为和数据格式兼容的通道的动作。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A戴雅纳特EK兹恩达JR斯考高尔MJ马鲁切克RT斯特戈尔SJ米尔雷特ST斯瓦特兹
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1