CN1682186A - 技术无关的信息管理 - Google Patents
技术无关的信息管理 Download PDFInfo
- Publication number
- CN1682186A CN1682186A CN02829564.1A CN02829564A CN1682186A CN 1682186 A CN1682186 A CN 1682186A CN 02829564 A CN02829564 A CN 02829564A CN 1682186 A CN1682186 A CN 1682186A
- Authority
- CN
- China
- Prior art keywords
- service
- aforementioned
- environment
- user
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
用于在分布式数据处理系统中处理数据对象的方法、系统和计算机程序,所述分布式数据处理系统具有多个可通信连接耦合的软件/硬件节点。该方法包含步骤:定义第一和第二环境用于以不同的抽象级别处理对象,即与不同种类的对象方面操作的第一平台无关级别和第二平台相关级别。根据两个对象模块定义每个对象,一个是平台无关环境,另一个是平台相关环境。这两个对象模型被同步,基于所述模型产生的对象实例根据当前对象实例的方面,在相应的环境下被处理。
Description
技术领域
本发明通常涉及信息的管理和访问。更具体地说,本发明涉及技术无关或平台无关的信息管理和访问、计算机实现的服务和计算机化的功能。
背景
由于计算机的持续发展和计算机在各种应用中的不断增加的使用,诸如电信、商业或者涉及工作的任务和娱乐之类的不同人类活动被并入信息技术的共同主流中。然而处理信息的原理、服务和计算机化工具很早就已经出现了,信息技术的实际使用往往受用于存储、显示、执行和传送信息或者数据的品种繁多的不同技术方案和平台的妨碍。因此需要更简单地访问和处理信息技术的不同种类以及不同实现。
现有技术
有一种现有技术正在解决上述需求。例如在下述计数报告中有对涉及创建设备无关的web内容和web应用的当前技术的调查:“Current Technologies for Device Independence(用于设备无关性的当前技术)”,Mark H.Butler,Publishing Systems and SolutionsLaboratory,HP Laboratories Bristol,HPL-2001-83,2001年4月4日。这部分现有技术主要涉及利用各种不同的设备接入互联网web站点。
专利文件EP1126681和EP1130510中展示了现有技术中面向对象技术的不同方面。
发明目的
本发明的总体目的是解决获得一种技术平台的问题,例如其中以信息、可执行软件代码或者具有可能异类(heterogeneous)属性的设备的形式出现的对象可以以被认知为同类(homogeneous)的方式进行交互作用和合作。
该问题的不同方面是:
使得能够独立于其基本技术或平台,实现信息以及以处理规则或者可执行程序代码的形式的逻辑的可用性和可访问性,该处理规则或者可执行程序代码用于不同类型的处理以及对接软件或者硬件设备。
使得能够在不同逻辑组件即可执行软件代码片(pieces)之间,独立于硬件配置、网络拓扑、程序语言语义、事务协议、逻辑实现语言、物理区别等等进行合作。
使得能够在优化软件模块大小的可能性方面进行更经济的软件开发。
在软件对象和软件组件之间提供无缝转换。
提供对诸如数据源、可执行软件代码或者硬件设备之类外部资源的同类接入。
提供用于以简单和省时以及节约生产成本的方式快速创建强大的、真正的分布式系统的环境。
使得能够在面向对象编程技术的意义上以一种或多种编程语言实现对象,以便允许根据当前目的或者任务选择语言。
发明概要
根据本发明,借助于在分布式面向对象的体系(在此简称为对象体系)中实现的改善的面向对象原理思想,解决上述目的和不同问题方面。本发明的分布式面向对象体系含有一个对象定义语言,它是可扩展标记语言的子集。该对象定义语言使得对象开发者能够独立于硬件技术、硬件配置、网络拓扑、语义、协议、逻辑实现语言和物理区别来定义对象。它为开发者提供抽象,使开发者能够集中于对象接口和功能上。这使开发者能够分隔对象的与本地/技术相关的方面。
更一般地说,本发明的目的是借助于以下方法实现的,该方法用于在分布式数据处理系统中处理数据对象并以系统或者计算机程序产品的形式实现。该分布式数据处理系统具有相互可通信地连接或者耦合的多个软件和/或硬件节点。
该方法的实施例含有以下步骤:
定义第一环境,被称为对象运行时间(runtime)环境,用于以独立于所述节点的软件/硬件平台的第一级抽象来处理对象;
定义被称为本地环境的第二环境,行用于以依赖于所述节点的软件/硬件平台的第二级抽象来处理对象;
在所述第一环境中定义第一对象模型,该第一对象模型具有第一类别的对象方面,即通用的或者平台无关的方面;
在所述第二环境下定义第二对象模型,具有第二类别的对象方面,即本地或者平台相关的方面;
使所述第一环境的所述第一对象模型与所述第二环境的所述第二对象模型同步;
根据所述第一和第二模型,定义关联来自所述第一和第二对象方面类别的对象方面的可选集的一个对象;
产生所述对象的一个实例;
根据所述相关联的对象方面集,在所述第一和第二环境下处理所述对象实例。
在包含建立了本发明环境的硬件和软件节点的数据处理系统中,对象以实现本发明目的的方式被管理和处理。
在本发明的进一步开发中,预定义对象连接性(connectivity)装置:以软件代码部分和协议的形式,可通信地耦合到所述第一平台无关的环境,它被设计为与在位于所述定义的第一和第二环境内部的内部实体和不在所述定义的第一和第二环境中的外部实体对接,并在该内部实体和外部实体之间执行数据通信。
在一个实施例中,所述第一平台无关环境的一个实例与所述第二平台相关环境和对象连接性装置的实例一起被配置用来构成服务提供者功能。优选地,所述第一平台无关环境的一个实例与所述第二平台相关环境的一个实例一起也被配置用来构成一个对象消费者功能。
进一步,对象提供者功能优选与服务消费者功能一起被配置用来组成该分布式系统的消费者/提供者子集,也被称为一个联盟(federation)(以下解释),在其内部执行对象或者对象实例的处理。
在软件对象和软件组件之间的无缝转换是通过为对象和软件组件提供一个公共的开发模型来实现的。
根据本发明,信息优选以公共格式存储,这里有时被称为可扩展文件格式(以下也被称为XDF格式),它是该系统的单独的文件格式。此XDF格式用来描述任何类型的功能或内容。没有类型属性连接到XDF文件,因此在诸如文件或图像之类的数据文件和可执行程序代码的应用之间在信息的构成和存储上没有差异。从此用户的观点看,例如在文件和数据通信服务之间没有差异。
本发明的结果和一个重要特征是:操作根据本发明原理设计的数据处理系统或数据库并与之对接的用户可以通过任何可连接的数据通信设备独立于其技术平台便利地访问相同的信息。也就是说,无论用户是从例如常规计算机、WAP设备、移动电话还是经由例如互联网可连接到该系统的任何其他通信设备上进行操作,该信息都是可以访问的,而不需要任何繁重的转换或同步例程。
根据本发明的系统自动地执行数据格式任何需要的适配或成型(profiling),以便用户获得对例如信息或服务形式的对象的访问,诸如在用户中心服务中的数据处理。由此使根据本发明的对象平台无关。用户因此可以利用一个诸如文字处理器之类的服务,通过使用一种通信设备或者处理设备例如桌式计算机,以一个诸如文件之类的对象开始工作。然后用户可以利用一个不同类型的通信或者处理设备诸如PDA或者WAP电话机继续对同一个文件工作。
本发明使得请求时使不同服务可用成为可能,例如在远程或者远处设备(例如在一个分布式系统中的中心站点或者另一个节点)处提供的文字处理服务。因此用户可以访问该请求的文字处理服务而不必在用户使用的通信设备上安装文字处理程序来与该系统通信。更一般地说,用户可以访问在远程站点或者设备上(例如在分布式系统中中心站点或者另一个节点)提供的非常强大的服务、功能和资源,虽然该通信设备本身相对地原始,因为该通信设备不需要安装有任何强大的程序。
为了能在优化软件模块大小的可能性方面更经济地进行软件开发,本发明原理包含处理对象和组件等的功能。也就是说,本发明的对象体系在对象和组件之间不产生任何语义的或者编程的差异。当一个对象变得更加复杂时,则利用例如组合(composition)或者聚合(aggregations)来代表其复杂性。代表功能的对象然后无缝转换到类似现有技术经常被称为组件的实体一样工作,或者甚至可能就是该实体。在本发明中,因此可以作为软件组件或者对象来开发和处理一个对象,但本发明的对象体系在二者之间无差别,因此程序开发者可以自由地开发一个相对于需要不大不小程序解决方案。
定义
在本节中,定义和解释说明书正文使用的的术语。在说明书正文本身中也定义和解释了某些术语。
对象 封装如公认的面向对象原理所规定的信息、进程和行为的一个实体。正文中的这个词用来定义一个基于根据本发明的技术构造的对象,在某些方面不同于现有技术的定义。同样词语对象用来识别未实例化的对象。
实例或者对象实例 实例化的对象。
外部执行者(actor) 从当前第一对象的观点看,与第一对象相互作用的第二对象是一个外部执行者。
ODL 对象定义语言的缩写
在根据本发明的技术中使用对象定义语言来定义对象,在正文中指的是一个具体的开发语言。
联盟 根据本发明的一个系统,其中可以得到一个提供者功能和一个消费者功能(以下解释)。
部署对象 当在对象运行时环境(以下解释)内第一次实例化一个对象时,需要一些附加的步骤;解码对象定义、合并对象定义、解码运行时描述符、高速缓存对象定义等等。这些附加的步骤贯穿整个说明书在此被称为部署一个对象、对象部署或者部署的对象。与先前定义的部署相对,这里的部署指的是自动地执行而不是通过系统管理员或者开发者执行的一个进程。
附图简要描述
图1是本发明操作系统的示意合作图表;
图2是说明本发明实施例中的组件的一个示意方框图;和
图3-5表示在本发明实施例中的不同组件之间信号通信的示范场景。
本发明实施例的详细说明
本发明是基于实现为一种方法、设备或者系统,或者实现为计算机程序产品的应用的。该设备或者系统通常会包含具有中央处理单元(CPU)的数据处理装置、数据存储装置、输入/输出接口和数据通信装置。该设备或者系统于是利用具体设计的计算机程序代码被建立以便执行本发明方法的步骤。当实现为计算机程序产品时,本发明通常会包含这样的计算机程序代码部分,即被设计为指导数据处理系统执行本发明方法或者设备的步骤和功能。本发明是参考示意附图来解释的,该附图描述了在不同实施例中可以实现为方法步骤、硬件单元或者计算机程序代码部分的的功能单元。为了简化起见,在以下实施例的描述中不总是提到不同实现方式间的区别。
优选地,按照面向对象的原理来实现本发明。对象被创建,即定义和建立,在由装备有软件的数据处理设备的一个可能的分布式系统组成一个对象运行时环境中存在和操作,以便实现根据本发明的平台无关数据处理方法。可能地,多个不同的对象运行时环境并列存在,也同样可以通信。在本系统的每个设备中,还有一个被称为本地环境的平台相关层或者环境。对象还可以存在于本地环境中,被适当地定义一个对象的不同方面,即一般的平台无关方面和本地的平台相关方面。
如果一个对象包含一个或多个本地方面,该对象也被定义为本地的。被定义为本地的对象具有两个对象模型,即在对象运行时环境中的一个和在本地环境中的一个。存在于本地环境中的模型被填充以该对象的所有本地方面。两个对象模型可以彼此相互作用。例如,本地方法可以调用相同对象内的非本地方法,反之亦然(可扩展的是,该对象也可以调用其他对象中的本地方法)。同样,任何定义为本地的属性总是在两个对象模型中保持一致。例如,如果在一个对象模型中改变属性值,那么该改变被传播到其他对象模型中。
优选地,创建的所有对象大部分应该完全平台无关。仅仅少量对象会包含任何本地表示。这种对象(例如图像对象、文本对象、音频回放对象等等)实现功能,如果没有破坏性量的开发和管理实施工作,则不能支持平台无关。代之以这些本地对象(即包含本地方面的对象)将是最原子化的构建块以便于其他对象使用。
根据本发明的对象的平台无关的一般方面的一个效果是,每个对象只需要被定义一次,并且此后可以发送到所有不同类型的设备,对这些设备来说,具有对象消费者运行时环境(下面进一步解释)。
定义对象
本节描述了本发明对象结构的优选实施例。
唯一性:
操作中定义和建立了多个对象作为对象实例。在在本发明实现中涉及的节点和设备的分布式系统内部,所有对象实例是全局唯一的。当安装了一个对象之后,即给出一个全局唯一的标识号码(GUID/UUID)。根据本发明,全局唯一的标识号码GUID必须在该实现中所有涉及到的软件设备上保证其唯一性。这个效果是,在这些对象能够存在于任意数目的客户以及与任意数目的服务器通信的意义上,本发明的对象是或者能够是真实地和完全地分布的。
属性:
利用与该对象相关的属性,在一个对象中封装信息(数据)。一种属性可以保持或存储被称为原语(primitive)的基本实体,更具体地说是一种原语、运行时间原语、惯例原语,或者它可以保持对另一个对象的引用。属性可以被声明为本地的,这意味着它在一种被称为本地环境的环境下操作,也就是说它在平台无关层下一层与具体的技术平台相关。这在下面作进一步的解释。在本发明的一个实施例中,属性不能直接暴露给其他的对象,相反,属性必须通过本发明定义的访问器(accessor)和修改器(mutator)方法进行访问。
原语:
不同种类的数据通过用来包含数据的一组原语进行访问或者存储。数据还可以被存储在第一对象具有到它的引用的其他对象或者对象实例中,而在这样的情况下,该引用被存为一种属性。例如,邮件对象可以具有到收信者对象的引用。更多复杂数据的存储可以被实现为原语和对象的混合,邮件对象的例子可以附件对象的集合。
不同的实施例包含一个或多个下列原语。在本发明原理内定义其它原语也是可能的。
数字(Number) 能够包含任何类型的数值的原语,例如整数、十进制数(浮点)或者十进制大数。该类型由实现的开发者输入的数值来决定。
字符串(String) 字符串原语包含通用字符集变换格式UTF。例如有UTF-8或者UTF-16的串值。
布尔(Boolean) 布尔原语包含布尔值,例如根据实现表示为单个比特。
集合(Collection) 集合原语能够包含原语(包括集合原语)、运行时间原语、惯例原语和对象引用。在本发明的一个优选实施例中,包含在该集合原语中的数据应该以结构无关的方式包含。该集合因此能被当做任何类型的集合对待,例如映射、矢量、数组、列表、链接表等。
事务(Transaction) 事务资源包含到已经完成或者已经执行的全局唯一事务的引用。
运行时间原语:
运行时间原语是它们在其中创建和填充的运行时间环境的本地原语。运行时间原语本质上为瞬态,他们不允许被序列化和/或分配给另一个对象运行时间环境。当对象被序列化时,它就以能够通过网络传送的一种格式存储,或者存储在稳固的介质上,例如硬盘。在一种替换方案中,对象的复杂格式例如被存储为二进制流或者存储为XML文件。与序列化相反,当对象作为二进制数据传递时,通过向某个收信者发送对象引用来分配对象。
本发明的实施例包含:
容器(Container) 本地容器是一个运行时间原语,表示用来投射表示对象的图形用户界面容器(例如窗口)。
惯例原语(Customprimitives:):
惯例原语是惯例定义原语,由对象供应商或者对象开发者定义。惯例原语用途的一个例子是有关Java技术对象的原语。惯例原语缺省是非瞬态,然而可以由对象供应商声明为瞬态。
对象引用:
属性能够包含对另一个对象的实例的引用。这样的引用用来调用对当前对象实例进行操作的方法。
对象操作方法
一个对象是借助于对象操作方法进行访问或激活的,这种对象操作方法是设计成执行该对象的具体任务的一部分可执行的软件代码。在本发明的优选实施例中,该对象操作方法是直接暴露给其它对象并且可用的唯一的对象部分,以便一方面执行功能或操作,另一方面访问或操作封装在该对象中的数据。每个对象操作方法具有一个定义,定义了其名字和其返回值。对于每个对象操作方法来说,能够声明无限数目的唯一的方法实现。对象操作方法实现或对象操作方法签名的唯一性,是以其要求的自变量数目、自变量名称和自变量类型为基础的。在一个实施例中,在两个实现具有同样的自变量数目的情况下,它们是通过自变量名称来区分的;如果自变量数目和自变量名称相同,则它们通过自变量值类型来区分。能够以当前实施例支持的任何编程语言实现对象操作方法。
能够同步或异步地调用对象操作方法。当同步调用时,该执行将阻塞,直到该方法调用完成,可选地导致一个返回值。如果异步调用,该执行不会阻塞。反之,当该方法调用完成时,该外部执行者指定将由对象运行时间环境对接的一个对象实例,附上任何返回值作为一个自变量。同样,诸如用户、设备或另一个对象之类的外部执行者能够指定用来监视或者观察对象操作方法调用的一个特定对象实例。
如上所述,被定义为本地的一个对象具有两个对象模型,即在运行时间环境中的一个和在该本地环境中的一个。两个对象模型能够彼此相互作用。例如,本地方法能够调用相同对象内的非本地对象操作方法,反之亦然。此外,对象也能够调用其它对象中的本地对象操作方法。同样,定义为本地的任何属性总是在两个对象模型中保持一致。例如,如果在一个对象模型中改变属性值,那么这种改变将被传播到另一个对象模型中。
对象的方面
一个对象存在于不同的方面中,在一个实施例中包括下列五个方面。
对象定义:对象由其对象定义来定义。它定义该对象的属性、方法、表示、继承、并发性、事务隔离等等。
对象蓝图:对象蓝图定义一个对象暴露给外部执行者的接口或蓝图。该蓝图是从对象定义中自动创建的。
对象部署描述符:对象部署描述符声明诸如事务、并发性、垃圾收集、安全通信等等之类对象运行时间和本地环境嵌入服务的使用和使用级别。两个部署描述符能够存在用于任意对象中;一个是该对象的一部分,一个是能够由该系统的其它功能提供。
对象实例:当对象被实例化时,或者当对象引用被去序列化时,即当以二进制数据或者XML表示的一个对象变换为其适当的格式时,就会创建一个对象实例。对象实例能够以两个不同的模式存在,即激活的或非激活的。激活实例是当前配置在对象运行时间环境中的对象实例,其非激活的对应物是当前序列化的对象实例。激活实例对于对象运行时间环境而言总是本地的,不能由外部执行者直接访问或对接。对象实例总是利用对象引用对接的。
对象引用:外部执行者从不直接与对象实例相互作用。作为替代,总有一个对象引用来引用该对象实例。所以例如,如果对象实例A(位于对象运行时间环境A)希望与对象实例B(位于对象运行时间环境B)交互,该对象实例A必须首先获得对情况B的一个引用。该获得的对象引用然后位于对象运行时间环境A中,同时该实际的对象实例位于对象运行时间环境B中。
ODL文件形式的对象
优选地,对象以对象定义语言定义,该对象定义语言是可扩展标记语言的子集。该对象定义语言使对象开发者能够独立于硬件技术、结构、网络拓扑、语义学、协议、逻辑实现语言、物理区别来定义对象。它提供给开发者一种抽象,使开发者能够集中在对象的接口和功能上。这使开发者能够隔离对象的本地/技术相关方面。该对象定义语言提供了用于继承物、抽象和封装的语法。
XDF文件形式的对象
本发明的重要特征是全部信息优选地以可扩展文件格式(以下称为XDF格式)存储,这是系统10单一的文件格式。该XDF格式可用于描述任何类型的功能或内容。因为没有类型属性连接到XDF文件,那么在信息构造和存储方式上,例如在图像和先进的电子商务部署服务之间不存在差异。从用户观点看,在布局文件和邮件服务之间不存在差异。
几个XDF文件可以合并在一起并形成包含该合并文件的新XDF文件,即该新XDF文件继承了该合并的文件中一些内容和性质。在根据本发明的结构中,设计为继承了对象的单个抽象或具体定义,和继承了无限数目的对象接口。在本发明中,对象的多型性是通过接口设计的,继承几个接口的内容或属性的对象能够被形态化(morph)和变换为任何接口。
XDF文件既包含数据,又包含数据和逻辑的表示。不是在不同的应用中打开XDF文件,而是本XDF文件可以携带怎样给出XDF文件本身的信息,以便在该文件发给请求用户之前,该XDF文件可以适合任何适当格式。
优选地,XDF文件构成代表该系统中最小块功能的对象。例如,对象可以是一个按钮、一个图像编辑器或一个购物车。对象具有清楚定义的功能。例如,图像对象必须向用户显示一个图像作为其唯一的用途。控制器对象连接接口对象与服务器侧逻辑。对象可以是派生对象,即由许多其它对象构造而成,或者是原子对象。原子对象是基本构建块,在适配处理中很重要。对象包含许多特性。一些特性是所有对象一般的,例如名称、x位置、y位置、z深度、宽度和高度。其它特性是对象类型特定的。通常,系统10使得可用的全部服务是对象的组合。
物理对象
按照本发明的实施例,对象能够表示物理实体以及软件实体。例如,物理实体可以是机器人、灯或洗碗机,软件实体可以是用户集中的服务,例如实际设备中的文字处理器或控制服务。就机器人而言,机器人对象实例将表示例如用在生产设施中的一个实际的机器人。该对象实例于是表示到该机器人的接口,其他对象可以安排为与该机器人对象对接以控制相关的实际物理机器人设备。对于对象所表示的物理实体而言公共的是,对象运行时间环境和表示该机器人的对象实例将配置在该生产设施的中央位置。同时,该实际的机器人将只主持表示它的对象的本地方面,这样就处在本地环境。
平台概观-体系的实施例
本发明的技术体系基于三个主要组件,即对象运行时间环境、本地环境和对象连接性。这些组件优选地以软件代码实现,在不同的实施例中是可用的,或在不同的硬件节点中定位分步在不同的可能的结构中,或共同位于公用的硬件设备节点上。这些组件同样代表可以观察任意对象的三个不同的观点。对象的平台无关部分由对象运行时间环境部署和管理。对象的平台相关部分或本地部分由本地环境部署和管理。对象到诸如企业信息系统或数据库之类外部系统的连接性,是由对象连接性组件处理。在对象连接性组件内部,这个连接性由连接器(connector)处理,这些连接器不是对象的一部分,而是全局性的用于它们部署于其上的技术提供者。该连接器是预定义的软件代码部分和协议,设计为在内部和外部实体之间执行数据通信和对接。内部实体位于定义的运行时间和本地环境内部,而外部实体位于外部。
当在不同的星座中结合在一起时,以及当进行诸如路由之类的某个扩充时,对象运行时间环境、本地环境和对象连接性这三个组件在本发明的技术体系中形成两个执行者,即提供者和消费者。这些执行者建造和构成了技术联盟(如上所述。)
图2表示该技术体系的示意性方框图,因而包括预定义的对象运行时间环境202、预定义的本地环境220和预定义的对象连接性组件230,对象连接性组件230进而又包括连接器232。这些组件相互可通信地耦合,以便当对对象操作时传送控制数据或信息。
对象运行时间环境
对象运行时间环境202的主要功能是管理对象,并且简化来自该对象管理范围之内的对象的任何请求。同样向用户和对象提供多种预定义标准服务号码以及实现包含的安全模型。在图2,存在于对象运行时间环境202的对象203被以符号方式描述为圆圈。对象运行时间环境202在不同实施例中包括下列组件的可选结构。
在该对象运行时间环境中包括对象模型204以便使得能够进行对象实例的实例化和管理。在某一对象运行时间环境内实例化的所有对象被聚集在这个对象运行时间环境的对象模型中。
包含一个安全模块206以便根据预定义的对象的关于可访问性和通信的特定安全级或安全许可(clearance)为每个对象定义一个特定的安全附件。因而部署在对象运行时间环境中的所有对象处于这样的安全附件中,使得根据其安全级或许可,或多或少地对一个对象进行限制。例如,如果一个对象证明合格,则安全许可为最高。
多个执行模块208包括在对象运行时间环境202内,以便支持要求代码执行平台(JVM)支持的不同的编程语言(例如Java)。优选地,对象运行时间环境202利用可插接式的执行模块执行对象逻辑,即利用一个公共预定义的连接接口而简单添加或删除的模块。每个执行模块208定义它处理哪些代码执行平台。该对象运行时间环境202然后在运行时间对不同的执行模块委派对象逻辑的执行。在目前的优选实施例中,Java脚本执行模块包括在该对象运行环境202的全部部署之内。
为了处理用尽的数据,该对象运行时间环境202优选地包括一个垃圾收集器模块210,设计为支持分布式的垃圾收集。该分布式垃圾收集被设计为删去不再被任何其它本地或分布的(远程的)对象实例使用的一个对象实例。优选地,对象和/或对象部署的使用以及与垃圾收集器210之间的交互在运行时间是可选的。
包含事务处理监视器(TP Monitor)212,用于管理分布式事务和与全部事务参与者的交互。这些参与者可以是对象以及连接器。分布式事务是在分布式数据处理系统中涉及或运行在大量节点上的事务,因而大量事务性操作必须全部成功地完成或全部取消和退回重来。优选地,只有一个监视器从事于一个事务,而且那个监视器是配置在发起该事务的对象运行时间环境中的那个监视器。优选地,TP监视器的支持应该存在于配置的各个对象运行时间环境中。TP监视器在TP监视器被激活的意义上被对象间接地使用,以便从事涉及一个对象的事务而不必被对象本身激活或调用。
并行监视器214包括在对象运行时间环境202内以便监视对对象操作方法的访问,即对对象操作方法的调用,并且执行对象在其对象定义上指定的该并行完整性。优选地,并行监视器应该包含在配置的各个对象运行时间环境202中。
本地环境
图2至此还显示了与对象运行时间环境202通信耦合的一个本地环境220。该本地环境用来在分布式数据处理系统中部署对象的任何本地方面,也就是说,对象的本地方面是平台相关的方面。在按照本发明的联盟中,本地环境典型地部署在设备或任何其它类型的叶节点中。本地环境220包括应该总是与对象运行时间环境202的对象模型204同步的对象模型221。有两个类型的实体包含在本地环境中并且由本地环境管理,即本地元素222和本地容器224。
本地元素222代表在本地环境220中的一个对象。本地元素包含它代表的对象的所有本地方面。它可以包含属性、对象操作方法和/或表示(presentation)。在本地元素中,表示不是属性的组合;而是直接与该设备的图形用户界面(GUI)应用编程接口(API)进行交互的本地逻辑(即软件代码)。
按照本发明,本地元素必须优选地为与它所代表的对象一致。如果在对象的对象定义中定义为本地的属性值在本地元素中改变,那么在本地元素所代表的对象中,该值也必须更新,反之亦然。此外,包含在本地元素中的本地对象操作方法可以被它代表的对象所调用。本地对象操作方法还可以被外部执行者调用,如果已经公共范围内声明的话。相对地,本地对象操作方法可以调用在它代表的对象内的操作方法,但是从本地元素对一个对象内的对象操作方法的调用则被限制为这个本地元素代表的对象。
本地容器224代表本地环境220中的图形容器,例如窗口。在不同的实施例中,本地容器是可选的,因为不是所有的本地环境都要部署在图形用户界面适用或可利用的的环境内。
本地环境220和对象运行时间环境202在部署在不同或相同硬件节点上的不同的实施例中。在两种情况下本地环境和对象运行时间环境被如此设计,以致于它们能够进行通信,以便满足数据中有关一致性的要求。
消费者功能
消费者功能是通过配置(再参考图2)与本地环境220有关的对象运行时间环境202来建立的。或者,根据特定的应用,本地环境220同样与一个或多个输入/输出接口(未显示),例如画图AP1或声音重放设备有关。消费者功使对象能够在运行时间自动地部署和实例化,并与其他、本地以及位于远程的对象实例合作。消费者功能往往部署在联盟的在页子(最外面的)节点上,常常安置在要求直接的双向用户输入输出的设备上(例如互联网设备)。
可选地,消费者功能还可以包含一个对象连接功能。该连接功能主要用来与外部数据源和系统互操作,然而很少在系统的外面或最外面的节点上进行。在目前优选实施例中,消费者功能包括Java脚本执行模块的可用性。可选地,也可以包含一个附加的诸如Java执行模块之类执行模块的可用性。
提供者功能
通过配置(再参考图2)所有三个主要组件,即对象运行时间环境202、本地环境220和对象连接性功能230,以及附加的提供者特定的组件,提供者功能被建立。该附加的提供者特定组件包含路由组件、安全(或鉴定)组件和供应组件(provisioning component)(未显示)的可选配置,这些组件全部都通信耦合到对象运行时间环境202上。因而,提供者功能提供消费者功能提供的所有功能以及所述增加组件的附加功能。该提供者功能的当前优选实施例包含Java脚本和Java执行模块的可用性,然而附加执行模块的可用性是可选的。
路由组件使得能够路由输入数据、输出数据和在联盟内部调用(激励)。这将在下面进行更详细的描述。
鉴定组件为请求成为联盟一部分的消费者功能的实例提供鉴定设备。在当前的优选实施例中,该组件的激活是可选的。该组件的责任主要是鉴定在联盟中建立连接或者参与的消费者,然而对系统鉴定实际用户的任务是在另一个级别处理的。
该供应组件使得能够向消费者供应对象。它管理对象继承以及设备成型,因而减轻了消费者功能那些处理和I/O强度相当大的任务。例如,该供应组件可以被设计为在HTTP上来供应对象。
联盟
根据本发明的联盟包括一个提供者功能(也被称为提供者)和一个或多个消费者功能(也被称为消费者)的实例。该提供者功能充当联盟中的中心集线器(central hub),而消费者是节点。在联盟中,所有的消费者被设计为具有与该提供者功能的直接通信信道。消费者还可以具有相互之间某一级别的认知和关于彼此的信息,并且甚至可选地具有在它们之间直接的通信信道。在存在直接通信信道的消费者之间,利用该通信信道完成通信。如果直接通信信道不存在,那么该提供者用来在消费者之间路由通信。
在联盟内部,对象可以无缝协作和交互。当部署在第一消费者之内的一个对象希望与部署在另一个第二消费者内的对象交互时,调用形式的激励通常可以以两个不同的方式进行通信。如果在两个消费者之间存在直接通信信道,那么动作激励(action stimuli)和(如果适用)再动作激励(re-action stimuli)利用那个直接通信信道发送。如果不存在这样的直接信道,那么该提供者就为该动作和该再动作激励选择路由。当选择路由时,提供者利用它与涉及到的两个消费者中每一个之间的直接通信信道发送和接收该激励。
如果部署在一个消费者之内的对象要与部署在相同联盟之内的提供者内部的另一个对象交互时,那么总有一个直接通信信道并且不要求路由选择。
场景
在概括序列流程图图3-5中显示了根据本发明实施例的示例场景。
图3表示用户请求用于利用图像编辑服务的一个对象的场景。因此用户302利用一个信号(1:请求图像编辑服务对象)向消费者功能304(对应于客户/服务器体系中的客户)发送信号通知它希望使用经由专用对象访问的一个图像编辑服务。消费者功能304包括本地环境306和对象运行时间环境308。该对象运行时间环境308具有依赖于该当前激活用户的一个设备或技术轮廓(profile),例如指定诸如移动WAP浏览器或固定计算机web浏览器之类的用户访问设备。
消费者304(即该客户)的对象运行时间环境308然后向提供者功能310发送图像编辑服务请求(2:利用设备轮廓请求图像编辑服务)。提供者310(对应于客户/服务器体系中的服务器)然后为消费者对象运行时间环境304指定的设备或技术轮廓对请求的对象进行成型和适配(3:对指定设备的对象进行成型)。其后,提供者310向对象运行时间环境308返回或供应该请求的并且此刻已成型的对象(4:返回/供应对象)。当对象被消费者3 04的运行时间环境308收到时,该对象被实例化(5:实例化对象),即创建一个对象实例。如果该对象包含任何本地方面,那么这些本地方面被传送到消费者304的本地环境306(6:传播本地方面),并且一个返回信号(7:返回)被退还给对象运行时间环境作为确认。此后,使这样成型的图像编辑服务对用户302可用。
图4显示用户调用本地对象操作方法的场景。用户402利用用户界面例如图形用户界面(GUI)操作图象,在此例子中图形用户界面被认为包含形式为表示控制按钮的域的本地方面,该控制按钮用于激活锐化此图像的一个服务。首先,用户402点击此锐化的图像按钮并且从而发送一个信号(1:点击GUI上的位置x,y)。用户界面通常是本地环境的一部分,因此用户点击事件由消费者本地环境404来处理。消费者本地环境404解析用户点击了GUI的哪个本地方面(2:解析的点击在锐化的图像按钮上)。在此情况下,在GUI的x和Y坐标上完成点击,这是预定义在此锐化的图像按钮上的。本地环境404然后发送一个点击事件信号(3:发送点击事件)给锐化图像按钮本地方面406。该锐化图像按钮本地方面406然后利用一个信号(4:调用在对象逻辑中的动作后(on-action)操作方法)给消费者对象时间运行环境408调用在此对象中的一个相关的对象操作方法。对象操作方法由对象运行时间环境408派遣(5:解析按钮对象中动作后操作方法的实现),它解析对于该动作后对象操作方法的适当方法实现(6:解析实现语言)。当适当的对象操作方法实现被找到时,对象运行时间环境408激活一个执行模块410(7:执行动作后对象方法的对象逻辑),以在锐化的图像按钮411中根据操作方法实现语言(例如Java或Java脚本)执行该对象操作方法实现的对象逻辑(8:执行)并且返回(9:返回)。当执行模型返回(10:返回)时,对象运行时间环境也返回(11:返回),并且锐化的图像按钮本地方面406再变成激活状态。在这个场景中,按钮本地方面已经完成了设计的每件事情,并且按钮本地方面406中的当前执行期间在返回(12:返回)给本地环境404中结束。该方面本身保持在现有的等待状态中,以便响应来自本地环境404中的顺序事件。
图5显示了消费者调用远程对象操作方法的一个场景,并且基于图4中先前描述的用户调用本地对象操作方法来操作图象的场景。在图5中,消费者对象运行时间环境502(1:)解析用于按钮对象中动作后对象操作方法的实现,并且(2:)解析实现语言。此后,(3:)利用执行模块504执行动作后对象操作方法的对象逻辑,执行模块504(4:执行)调用锐化图像按钮逻辑506的执行。当执行按钮对象逻辑506时,它对接一个锐化过滤器对象引用508,这是一个远程可利用的/分布的锐化过滤器对象512的引用,对象512完成操作图像的实际锐化。锐化过滤器对象512被部署,并且位于第二、远程对象运行时间环境510,在本配置中它构成提供者功能。
当按钮对象逻辑506调用锐化过滤器对象引用508上的适用过滤操作方法(5:调用适用的过滤方法)时,后者经由消费者对象运行时间环境502(6:调用远程操作方法适用过滤)与它引用的对象512通信。消费者对象运行时间环境502发送一个(7:调用方法请求)调用对象操作方法请求给远程提供者对象运行时间环境510。此后,在图4场景中描述的本地对象操作调用过程在远程提供者对象运行时间环境510内部发生。也就是说,远程提供者对象运行时间环境510(8:调用本地对象方法)调用本地对象操作方法,其后(9:执行对象逻辑)发生在锐化过滤对象512中执行的对象逻辑。当本地对象操作方法返回(10:返回)给远程提供者对象运行时间环境510时,后者发送(1:调用方法响应)一个调用对象操作方法响应给消费者对象运行时间环境502。消费者对象运行时间环境502(12:返回)返回给对象引用508,对象引用508返回给按钮对象逻辑506,该返回从对象逻辑506(14:返回)继续到执行模块504并且回到(15:返回)消费者对象运行时间环境502。
在全部的功能场景中,一些调用和信号通信将涉及多个自变量或参数,但为简化说明起见,在图中不显示它们。
实现基于数据网络的操作系统的实施例
本发明的一个实施例在图1中示出,并包括按照本发明设计的操作系统10。操作系统10是一个基于网络的,如基于互联网的,能使用户11访问大范围服务的平台。通常,用户11可以登录到网站并使用内容分配和同步服务12形式的对象连接组件的强大资源,和使用其他连接到系统10的功能。例如,当需要时,用户11可以购买、预订或租赁服务。用户11可以方便地访问同样的信息,不管用户操作通常的计算机,WAP设备,移动电话还是任何可通过互联网连接到系统10的通信设备而不需繁重的转换和同步例程。
系统10具有行为服务器14形式的提供者对象运行时环境,可以与用户11通信的服务递送服务器16和文件递送服务器18形式的提供者供应扩展。行为服务器14可以直接被外部执行者用来与服务交互并执行某些如数据操作或者执行逻辑的行为脚本。服务递送服务器16遵照外部的服务请求动作,加载服务,对它进行适配和递送给请求它的外部用户11。文件递送服务器18遵照外部对某个文件的请求动作,加载该文件,对它进行适配和递送给请求的外部用户11。例如,通过发送请求服务信号36,也就是请求对象信号,到服务递送系统16,用户11可以请求访问某一服务,如文字处理服务或者其他系统使之可用的任何功能或服务。
当用户11需要操作由服务递送系统16和文件递送系统18递送的诸如文件之类信息时,可以使用行为服务14,这将在下面进行详细描述。
在用户的适当鉴定后,用户可以发送请求服务信号36到系统16,该系统接收信号36并发送一个会话查找信号38到会话服务器40以确定是否有一个与此用户请求相关的已存在的会话。如果有一个会话存储在会话服务器40中,服务器40回发一个递送会话信号42到系统16,系统16进而又发送一个递送服务信号44回到用户11,递送服务信号44包括请求的服务。如果在会话服务器40中没有会话,那么可以建立新的会话。
用户11可以通过使用一种诸如桌上电脑之类的通信设备以文件开始工作,然后可以用不同类型的如PDA或者WAP电话之类的通信设备继续以相同文件进行工作。系统10为使用户获准访问服务会自动处理任何必要的格式适配。
通过发送一个请求信号22到系统18,用户11也可以请求访问以前存储的文件,如JPEG图象,声音片断或者视频文件。新文件可以由使用行为脚本的服务创建,该行为脚本使用了SPU执行的逻辑。当接收到信号22时,文件递送系统18发送加载和适配文件信号到文件适配单元26。该单元26接收信号24然后发送加载信号28到服务器12。服务器12接收信号28并且找到请求的文件然后发回一个包括请求的文件信息的递送文件信号到单元26,如上面所提及的,信号文件格式(XDF或者ODL)被用来描述任何一种功能或内容。
用户11仅可以打开任何文件或者从一个空文件开始。因为没有类型属性连接到XDF文件,那么在信息构成和存储的方式上,例如在图象和先进的电子商务部署服务之间不存在差别。从用户角度看,在排版文件和邮件服务之间没有什么不同。新的文件可以在创建或者存储时连续地自动地命名。
单元26接收信号30并且把文件信息转换为如JPEG,WBMP等格式,该格式适合用户11使用的通信设备。例如,如果用户11在与系统18通信时使用PDA,那么单元26以适合PDA的格式发回一个递送适配文件信号32。如果用户使用一个常规的计算机,该信号就是以适合该计算机的格式,等等。通过这种方式,格式总是适合用户11在与递送系统18通信时使用的通信设备。递送系统18接收信号32并且把递送文件信号34中的信息转发回用户11。
如上面指出的,用户11也可以通过发送一个请求服务信号36到服务递送系统16以请求服务。优选地,必须在文件请求之前请求服务。通常,在使用文件递送系统18和行为服务器14之前,用户11总是可以请求一个服务。该服务可以提供到文字处理服务或者其它任何类型的服务(如图片或者视频相关的服务)的访问。因此用户11可以获得对请求的文字处理服务的访问,而不必在用户11用来与该系统16通信的通信设备上安装该文字处理程序。
如上所述,行为服务器14可以在检索到的服务或者文件要求操作时使用。例如,当用户11想要使从文件递送系统18下载的图形更加锐化时,用户11可以以行为事件信号46的形式向行为服务器14广播对象操作方法调用,以便通知该服务器14有关所要求的应当使该图形更锐化的事件。服务器14向会话服务器40发送一个会话查找信号48以查明是否在会话服务器40上有以前存储的会话并识别用户11。同样地,应当注意,如上所述,当文件被请求时,系统18也向会话服务器40发送一个会话查找信号49。为了响应信号49,系统18然后接收一个递送会话51。
如果在服务器40中存在一个先前存储的会话,该服务器40向服务器14发回一个递送会话信号50,服务器14接收该信号50,服务器14向行为运行时间设备54发送一个执行行为脚本信号52形式的信号,用于执行一个对象操作方法实现,后者行为运行时间设备54是对象运行时间环境核心。信号52可以包括完成请求事件所需的脚本命令形式的对象操作实现逻辑,即软件代码。信号52可以是XDF格式或者其他适合的格式。设备54为行为脚本事件(即,对象操作方法调用,例如使图形更加锐化)接收信号52,并且以脚本形式获得所要求的逻辑。设备54然后读取或者翻译构成对象操作方法实现的脚本,并且可以根据事件类型执行逻辑或者操作绑定数据。后者原则上是由对象本身间接通过对象运行时间环境在该对象中进行的属性修改(mutation)。
更特别地,通过发送加载行为脚本信号58到服务运行时间设备56,设备54从它接收信号52并加载脚本,即与图形锐化相关的对象操作方法的实现逻辑。优选地,信号58总是被发送到设备56以获得所要求的脚本。设备56接收信号58并且发送一个准备服务信号68到XDF运行时设备70,该设备是一个作为对象运行时环境一部分的对象模型。设备56也可以从服务递送系统16接收一个调用服务信号82。
设备70接收信号68并且向服务器12发送加载服务资源信号72。服务器12通过发送回递送资源信号74来对XDF运行时设备70作出响应,该递送资源信号74包括请求的资源。设备70可从设备12加载一个XDF文件并且把文件中的数据传播到当前的会话绑定池中。设备56也可以被设计用来为设备70处理请求和响应管理。更特别地,设备70然后向服务运行时设备56发送递送服务信号76。该设备接收信号76并向设备54发回递送行为脚本信号60。如果设备56作为调用服务信号82结果激活设备70,则设备56将向服务适配设备43发回一个适配服务信号84,这是对提供者的供应扩展的一部分,可以向该服务递送系统16转发以递送适配服务信号86中的信息。然而,在信号84发送到系统16之前,设备43可向服务适配单元43发送加载绑定信号41,该服务适配单元43发回包括请求绑定的递送绑定信号45。
当设备54已经接收到脚本信号60时,设备54将确定下一个步骤,可能包括向服务处理单元64(即,执行模型)发送执行逻辑信号62,或者向会话服务器40发送操作绑定信号66。当服务第一次被加载时,一个或者多个行为脚本甚至在服务到达请求用户之前被执行。例如,如果信用卡事务被递送,当请求发送到信用卡公司时但在服务递送到客户之前,可能必须通过执行逻辑来准备请求。
参考上面使图形更锐化的例子,设备54向设备64发送执行逻辑信号62。因为图形的锐化是被应用到图形的数学计算,设备54向处理单元64发送执行逻辑信号62是必须的。单元64接收信号62并向服务器12发送加载逻辑和内容信号78。应该注意到,设备64可以不使用设备12与一些外部系统通信。服务器可以发送事务信号88到外部内容适配单元90,该外部内容适配单元90与外部执行者92通信,例如数据库。当请求事务被服务器12执行时,服务器12通过使用递送信号80递送事务状态来对单元64做出响应。当单元64接收信号80时,该单元向设备54发送递送资源信号94,该设备54进而又向行为服务器14发送递送资源信号96。服务器14然后向用户11发回递送响应信号98。这样,单元64至少执行两个步骤,包括上载用于使图形更加锐化的逻辑,以及从超高速缓冲存储器位置加载该图形本身。
如上所述,行为运行时设备54可以向服务器40发送操作绑定信号66。例如,信号66可以操作会话服务器40中存储的绑定以便使图形更加锐化,因此将来的服务请求将同操作的更锐化图形一起操作。不管新的会话什么时候在会话服务器里创建,信号66与创建的绑定池相关。例如,绑定池包括描述根据当前加载的服务是激活的所有变量所需的所有数据。关于这个图形的例子,绑定池例如可以包括图形的宽度,高度和位置。如果会话涉及了文字处理文件,信号66可以包括通过操作与文字段相关的绑定来使文字段成为粗体的指令,例如通过给粗体文本添加标签。通常,信号66不包括任何逻辑,并且相比于要求在设备64中执行逻辑的改变而言,它请求图形的不复杂的改变。应该注意到,实际上为用户11实际显示图形锐化器的信息通过行为服务器14和递送响应信号96和98发送。
系统10可能要从大量的数据库中导入信息,并且在一个文件中组装和呈现这些信息,因为所有外部信息在存储到服务器12之前通过外部内容适配单元90来适合XDF的格式,外部内容适配单元90是对象连接组件。例如,系统10能为电影评论以多种格式导入上百个数据库,并把全部的数据库信息合并到一种格式的一个数据库中,该数据库包括来自全部外部数据库的电影评论。在通常的系统中导入数据库必须在系统内保持分离。
用户可以获准访问在服务器上提供的非常强大的服务、功能和资源,尽管通信设备相对简单,因为通信设备不需安装任何强大的程序。对于用户获准访问系统10上的资源和利用系统10的处理能力是足够的,该系统能充分地减少用户11使用的计算机设备处理能力的需求。当用户11从系统10中退出时,优选地,会话服务器40中的所有会话存储在服务器12中。
当用户编辑文件时,修改被广播到其他用户。多个用户可以同时编辑同一文件,如果它们对该同一文件的不同部分工作。
优选地,每个行为服务器14、服务递送系统16和文件递送系统18具有包括服务运行时设备、行为运行时设备、XDF运行时设备和服务处理单元的核心模型。
以上已经通过示范性实施例对本发明进行了说明,并且本发明可以在所附权利要求的框架之内以各种其他方式实施。
Claims (28)
1.一种用于在分布式数据处理系统中处理数据对象的方法,所述分布式数据处理系统具有多个可通信连接的软件和/或硬件节点,该方法包括以下步骤:
定义第一环境,用于以第一级别的抽象处理对象,与所述节点的软件/硬件平台无关;
定义第二环境,用于以第二级别的抽象处理对象,与所述节点的软件/硬件平台相关;
在所述第一环境中定义具有第一类别对象方面的第一对象模型;
在所述第二环境中定义具有第二类比对象方面的第二对象模型;
将所述第一环境的所述第一对象模型与所述第二环境的所述第二对象模型同步;
定义关联来自所述第一和第二对象方面类别的对象方面的可选集、根据所述第一和第二模型的对象;
产生所述对象的一个实例;
根据所述关联的对象方面集,在所述第一和第二环境中处理所述对象实例。
2.根据前述任何一项权利要求所述的方法,其中,软件代码部分和协议形式的、可通信地耦合到所述第一平台无关环境的预定义对象连接性装置被设计为:在位于所述定义的第一和第二环境内部的内部实体和位于该环境外部的外部实体之间与数据通信对接和执行数据通信。
3.根据前述任何一项权利要求中所述的方法,其中,将所述第一平台无关环境的实例连同所述第二平台相关环境的实例和对象连接性装置一起配置为构成一个对象提供者功能。
4.根据前述任何一项权利要求中所述的方法,其中,将所述第一平台无关环境的实例连同所述第二平台相关环境的实例配置为构成一个服务对象功能。
5.根据前述任何一项权利要求中所述的方法,其中,服务提供者功能与服务消费者功能一起被配置为构成分布式系统的消费者/提供者子集。
6.根据前述任何一项权利要求中所述的方法,其中,路由装置使得能够在所述分布式系统的所述消费者/提供者子集内部进行数据和控制信号的路由选择。
7.根据前述任何一项权利要求中所述的方法,其中,鉴定装置在访问所述分布式系统的所述消费者/提供者子集时提供鉴定功能。
8.根据前述任何一项权利要求中所述的方法,其中,供应装置使得能够给所述分布式系统的消费者/提供者子集内的消费者供应对象,并且将所述对象适配到消费者设备的技术配置。
9.根据前述任何一项权利要求中所述的方法,其中,所述对象实例在产生时,与所述分布式系统内唯一的识别指示相关。
10.根据前述任何一项权利要求中所述的方法,其中,借助于包括对象特性定义、接口定义、对象实例方面和对象实例引用方面的多个方面来定义一个对象。
11.根据前述任何一项权利要求中所述的方法,其中,数据借助于属性被封装在对象实例中,该属性被设计为存储可选择的预定类型的包含数据的基本实体,所述基本实体的类型取决于要被存储的数据的类型。
12.根据前述任何一项权利要求中所述的方法,其中,第一对象实例的属性被设计为包含对第二对象实例的一个引用,以便访问或激活所述第二对象实例的可选内容。
13.根据前述任何一项权利要求中所述的方法,其中,借助于与所述对象有关并设计为执行所述对象的预定义任务的一部分可执行码访问或激活对象实例。
14.根据前述任何一项权利要求中所述的方法,其中,所述可执行软件代码的部分可用,并被设计为激活所述对象实例的功能或操作的执行,或者访问或操作该对象中封装的数据。
15.根据前述任何一项权利要求中所述的方法,其中,信息封装在所述分布式系统的第一节点上的对象实例中,并且根据预定的访问参数可从所述分布式系统中的一个任意第二节点中进行访问。
16.根据前述任何一项权利要求中所述的方法,其中,可能涉及软件逻辑的服务被封装在所述分布式系统的第一节点上的对象实例中,并且根据预定的访问参数可从所述分布式系统中的一个任意第二节点中进行访问。
17.根据前述任何一项权利要求中所述的方法,其中,对象被设计为表示一个物理实体,因此对象实例被定义用来访问、对接或控制所述物理实体。
18.根据前述任何一项权利要求中所述的方法,其中,独立于信息的类型,所述分布式系统内的所有信息以公共和单一的格式存储,并以公共的方式构成。
19.根据前述任何一项权利要求中所述的方法,其中,所述分布式系统内的对象和软件组件以公共的预定语言和公共的预定的一套语言规则来表达。
20.一种用于在分布式数据处理系统中处理数据对象的系统,所述分布式数据处理系统具有多个可通信连接的软件和/或硬件节点,包括用于实现前述任何一个权利要求的步骤和功能的装置。
21.一种用于在分布式数据处理系统中处理数据对象的计算机程序产品,所述分布式数据处理系统具有多个可通信连接的软件和/或硬件节点,包括设计用来引导数据处理系统执行前述任何一个权利要求的步骤和功能的计算机程序代码部分。
22.一种基于网络的系统,它使用户能够通过根据在前述任何一项权利要求中所述的步骤和功能来访问服务和文件,该系统进一步包括:
分配和同步服务器12,设计用于服务和文件数据的分配和同步;
行为服务器14,设计为由外部执行者用来与服务交互,以及执行定义诸如数据操作或逻辑执行之类预定行为的脚本;
服务递送服务器16,设计为在请求服务时动作、加载该服务、适配该服务、然后将该服务递送给请求用户11;
文件递送服务器18,设计为响应于对某一文件的请求服务信号而动作,加载该文件、适配该文件,然后将该文件递送给请求用户11。
23.根据在前述任何一项权利要求中所述的系统,其中,对信息的访问独立于该用户访问设备,用户访问设备可以是传统的计算机、WAP设备、移动电话或可与该系统连接的任何其它通信设备。
24.根据前述任何一项权利要求中所述的系统,其中,所述行为服务器14由用户11用来操作信息或服务。
25.根据前述任何一项权利要求中所述的系统,其中,每个行为服务器14、服务递送系统16和文件递送系统18具有一个核心模块,该核心模块包括服务运行时间设备、行为运行时间设备、文件格式(XDF)运行时间设备和服务处理单元。
26.根据前述任何一项权利要求中所述的系统,其中,该系统被设计为根据该用户通信设备的技术能力给予对不同功能的访问。
27.根据前述任何一项权利要求中所述的系统,其中,用户11通过发送请求服务信号36给服务递送系统16来请求服务,因此在该服务器系统中执行任何可能需要的软件代码,该服务通过在该用户的通信设备上呈现结果信息来递送。
28.根据前述任何一项权利要求中所述的系统,其中,该系统构成一种基于互联网的操作系统,使用户能够获得对服务和文件的访问。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31729601P | 2001-09-05 | 2001-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1682186A true CN1682186A (zh) | 2005-10-12 |
Family
ID=23233024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02829564.1A Pending CN1682186A (zh) | 2001-09-05 | 2002-09-05 | 技术无关的信息管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060047709A1 (zh) |
CN (1) | CN1682186A (zh) |
AU (1) | AU2002329148A1 (zh) |
WO (1) | WO2003021375A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571939A (zh) * | 2011-12-26 | 2012-07-11 | 广州市玄武无线科技有限公司 | 一种跨平台通信方法及系统 |
CN106980547A (zh) * | 2015-10-12 | 2017-07-25 | 计算系统公司 | 在具有公用平台的监视系统中的可扩展资产类 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554916B2 (en) * | 2005-04-11 | 2013-10-08 | Accenture Global Services Gmbh | Service delivery platform and development of new client business models |
US7917124B2 (en) * | 2005-09-20 | 2011-03-29 | Accenture Global Services Limited | Third party access gateway for telecommunications services |
US7920583B2 (en) | 2005-10-28 | 2011-04-05 | Accenture Global Services Limited | Message sequencing and data translation architecture for telecommunication services |
US7870478B1 (en) * | 2005-10-31 | 2011-01-11 | Adobe Systems Incorporated | Repurposing subsections and/or objects |
US7702753B2 (en) * | 2005-11-21 | 2010-04-20 | Accenture Global Services Gmbh | Unified directory and presence system for universal access to telecommunications services |
JP4677355B2 (ja) * | 2006-03-03 | 2011-04-27 | キヤノン株式会社 | Webサービス装置及び順次処理移譲方法 |
US7739267B2 (en) * | 2006-03-10 | 2010-06-15 | International Business Machines Corporation | Classification and sequencing of mixed data flows |
US9361137B2 (en) | 2006-03-10 | 2016-06-07 | International Business Machines Corporation | Managing application parameters based on parameter types |
US20080114819A1 (en) * | 2006-05-16 | 2008-05-15 | Mattel, Inc. | Method and Apparatus for Storage, Retrieval, and Synchronization of Multimedia Data |
US7778965B2 (en) * | 2006-05-23 | 2010-08-17 | Sap Ag | Systems and methods for common instance handling of providers in a plurality of frameworks |
US8099725B2 (en) * | 2006-10-11 | 2012-01-17 | International Business Machines Corporation | Method and apparatus for generating code for an extract, transform, and load (ETL) data flow |
US8160999B2 (en) * | 2006-12-13 | 2012-04-17 | International Business Machines Corporation | Method and apparatus for using set based structured query language (SQL) to implement extract, transform, and load (ETL) splitter operation |
US8219518B2 (en) | 2007-01-09 | 2012-07-10 | International Business Machines Corporation | Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process |
US8250169B2 (en) * | 2007-09-24 | 2012-08-21 | Sap Ag | Business context data companion tool |
US8127237B2 (en) | 2007-09-24 | 2012-02-28 | Sap Ag | Active business client |
BRPI0916392A2 (pt) * | 2008-07-30 | 2018-02-06 | Telcordia Tech Inc | sistema e método para a unificação de múltiplos ambientes de serviços para a otimização do fornecimento de serviços de telecomunicações |
US8712953B2 (en) * | 2009-03-25 | 2014-04-29 | Sap Ag | Data consumption framework for semantic objects |
US8782530B2 (en) * | 2009-03-25 | 2014-07-15 | Sap Ag | Method and system for providing a user interface in a computer |
US9240970B2 (en) | 2012-03-07 | 2016-01-19 | Accenture Global Services Limited | Communication collaboration |
US9690563B2 (en) * | 2012-05-17 | 2017-06-27 | International Business Machines Corporation | Updating web resources |
US20240323139A1 (en) * | 2023-03-23 | 2024-09-26 | Ipco 2012 Limited | Systems and methods for use in balancing network resources |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5157777A (en) * | 1989-12-22 | 1992-10-20 | Intel Corporation | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism |
US5740161A (en) * | 1995-11-08 | 1998-04-14 | Intel Corporation | Method and apparatus for synchronizing viewed information in a conferencing environment |
US6237142B1 (en) * | 1996-11-12 | 2001-05-22 | International Business Machines Corporation | Method for synchronization between links and group definitions within an object-oriented system |
US6134594A (en) * | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
US6832120B1 (en) * | 1998-05-15 | 2004-12-14 | Tridium, Inc. | System and methods for object-oriented control of diverse electromechanical systems using a computer network |
US6829770B1 (en) * | 1999-02-23 | 2004-12-07 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events |
US6463427B1 (en) * | 1999-03-16 | 2002-10-08 | Microsoft Corporation | Use of object signature property as a search parameter during synchronization of objects on a computer |
US6467086B1 (en) * | 1999-07-20 | 2002-10-15 | Xerox Corporation | Aspect-oriented programming |
EP1126681A2 (en) * | 2000-01-14 | 2001-08-22 | Sun Microsystems, Inc. | A network portal system and methods |
US6505200B1 (en) * | 2000-07-06 | 2003-01-07 | International Business Machines Corporation | Application-independent data synchronization technique |
JP2002132739A (ja) * | 2000-10-23 | 2002-05-10 | Nec Corp | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 |
-
2002
- 2002-09-05 AU AU2002329148A patent/AU2002329148A1/en not_active Abandoned
- 2002-09-05 US US10/525,769 patent/US20060047709A1/en not_active Abandoned
- 2002-09-05 WO PCT/SE2002/001594 patent/WO2003021375A2/en not_active Application Discontinuation
- 2002-09-05 CN CN02829564.1A patent/CN1682186A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571939A (zh) * | 2011-12-26 | 2012-07-11 | 广州市玄武无线科技有限公司 | 一种跨平台通信方法及系统 |
CN106980547A (zh) * | 2015-10-12 | 2017-07-25 | 计算系统公司 | 在具有公用平台的监视系统中的可扩展资产类 |
Also Published As
Publication number | Publication date |
---|---|
AU2002329148A1 (en) | 2003-03-18 |
WO2003021375A3 (en) | 2003-10-09 |
WO2003021375A2 (en) | 2003-03-13 |
US20060047709A1 (en) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1682186A (zh) | 技术无关的信息管理 | |
Manolescu et al. | Model-driven design and deployment of service-enabled web applications | |
US8312426B2 (en) | Method and system for simplified service composition in web environment | |
US7080092B2 (en) | Application view component for system integration | |
JP5026415B2 (ja) | データセントリックワークフロー | |
US8762933B2 (en) | Converting business process models to component models in a service oriented architecture domain | |
US9898263B2 (en) | System and method for resource-definition-oriented software generation and development | |
EP1606710A1 (en) | Application framework | |
EP2369480A2 (en) | Mashup infrastructure with learning mechanism | |
CN1761943A (zh) | 通过使用图形用户界面控件来组合Web服务的程序创建 | |
CN1711522A (zh) | 图形用户接口建模系统 | |
WO2003034285A1 (en) | Application view component for system integration | |
Cibraro et al. | Professional WCF 4: Windows Communication Foundation with. NET 4 | |
CN114254606A (zh) | 微服务框架模型 | |
US10505873B2 (en) | Streamlining end-to-end flow of business-to-business integration processes | |
CN104281754A (zh) | 计算机辅助设计多用户设计协商系统及其方法 | |
Polter et al. | Towards an adaptive civil engineering computation framework | |
CN1805345A (zh) | Web服务工作流处理器 | |
US8930417B2 (en) | Networked procurement | |
Li et al. | Integration of business processes in Web-based collaborative product development | |
Lin et al. | Towards a standardised framework for a multi-agent system approach for cooperation in an original design manufacturing company | |
CN1729467A (zh) | 用于管理来自单个接口的多层次数据的技术 | |
Gezer et al. | Cloud-based infrastructure for workflow and service engineering using semantic web technologies | |
Yahia | A language-based approach for web service composition | |
Zhang | A human architecture implementation framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |