专利名称:面向服务的应用系统及其通信方法、创建器和创建方法
技术领域:
本发明涉及网络应用的技术领域,更具体地,涉及一种面向服务的应用系统、该面 向服务的应用系统的通信方法、用于创建该面向服务的应用系统的方法以及用于创建该面 向服务的应用的创建器。
背景技术:
在传统的应用开发过程中,通常首先调查用户需求,然后基于用户需求来设计数 据库,进行应用编程和用户界面设计。通常,出于成本效益的考虑,在开发这些应用时,总是 试图处理诸如企业资源规划、客户关系管理、人力资源管理等不同业务功能中的类似需求。 然而,实际上,通过这种方式开发的打包软件应用在实际应用时,难以实现其预期的效果, 其主要原因如下。首先,各种业务信息的处理方式不同,难以实现统一化的处理。对于各种业务而 言,不管信息是来自不同工艺领域还是来自相同工业领域,对这些信息进行处理的方式通 常是不同的,这是因为业务环境和业务实践方面存在巨大差异。其次,软件应用过于繁杂。以上述方式形成的打包软件试图概括出各种不同的业 务功能的共同需求。然而,随着软件的使用,软件应用逐步升级,最终导致大多数业务实际 上并不需要的功能组件越来越多。再者,存在数据整合问题。针对各种业务开发的打包软件通常是按照不同的概念 并针对不同功能设计和开发的,它们彼此之间通常不能通信。需要与多种业务相关的应用 的用户(诸如公司或企业等)通常需要购买多种打包软件,而由于这些打包软件之间不能 通信,因此对于拥有多个这种打包软件的用户而言,在这些软件之间会形成多个信息孤岛。 当公司拥有这样的打包软件时,通常需要花费大量的人力、物力来维护各个软件相关的信 息,并且这些信息之间的完整性、一致性也难以得到保证,而且还存在大量冗余。另外,在软件使用过程中不能以具有成本效益的方式来满足用户变化的需求。业 务信息通常是易变的,且具有内部关联性,但是基于预定的、刚性数据模型设计的打包软 件,不能在使用过程中以期望的、适合的方式来关联这些变化的信息。因此,根据现有技术, 难以以较小的成本来满足用户的需求。
发明内容
有鉴于此,本发明旨在至少部分上解决上述提及的现有技术中开发应用以及使用 中的应用所存在的问题。为此,本发明提供了一种面向服务的应用系统、面向服务的应用系统的通信方法、 创建面向服务的应用系统的方法和创建器。根据本发明的一个方面,提供了一种面向服务的应用系统,所述应用系统包括一 个或多个应用对象,每个应用对象包括专用于存储特定类型数据的平面结构数据单元; 用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存储单元;以及用于操作该数据单元中的数据和该关系存储单元中的信息的应用代码模块,其中, 所述应用代码模块用于响应于网络服务请求,对平面结构数据单元和/或关系存储单元进 行操作。根据本发明的一个实施方式,所述应用对象包括平台,该平台是一种应用对象,包 括专用于存储所述配置信息的平面结构数据单元,以及其中,该平台中的应用代码模块用 于响应于针对所述配置信息的网络服务请求,查找相应的配置信息,以便返回该配置信息。根据本发明的另一实施方式,所述平台的关系存储单元用于存储其他应用对象的 关系存储单元中的信息。根据本发明的又一实施方式,所述应用对象包括数据应用对象,其包括专用于存 储业务数据的平面结构数据单元。根据本发明的再一实施方式,所述数据应用对象进一步包括专用于存储所述配置 信息中与之相关的公共部分的平面结构数据单元。根据本发明的另一实施方式,其中所述应用进一步包括中间件,用于把所述配置 信息转换为能够由与所述面向服务的应用系统相关的各种客户端应用系统解释的通用格 式的信息。根据本发明的又一实施方式,其中所述应用进一步包括适配器,用于将来自第三 方系统的网络服务请求或所返回的网络服务响应转换成格式适合于所述面向服务的应用 系统或者适合于与所述面向服务的应用系统相关的客户端应用系统的信息;和/或将所述 面向服务的应用系统或者所述客户端应用系统返回的网络服务响应或者发出的网络服务 请求转换成格式适合于第三方系统的信息。根据本发明的再一实施方式,其中,所述应用代码模块用于进行以下操作中的一 种或者多种向平面结构数据单元添加数据;删除平面结构数据单元中的数据;更新平面 结构数据单元中的数据;检索平面结构数据单元中的数据;向关系存储单元添加信息;删 除关系存储单元中的信息;更新关系存储单元中的信息;以及检索关系存储单元中的信 肩、ο根据本发明的另一方面,提供了一种面向服务的应用系统的通信方法,其中,所述 面向服务的应用系统包括一个或多个应用对象,每个应用对象包括专用于存储特定类型数 据的平面结构数据单元、用于存储该数据单元中的数据与其他应用对象中数据单元的数据 之间关系的关系存储单元、以及用于操作该数据单元中的数据和该关系存储单元中的信息 的应用代码模块,所述方法包括响应于网络服务请求,通过应用代码模块对平面结构数据 单元和/或关系存储单元进行操作。根据本发明的又一方面,提供了一种用于创建面向服务的应用系统的方法,包括 选择一个或多个应用模板,其中,所述应用模板包括用户界面、应用对象和相应动作,该应 用对象包括专用于存储特定类型数据的平面结构数据单元、用于存储该数据单元中的数 据与其他应用对象中数据单元的数据之间关系的关系存储单元、以及用于操作该数据单元 中的数据和该关系存储单元中的信息的应用代码模块;针对用户的需求对所述应用模板进 行配置,以生成针对所述用户的配置信息;以及将所述应用模板和所述配置信息打包,以生 成适合用户的需求的应用包。根据本发明的一个实施方式,所述方法进一步包括针对所述应用包执行部署,以
7便为用户提供所述面向服务的应用系统。根据本发明的另一实施方式,所述方法进一步包括保存所述应用包,以便于随后 创建其他应用;和/或导出所述应用包,以供外部应用创建人员使用。根据本发明的又一实施方式,其中,选择一个或多个应用模板包括以下操作中的 一种或者多种从存储库中选择用户界面、应用对象以及相应动作中的一种或者多种;从 存储库中选择预定义的应用包;以及从外部导入预定义的应用包,其中,所述预定义的应用 包包括用于实现特定功能的多个应用模板,或者包括实现特定功能的多个应用模板以及相 关的配置信息。根据本发明的再一实施方式,其中,对所述应用模板进行配置包括以下操作中的 一种或者多种删除所述用户界面、所述应用对象、所述动作中至少一个;修改所述用户界 面、所述应用对象、所述动作中至少一个;增加所述用户界面、所述应用对象、所述动作中至 少一个;以及设置网络服务请求所遵循的协议。根据本发明的另一实施方式,其中,所生成的应用包包括数据应用对象,其包括 专用于存储业务数据的平面结构数据单元;和/或平台,该平台是一种应用对象,包括专用 于存储所述配置信息的平面结构数据单元。根据本发明的又一实施方式,其中,所述配置信息包括用户界面信息和/或网络 服务请求信息。根据本发明的又一方面,还提供了一种用于创建面向服务的应用系统的创建器, 包括选择装置,用于选择一个或多个应用模板,其中,所述应用模板包括用户界面、应用对 象和相应动作,该应用对象包括专用于存储特定类型数据的平面结构数据单元、用于存储 该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存储单元、以及用 于操作该数据单元的数据和关系存储单元中的信息的应用代码模块;配置装置,用于针对 用户的需求对所述应用模板进行配置,以生成针对所述用户的配置信息;以及打包装置,将 所述应用模板和所述配置信息打包,以生成适合用户的需求的应用包。根据本发明,该面向服务的应用系统主要由多个应用对象构成,并且优选地包括 用于存储配置信息的称作“平台”的应用对象。因此,基于这种结构,可以通过预先定义的 应用模板来以快速、简单的方式(通过点击、拖放等简单的鼠标操作)来创建该面向服务的 应用系统。另外,可以对选择的预定义打包文件进行修改以满足特定用户的需求,也可以通 过略微修改原先为其他用户创建的应用包来为另一用户创建类似的应用。此外,还可以容 易地修改已有的面向服务的应用系统来适应客户新的需求。根据本发明,相同类型的业务数据(诸如联系人信息)存储在逻辑上为单个表或 者单个文件的同一平面结构数据单元中,但该平面结构数据单元、该应用对象甚至整个网 络应用系统均可以位于网络中的多个位置,换句话讲,可以位于多个物理位置或者多个域 中。根据本发明,可以根据业务需求将各个平面结构数据单元、各个应用对象或整个网络应 用布置在单个位置或者多个位置,或布置在单个域中或者多个域中。例如,对于小型公司, 可以将它们存储在单个位置,对于大型的国际性公司,则可以将其提供在多个位置。另外, 根据本发明,存储在该单一逻辑表中的业务数据可以由针对不同业务的多个应用共享,这 与利用不同概念针对不同业务分别开发打包软件传统方式不同,根据该传统方式,打包软
8件是根据预定的、刚性数据模型基于不同理念针对不同业务而设计的,这些打包软件之间 通常是不能通信的,更不能共享业务数据。所以,与传统方式相比,在本发明的网络应用系 统中,业务数据不会出现信息孤岛。因此,不会存在信息整合、数据完整性等方面的问题,使 得用户从维护数据完整性等繁杂的工作中解脱出来,减少了成本,提供了效率。另外,根据本发明,不同的客户端应用系统(例如,用户的客户端应用系统、该用 户的提供商的客户端应用系统、该用户的客户的客户端应用系统和该用户的合作方的客户 端应用系统)可以对应于一个面向服务的应用系统中的不同应用对象子集,这例如可以通 过装载不同的配置信息来实现。因而,可以实现用户的业务数据与其提供商、客户、合作方 等的适当共享。因此,本发明不但为用户的公司带来了诸多益处,而且为用户的整个公司链 带来了方便。根据本发明的优选实施方式,还可以通过适配器使得本发明的网络应用系统中的 客户端应用系统和/或面向服务的应用系统与第三方系统的相互通信。从而,可以将用户 已有的业务系统与本发明的网络应用系统结合起来使用,从而节约成本。另外,通过使用适 配器可以使得本发明的网络应用系统可以适应于任何变化,使得本发明的网络应用系统可 以利用诸如REST方式或者SOAP协议等适当方式与第三方系统进行数据交换,因此可以进 一步避免信息孤岛的问题。
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将 更加明显,在本发明附图中,相同的标号表示相同或相似的部件。在附图中,图1示意性地示出了根据本发明的一个实施方式的网络应用系统;图2a至图2d示意性地示出了根据本发明的应用对象的示例;图3示意性地示出用于说明根据本发明的关系存储单元的图示;图4示意性地示出了根据本发明的一个实施方式的网络应用系统的通信流程图;图5示意性地示出了根据本发明的另一实施方式的网络应用系统;图6示意性地示出了根据本发明的又一实施方式的网络应用系统;图7分别示出了第三方系统返回的XML文件和本发明的网络应用系统所能力理解 的文件格式;图8分别示出了第三方系统和本发明的客户端应用系统的网络服务请求和响应 所使用的协议的示例性格式;图9示意性地示出了根据本发明的再一实施方式的网络应用系统;图10示意性地示出了根据本发明的又一实施方式的网络应用系统;图11示意性地示出了根据本发明的一个实施方式的用于创建面向服务的应用系 统的方法的流程图;图12示意性地示出了根据本发明的一个实施方式的用于创建面向服务的应用系 统的创建器的方框图;图13示意性地示出了根据本发明的另一实施方式的用于创建面向服务的应用系 统的创建器的方框图;图14示意性地示出了根据本发明的又一实施方式的用于创建面向服务的应用系
9统的创建器的方框图;图15示意性地示出了根据本发明的再一实施方式的用于创建面向服务的应用系 统的创建器的方框图;以及图16示意性示出了可以实现根据本发明的实施方式的计算设备的结构方框图。
具体实施例方式接着,将参考附图通过实施方式来描述本发明提供的面向服务的应用系统、该面 向服务的应用系统的通信方法、用于创建面向服务的应用系统的方法及用于创建面向服务 的应用系统的创建器。首先,为了更加清楚和方便地描述根据本发明的面向服务的应用系统及通信方 法,将通过参考图1至图10描述根据本发明的实施例的网络应用系统及其通信方法,来描 述面向服务的应用系统及其通信方法。参考图1,图1示意性地示出了根据本发明的一个实施方式的网络应用系统。如 图1所示,网络应用系统100包括客户端应用系统110、面向服务的应用系统120,其中,该 面向服务的应用系统120包括应用对象130a、130b. .. 130η。客户端应用系统110与面向服 务的应用120之间通过网络140通信。网络140可以是任何类型的网络,或者是由能够彼此通信的设备组成的网络的组 合。例如,网络140可以是传输控制协议/网际协议(TCP/IP)网络,诸如统称被称作是“因 特网”的全球互联网。客户端应用系统110可以是能够操控直接或间接运行在任何操作系统上的内容 和布局的任何网络客户端应用。该网络客户端应用110可以是利用或者不利用网络浏览 器来运行的富互联网应用(RIA),例如Flash应用、Java应用、JavaFX应用、Adobe Flex/ AIR应用、Microsoft Silverlight应用等,其中富互联网应用可以运行专用的网络浏览 器插件上,或者经由保证程序安全运行的砂盒(sandbox)来独立运行;或者,可以是例如 Javascript应用、VBScript应用等在网络浏览器上运行的脚本应用;或者,可以是以例 如.NET、Java, C、C++、Ruby、Python等各种编程技术开发的直接在操作系统上运行的其他 应用。并且该网络客户端应用可以任何基于网络的应用,其基于Windows操作系统,基于 Linux系统,或者基于其他任何适当的操作系统。该客户端应用系统110甚至可以链接到任 何适当站点(例如公司网站、博客或者是阿里巴巴或易趣等大商业网站等)中的小应用,以 方便使用。例如,用户可以将其产品目录以及在线查询和支付“挂”到它们的合作方网站上 以方便使用。该客户端应用系统110被实现为向面向服务的应用系统120发出网络服务请求, 诸如请求面向服务的应用系统120中相应的应用对象以添加数据、删除数据、检索数据、更 新数据等,以及接收来自应用对象的网络服务响应,诸如返回的检索数据等。客户端应用系统110可以被配置为通过装载配置信息而开始操作。该配置信息决 定了客户端应用系统110如何与用户交互以及如何发起网络服务请求。关于配置信息将在 下文中详细描述。客户端应用系统110可以运行在任何设备或者系统上,只要该设备或系统能够支 持该客户端应用系统与面向服务的应用系统之间的通信。该设备或者系统可以是个人计算机,例如台式计算机;手持计算设备,诸如像是iPhone、黑莓、安装了 Window Mobile系统的 手机、智能手机等的移动电话;便携式计算设备,诸如笔记本电脑、上网本电脑;以及工作 站、计算设备网络等。面向服务的应用系统120包括一个或多个应用对象130a、130b. . . 130η。在本发明 中,“应用对象”也可以称作是“构件块”服务器应用,可以通过这些“构建块”服务器应用的 不同组合来构建针对不同功能需求的解决方案。下面,将参考图2a至图2d来详细描述用 于构成面向服务的应用系统120的应用对象。参考图2,图2a至图2d示意性地示出了根据本发明的应用对象的示例。如图2a 所示,应用对象200可以包括平面结构数据单元201、关系存储单元202以及应用代码模块 203。其中平面结构数据单元201可以专用于存储特定类型数据,诸如联系人信息、订单信 息、项目信息、与应用相关的配置信息等中的一种;关系存储单元202可以用于存储该平面 结构数据单元201中的数据与其他应用对象中平面结构数据单元中的数据之间的关系;而 应用代码模块203可以用于操作该平面结构数据单元201中的数据以及关系存储单元202 中的信息,诸如向平面结构数据单元201和/或关系存储单元202中添加数据等。如图2b所示,应用对象200可以运行在支持系统210上,该支持系统210是指以 下特征的组合允许应用对象200在其上运行的任何平台,例如,操作系统;允许关系存储 单元202和平面结构数据单元201驻留在其上的任何数据库管理系统,例如RDBMS,Oracle, DB2,MySQL,MS SQL 等;允许利用诸如 JavaScript、VBScript、. NET、Java、PHP、C、C++、Ruby、 Python等各种编程技术开发的应用代码模块在其上运行的应用框架;以及允许任何平台、 数据库管理系统以及应用框架运行的设备或者系统。应用对象200所包括的平面结构数据单元201可以是诸如简单的XML文件,或者 可以是诸如MySQL、MS SQL、Oracle, DB2等关系数据库中的单个逻辑表结构(尽管在物理 上该平面结构数据单元可以通过在不同的位置储存的表来实现)。根据本发明,每个应用对 象中的平面结构数据单元201专用于存储一种特定类型的数据,S卩,不同类型的数据存储 在不同应用对象的平面结构数据单元中,且不同应用对象的平面结构数据单元中存储的数 据类型互不相同。此外,与传统的关系数据库还不同的是,平面结构数据单元201中存储的 数据与其他应用对象的平面结构数据单元中存储的数据之间的关系并不是通过诸如在表 中加入诸如外键来表示,而是通过应用对象200中包括的关系存储单元202来表示,该关系 存储单元将在后文中详细描述。需要说明的是,每个应用对象200可以具有相同结构,S卩,每个应用对象均可包括 平面结构数据单元201、关系存储单元202和应用代码模块203。但是,各个平面结构数据 单元201可以具有不同内部结构,例如,单个逻辑表形式的平面结构数据单元201可以具有 不同类型和不同数量的字段,以便存储不同类型的数据,诸如联系人信息、订单信息、项目 信息、与面向服务的应用系统对应的客户端应用系统的配置信息等。如图2c所示,应用对象200a中的平面结构数据单元201a专用于存储客户端应用 系统的配置信息,其中,该配置信息可以供客户端应用系统获取以便启动客户端应用系统。 因此,在这种意义上讲,也可以将该应用对象200a称作为“平台”。而如图2d所示,应用对 象200b中的平面结构数据单元201b专用于存储普通的业务数据时,充当为客户端应用系 统提供业务数据服务的功能,因此也可以将其称为“数据应用对象”。
应用对象200中包括的关系存储单元202在本发明中起到了表示各个应用对象中 平面结构数据单元的数据之间的关系的作用。下面,将参考图3对本发明的关系存储单元 进行更加详细的描述。参考图3,图3示出了用于说明根据本发明的关系存储单元的图示,其中关系存储 单元是链接表。在图3中,示出了数据应用对象310中包括的平面结构数据单元311和的 链接表312、数据应用对象320中包括的平面结构数据单元321和链接表322以及平台330 中的链接表332。需要说明的是,为了清楚起见,没有示出数据应用对象310和320中的应 用代码模块以及平台中的平面结构数据单元和应用代码模块。如图所示的链接表312和322分别用于存储平面结构数据单元311和321与其 他应用对象中的平面结构数据单元之间的链接关系。根据本发明的实施方式,如果一个平 面结构数据单元的数据与其他应用对象中平面结构数据单元中的数据具有链接关系,则在 与这两个平面结构数据单元对应的链接表中将会具有用于表示该链接关系的链接记录。另 外,优选地,在平台330的中心链接表332中也保存与之相应的链接记录,利用该链接记录, 可以在数据应用对象中的链接记录丢失时进行记录恢复。例如,如果平面结构数据单元311中的数据记录A与平面结构数据单元321中的 数据记录B链接,则在与平面结构数据单元311对应的链接表312中则存在这样的链接记 录,其包括作为主键的被链接记录A的标识、其中记录B被链接的数据应用对象320的标识 以及被链接记录B的标识;与平面结构数据单元321对应的链接表322中,也会存在相应的 链接记录,其包括作为主键的被链接记录B的标识、其中记录A被链接的数据应用对象310 的标识以及被链接记录A的标识;以及优选地,在平台330中的中心链接表332中也可以存 储对应的链接记录,该链接记录包括其中记录A被链接的数据应用对象310的标识、被链接 记录A的标识、其中记录B被链接的数据应用对象320的标识以及被链接记录B的标识。在需要将两个记录链接起来时,可以通过分别在与这两个平面结构数据单元对应 的两个链接表中存储这样的两条记录、以及优选地还在平台的中心链接表中加入如上所述 的链接记路,来建立两个记录的连接关系,从而将两条记录链接起来。这样,如果用户想通过客户端应用系统查看与某条记录相关的链接项目,则可在 与存储该条记录的平面结构数据单元对应的链接表中,查找主键为该条记录的标识的所有 链接记录。然后,可以根据查找到的链接记录中包括的、其中记录被链接的应用对象的标 识,向该应用对象发出网络服务请求,以便获取被链接的记录,该被链接记录具有的标识是 查找到链接记录中所包括的被链接记录的标识。需要说明的是,链接表只是用于存储各个平面结构数据单元的数据之间关系的关 系存储单元的一个实例。本发明并不局限于此,也可以采用其他任何适当的技术来存储这 些链接记录,诸如可以采用像是XML文件等文件形式,只要能够保存下这些链接信息即可。 关于实现链接记录存储的其他技术相关的细节,对于本领域技术人员是已知的,此处不再 赘述。接下来,将继续参考图2来描述根据本发明的应用对象。返回图2,应用代码模块203配置用于响应于诸如来自客户端应用系统或者其他 应用对象的网络服务请求(例如,REST方式或者SOAP协议的请求),来操作平面结构数据 单元201中的数据和/或诸如链接表的关系存储单元202中所存储的信息的模块。可以
12根据实现所述支持系统210的技术,利用诸如.NET、JAVA、PHP、C、C++、Ruby, Python等的 适当技术来开发应用代码模块203。该应用代码模块203可以包括对数据进行基本操作的 基本方法,诸如创建、检索、更新和删除平面结构数据单元中的数据和链接表中的链接信息 等,但并不局限于此。并且,这些基本方法可以被设计为支持诸如SOAP协议和/或REST方 式等任何格式的网络服务请求,以便响应于网络服务请求对平面结构数据单元中的数据或 关系存储单元中的信息进行操作。在该面向服务的应用系统包括平台的情况下,可以将平 台中的应用代码模块配置为响应于针对所述配置信息的网络服务请求,查找相应的配置信 息,以便返回该配置信息。需要说明,对于采用不同技术的平面结构数据单元,所述基本方法的实现也不同, 诸如对于XML文件形式的平面结构数据单元,基本方法中包括诸如Xquery等XML查询语 言,而对于关系数据库中的表形式的平面结构数据单元,基本方法可以包括结构化查询语 言(SQL),这是本领域技术人员公知的,此处将不再赘述。另外,需要说明的是,对于所有应用对象而言,所有的应用代码模块可以都是完全 相同的,这样有助于加速部署过程。然而,本发明并不局限于此,而是可以针对各个应用对 象配置不同的应用代码模块。此外,还需要说明的是,根据本发明的应用对象(即平台或者数据应用对象)中的 每一个均可以位于一台或者多台设备上,并且一个或者多个应用对象也可以位于单个设备 上。在上文中,对根据本发明的一个实施方式的网络应用系统进行了描述,下面将参 考图4来描述根据本发明的网络应用系统的通信方法。参考图4,首先,在步骤401发出针对配置信息的请求,以便启动该客户端应用系 统。根据本发明的实施方式,客户端应用系统被配置成通过载入配置信息来启动。该 配置信息以包括用户界面信息和/或网络服务请求信息。用户界面信息决定了客户端应用 系统如何与用户交互,即应该向用户呈现什么样的界面。网络服务请求信息决定了如何发 起网络服务请求,即应该以什么上的协议发起请求,应该发起什么请求。对于不同的用户, 配置信息可以是不同的,对于不同类型的用户设备也可以具有不同的配置信息,但是本发 明并不局限于此。该请求应该具有用于存储配置信息的实体可以解释的格式,诸如可以是支持SOAP 协议和/或REST格式等任何格式的网络服务请求,或者其他格式的请求。接着,在步骤402,响应于针对配置信息的请求,返回包含该配置信息的响应。在本发明的一个实施方式中,配置信息存储在面向服务的应用系统中的平台130a 的平面结构数据单元中。平台130a中的应用代码模块响应于该请求,查找所请求的配置信 息,并将返回所找到的配置信息。然后,在步骤403,基于所述配置信息启动客户端应用系统。根据所接收到的配置 信息中的用户界面信息,客户端应用系统被启动,并为用户显示相应的用户界面,以便进行 交互。接下来,在步骤404,客户端应用系统发出网络服务请求。在用户通过客户端应用系统所呈现的用户界面进行交互的过程中,可以通过触发用户界面上的组件,来发出网络服务请求。该网络服务请求可以基于配置信息中的网络服 务请求信息而发出,其是与该组件对应的、具有网络服务请求信息中所定义的格式的网络 服务请求。然后,在步骤405,响应于该网络服务请求,通过应用代码模块来执行相应操作, 以便返回相应的网络服务响应。应用代码模块被配置为能够理解该网络服务请求,然后根 据所要求的网络服务,对平面结构数据单元和/或诸如链接表的关系存储单元执行基本操 作,诸如创建、删除、查询和更新等。然后,可以返回与该网络服务请求对应的网络服务响应。需要说明的是,尽管对于本发明而言,优选地是在平台中存储配置信息,然而本发 明并不局限于此,而是可以在网络中的其他位置存储该配置信息,只要该信息能够由客户 端应用系统来获取,该配置信息甚至还可以存储在客户端应用系统所在的用户设备中。另外,根据本发明,可以在一个网络请求中对一个数据应用对象执行操作,例如, 向其添加数据。然而,也可以对若干数据应用对象执行多个操作,例如可以在添加数据的同 时建立连接关系。接下来,将参考图5来描述根据本发明的另一实施方式的网络应用系统。参考图5,图5示出了根据本发明的另一实施方式的网络应用系统500。在图5所 示的网络应用系统中,包括在诸如台式计算机、膝上型计算和手持设备等各种不同硬件设
备上运行的不同客户端应用系统510a.....510m。在面向服务的应用系统520中的平台
530a中,存储了与各个客户端应用系统510a.....510m对应的配置信息。在客户端应用系
统510启动之前,客户端应用系统会向平台530a发送针对配置信息的网络服务请求,平台 530a会响应于该网络服务请求,向该客户端返回与之相应的配置信息。然而,由于硬件设备的限制,通常在诸如手持设备上的用户设备中需安装简化版 的客户端系统,而此时可能会出现不能解释来自平台530a的配置信息等的问题。为此,在 面向服务的应用系统520中,还包括有中间件550,用于允许在不同硬件设备上运行的客户 端应用系统510a、. . . 510m可以访问本发明的面向服务的应用系统520。中间件550与应 用对象类似,可以运行在前述的支持系统210上,并且与应用对象类似,中间件也550可以 根据实现所述支持系统210的技术,利用诸如.NET、JAVA、PHP、C、C++、Ruby,Python等的适 当技术来开发。在客户端应用系统不能解释配置信息时,可以请求中间件550的辅助,中间件可 以将所述配置信息转换为客户端应用系统能够理解格式的信息,诸如在客户端应用系统利 用浏览器来运行时,可以转换为通用HTML标签。在根据本发明的另一实施方式中,在客户 端应用系统不能解释配置信息时,可以向平台530a发出需要执行格式转换的网络服务请 求,或者在客户端应用系统发出针对配置信息的网络请求中要求执行格式转换。平台530a 会将配置信息发送给中间件550,以便进行格式转换。然后,中间件550可以将经过格式转 换的配置信息发送到相应的客户端应用系统,或者平台通知相应的客户端应用系统从中间 件550处获取配置信息。在本发明的又一实施方式中,客户端应用系统可以直接向中间件 550请求配置信息;中间件550基于该配置请求与平台530a通信,并从其获取相应的配置 信息;然后,中间件550对所获取的配置信息执行数据格式转换,并将经过格式转换的配置 信息发送给客户端应用系统。
14
在上述实施例中,中间件550是一个单独部件,然而需要说明的是,中间件550也 可以与平台530a集成在一起。这样,客户端应用系统直接向平台530a请求配置,如果需要 转换则可以由包括在平台530a中的中间件进行格式转换,如果不需要则可以绕过该中间 件经由网络540将配置信息直接发送给客户端应用系统。此外,图6还示出了根据本发明的又一实施方式的网络应用系统600。在图6示 出的网络应用系统600中,除了客户端应用系统和相应的面向服务的应用系统外,还存在 第三方系统680。该第三方系统例如是与客户端应用系统的用户属于共同体的其他方(诸 如该公司的客户、供应商、合作方等)的系统,或者该公司中的其他部门的系统等。第三方 系统通常是与本发明的系统不同的应用,因此它们所采用的网络服务请求很可能与本发明 的基于平面结构数据单元的面向服务的应用系统不同。第三方系统的网络服务请求以及他 们所能够解释的响应通常是具有结构层次的,而由于本发明是基于平面结构数据单元,所 以本发明的网络服务请求和返回的网络服务响应均是无层次。如图7所示,XMLm 701例如 可以是第三方所返回的响应,该文件中的数据信息是具有层次结构关系的,而与之对应的 XML1702a、XML2702b和中心链接702c中的每个均是无结构层次的文件,即平面XML文件, XML1702a和XML2702b之间的关系(层次结构)通过中心链接702c来表示。因此,这两种 格式的信息通常是不能为彼此所理解的。另外,在第三方系统与客户端应用系统通信时,即 使他们的网络服务请求和响应同样是基于本发明的平面结构数据单元,但他们所使用的协 议也可能不同。图8以示例性的方式示出了这种情况,例如客户端应用系统所使用的网路 服务服务请求是如801所示的REST方式的请求,而第三方系统所使用的网络服务请求是如 802所示的SOAP协议的请求。因此,在这种情况下,这也可能造成第三方系统与本发明的网 络应用系统彼此之间的通信障碍。因此,为了使得第三方能够访问该面向服务的应用系统,本发明提供了一种网络 服务适配器,将来自第三方系统的网络服务请求或所返回的网络服务响应转换成格式适合 于所述面向服务的应用系统或者适合于与所述面向服务的应用系统对应的客户端应用系 统的信息;和/或将所述面向服务的应用系统或者所述客户端应用系统返回的网络服务响 应或者发出的网络服务请求转换成格式适合于第三方系统的信息。例如,可以将REST方式 的请求转换为能够被理解的SOAP协议的请求,将本发明的系统返回的无层次的XML文件整 合为第三系统能够理解的具有层级结构的XML文件,反之亦然。这样,就使得第三方能够与客户端应用系统和/或数据应用对象通信。在用户已 经拥有了一些业务系统的情况下,通过网络服务适配器可以将已有的这些业务系统与本发 明的网络应用系统整合起来,从而节约了用户公司的资源,避免了重复投资造成的浪费。需要说明的是,该适配器可以如图适配器670a所示,作为一个单独的部件而存 在;也可以如图适配器670b所示打包到任何面向服务的应用系统中。与应用对象和中间件 类似,该适配器670a和670b可以运行在前述的支持系统210上,该适配器也可以根据实现 所述支持系统210的技术,利用诸如.NET、JAVA、PHP、C、C++、Ruby,Python等的适当技术来 开发。关于网路服务适配器的具体信息,可参照与本申请同日提交的申请人为李新宇、申请 号为“ ”、发明名称为“用于对网络服务通信进行适配的方法、适配器和适配器系统”的专利 申请°此外,图9还示出了根据本发明的再一实施方式的网络应用系统。根据如图9所
15示的实施方式,并非将所有的配置信息都集中保存在平台930a的数据单元中,而是可以仅 在平台930a中保存对于客户端应用系统特定的配置信息,而对于所有客户端应用系统都 具有的公共配置信息,可以在相应的数据应用对象930b. . . 930η中建立一个专用于存储公 共配置信息的平面结构数据单元,以便存储与之相关的配置信息,如图9所示。此外,图10还示出了根据本发明的又一实施方式的网络应用系统。在图10所示 的网路应用系统中,存在第一客户端应用系统lOlOal、用于存储与该第一客户端应用系统 IOlOal相关的配置信息的第一平台1030al以及与第一客户端应用系统IOlOal对应的第 一面向服务的应用系统1050al ;以及第二客户端应用系统1010a2、存储与该第二客户端应 用系统1010a2相关的配置信息的第二平台1030a2以及与第二客户端应用系统1010a2相 关的第二面向服务的应用系统1050al。第一客户端应用系统和第二客户端应用系统可以 是属于共同体的各方,例如某公司与该公司的客户、供应商或合作方等。在根据本发明的网 络应用系统中,第一客户端应用系统IOlOal可以通过网络1040来向面向服务的应用系统 1050a2中的应用对象发出网络服务请求,面向服务的应用系统1050a2中的应用对象可以 响应于该网络服务请求为第一客户端应用系统IOlOal提供相应的网络服务响应,同样第 二客户端应用系统1010a2可以通过网络1040访问第一面向服务的应用系统1050al中的 应用对象。因此,可以在这样的网络应用系统中实现数据共享和数据交换。上面参考图1至图10以示例性的方式对本发明的网络应用系统及其通信方法的 若干实施方式进行了详细描述。然而,需要说明的是,当客户端应用系统和面向服务的应用 系统运行在同一台设备上时,实际上可以不存在网络140、540、640、940和1040。另外,需要说明的是,虽然在某些实施方式中示出了一个客户端应用系统,实际上 可以存在与相同的面向服务的应用系统的若干个客户端应用系统。该网络应用系统也可以 包括分别与多个客户端应用系统对应的多个不同的面向服务的应用系统,并且可以存在分 别与多个客户端对应的多个平台。还需要说明的是,客户端应用系统和面向服务的应用系统也可以运行该网络中的 一个或多个设备上;在网络140、540、640、940和1040是因特网的情况下,客户端应用系统 和面向服务的应用系统还可以运行在一个或多个域中。另外,需要说明的是,驻留在用户设备(或系统)中的所有客户端应用系统可以是 依据支持系统的技术而开发的通用应用,通过装载不同的配置信息,这些客户端应用系统 可以满足用户的不同需求。但是本发明并不局限于此,所有客户端应用系统也可以共用相 同的配置信息。上文中,通过描述本发明的网络应用系统及其通信方法,来描述了本发明的面向 服务的应用系统和客户端应用系统及他们的通信方法。然而,需要说明的是,本发明的各个 面向服务的应用系统和各个客户端应用系统可以由一个软件提供商提供,也可能由分开的 多个软件提供商来提供,只要面向服务的应用系统和客户端应用系统之间遵循相同的通讯 协议。因此,本发明分开保护了根据本发明的面向服务的应用系统和客户端应用系统。在下文中,将参考图11来描述发明提供的用于创建面向服务的应用系统的方法 和创建器。参考图11,图11示出了根据本发明的一个实施方式的用于创建面向服务的应用 系统的方法流程图。
如图11所示,在步骤1101,选择一个或多个应用模板。根据本发明的实施方式,提供了一个或多个应用模板以加速应用开发过程。该应 用模板包括设计好的用户界面、应用对象和相应动作。用户界面是将通过例如浏览器以页 面形式呈现给用户以便与用户进行交互的界面,其上有可以提供给用户的各种组件。动作 是与用户界面上提供的各种组件(按钮、选择框、文本框等)相关联的操作,是响应于用户 界面上组件的激活而执行的动作,诸如显示对应页面,发出对数据进行操作的网路服务请 求等。应用对象如上文所述包括专用于存储特定类型数据的平面结构数据单元;用于 存储该平面结构数据单元中的数据与其他应用对象中平面结构数据单元的数据之间关系 的关系存储单元;和用于操作该平面结构数据单元的数据以及关系存储单元中的信息的应 用代码模块。应用对象通常是网络服务请求所针对的对象。其中,在应用对象用于存储应用 配置信息时,也可以称作为平台;用于存储普通的数据信息时,可以称其为数据应用对象。在根据本发明的一个实施方式中,提供有存储库,该存储库中用于存储应用模板。 因此,可以从存储库中选择用户界面、应用对象以及相应动作中的一种或者多种。在根据本发明的另一实施方式中,应用模板是应用包的形式,该应用包包括用于 实现特定功能的多个应用模板。优选地,应用包中还进一步包括相关的配置信息。在这种 情况下,如果要创建与该应用包所实现的功能类似的面向服务的应用系统,则可以从存储 库中选择该应用包,以便进一步加速面向服务的应用系统的创建过程。在根据本发明的又一实施方式中,可以通过导入部件从外部导入该应用包,以便 加速面向服务的应用系统开发过程。接下来,在步骤1102,针对用户的需求对所述应用模板进行配置,以生成针对所述 用户的配置信息。对于不同的用户而言,所需的面向服务的应用系统可能不同,因此可能需要对所 选的应用模板进行配置,即对这些应用模板进行调整以便适合用户需要。可以对所选择应用模板中包括的用户界面、应用对象和动作等进行修改。例如,可 以在用户界面上添加组件以及与之对应的动作等;添加应用对象;修改应用对象之间的链 接关系;修改平面结构数据单元的内部结构,诸如增删字段等。此外,还可以修改用户界面 上的呈现的图标、图片等,以便创建个性化的应用。例如,如果选择的是应用包,则可以删除该应用包中不需要的用户界面、应用对象 和相关动作;另外,也增加没有包括在该应用包中的用户界面、应用对象和相关动作,从而 满足用户的各种特定需求。此外,还可以指定网络服务请求所使用的相关协议,诸如REST方式或者SOAP协 议,图8中示例性地示出了基于这两种协议的请求和响应。对应用模板进行了配置后,可以得到相关的配置信息,该配置信息包括与要呈现 给用户的界面相关的信息,即用户界面信息,和网络服务请求信息。用户界面信息决定了客 户端应用系统如何与用户交互,即应该像用户呈现什么样的界面。网络服务请求信息决定 了如何发起网络服务请求,即应该以什么上的协议发起请求,应该发起什么请求。基于所述 配置信息,就可以为用户提供特定的服务。根据本发明的一个实施方式,生成的配置信息可以存储在一个应用对象中,此时该应用对象可以称作是“平台”,相应地,其他用于存储业务数据的对应对象可以称作是“数 据应用对象”。然而,本发明并不局限于此,配置信息可以存储在可由客户端应用系统获取 的任何适当位置,并且配置信息也可以以任何适当的方式存储。特别需要说明的是,根据现有技术的应用开发方法,由预定的、刚性数据模型设计 的打包软件不能以简单、经济的方式在应用投入使用后将需要关联的信息关联起来。而根 据本发明可以容易地实现这一点。例如,可以原有用户界面上添加一个新的链接按钮,并通 过简单的点击、拖放等操作将与需要链接的两个信息对应的两个应用对象关联起来,从而 建立了与该按钮相关联的动作。然后,可以更新配置信息。此后,在用户通过装载新的配置 信息来启动客户端应用系统时,就可以在用户界面上显示“链接”操作按钮,以便用户将所 需的信息链接起来,而并无需改变两个应用对象本身。类似地,还可以根据用户需求方便地 对网络应用进行其他更改,诸如解除应用对象的链接关系等。接下来,在步骤1103,将所述应用模板和所述配置信息打包,以生成适合用户的需 求的应用包。在本发明的一个实施方式中,进一步地对该应用包执行部署,以便将该应用包提 供给用户。在本发明的另一实施方式中,为了加速随后面向服务的应用系统创建过程,可以 进一步将生成的应用包保存到存储库中以备以后开发程序使用。在本发明的又一实施方式中,为了方便应用包的共享,可以进一步将生成的应用 包保存到存储库中,以供外部应用创建人员使用。然而,需要说明的是,执行部署的步骤并非是必需的。例如,创建应用的人员可以 根据存储库中原有的应用模板来创建一些自定义的应用包存储在存储库中,以方便随后使 用。在这种情况下,并不需要部署步骤。下面,将参考图12至图15来描述本发明提供了用于创建面向服务的应用系统的 创建器。图12示出根据本发明的一个实施方式的用于创建面向服务的应用系统的创建 器。如图所示,本发明的创建器1200包括选择装置1201,配置装置1202,和打包装置 1203。选择装置1201用于选择一个或多个应用模板。所述应用模板包括用户界面、应用 对象和相应动作。应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存 储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存储单元;以及 用于操作该数据单元的数据和关系存储单元中的信息的应用代码模块。配置装置1202用 于针对用户的需求对所述应用模板进行配置,以生成针对所述用户的配置信息。打包装置 1203用于将所述应用模板和所述配置信息打包,以生成适合用户的需求的应用包。在根据本发明的一个实施方式中,所述选择装置1201进一步用于以下操作中的 一种或者多种从存储库中选择用户界面、应用对象以及相应动作中的一种或者多种;从 存储库中选择预定义的应用包;以及从外部导入预定义的应用包,其中,所述预定义应用包 包括用于实现特定功能的多个应用模板,或者包括实现特定功能的多个应用模板的多个应 用模板以及相关的配置信息。在根据本发明的另一实施方式中,所述配置装置1202进一步被用于以下操作中
18的一种或者多种删除所述用户界面、所述应用对象、所述动作中至少一个;修改所述用户 界面、所述应用对象、所述动作中至少一个;增加所述用户界面、所述应用对象、所述动作中 至少一个;以及设置所述动作中的网络服务请求所遵循的协议。在根据本发明的又一实施方式中,所生成的应用包包括数据应用对象,其包括专 用于存储业务数据的平面结构数据单元;和/或平台,该平台是一种应用对象,包括专用于 存储所述配置信息的平面结构数据单元。在根据本发明的再一实施方式中,所述配置信息包括用户界面信息和/或网络服 务请求信息。此外,图13、图14和图15还示出根据本发明的另一些实施方式。如图所示,图13、图14、图15中的创建器1300、1400和1500分别包括选择装置 1301、1401和1501,其对应于图12中的选择装置1201,用于选择一个或多个应用模板;配 置装置1302、1402和1502,其对应于图12中的配置装置1202,用于针对用户的需求对所述 应用模板进行配置,以生成针对所述用户的配置信息;和打包装置1303、1403和1503,其对 应于图12中的打包装置1203,用于将所述应用模板和所述配置信息打包,以生成适合用户 的需求的应用包。与图12所示的创建器1200不同的是,图13所示的创建器1300进一步包括部署装 置1304,用于针对所述应用包执行部署,以便为用户提供所述面向服务的应用系统;图14 所示的创建器1400进一步包括保存装置1405,用于保存所述应用包,以便于随后创建其他 应用;图15所示的创建器1500进一步包括导出装置1506,用于导出所述应用包,以供外部 应用创建人员使用。需要说明的是,在上文中示出的各种特征,可以进行组合,只要这些组合并不违背 本发明的原理。例如,在根据本发明的又一实施方式中,可以包括上述图13、14和图15中 的部署装置1304、导入装置1405和导出装置1506。根据本发明,面向服务的应用系统主要由多个应用对象构成,并且优选地包括用 于存储配置信息的称作“平台”的应用对象。因此,基于这种结构,可以通过预先定义的应 用模板来以快速、简单的方式(通过点击、拖放等简单的鼠标操作)来创建面向服务的应用 系统。另外,可以对选择的预定义打包文件进行修改以满足特定用户的需求,也可以通 过略微修改原先为其他用户创建的应用包来为另一用户创建类似的应用。此外,还可以容 易地修改已有的面向服务的应用系统来适应客户新的需求。根据本发明,相同类型的业务数据(诸如联系人信息)存储在逻辑上为单个表或 者单个文件的同一平面结构数据单元中,但该平面结构数据单元和该应用对象甚至整个网 络应用系统均可以存在于网络中的多个位置,换句话讲,可以存在与多个物理位置或者多 个域中。根据本发明,可以根据业务需求将各个平面结构数据单元、各个应用对象或整个网 络应用系统布置在单个位置或者多个位置,或布置在单个域中或者多个域中。例如,对于 小型公司,可以将它们存储在单个位置,对于大型的国际性公司,则可以将其提供在多个位 置。另外,根据本发明,存储在该单一逻辑表中的业务数据可以由针对不同业务的多个应用 共享,这与利用不同概念针对不同业务分别开发打包软件传统方式不同,根据该传统方式, 打包软件是根据预定的、刚性数据模型基于不同理念、针对不同业务而设计的,这些打包软
19件之间通常是不能通信的,更不能共享业务数据。所以,与传统方式相比,在本发明的网络 应用系统中,业务数据不会出现信息孤岛。因此,不会存在信息整合、数据完整性等方面的 问题,使得用户从维护数据完整性等繁杂的工作中解脱出来,减少了成本,提供了效率。另外,根据本发明,不同的客户端应用系统(例如,用户的客户端应用系统、该用 户的提供商的客户端应用系统、该用户的客户的客户端应用系统和该用户的合作方的客户 端应用系统)可以对应于一个面向服务的应用系统中的不同应用对象子集,这例如可以通 过装载不同的配置信息来实现。因而,可以实现用户的业务数据与其提供商、客户、合作方 等的适当共享。因此,本发明不但为用户的公司带来了诸多益处,而且为用户的整个公司链 带来了方便。根据本发明的优选实施方式,还可以通过适配器使得本发明的网络应用系统中的 客户端应用系统和/或面向服务的应用系统与第三方系统的相互通信。从而,可以将用户 已有的业务系统与本发明的网络应用系统结合起来使用,从而节约成本。另外,通过使用适 配器可以使得本发明的网络应用系统可以适应于任何变化,使得本发明的网络应用系统可 以利用诸如REST方式或者SOAP协议等适当方式与第三方系统进行数据交换,因此可以进 一步避免信息孤岛的问题。下面,将参考图16来描述可以实现本发明的计算机设备。图16示意性示出了可 以实现根据本发明的实施方式的计算设备的结构方框图。图16中所示的计算机系统包括CPU(中央处理单元)1601、RAM(随机存取存储 器)1602、R0M(只读存储器)1603、系统总线1604、硬盘控制器1605、键盘控制器1606、串行 接口控制器1607、并行接口控制器1608、显示器控制器1609、硬盘1610、键盘1611、串行外 部设备1612、并行外部设备1613、显示器1614以及网络适配器1615。在这些部件中,与系 统总线1604相连的有CPU 1601、RAM1602、ROM 1603、硬盘控制器1605、键盘控制器1606、 串行接口控制器1607、并行接口控制器1608、显示器控制器1609以及网络适配器1615。硬 盘1610与硬盘控制器1605相连,键盘1611与键盘控制器1606相连,串行外部设备1612与 串行接口控制器1607相连,并行外部设备1613与并行接口控制器1608相连,显示器1614 与显示器控制器1609相连,而网络接口控制器1615允许该计算机系统访问诸如互联网的 计算机网络。图16所述的结构方框图仅仅为了示例的目的而示出的,并非是对本发明的限制。 在一些情况下,可以根据需要添加或者减少其中的一些设备,例如用于实现本发明的计算 机设备可以并不具有显示器、键盘等输入/输出设备。此外,本发明的实施方式可以以软件、硬件或者软件和硬件的结合来实现。硬件部 分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如 微处理器或者专用设计硬件来执行。虽然已经参考目前考虑到的实施方式描述了本发明,但是应该理解本发明不限于 所公开的实施方式。相反,本发明旨在涵盖所附权利要求的精神和范围之内所包括的各种 修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同 结构和功能。
权利要求
一种面向服务的应用系统,所述应用系统包括一个或多个应用对象,每个应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存储单元;以及用于操作该数据单元中的数据和该关系存储单元中的信息的应用代码模块,其中,所述应用代码模块用于响应于网络服务请求,对平面结构数据单元和/或关系存储单元进行操作。
2.根据权利要求1所述的应用系统,其中,所述应用对象包括平台,该平台是一种应用 对象,包括专用于存储所述配置信息的平面结构数据单元,以及其中,该平台中的应用代码 模块用于响应于针对所述配置信息的网络服务请求,查找相应的配置信息,以便返回该配直fe息。
3.根据权利要求2所述的应用系统,其中,所述平台的关系存储单元用于存储其他应 用对象的关系存储单元中的信息。
4.根据权利要求1所述的应用系统,其中,所述应用对象包括数据应用对象,其包括专 用于存储业务数据的平面结构数据单元。
5.根据权利要求4所述的应用系统,其中,所述数据应用对象进一步包括专用于存储 所述配置信息中与之相关的公共部分的平面结构数据单元。
6.根据权利要求1所述的应用系统,进一步包括中间件,用于把所述配置信息转换为 能够由与所述面向服务的应用系统相关的各种客户端应用系统解释的通用格式的信息。
7.根据权利要求1所述的应用系统,进一步包括适配器,用于将来自第三方系统的网 络服务请求或所返回的网络服务响应转换成格式适合于所述面向服务的应用系统或者适 合于与所述面向服务的应用系统相关的客户端应用系统的信息;和/或将所述面向服务的应用系统或者所述客户端应用系统返回的网络服务响应或者发出 的网络服务请求转换成格式适合于第三方系统的信息。
8.根据权利要求1所述的应用系统,其中,所述应用代码模块用于进行以下操作中的 一种或者多种向平面结构数据单元添加数据; 删除平面结构数据单元中的数据; 更新平面结构数据单元中的数据; 检索平面结构数据单元中的数据; 向关系存储单元添加信息; 删除关系存储单元中的信息; 更新关系存储单元中的信息;以及 检索关系存储单元中的信息。
9.一种面向服务的应用系统的通信方法,其中,所述面向服务的应用系统包括一个或 多个应用对象,每个应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存2储单元;以及用于操作该数据单元中的数据和该关系存储单元中的信息的应用代码模块, 所述方法包括响应于网络服务请求,通过应用代码模块对平面结构数据单元和/或 关系存储单元进行操作。
10.根据权利要求9所述的方法,其中,所述应用对象包括平台,该平台是一种应用对 象,包括专用于存储所述配置信息的平面结构数据单元,以及其中,对平面结构数据单元和 /或关系存储单元进行操作还包括响应于针对所述配置信息的网络服务请求,通过该平 台中的应用代码模块来查找相应的配置信息,以便返回该配置信息。
11.根据权利要求10所述的方法,其中,所述平台的关系存储单元用于存储其他应用 对象的关系存储单元中的信息。
12.根据权利要求9所述的方法,其中,所述应用对象包括数据应用对象,其包括专用 于存储业务数据的平面结构数据单元。
13.根据权利要求12所述的方法,其中,所述数据应用对象进一步包括专用于存储所 述配置信息中与之相关的公共部分的平面结构数据单元。
14.根据权利要求9所述的方法,进一步包括把所述配置信息转换为能够由与所述面 向服务的应用系统相关的各种客户端应用系统解释的通用格式的信息。
15.根据权利要求9所述的方法,进一步包括将来自第三方系统的网络服务请求或所 返回的网络服务响应转换成格式适合于所述面向服务的应用系统或者适合于与所述面向 服务的应用系统相关的客户端应用系统的信息;和/或将所述面向服务的应用系统或者所述客户端应用系统返回的网络服务响应或者发出 的网络服务请求转换成格式适合于第三方系统的信息。
16.根据权利要求9所述的方法,其中,对平面结构数据单元和/或关系存储单元进行 操作包括以下一种或者多种向平面结构数据单元添加数据; 删除平面结构数据单元中的数据; 更新平面结构数据单元中的数据; 检索平面结构数据单元中的数据; 向关系存储单元添加信息; 删除关系存储单元中的信息; 更新关系存储单元中的信息;以及 检索关系存储单元中的信息。
17.一种用于创建面向服务的应用系统的方法,包括选择一个或多个应用模板,其中,所述应用模板包括用户界面、应用对象和相应动作, 该应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存 储单元;以及用于操作该数据单元中的数据和该关系存储单元中的信息的应用代码模块; 针对用户的需求对所述应用模板进行配置,以生成针对所述用户的配置信息;以及将所述应用模板和所述配置信息打包,以生成适合用户的需求的应用包。
18.根据权利要求17所述的方法,进一步包括针对所述应用包执行部署,以便为用户 提供所述面向服务的应用系统。
19.根据权利要求17所述的方法,进一步包括 保存所述应用包,以便于随后创建其他应用;和/或 导出所述应用包,以供外部应用创建人员使用。
20.根据权利要求17所述的方法,其中,选择一个或多个应用模板包括以下操作中的 一种或者多种从存储库中选择用户界面、应用对象以及相应动作中的一种或者多种; 从存储库中选择预定义的应用包;以及 从外部导入预定义的应用包,其中,所述预定义的应用包包括用于实现特定功能的多个应用模板,或者包括实现特 定功能的多个应用模板以及相关的配置信息。
21.根据权利要求17所述的方法,其中,对所述应用模板进行配置包括以下操作中的 一种或者多种删除所述用户界面、所述应用对象、所述动作中至少一个; 修改所述用户界面、所述应用对象、所述动作中至少一个; 增加所述用户界面、所述应用对象、所述动作中至少一个;以及 设置网络服务请求所遵循的协议。
22.根据权利要求17所述的方法,其中,所生成的应用包包括数据应用对象,其包括专用于存储业务数据的平面结构数据单元;和/或 平台,该平台是一种应用对象,包括专用于存储所述配置信息的平面结构数据单元。
23.根据权利要求17所述的方法,其中所述配置信息包括用户界面信息和/或网络服 务请求信息。
24.一种用于创建面向服务的应用系统的创建器,包括选择装置,用于选择一个或多个应用模板,其中,所述应用模板包括用户界面、应用对 象和相应动作,该应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存 储单元;以及用于操作该数据单元的数据和关系存储单元中的信息的应用代码模块; 配置装置,用于针对用户的需求对所述应用模板进行配置,以生成针对所述用户的配 置信息;以及打包装置,将所述应用模板和所述配置信息打包,以生成适合用户的需求的应用包。
25.根据权利要求24所述的创建器,进一步包括保存装置,用于保存所述应用包,以便于随后创建其他应用;和/或 导出装置,用于导出所述应用包,以供外部应用创建人员使用。
26.根据权利要求24所述的创建器,进一步包括部署装置,用于针对所述应用包执行 部署,以便为用户提供所述面向服务的应用系统。
27.根据权利要求24所述的创建器,其中,所述选择装置进一步用于以下操作中的一 种或者多种从存储库中选择用户界面、应用对象以及相应动作中的一种或者多种; 从存储库中选择预定义的应用包;以及 从外部导入预定义的应用包,其中,所述预定义的应用包包括用于实现特定功能的多个应用模板,或者包括实现特 定功能的多个应用模板以及相关的配置信息。
28.根据权利要求24所述的创建器,其中,所述配置装置进一步被用于以下操作中的 一种或者多种删除所述用户界面、所述应用对象、所述动作中至少一个; 修改所述用户界面、所述应用对象、所述动作中至少一个; 增加所述用户界面、所述应用对象、所述动作中至少一个;以及 设置网络服务请求所遵循的协议。
29.根据权利要求24所述的创建器,其中,所生成的应用包包括数据应用对象,其包括专用于存储业务数据的平面结构数据单元;和/或 平台,该平台是一种应用对象,包括专用于存储所述配置信息的平面结构数据单元。
30.根据权利要求24所述的创建器,其中,所述配置信息包括用户界面信息和/或网络 服务请求信息。
全文摘要
本发明公开了一种面向服务的应用系统,所述应用系统包括一个或多个应用对象,每个应用对象包括专用于存储特定类型数据的平面结构数据单元;用于存储该数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存储单元;以及用于操作该数据单元中的数据和该关系存储单元中的信息的应用代码模块,其中,所述应用代码模块用于响应于网络服务请求,对平面结构数据单元和/或关系存储单元进行操作。本发明还提供了该面向服务的应用系统的通信方法、用于创建该面向服务的应用系统的创建器和方法。通过本发明,可以快速建立和修改该面向服务的应用系统,且在应用系统中不存在信息孤岛,此外还可使用户的业务数据与其供应商、客户和合作方共享,从而为用户带来诸多益处。
文档编号H04L29/08GK101882073SQ200910137109
公开日2010年11月10日 申请日期2009年5月4日 优先权日2009年5月4日
发明者谭家辉 申请人:谭家辉