CN104081381B - 用于实施概念服务的方法和装置 - Google Patents

用于实施概念服务的方法和装置 Download PDF

Info

Publication number
CN104081381B
CN104081381B CN201280068631.6A CN201280068631A CN104081381B CN 104081381 B CN104081381 B CN 104081381B CN 201280068631 A CN201280068631 A CN 201280068631A CN 104081381 B CN104081381 B CN 104081381B
Authority
CN
China
Prior art keywords
service
information
implementation
basic object
operations
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.)
Expired - Fee Related
Application number
CN201280068631.6A
Other languages
English (en)
Other versions
CN104081381A (zh
Inventor
乔尔·罗伯特·希尔
斯蒂文·H·马尼
迈克尔·K·史密斯
素密·班迪奥帕迪亚雅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Enterprise Service Development Co LLP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Enterprise Service Development Co LLP filed Critical Enterprise Service Development Co LLP
Publication of CN104081381A publication Critical patent/CN104081381A/zh
Application granted granted Critical
Publication of CN104081381B publication Critical patent/CN104081381B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Abstract

本公开总体涉及计算方法和应用。一种服务平台包括能够用于诸如复合应用之类的不同应用中的标准功能。该服务平台包括用于存储被映射成标准功能的特定应用信息的数据库。为了使用这些功能,不同应用初始化数据库的相关部分,并且使用预定标准访问这些功能。

Description

用于实施概念服务的方法和装置
技术领域
本发明涉及移动通信技术,特别涉及一种用于实施概念服务的方法和装置。
背景技术
本公开总体涉及计算方法和应用。
随着计算机和网络技术的出现,越来越多的软件工具和应用变得可用于向个人和企业实体提供解决方案。通常为了节约成本的原因,程序员经常通过组合现有的软件解决方案和功能来构建软件应用。作为示例,通过组合多个现有的服务实施而形成的应用能够被随意地称为复合应用。这种类型的应用也可以被称为其它名字。通常,复合应用包括来自于一个以上源的功能和控制这些功能如何被使用和相互作用的逻辑部分。
发明内容
有鉴于此,本发明提供了一种用于实施概念服务的方法和装置。
一种提供一种或多种操作的方法,所述方法包括:
提供具有计算机可读介质的数据库;
在所述计算机可读介质处存储一组域信息,所述域信息包括用于概念服务信息、基本对象信息和服务依赖性信息的域参数;
存储一组服务实施信息,所述服务实施信息包括用于所述基本对象的表示的服务实施参数和用于所述基本对象的服务实施信息,所述服务实施信息与由处理模块可执行的操作相关联;
存储第一组客户配置信息;
至少基于该组客户配置信息初始化所述域参数和所述服务实施参数;
存储一组操作信息;
接收对与第一基本对象相关的操作的第一服务请求;
处理所述第一服务请求以确定第一服务实施;
确定用于执行所述第一服务实施的第一参数;并且
使用与所述第一服务实施相关联的一组操作执行所述第一服务实施。
较佳的,该方法进一步包括将所述第一参数变换成基本对象的表示。
较佳的,其中所述域信息包括用于概念服务的数据库表。
较佳的,该方法进一步包括执行服务更新操作。
较佳的,该方法进一步包括用于存储所述客户配置信息、所述域信息和所述服务实施信息的数据库。
较佳的,其中基本对象的多个表示与所述基本对象的第一表示相对应。
较佳的,该方法进一步包括用于存储所述基本对象的表示与所述基本对象之间的相关性的数据库。
较佳的,该方法进一步包括运行与所述第一服务实施相关联的多个操作。
较佳的,其中一组操作信息与所述基本对象相对应。
较佳的,其中该组操作信息包括基本对象实例、服务实施对象实例以及所述基本对象实例与所述服务实施对象实例之间的映射。
较佳的,该方法进一步包括将所述第一组客户信息与所述概念服务相关联。
一种用于实施和集成概念服务的方法,该方法包括:
提供服务外观模块;
提供消息代理模块;
提供服务集成模块;
提供消息变换模块;
提供服务实施和依赖性支持系统模块,所述服务实施和依赖性支持系统模块提供数据库、创建操作、读操作、更新操作和删除操作,所述服务实施和依赖性支持系统模块包括域表、服务表、基本对象模式表、服务使用基本对象表、服务实施表、服务实施对象模式表、模式变换表、客户表、客户服务配置表、基本对象实例表、服务实施对象实例表以及对象实例映射表;
至少初始化所述域表、所述服务表、所述基本对象模式表、所述服务使用基本对象表、所述服务实施表、所述服务实施对象模式表、所述模式变换表、所述客户表以及所述客户服务配置表;
从至少包括第一规范参数的客户接收第一服务外观操作请求;
处理所述第一服务外观操作请求,以至少使用所述客户服务配置表确定与所述第一服务外观操作请求相关联的第一服务实施,以及
至少使用所述模式变换表确定用于执行所述第一服务外观操作请求的第一服务实施参数,所述第一服务实施参数与所述第一服务实施和所述第一规范参数相关联,并且利用所述第一服务实施参数执行所述第一服务实施。
较佳的,其中:
所述服务外观模块提供oNew操作、oGet操作、oChange操作、oRemove操作和uGet操作;
所述消息代理模块提供oPublish操作和uSubscribe操作;
所述服务集成模块提供uNew操作、uChange操作和uRemove操作;和
所述消息变换模块提供从SI创建Create From SI操作、到SI创建Create To SI操作、读SI Read SI操作、从SI更新或删除Update or Delete From SI操作以及到SI更新或删除Update or Delete To SI操作。
较佳的,其中所述服务实施和依赖性支持系统模块包括数据库。
一种提供一种或多种操作的装置,该装置包括:
处理模块;
计算机可读介质,包括:
用于在所述计算机可读介质处存储第一组客户配置信息的代码;
用于在所述计算机可读介质中存储一组域信息的代码,所述域信息包括用于概念服务信息、基本对象信息和服务依赖性信息的参数;
用于至少基于该组客户配置信息初始化所述参数的代码;
用于存储一组服务实施信息的代码,所述服务实施信息包括所述基本对象的表示和用于所述基本对象的服务实施信息,所述服务实施信息与由处理模块可运行的操作相关联;
用于存储一组操作信息的代码;
用于接收对与第一基本对象相关的操作的第一服务请求的代码;
用于处理所述第一服务请求以确定第一服务实施的代码;
用于确定用以执行所述第一服务实施的第一参数的代码;和
用于使用与所述第一服务实施相关联的一组操作来执行所述第一服务实施的代码。
附图说明
图1是示出在复合应用平台环境中的概念服务实施平台(CSIP)的简图。
图2是示出服务实施和依赖性支持系统(SIDSS)的实体及其关系的简图。
图3是用于消息变换操作Create From SI(服务实施)的简化序列图。
图4是用于消息变换操作Create To SI的简化序列图。
图5是用于消息变换操作Read SI的简化序列图。
图6是示出用于消息变换Read SI的企业集成模式表示的简图。
图7是用于消息变换操作Update or Delete From SI的简化序列图。
图8是用于消息变换操作Update or Delete From SI的简化序列图。
图9是用于服务外观操作oNew的简化序列图。
图10是用于服务外观操作oChange的简化序列图。
图11是用于服务外观操作oRemove的简化序列图。
图12A和图12B是用于服务外观操作oGet和uGet的简化序列图。
图13A至图13D是用于oGet和uGet使用模式的简化序列图。
图14是用于服务集成操作uNew的简化序列图。
图15是用于服务集成操作uChange的简化序列图。
图16是用于服务集成操作uRemove的简化序列图。
图17是示出人力资源概念服务设计的简图。
图18是示出可以用于实施CSIP系统的计算机系统的简图。
具体实施方式
本公开总体涉及计算方法和应用。服务平台包括可以用于实施复合应用的标准操作。服务平台包括用于存储关于概念服务和服务实施的信息的数据库;每个概念服务可以具有多个服务实施。服务平台自动向适当的服务实施发送标准操作服务请求;请求的适当服务实施可以由发起请求的客户确定。一些服务请求触发平台自动处理的附加请求。
现有技术经常由于各种原因而存在不足。典型地,对于复合应用,现有解决方案通常提供设计模式和一般性的集成平台。这些解决方案的问题包括:(i)使得开发者创建的解决方案不符合最佳模式(例如,缺少抽象规范的服务接口和过分依赖于点对点集成),(ii)不遵守模型驱动架构的原理,而是相反地,要求开发者为每个平台分别构建特定平台的实施代码;(iii)替代使域专家规定可直接执行的域设计,要求系统工程师创建域解决方案;(iv)现有公布的设计模式有比所需粒度水平更精细的粒度水平,换句话说,它们是初级构建块,而不是多用户共享的、可配置的复合服务所需的高水平元模式;和(v)这些其它解决方案不解决从业务环境到概念服务、到逻辑设计、到物理技术、到可执行代码的可追溯问题。
典型地,复合应用通过组合来自多个应用、服务、和/或源的功能而被构建。通过使用已经可用的功能,可以比开始于拼凑更快地构建复合应用。然而,特别在复合应用作为多用户共享的可配置服务被传递时,其复杂性会对生命周期的每个阶段的成功造成障碍,该生命周期的每个阶段是:概念、设计、开发、部署、操作和连续发布。此复杂性中的一些对于所解决的问题是固有的,但是其许多是由于未能对待复合应用像它们是新解决方案类型那样人为引入的。
一般地,复合应用是复杂的。它们组合了交叉作用的基于角色的用户体验、基于事例和消息的工作流、可互操作的规范业务服务(每一个通过多选项服务实施被传递)、多用户共享的客户配置、以及安全、日志、监控、自服务售卖、测量、记账等。这些组件中的每一个就其本身来说是挑战,但是都比它们的组合更简单。此外,复合应用经常要求从业务环境到概念服务、到逻辑设计、到物理技术、到可执行代码的正式追溯能力,这不能被现有应用方法连贯地解决。
这些挑战已导致在开发项目、客户合同、服务线供应和投资搭配方面的诸多失败。这些困难负面地影响了代码质量、进入市场的时间、开发和维护成本、和敏捷快速地发布。此外,这些可避免的复杂性经常使软件工程师忘记遵守基于模型驱动架构的良好设计原则,上述模型驱动架构包括依赖于标准化域的平台架构和依赖于平台的便携式域设计。
应当理解,相比之下,通过关注与复合应用相关联的特定问题并通过借助我们的基于角色的域架构(RDA)方法及工具,我们已经开发出一种减少这些解决方案中可避免复杂性的设计方法。如本公开所述,我们已经定义了一种依赖于域的复合应用平台、用于捕获依赖于平台的域模型的适当RDA元模型、以及使可执行设计成为复合应用的事实的密码和配置产生驱动器。本公开描述了用于提供对概念服务的多个实施及其依赖性进行管理的平台的一部分。应当理解,本公开中描述的方法和系统可与关系型数据库管理系统的方法和系统相比,其可以与用于复合的、面向服务的、基于消息的、事件驱动的、多用户共享的、作为服务的软件的数据库设计工具组合,所得到的设计被用于产生配置文件和可在运行时平台上部署的模式化代码。本公开中描述的方法和系统关注于这个大背景下的一个子问题,该问题是关于管理可配置和多用户共享环境中的用于概念服务的多个实施及其依赖性。
图1是示出在复合应用平台环境中的概念服务实施平台(CSIP)的简图。此图仅仅是实施例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。CSIP 100包括下列服务组件(“SI”代表“服务实施”,并且前缀“o-”和“u-”分别指示“拥有”和“使用”服务):服务外观105、服务集成106、消息代理107、消息变换108、SIDSS 110和SI API 111。依靠这些实施,这些服务组件可以被修改、替换和/或组合。应当理解,这些服务组件可以使用其它名词来称谓。作为示例,CSIP 100可以使用一个或多个计算机系统和/或面向服务的架构来实施。CSIP 100的各种组件可以被实施为存储在计算机可读介质上并由处理器运行的软件模块。依靠该应用,CSIP 100的一个或多个组件可以被增加、移除、修改和/或替换。
为了使用CSIP 100,用户与CSIP 100的服务外观105接合。如图1中所示,REST API服务104依赖于服务外观105,服务外观105提供REST API服务104可访问的标准功能。RESTAPI服务104为UI复合客户端102和服务实施103提供接口。例如,UI复合客户端102可以是使用由CSIP 100提供的多个标准操作的复合应用,并且为了访问这些操作,该复合应用使用与服务外观105相互作用的REST API服务104。
服务集成和依赖性支持系统(SIDSS)110执行各种操作并拥有基本对象:(a)服务、基本对象模式、服务依赖性112;(b)服务实施、SI对象模式、模式变换113;(c)客户及其SI挑选114;(d)客户对象实例及其映射115。SIDSS 110通过标准CRUD(创建、检索、更新、删除)操作来揭露这些基本对象。
消息代理107拥有基本对象:Customer Object Instances in Queues(队列中的客户对象实例)。此外,消息代理107揭露操作符oPublish和uSubscribe。
如所示,消息变换108揭露下列操作:Create from SI(从SI创建)、Create To SI(到SI创建)、Read SI(读SI)、Update or delete from SI(从SI更新或删除)、以及Updateor Delete To SI(到SI更新或删除)。这些操作将在下面被描述并在图3至图8中被示出。
服务外观105揭露操作oNew、oChange、oRemove、oGet和uGet。此外,服务外观105与REST API服务104接合。例如,一旦从REST API服务104接收服务请求,服务外观105就运行适当的CSIP操作以满足该服务请求。
服务集成106揭露操作uNew、uChange和uRemove。
CSIP 100的组件彼此一起工作并且相互依赖。这些服务具有如图1所示的下列依赖性:
服务外观105依赖于:(a)SIDSS 110;(b)消息代理107:oPublish;和(c)消息变换108。
服务集成106依赖于:(a)SIDSS 110;(b)消息代理107:uSubscribe;和(c)消息变换108。
消息代理107依赖于SIDSS 110。
消息变换108依赖于(a)SIDSS 110和(b)(被调用)服务实施111。
例如,为了访问和使用CSIP 100,复合应用UI复合客户端102或(调用)服务实施103依赖于REST API服务104,REST API服务104依赖于服务外观105。而且为了访问(被调用的)服务实施111,复合应用通过REST API服务104与CSIP 100交互,REST API服务104依赖于服务外观105、服务传送108、服务实施111。
从图1和上面的描述中可以看出,CSIP 100的许多组件依赖于SIDSS 110。应当理解,SIDSS 110提供允许CSID 100组件的功能彼此操作的依赖性支持,并且提供用于复合应用的服务。
图2是示出用于服务实施和依赖性支持系统(SIDSS)的实体及其关系的简图。此图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。SIDSS 200使用SIDSS表来存储SIDSS所需的数据,从而执行其支持CSIP各种组件的任务,该CSIP组件包括服务外观、服务集成、消息代理和消息变换。SIDSS 200为图中的每个表提供标准CRUD(创建、检索、更新、删除)操作。例如,SIDSS 200可以使用一个或多个网络数据库系统或服务器来实施以存储SIDSS表。例如,这些表中的每个可以被实施为数据库或数据库处的记录条目。
SIDSS数据库200包括:域信息210、服务实施信息220、客户信息230和操作信息240。域信息210包括Domain(域)表211、Service(服务)表212、FundamentalObjectSchema(基本对象模式)表213和ServiceUsersFundamentalObject(服务使用基本对象)表214。服务实施信息220包括ServiceImplementation(服务实施)表221、ServiceImplementationObjectSchema(服务实施对象模式)表222和SchemaTransformation(模式变换)表223。客户信息230包括Customer(客户)表231和CustomerServiceConfiguration(客户服务配置)表232。操作信息240包括FundamentalObjectInstance(基本对象实例)表241、ServiceImplementationObjectInstance(服务实施对象实例)表242和ObjectInstanceMapping(对象实例映射)表243。
该域中的业务数据被表示为存储在FundamentalObjectSchema表213中的一组基本对象,这组基本对象中的每个属于Service表212中的一个服务。这些基本对象模式被列出在FundamentalObjectSchema表213中,该FundamentalObjectSchema表213识别每个对象的OwingService(拥有服务)。一个服务所拥有的基本对象可以被其它服务使用,这些其它服务中的每个被称为UsingService(使用服务)。ServiceUsersFundamentalObject表214存储此信息(即,服务和它们使用的各种基本对象之间的关系)。作为示例,基本对象的结构被表示为存储在FundamentalObjectSchema表213的FundamentalObjectXSD(基本对象XSD)属性中的XML模式设计(XSD)。基本对象的实例被表示为存储在FundamentalObjectInstance表241的FundamentalObjectInstanceXML(基本对象实例XML)属性中的XML文档。这些XML文档符合相应的FundamentalObjectXSD。
ServiceImplementation表221存储关于实施(概念)服务的服务实施的信息。实施OwingService的服务实施(Service Implementation,SI)是用于该OwingService所拥有的基本对象的实例的记录系统。
Customer表231存储关于服务的客户的信息。CustomerServiceConfiguration表232为每个客户存储配置细节;该表具有用于每对(服务、客户)的行,在该行中,ServiceImplementationID(服务实施ID)识别此客户已挑选来实施此服务的服务实施。当引入新客户时向这些表中插入行。CustomerServiceConfiguration表232提供在Service表212中存储的服务与在ServiceImplementation表221中存储的服务实施之间的联系。当用户(或者用户的复合应用)需要使用由CSIP提供的服务并发送服务请求时,SIDSS 200参考各种表来确定使用哪些服务并且确定如何实施这些服务。
位于右侧的服务实施信息表220与位于左侧的域信息表210平行。例如,服务实施对象和相应的基本对象之间的对准在中间的SchemaTransformation表223中被明确。例如,SchemaTransformation表223存储了需要在相应的FundamentalObjectInstanceXML和ServiceImplementationObjectInstanceXML(服务实施对象实例XML)文档之间进行译码的XSLT文件。这些变换也可以包括数据域映射(例如,采用一种表示的“Texas”可以采用另一种表示成“TX”;截断和填充功能等)。
当引入新的服务实施时,在ServiceImplementation表221、ServiceImplementationObjectSchema表222和SchemaTransformation表223中插入新行。新的服务实施可以是CSIP功能的一部分和/或由客户引入。
操作表240包括FundamentalObjectInstance表241、ServiceImplementationObjectInstance表242和ObjectInstanceMapping表243。FundamentalObjectInstance表241和ServiceImplementationObjectInstance表242之间的对象映射被存储在ObjectInstanceMapping表243中。
当在复合应用运行中出现新的实例时,在FundamentalObjectInstance表241、ServiceImplementationObjectInstance表242和ObjectInstanceMapping表243中插入新行。
应当理解,尽管图2中示出的这些表以特定的名字被命名,但也可以使用其它名字。根据应用,图2中的一个或多个表可以被增加、移除、重命名、修改、替换和/或组合。
现在再参考图1。如图1所示,CSIP 100包括消息代理107,其是负责标准发布-订阅操作的组件。
图3至图8是由消息变换108执行的操作的时序图。除了别的之外,这些图提供了SIDSS 110上消息变换操作及其依赖性的细节、以及服务实施111的细节。尽管图3至图8中示出的操作利用特定名字被命名,但应当理解,这些操作及其变体可以使用其它名字来命名,并且它们不应该过分限制权利要求。
图3是用于消息变换操作Create from SI的简化序列图。此图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,在图3中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图3所示,操作消息变换Create from SI包括三个步骤:(i)传送流,其针对来自SIDSS的此客户和服务从CustomerServiceConfiguration表(例如,图2中的元素232)中获取ServiceImplementationID信息;(ii)模式验证,其从SIDSS获取ServiceImplementationObjectXSD(服务实施对象XSD)信息,并使用该信息来检查ServiceImplementationObjectInstanceXML文档;和(iii)变换流,其从SIDSS获取并应用FromServiceImplementationXSLT(从服务实施XSLT),以形成相应的FundamentalObjectInstanceXML文档。
图4是用于消息变换操作Create To SI的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改、和替代物。例如,图4中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图4所示,该操作消息变换Create To SI包括五个步骤:(i)来自SIDSS的传送流;(ii)模式验证,其从SIDSS获取FundamentalObjectXSD并且使用其来检查FundamentalObjectInstanceXML文档;(iii)变换流,其获取并应用ToServiceImplementationXSLT(到服务实施XSLT)以形成相应的ServiceImplementationObjectInstanceXML文档;(iv)适配器流,其获取并应用ServiceImplementationProtocolAdaptor(服务实施协议适配器);和(v)服务实施API调用,其在服务实施(例如,图1中的SI API 111)中创建新的实例。
图5是用于消息变换操作Read SI的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图5中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图5所示,基于由CSIP的服务实施组件处理哪个服务,从SIDSS获取特定信息并处理该信息。
图6是示出使用企业集成模式的消息变换操作Read SI的简图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,一个或多个过程或模块可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图6所示,以标准协议提供请求。在由CSIP的作为“请求分支”一部分的各种模块处理之后,服务实施模块执行所请求的服务,并且“请求分支”以标准协议提供响应。应当理解,CSIP模块是标准模块,其提供可由复合应用使用的功能。为了使用这些模块和功能,用户不必为复合应用定制这些模块;而是,用户简单使用标准输入以使用这些模块。相比之下,现有模块一般要求客户在复合应用中使用这些模块之前定制这些模块,因此经常导致集成问题。
图7和图8是用于由CSIP 100的消息变换组件108执行的操作的简化序列图。图7是用于消息变换操作Update or delete from SI的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图7中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图7所示,Update or delete from SI功能结合SIDSS来执行。
图8是用于消息变换操作Update or Delete To SI的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图8中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图8所示,Update or Delete To SI功能结合SIDSS和服务实施组件被执行。例如,在从SIDSS获取所需信息后,由服务实施组件进行服务实施。
图9至图12是用于由CSIP 100的服务外观105组件执行的操作的简化序列图。尽管图9至图12中示出的操作以特定名字被命名,但应当理解,这些操作及其变体可以使用其它名字被命名,并且它们不应该过分限制权利要求。图9是用于服务外观操作oNew的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图9中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图9所示,oNew操作与消息变换108、SIDSS 110、和CSIP 100的消息代理107组件一起被执行。除此之外,消息代理107执行新的基本对象实例的oPublish。
图10是用于服务外观操作oChange的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图10中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图10所示,oChange操作与消息变换108、SIDSS 110、和CSIP 100的消息代理107组件一起被执行。除此之外,消息代理107执行基本对象实例改变的oPublish。
图11是用于服务外观操作oRemove的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图11中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。如图11所示,oRemove操作与消息变换108、SIDSS 110、和CSIP 100的消息代理107组件一起被执行。除此之外,消息代理107执行基本对象实例移除的oPublish。
图12A和图12B是用于服务外观操作oGet和uGet的简化序列图。这些图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。如图12A所示,oGet功能由CSIP 100的消息变换108执行。图12B示出了uGet功能由CSIP 100的消息变换108执行。
图13A至图13D是用于操作oGet和uGet的使用模式的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,在图13A中,为了使用oGet功能,OwingService的请求去往OwingService的记录系统(例如,存储在在图2中的SDISS 200中)。
图14至图16是用于由CSIP 100的服务集成106组件执行的操作uNew、uChange和uRemove的序列图。尽管图14至图16所示的操作以特定名称被命名,但应当理解,这些操作及其变体可以使用其它名称被命名,并且它们不应该过分限制权利要求。为了执行服务集成106组件的操作,这三个步骤被执行:(i)到消息代理107基本对象队列的uSubscribe;(ii)调用相关的消息变换108操作符;和(iii)对SIDSS 110数据库进行适当更新。
图14是用于服务集成操作uNew的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图14中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。作为示例,过程开始于新建基本对象(FO)实例,其调用服务集成106的uNew操作。uNew操作调用消息变换108的Create To SI操作。由于新的FO被创建,因此SIDSS的相关数据库表被更新。
图15是用于服务集成操作uChange的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图15中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。作为示例,过程开始于对FO实例进行改变,其调用服务集成106的uChange操作。该uChange操作调用消息变换108的Update or Delete To SI操作。由于现有的FO被改变,因此SIDSS的相关数据库表(例如,FundamentalObjectInstance和/或ServiceImplementationObjectInstance)被更新。
图16是用于服务集成操作uRemove的简化序列图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。例如,图16中执行的一个或多个过程可以被增加、移除、修改、替换、重置、重复和/或覆盖。作为示例,过程开始于移除FO实例,其调用服务集成106的uRemove操作。该uRemove操作调用消息变换108的Update or Delete To SI操作。由于现有的FO被移除,因此SIDSS的相关数据库表(例如,FundamentalObjectInstance和/或ServiceImplementationObjectInstance)被更新。
本公开中描述的CSIP通过标准化用于服务实施和集成的架构、设计模式、和可运行平台而简化了多客户共享复合应用。该标准平台降低了风险,提高了质量,缩短了进入市场的时间,并且减少了开发和维护成本。该CSIP 100不仅是一系列设计模式,更是一个实施设计模式的平台。其与用于服务实施和集成的关系型数据库管理系统相似。
因此,CSIP为服务实施和集成提供了可运行设计。其激励了具有快速循环时间的域设计实验,从而改进这些解决方案。该系统的使用可以四个阶段出现:(a)每个域设计;(b)每个服务实施;(c)每个客户建立;和(d)在运行时期间出现的客户实例。自动运行这些使得创建和运行多用户共享复合应用更加容易。这与用于服务实施和集成的数据库设计工具(例如,ERWin)类似。例如,假定两个复合应用都使用由CSIP提供的功能,则两个应用都不需要该功能的专门或定制版本,因为该功能是一个标准CSIP功能;为了将该功能用于不同用途,SIDSS被相应配置。该复合应用具有在SIDSS中存储的不同信息,并且当这两个不同应用使用该功能时,存储在SIDSS中的信息指示该功能如何运行。
而且,CSIP提供了用于解决复合应用的追溯问题的基础。其将用于服务实施和集成的可执行代码和配置与业务环境、概念服务、逻辑设计和物理技术明确关联。其使得可执行设计成为可能。
图17是示出人力资源概念服务设计的简图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改和替代物。人力资源(HR)概念服务设计提供了使用CSIP的示例。用于HR域1700的复合应用包括三种服务:劳动力管理(WFA)1704,工资管理(PAY)1701,和健康&福利(HWB)1707。服务WFA 1704拥有基本对象:员工统计1705和组织结构1706。服务PAY拥有基本对象:银行账户1702和存款分配1703。服务HWB 1707拥有基本对象:选项1708和登记选择1709。服务PAY 1701和HWB 1707都依赖于WFA 1704:检索。PAY 1701还依赖于HWB 1707:检索。例如,域模型也包括FundamentalObjectSchema。
一旦HR域1700被建立,就列出用于每种服务的服务实施。例如,SAP和/或Oracle应用可以用于实施WFA 1704和PAY 1701。作为服务提供的自动数据处理可以被用于实施PAY1701。Towers Perrin(韬睿)和Hewitt(翰威特)实施可以被用于HWB 1707。这些是可并入服务生态系统中的流行HR服务实施的示例。应当理解,这些服务也可以采用其他类型的应用来实施。其他用户或实体也可以具有他们自己的用于这些服务的服务实施。最后,对于WFA、PAY和HWB中的一个或多个,单独的客户可以具有定制的实施或与第三方提供者的合同。
对于这些服务实施中的每一个,需要规定ServiceImplementationObject(服务实施对象)、它们的ServiceImplementationObjectSchema以及这些模式与FundamentalObjectSchema间的XSLT映射。例如,当实施这些服务时,相关信息被键入SIDSS数据库。考虑到服务实施的列表,每个客户为每个服务的实施识别它们的挑选。用于不同客户的新服务消息被自动传送到CSIP的适当服务实施,并且这些消息适当地自动处理。如上所述,用户或客户简单地识别服务功能的实施以便使用CSIP功能,这与现有技术中通常使用的重定义或定制这些服务相反。CSIP组件的参数和行为被标准化,因此,从必须由每个解决方案的拼凑来创建它们中解放了客户或用户。
CSIP的使用被示出在下面的两种使用事例中。操作符如上被定义。箭头(→)指示从CSIP外部的源产生的发起事件。
为了创建新员工,下列步骤被执行:
创建员工
获取新员工信息(即,员工姓名、员工地址)
→WFA oNew员工ID=新建员工(员工姓名、员工地址)
包括:WFA oPublish员工(员工ID、员工姓名、员工地址)
PAY uSubscribe to uNew员工(员工ID、员工姓名、员工地址)
HWB uSubscribe to uNew员工(员工ID、员工姓名、员工地址)
例如,为了创建包括姓名和地址的新员工信息,外部源(例如,终端用户)通过WFA发起oNew操作,该oNew操作通过WFA调用oPublish操作。为了使用oNew操作,WFA访问CSIP的服务外观组件的oNew操作。该oPublish操作由CSIP的消息代理处理。PAY和HWB服务需要访问该新员工信息,并且需要使用消息代理组件的uSubscribe操作和服务集成组件的uNew操作来做这个。
为了提供另一个示例,下列步骤被执行以更新现有员工的信息:
更新员工地址
获取更新的员工地址
→WFA oChange员工(员工ID、更新后的员工地址)
包括:WFA oPublish员工(员工ID、更新后的员工地址)
PAY uSubscribe to uChange员工(员工ID、更新后的员工地址)
创建“新帐号和/或改变存款分配”事例
员工被提供有选项以增加新帐号和/或改变分配
从员工获取新帐号和/或新分配
→PAY oNew账户ID=账户(账户名、银行ID、账户传送号)
PAY oChange更新后的分配列表(员工ID、账户ID、存款比例)
HWB uSubscribe to uChange员工(员工ID、更新后的员工地址)
创建“更新登记选择”事例(例如,用30天计时器)
通过更新的员工地址提供更新的员工合格选项
从员工获取更新的登记选择
→HWB oChange更新的登记选择列表(员工ID、选项ID)
包括HWB oPublish更新的登记选择列表(员工ID、选项ID)
PAY uSubscribe to uChange更新的登记选择列表(员工ID、选项ID)
PAY更新员工的工资减除额以反映更新的登记选择
应当理解,本公开中描述的CSIP系统可以使用各种类型的系统被实施。图18是示出可以用于实施CSIP系统的计算机系统的简图。该图仅仅是示例,其不应该过分限制本文中权利要求的范围。本域技术人员会认识到其它的变体、修改、和替代物。例如,图18中的计算机系统包括用于存储程序指令的计算机可读介质(例如,硬盘、固态存储器、光学驱动器等),该程序指令可以由处理器运行以执行CSIP系统和SIDSS数据库的各种功能。应当理解,CSIP系统可以使用网络计算设备来实施,包括但不限于SOA系统。这里也可以有其他实施例。
尽管上述是对特定实施例的充分描述,但各种修改、可替代结构和等同物可以被使用。因此,以上描述和图示不应该被视为限制由所附权利要求限定的本发明范围。

Claims (15)

1.一种提供一种或多种操作的方法,所述方法包括:
提供具有计算机可读介质的数据库;
在所述计算机可读介质处存储一组域信息,所述域信息包括用于概念服务信息、基本对象信息和服务依赖性信息的域参数;
存储一组服务实施信息,所述服务实施信息包括用于所述基本对象的表示的服务实施参数和用于所述基本对象的服务实施信息,所述服务实施信息与由处理模块可执行的操作相关联;
存储第一组客户配置信息;
至少基于该组客户配置信息初始化所述域参数和所述服务实施参数;
存储一组操作信息;
接收对与第一基本对象相关的操作的第一服务请求;
处理所述第一服务请求以确定第一服务实施;
确定用于执行所述第一服务实施的第一参数;并且
使用与所述第一服务实施相关联的一组操作执行所述第一服务实施。
2.根据权利要求1所述的方法,进一步包括将所述第一参数变换成基本对象的表示。
3.根据权利要求1所述的方法,其中所述域信息包括用于概念服务的数据库表。
4.根据权利要求1所述的方法,进一步包括执行服务更新操作。
5.根据权利要求1所述的方法,进一步包括用于存储所述客户配置信息、所述域信息和所述服务实施信息的数据库。
6.根据权利要求1所述的方法,其中基本对象的多个表示与所述基本对象的第一表示相对应。
7.根据权利要求1所述的方法,进一步包括用于存储所述基本对象的表示与所述基本对象之间的相关性的数据库。
8.根据权利要求1所述的方法,进一步包括运行与所述第一服务实施相关联的多个操作。
9.根据权利要求1所述的方法,其中一组操作信息与所述基本对象相对应。
10.根据权利要求9所述的方法,其中该组操作信息包括基本对象实例、服务实施对象实例以及所述基本对象实例与所述服务实施对象实例之间的映射。
11.根据权利要求1所述的方法,进一步包括将所述第一组客户信息与所述概念服务相关联。
12.一种用于实施和集成概念服务的方法,该方法包括:
提供服务外观模块;
提供消息代理模块;
提供服务集成模块;
提供消息变换模块;
提供服务实施和依赖性支持系统模块,所述服务实施和依赖性支持系统模块提供数据库、创建操作、读操作、更新操作和删除操作,所述服务实施和依赖性支持系统模块包括域表、服务表、基本对象模式表、服务使用基本对象表、服务实施表、服务实施对象模式表、模式变换表、客户表、客户服务配置表、基本对象实例表、服务实施对象实例表以及对象实例映射表;
至少初始化所述域表、所述服务表、所述基本对象模式表、所述服务使用基本对象表、所述服务实施表、所述服务实施对象模式表、所述模式变换表、所述客户表以及所述客户服务配置表;
从至少包括第一规范参数的客户接收第一服务外观操作请求;
处理所述第一服务外观操作请求,以至少使用所述客户服务配置表确定与所述第一服务外观操作请求相关联的第一服务实施,以及
至少使用所述模式变换表确定用于执行所述第一服务外观操作请求的第一服务实施参数,所述第一服务实施参数与所述第一服务实施和所述第一规范参数相关联,并且利用所述第一服务实施参数执行所述第一服务实施。
13.根据权利要求12所述的方法,其中:
所述服务外观模块提供oNew操作、oGet操作、oChange操作、oRemove操作和uGet操作;
所述消息代理模块提供oPublish操作和uSubscribe操作;
所述服务集成模块提供uNew操作、uChange操作和uRemove操作;和
所述消息变换模块提供从SI创建Create From SI操作、到SI创建Create To SI操作、读SI Read SI操作、从SI更新或删除Update or Delete From SI操作以及到SI更新或删除Update or Delete To SI操作。
14.根据权利要求12所述的方法,其中所述服务实施和依赖性支持系统模块包括数据库。
15.一种提供一种或多种操作的装置,该装置包括:
处理模块;
计算机可读介质,包括:
用于在所述计算机可读介质处存储第一组客户配置信息的代码;
用于在所述计算机可读介质中存储一组域信息的代码,所述域信息包括用于概念服务信息、基本对象信息和服务依赖性信息的参数;
用于至少基于该组客户配置信息初始化所述参数的代码;
用于存储一组服务实施信息的代码,所述服务实施信息包括所述基本对象的表示和用于所述基本对象的服务实施信息,所述服务实施信息与由处理模块可运行的操作相关联;
用于存储一组操作信息的代码;
用于接收对与第一基本对象相关的操作的第一服务请求的代码;
用于处理所述第一服务请求以确定第一服务实施的代码;
用于确定用以执行所述第一服务实施的第一参数的代码;和
用于使用与所述第一服务实施相关联的一组操作来执行所述第一服务实施的代码。
CN201280068631.6A 2012-03-29 2012-03-29 用于实施概念服务的方法和装置 Expired - Fee Related CN104081381B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031046 WO2013147780A1 (en) 2012-03-29 2012-03-29 A conceptual services implementation platform

Publications (2)

Publication Number Publication Date
CN104081381A CN104081381A (zh) 2014-10-01
CN104081381B true CN104081381B (zh) 2017-08-04

Family

ID=49260845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280068631.6A Expired - Fee Related CN104081381B (zh) 2012-03-29 2012-03-29 用于实施概念服务的方法和装置

Country Status (4)

Country Link
US (1) US9589037B2 (zh)
EP (1) EP2831751A4 (zh)
CN (1) CN104081381B (zh)
WO (1) WO2013147780A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817994B2 (en) * 2013-10-30 2017-11-14 Oracle International Corporation System and method for integrating a database with a service deployed on a cloud platform
US9705995B2 (en) * 2014-03-18 2017-07-11 Axis Ab Capability monitoring in a service oriented architecture
JP6564026B2 (ja) * 2014-09-26 2019-08-21 オラクル・インターナショナル・コーポレイション マルチテナントアプリケーションサーバ環境におけるトランザクション回復のためのシステムおよび方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532752A (zh) * 2003-03-24 2004-09-29 ��ʿͨ��ʽ���� 服务处理系统、服务处理方法
CN101859318A (zh) * 2010-05-17 2010-10-13 天津大学 一种基于服务网络的服务发现工具的建立方法
CN102377796A (zh) * 2010-08-05 2012-03-14 中国人民解放军国防科学技术大学 基于OSGi的异构服务集成系统及方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604110B1 (en) * 2000-08-31 2003-08-05 Ascential Software, Inc. Automated software code generation from a metadata-based repository
US8027922B2 (en) * 2003-07-14 2011-09-27 Sprint Communications Company L.P. Integration infrastructure
US20060010195A1 (en) * 2003-08-27 2006-01-12 Ascential Software Corporation Service oriented architecture for a message broker in a data integration platform
JP4630618B2 (ja) * 2004-09-29 2011-02-09 キヤノン株式会社 画像生成装置およびその方法
US20070011126A1 (en) * 2005-03-21 2007-01-11 Primitive Logic, Inc. Service-oriented architecture
EP1875664B1 (en) * 2005-04-15 2010-02-24 Esprida Corporation Apparatus and method for managing a network of intelligent devices
US7702746B2 (en) * 2005-04-21 2010-04-20 International Business Machines Corporation Web services response templates
US7873422B2 (en) * 2005-09-02 2011-01-18 Sap Ag Event-based coordination of process-oriented composite applications
WO2008005102A2 (en) * 2006-05-13 2008-01-10 Sap Ag Consistent set of interfaces derived from a business object model
US20070300242A1 (en) * 2006-06-22 2007-12-27 International Business Machines Corporation Automated execution of a business service as an electronic service
US8527577B2 (en) * 2007-05-22 2013-09-03 Oracle International Corporation System and method for configuration-driven deployment
US8250521B2 (en) * 2007-12-14 2012-08-21 International Business Machines Corporation Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
US8549064B2 (en) * 2008-08-12 2013-10-01 Hewlett-Packard Development Company, L.P. System and method for data management
US8495559B2 (en) 2008-09-09 2013-07-23 International Business Machines Corporation Extracting platform independent models from composite applications
US8813024B2 (en) 2008-09-22 2014-08-19 International Business Machines Corporation System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
US8572548B2 (en) 2008-10-08 2013-10-29 Accenture Global Services Gmbh Integrated design application
US9032312B2 (en) 2008-12-15 2015-05-12 Mastercard International Incorporated Platform for generating composite applications
US8856737B2 (en) * 2009-11-18 2014-10-07 Oracle International Corporation Techniques for displaying customizations for composite applications
US20110307289A1 (en) * 2010-06-15 2011-12-15 Lohit Hosur Managing consistent interfaces for customer project invoicing agreement, engineering change case, product design, product design version hierarchy, and project expense view business objects across heterogeneous systems
US9535663B2 (en) * 2010-09-17 2017-01-03 Oracle International Corporation Pattern-based construction and extension of enterprise applications in a cloud computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532752A (zh) * 2003-03-24 2004-09-29 ��ʿͨ��ʽ���� 服务处理系统、服务处理方法
CN101859318A (zh) * 2010-05-17 2010-10-13 天津大学 一种基于服务网络的服务发现工具的建立方法
CN102377796A (zh) * 2010-08-05 2012-03-14 中国人民解放军国防科学技术大学 基于OSGi的异构服务集成系统及方法

Also Published As

Publication number Publication date
CN104081381A (zh) 2014-10-01
US9589037B2 (en) 2017-03-07
US20140344782A1 (en) 2014-11-20
EP2831751A1 (en) 2015-02-04
WO2013147780A1 (en) 2013-10-03
EP2831751A4 (en) 2016-05-11

Similar Documents

Publication Publication Date Title
CN102375731B (zh) 一种免编码集成应用软件平台系统
US7580946B2 (en) Smart integration engine and metadata-oriented architecture for automatic EII and business integration
US8176083B2 (en) Generic data object mapping agent
US8180750B2 (en) Support model integration system and method
CN101821710B (zh) 用于工作流生成、调度和/或执行的系统、方法和图形用户界面
US8752014B2 (en) Configurable software application
CN109716320A (zh) 用于分布式事件处理系统的图生成
CN102810057A (zh) 一种记录日志的方法
US20060212543A1 (en) Modular applications for mobile data system
US20070168926A1 (en) Software customization framework
JP2006512695A (ja) モバイルデータとソフトウェアのアップデートシステムおよび方法
WO2013059797A1 (en) Service based information technology platform
CN104517181B (zh) 一种核电站企业内容管理系统及方法
EP1810131A2 (en) Services oriented architecture for data integration services
KR101944973B1 (ko) 사용자 정의 erp 펑션 공유 방법 및 시스템
US20210103862A1 (en) Methods and apparatus for exposing workflow process definitions as business objects
US20130179797A1 (en) Shared user interface services framework
US8463755B2 (en) System and method for providing collaborative master data processes
CN102332117A (zh) 一种综合成本分析的方法和系统
CN104081381B (zh) 用于实施概念服务的方法和装置
US11282021B2 (en) System and method for implementing a federated forecasting framework
CN101490672A (zh) 智能服务的查询处理
CN116521686B (zh) 动态数据表处理方法、装置、计算机设备及存储介质
Gohar Analyzing Service Oriented Architecture (SOA) in Open Source Products
El-Gayar et al. Distributed Model Management: Current Status and Future Directions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160923

Address after: Texas, USA

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

Address before: Texas, USA

Applicant before: HEWLETT-PACKARD DEVELOPMENT Co.,L.P.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170516

Address after: Texas, USA

Applicant after: HEWLETT-PACKARD DEVELOPMENT CO.,L.P.

Address before: Texas, USA

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170804