[发明专利]用于将源软件组件的源对象的表示解序列化为目标软件组件的方法和系统有效
申请号: | 201310202971.X | 申请日: | 2013-05-28 |
公开(公告)号: | CN103455381A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | A·斯科蒂;L·拉扎罗;M·T·凯拉 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;李峥宇 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 软件 组件 对象 表示 序列 化为 目标 方法 系统 | ||
技术领域
根据本发明的一个或多个实施方式的方案涉及数据处理领域。更具体地,该方案涉及对象的解序列化(de-seralization)。
背景技术
在不同软件组件之间交换数据是现代数据处理系统中的常见行为。为此,可以使用序列化/解序列化技术(也称为紧缩(deflate)/膨胀(inflate)技术)。
特别地,通过将要从源软件组件向目标软件组件提供的源对象转换为可以向目标软件组件传送的表示而对其进行序列化。继而,通过在对其进行映射(即,在语义上等效于源对象)的目标软件组件中创建目标对象而解序列化源对象的表示。通常,源对象的表示是独立于源对象和目标对象的实际实现的形式;按照这种方式,有可能以可靠的方式在异构的(尤其是具有分布式架构的数据处理系统中的)软件组件之间交换数据。
然而,在该上下文中,当以不支持相同的对象类型(例如,在面向对象的编程语言中,具有不同类型的字段的类)的不同编程语言编写源软件组件和目标软件组件时出现了问题。实际上,在这种情况下,有可能没有目标软件的类型与源对象的表示完美地匹配。因此,(如果不是不可能的话)将源对象的表示自动地解序列化为相应的目标对象是非常困难的。
典型的示例是在以JavaScript语言编写的丰富互联网应用(RIA)与以Java语言编写的web服务之间交换对象,这些对象可以是以JavaScript对象表示法(JavaScript Object Notation,JSON)格式(商标);Java语言具有比JavaScript语言更丰富的类型集合,使得不可能将JavaScript对象的JSON表示解序列化为与其完美映射的Java对象。
为了解决这一问题,通常为目标软件组件添加定制转换器;该转换器包括特别编写的代码,用于处理将源对象的表示解序列化为相应的目标对象——例如,如US-A-2010/0083277(在此通过引用并入其全部公开内容)中所描述的用于将SOA框架中的传入请求消息解序列化为Java对象。
然而,这增加了目标软件组件的开发成本。另外,转换器的维持非常困难,因为其需要在两个层上运行以维持目标软件组件中的转换器与源软件组件同步。该过程消耗时间(从而还增加了目标软件组件的开发成本),并且易于出错(从而对目标软件组件的质量造成不利影响)。当源对象具有复杂的结构(例如,不同类型的项目的列表、嵌套列表的列表等)时,这个问题会特别严重。
备选地,US-A-2011/0321010(在此通过引用并入其全部公开内容)提到了使用新格式的可能性,其允许指定每个源对象的类型及其字段。然而,该格式的使用将需要所引用文献中没有描述的相应的解析器(并且该文献没有任何参考实现)。另外,在源对象(新格式)的定义和目标软件组件中都需要对每个源对象进行建模的元数据;这包括信息的复制,这对于其维护具有不利的影响。最后,所引用文献中提及的可能性将需要学习新语言(不同于当时公知的语言)。
发明内容
在一般方面,根据本发明的一个或多个实施方式的方案是基于将解序列化(至少部分)自动化的思想。
特别地,在独立权利要求中阐述了根据本发明的特定实施方式的方案的一个或多个方面,并且在从属权利要求中阐述了相同方案的有益特征,在此通过引用逐字并入所有权利要求的描述(参考向其每个其他方面应用“必要的变更”(mutatis mutandis)的本发明的实施方式的特定方面,而提供任何有益特征)。
更具体地,根据本发明的实施方式的方案的方面提供了一种用于将源软件组件的源对象的表示解序列化为目标软件组件的方法,其中,(在可用于目标软件组件的多个类型之中)选择与源类型的表示兼容的候选类型集合中的一个,用于在候选类型与源对象的表示之间根据信息内容的差别来映射源对象。
根据本发明的实施方式的方案的另一方面提供了一种用于执行该方法的计算机程序。
根据本发明的实施方式的方案的另一方面提供了一种相应的系统。
附图说明
参考以下详细描述将更好地理解根据本发明的一个或多个实施方式的方案以及其他特征及其优点,以下详细描述仅通过非限制性示例的方式,需要与附图结合阅读(其中,出于简化的目的,利用相同或者相似的参考标号来表示相应的元素,并且他们的解释是不重复的,并且每个实体的名称一般用于指示其类型和其属性二者——诸如,值、内容和表示)。特别地:
图1示出了可以应用根据本发明的实施方式的方案的系统的示意框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310202971.X/2.html,转载请声明来源钻瓜专利网。