CN102402433B - 模型、操作以及实现的分离 - Google Patents

模型、操作以及实现的分离 Download PDF

Info

Publication number
CN102402433B
CN102402433B CN201110307959.6A CN201110307959A CN102402433B CN 102402433 B CN102402433 B CN 102402433B CN 201110307959 A CN201110307959 A CN 201110307959A CN 102402433 B CN102402433 B CN 102402433B
Authority
CN
China
Prior art keywords
managed system
interfaces
dynamic programming
service operations
supplier
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.)
Active
Application number
CN201110307959.6A
Other languages
English (en)
Other versions
CN102402433A (zh
Inventor
S·A·科纳斯曼
E·W·杜登赫费尔
S·博什拉
M·萨诺维茨
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102402433A publication Critical patent/CN102402433A/zh
Application granted granted Critical
Publication of CN102402433B publication Critical patent/CN102402433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及模型、操作以及实现的分离。实施例涉及将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合,以及确定有效的动态编程接口组合。计算机系统确定选定的受管理系统提供了哪些服务操作。该选定的受管理系统被配置以提供各种服务,包括多个不同的服务操作。计算机系统确定受管理系统的受管理系统对象将要与服务操作中的至少一个相组合。计算机系统还将服务操作与受管理系统对象组合,使得新的动态编程接口组合被创建。新的动态编程接口组合被配置以供受管理系统所提供的服务来使用。

Description

模型、操作以及实现的分离
技术领域
本发明涉及将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合,以及确定有效的动态编程接口组合
背景技术
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用程序允许用户执行包括商业应用程序、学校作业、娱乐等等在内的各种各样的功能。软件应用程序通常被设计成执行特定任务,诸如用于草拟文档的文字处理器应用程序或者用于发送、接收和组织电子邮件的电子邮件程序。
在许多情况下,软件应用程序被设计为与其他软件应用程序或其他计算机系统交互。例如,客户机计算机系统可被配置成请求并接收由后端服务器所主存的服务或软件应用程序。在一些情况下,后端服务器的服务可具有各种不同服务操作。这些服务操作一般被绑定到模型对象并将只与那些特定的模型对象一起工作。
发明内容
此处描述的实施例涉及将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合,以及确定有效的动态编程接口组合。在一个实施例中,计算机系统确定选定的受管理系统提供了哪些服务操作。该选定的受管理系统被配置以提供各种服务,包括多个不同的服务操作。计算机系统确定受管理系统的受管理系统对象将要与服务操作中的至少一个相组合。计算机系统还将服务操作与受管理系统对象组合,使得新的动态编程接口组合被创建。新的动态编程接口组合被配置以供受管理系统所提供的服务来使用。
在另一实施例中,计算机系统在选定受管理系统上实现一提供者组件。提供者组件提供包括将服务操作与受管理系统对象组合的各种动态编程接口组合的功能。计算机系统根据哪些动态编程接口组合是由提供者组件所提供的来确定哪些动态编程接口组合对于选定的受管理系统是有效的。计算机系统还接收指示要根据用户提供的属性来对有效动态编程接口组合中的至少一个进行处理的用户(或程序性)输入。
提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的附加特征和优点将在以下描述中阐述,且其一部分根据本描述将是显而易见的,或可通过对此处的原理的实践来获悉。本发明的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的特征将通过以下描述和所附权利要求书变得更加显而易见,或可通过对下文中所述的本发明的实践来获悉。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出了可以运行本发明的各实施例的计算机体系结构,这些实施例包括将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合,以及确定有效的动态编程接口组合。
图2示出了用于将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合的示例性方法的流程图。
图3示出了用于确定有效的动态编程接口组合的示例性方法的流程图。
图4示出了本发明的一实施例,其应用模型、服务和实现是分离的。
具体实施方式
此处描述的实施例涉及将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合,以及确定有效的动态编程接口组合。在一个实施例中,计算机系统确定选定的受管理系统提供了哪些服务操作。该选定的受管理系统被配置以提供各种服务,包括多个不同的服务操作。计算机系统确定受管理系统的受管理系统对象将要与服务操作中的至少一个相组合。计算机系统还将服务操作与受管理系统对象组合,使得新的动态编程接口组合被创建。新的动态编程接口组合被配置以供受管理系统所提供的服务来使用。
在另一实施例中,计算机系统在选定受管理系统上实现一提供者组件。提供者组件提供包括将服务操作与受管理系统对象组合的各种动态编程接口组合的功能。计算机系统根据哪些动态编程接口组合是由提供者组件所提供的来确定哪些动态编程接口组合对于选定的受管理系统是有效的。计算机系统还接收指示要根据用户提供的属性来对有效动态编程接口组合中的至少一个进行处理的用户输入。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是因为一个动作依赖于另一动作在该动作被执行之前完成而需要的。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链接接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言等中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解的是,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可以在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
图1示出了可在其中采用本发明的原理的计算机体系结构100。计算机体系结构100包括受管理系统115。在一些情况下,受管理系统115可以是诸如web服务器、后端服务器、服务提供者等计算机服务器、或这些服务器的集合(即,分布式或基于云的服务器)。受管理系统可包括服务116,服务116本身包括服务操作117。如此处所使用的,服务可包括任何类型的软件功能,包括应用程序、功能、web服务或诸如此类。服务还可包括硬件设备(或对硬件设备的访问)或为用户提供功能的其它装置。服务操作包括部分服务或动作,诸如创建、删除或编写脚本。服务操作可包括单一动作或动作的组合以执行给定操作。因此,例如,如果服务提供在线银行,则多个不同服务操作(包括登录认证、数据库访问等等)用于提供该服务的功能。
服务可与受管理系统对象118交互或以其它方式使用受管理系统对象118。受管理系统对象包括由受管理系统所使用或存储的任何数据文件、数据库(包括各行、列或单元)、用户对象或任何其它数据部分。在一些情况下,服务116在提供服务时实现受管理系统对象118。在一些实施例中,服务或服务操作被具体设计成与某些受管理系统对象一起工作,并在实现服务操作/受管理系统对象组合时使用专用的协议或接口方法。相应的,动态编程接口组合模块120可被配置以将给定的服务操作117A与给定的受管理系统对象118A相组合以形成动态编程接口组合121。这一动态编程接口组合121可被提供给提供者组件110,该提供者组件与用户105进行交互。以此方式,提供者组件可提供对受管理系统能够提供的任何服务操作/受管理系统对象组合的访问。
如图4中所示,系统的模型(受管理系统对象(也叫做实体451)以及对象的相应属性452和关系453)、模型的服务(例如通用服务461和特定服务462)以及目标受管理系统的实现(例如,提供者组件470)可以是分离的。这一分离提供了动态改变模型(即实体、属性和关系)而不会对可针对该模型操作的服务产生影响的能力。这还允许单个模型由多个后端系统(例如,产品和软件打包在一起作为服务)来实现,即使后端系统之间存在语义区别。这一分离确保了对于一个后端服务器的改变不影响任何其它的后端。另外,这些特征的每一个都使调用工具无须理解各个后端系统之间的区别。
本发明清除并将可管理性栈内的组件的各个角色分离为几个不同区域:元数据——对管理域类型、属性以及关系的编码;服务——作用于任何域并提供针对运行时的算法或其它值的通用服务,示例是导航、序列化、查询、CRUD(创建、读取、更新以及删除);提供者——提供与作为管理的目标对象的后端系统有关的服务的整体或部分的实现的插件式组件,每个后端系统类型(SQL服务器、分析服务服务器等)有一个提供者实现;管理运行时——提供接口,用于操纵及查询域和实例数据以及用于运行时所使用的实例数据的本地存储。
在一个实施例中,添加了提供备份功能的可管理性服务。现有系统(例如,结构化查询语言(SQL)服务器)可定义用于启动相应的服务操作117以及服务器、数据库、表以及文件受管理系统对象的备份语义。在这一实施例中,SQL服务器数据库引擎的提供者的实现允许备份服务语义与数据库和文件系统对象相组合,使得备份服务对于数据库和文件系统对象可用。在其它实施例中,提供者组件(例如110)可允许特定服务操作/受管理系统对象组合,同时禁止其它的。
从用户的视角,给定服务(例如备份服务)的使用没有实质性的改变,因为服务本身没有改变。在其中服务可用的上下文(即,服务可用于的受管理系统对象)可在运行时动态地确定。对后端系统(即,受管理系统115)专用的逻辑可被封装在提供者组件中并在根据后端系统连接实例化特定提供者时使用。另外,开发者可能够实现并测试新的提供者而无需改变现有的提供者,并且无需冒着把新的缺陷引入代码的已实现部分中的风险。下面,分别针对图2和图3的方法200和300,更详细地解释这些和其他概念。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示出的框都是实现下面所描述的方法所必需的。
图2示出了用于将服务操作与各种受管理的系统对象组合以形成新的动态编程接口组合的方法200的流程图。现在将频繁参照环境100的组件和数据来描述方法200。
方法200包括确定选定的受管理系统提供了哪些服务操作的动作,其中选定的受管理系统被配置以提供包括多个不同服务操作在内的一个或多个服务(动作210)。例如,受管理系统115可提供各种不同服务操作117,这些服务操作117是服务116的一部分。服务可为用户105提供各种不同类型的功能。在一些情况下,用户登录到受管理系统115或以其它方式向受管理系统115认证以获取对所提供的服务的访问。用户可查询受管理系统以确定其软件版本和软件能力。受管理系统可直接回复查询,或可将版本信息包含在(例如通过提供者组件110)发送给客户端的其它数据中。
如图4中所示,分离的服务组件460可对于管理运行时480可用。服务组件可包括通用服务461和特定服务462。通用服务的非限制性示例可包括但不限于导航、元数据、CRUD、查询、编写脚本、序列化、不同操作以及其它服务。特定服务的非限制性示例可包括但不限于备份服务、策略评估服务及其它。如图4中所示,分离的模型定义组件450可对于管理运行时可用。模型定义组件描述了包含各自具有相关联的属性452和关系453的各种实体(即受管理系统对象)的模型。组件450和460的模型和服务可对提供者组件470可用,提供者组件470被配置以经由服务提供者接口471提供模型和服务的特征(即,动态编程接口组合121),接口映射组件472已将动态编程接口组合的组合的功能映射到服务提供者接口471。
方法200包括确定受管理系统的一个或多个受管理系统对象将与服务操作的至少一个相组合的动作(动作220)。例如,用户105可指示想要使用某个受管理系统对象以及某个服务或服务操作。相应的,在这些情况下,受管理系统115可确定特定的系统对象118和特定的服务操作117将要被组合。在受管理系统115中,可将受管理系统对象(在此也称为实体)与服务操作117分开定义,受管理系统对象包含它们对应的属性和与其它系统对象的关系。由此,服务操作可与多个不同受管理系统对象一起工作。具有特定(特定版本或特定版)语义的服务操作可与系统对象相组合,并经由提供者模块提供给用户。
因此,提供者模块允许实质上任何服务操作与实质上任何受管理对象或实体一起使用,而无论特定语义或对于使用对象或服务的其它特定要求。在此,将可理解的是不要求提供者允许所有的服务被用于所有模型。相反,映射可以是部分的并且客户机应用程序可以被改动以询问给定的操作或模型是否是可用的。此外,可根据用户界面选项对于给定的后端版本是否存在来改动客户机应用程序以显示或隐藏那些选项。
方法200包括将服务操作与受管理系统对象相组合的动作,使得新的动态编程接口组合被创建,其中新的动态编程接口组合被配置以供受管理系统所提供的一个或多个服务使用(动作230)。例如,动态编程接口组合模块120可将服务操作117与受管理系统对象118组合以创建动态编程接口组合121。提供者组件110可被实现以与某些受管理系统对象相组合地向用户提供服务功能。例如,如果服务操作117A是“删除”操作而受管理系统对象118A是“文件”对象,则提供者组件110将为用户提供“删除文件”动态编程接口组合。本领域技术人员将能够理解的是,这只是提供者110可实现的服务操作和系统对象的一个示例,并且实际上可使用服务操作和系统对象的任何组合。
在一些情况下,提供者指示受管理系统支持哪些动态编程接口组合。对于受管理系统所支持的动态编程接口组合,提供者可将动态编程接口组合映射到用户界面供用户选择。相应的,在这些情况下,用户可能够通过访问用户界面来使用由提供者模块所提供的服务操作和受管理系统对象。用户界面将仅呈现对于用户所连接到的那个版本或版的后端系统可用的那些选项。因此,某个软件版本或版所未提供的特征不被显示在用户界面中。
用户105可能够提供将要与用户选择的动态编程接口结合(例如121)使用的各种不同属性。提供者组件可执行选定的动态编程接口组合并将结果映射到受管理系统,用户可在受管理系统处访问结果。用户所提供的属性可被用于动态编程接口组合的执行。在一些情况下,受管理系统特定的逻辑的各个部分可被委托给提供者组件。提供者组件可随后使用所委托的逻辑的向用户提供服务。
在一些实施例中,可添加对于新的受管理系统的支持,而不会影响使用专用于新的受管理系统的提供者的其它受管理系统。换句话说,如果给定的受管理系统已经在使用中,可通过添加新的提供者组件来添加和实现新的受管理系统。因此,在这些情况下,每个后端服务器将具有其自己的提供者,该提供者提供由该版本或该版的后端服务器所提供的那些服务操作和受管理系统对象。由于每个提供者仅提供那些因提供者的对应后端服务器而变得可用的服务和系统对象,每个提供者针对其后端服务器来定制。以此方式,专用于给定受管理系统的提供者可改变受管理系统实现而不影响其它受管理系统。
现在转向图3,图3示出用于确定有效动态编程接口组合的方法300的流程图。现在将频繁参照图1的环境100和图4的环境400的组件和数据来描述方法300。
方法300包括在受管理系统上实现提供者组件的动作,其中提供者组件提供包括将服务操作与受管理系统对象组合在一起的一个或多个动态编程接口组合在内的各种功能(动作310)。例如,提供者组件470可以被实现在受管理系统(例如115)的管理运行时480上。至少在一些情况下,提供者组件提供包括服务提供者接口471、接口映射组件472以及将服务操作117与受管理系统对象118组合在一起的一个或多个动态编程接口组合121在内的功能。如上所指示的,受管理系统对象与由受管理系统所提供的服务操作分开定义。由此,服务操作可被配置成与多个不同的受管理系统对象一起工作,无论正使用哪版或哪个版本的后端服务器。
方法300包括根据哪些动态编程接口组合是由提供者组件所提供的来确定哪些动态编程接口组合对于选定的受管理系统是有效的的动作(动作320)。例如,可根据哪些动态编程接口组合是由提供者组件110所提供的来确定哪些动态编程接口组合121对于特定版本或特定版的受管理系统115是有效的。提供者组件可被配置成向服务提供者接口471提供仅仅那些受管理系统能够提供的服务操作和受管理系统对象。
方法300还包括接收指示将要根据一个或多个用户提供的属性来对有效动态编程接口组合中的至少一个进行处理的用户输入的动作(动作330)。例如,用户105可提供一输入,声明动态编程接口组合121将根据一个或多个用户提供的设置或属性来进行处理。例如,用户可具有在动态编程接口组合的处理期间用户想要实现的规则或策略。提供者组件可实现策略作为提供其对应的受管理系统的服务的一部分。
通过实现经由管理运行时来与其它组件(即模型定义组件和服务组件)进行交互的分离的提供者组件,可在不影响其它受管理系统的情况下改变受管理系统实现。当使用新的(或不同的)受管理系统时,可实现提供该新的或不同的受管理系统的那些服务和受管理系统对象的新的提供者。受管理对象、服务和实现的这一经由提供者的分离允许后端系统被改变或升级而不影响网络中的任何其它受管理系统。此外,这一分离允许动态编程接口被管理,无论该动态编程接口是如何被创建的,并且不需要作出关于接口中包含了什么的假定。与每个受管理系统相关联的提供者组件指示该系统提供了什么。
方法300包括根据用户提供的属性处理所指示的有效动态编程接口组合的动作(动作340)。例如,可使用用户提供的属性来处理有效动态编程接口组合121。因此,用户可规定根据给定的规则或策略来处理动态编程接口组合。
因此,提供了将服务操作和各种受管理系统对象组合以形成新的动态编程接口组合的系统、方法和计算机程序产品。此外,提供了确定对于给定的受管理系统的有效动态编程接口组合的系统、方法和计算机程序产品。经由专用于每个受管理系统的提供者组件来实现有效动态编程接口组合。
本发明可具体化为其他具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (13)

1.一种在包括多个计算系统的计算机联网环境中在包括处理器和存储器的计算机系统处的计算机实现的方法,所述方法用于将服务操作与各种受管理系统对象组合以形成新的动态编程接口组合,所述方法包括:
确定选定的受管理系统(115)提供了哪些服务操作(117)的动作,其中所述选定的受管理系统被配置以提供包括多个不同服务操作在内的一个或多个服务(116);
确定所述受管理系统的受管理系统对象(118)中的一个或多个受管理系统对象将与所述服务操作的至少一个相组合的动作,所述一个或多个受管理系统对象包括由所述受管理系统所使用或存储的数据文件、数据库、或数据对象中的一个或多个,其中所述受管理系统的受管理系统对象与由所述受管理系统所提供的服务操作分开定义,使得所述受管理系统所提供的服务操作能被配置成与多个不同的受管理系统对象一起工作,而不管所述多个不同的受管理系统对象由所述受管理系统的哪个版本实现,即使所述受管理系统的不同版本之间存在语义区别;
将确定要组合的服务操作(117A)与受管理系统对象(118A)相组合的动作,使得新的动态编程接口组合(121)被创建,其中所述新的动态编程接口组合被配置以供由所述受管理系统所提供的一个或多个服务使用。
2.如权利要求1所述的方法,其特征在于,所述服务操作被配置以与多个不同的受管理系统对象一起工作。
3.如权利要求1所述的方法,其特征在于,还包括在所述选定的受管理系统上实现提供者组件的动作,其中所述提供者组件提供包括将所述服务操作与受管理系统对象相组合的一个或多个动态编程接口组合在内的各种功能。
4.如权利要求3所述的方法,其特征在于,所述提供者组件指示所述选定的受管理系统支持哪些动态编程接口组合。
5.如权利要求4所述的方法,其特征在于,对于所述选定的受管理系统所支持的动态编程接口组合,所述提供者组件将所述动态编程接口组合映射到用户界面供用户选择。
6.如权利要求5所述的方法,其特征在于,所述用户提供要与用户选择的动态编程接口组合结合使用的一个或多个属性。
7.如权利要求5所述的方法,其特征在于,所述提供者组件执行所选择的动态编程接口组合并将结果映射到所述受管理系统,其中用户可在受管理系统处访问所述结果。
8.如权利要求3所述的方法,其特征在于,受管理系统专用的逻辑的一个或多个部分被委托给所述提供者组件。
9.如权利要求3所述的方法,其特征在于,还包括使用专用于新的受管理系统的提供者组件来添加对所述新的受管理系统的支持而不影响其它受管理系统的动作。
10.如权利要求3所述的方法,其特征在于,还包括使用专用于被改变的受管理系统的提供者组件来改变所述受管理系统而不影响其它受管理系统的动作。
11.一种用于确定有效动态编程接口组合的方法,所述方法包括:
在选定的受管理系统(115)上实现提供者组件(110)的动作,其中提供者组件提供包括将服务操作(117A)与受管理系统对象(118A)相组合的一个或多个动态编程接口组合(121)在内的各种功能,其中所述选定的受管理系统的受管理系统对象与由所述选定的受管理系统所提供的服务操作分开定义,使得所述选定的受管理系统所提供的服务操作能被配置成与多个不同的受管理系统对象一起工作,而不管所述多个不同的受管理系统对象由所述选定的受管理系统的哪个版本实现,即使所述选定的受管理系统的不同版本之间存在语义区别;
根据哪些动态编程接口组合是由所述提供者组件所提供的来确定哪些动态编程接口组合对于所述选定的受管理系统是有效的动作;
接收指示要根据一个或多个用户提供的属性来对所述有效动态编程接口组合中的至少一个进行处理的用户(105)输入的动作;以及
根据所述用户提供的属性处理所指示的有效动态编程接口组合的动作。
12.如权利要求11所述的方法,其特征在于,还包括使用专用于被改变的受管理系统的提供者组件来改变受管理系统而不影响其它受管理系统的动作。
13.一种在包括多个计算系统的计算机联网环境中在包括处理器和存储器的计算机系统处的计算机实现的系统,所述系统用于将服务操作与各个受管理系统对象组合以形成新的动态编程接口组合,所述系统包括:
用于确定选定的受管理系统(115)提供了哪些服务操作(117)的装置,其中所述选定的受管理系统被配置以提供包括多个不同服务操作在内的一个或多个服务(116);
用于确定所述受管理系统的受管理系统对象(118)中的一个或多个将与所述服务操作的至少一个相组合的装置,其中所述受管理系统的受管理系统对象与由所述受管理系统所提供的服务操作分开定义,使得所述受管理系统所提供的服务操作能被配置成与多个不同的受管理系统对象一起工作,而不管所述多个不同的受管理系统对象由所述受管理系统的哪个版本实现,即使所述受管理系统的不同版本之间存在语义区别;
用于将确定要组合的服务操作(117A)与受管理系统对象(118A)相组合,使得新的动态编程接口组合(121)被创建的装置,其中所述新的动态编程接口组合被配置以供所述受管理系统所提供的一个或多个服务使用;
用于在所述选定的受管理系统上实现提供者组件(110)的装置;以及
用于使用专用于被改变的受管理系统的提供者组件来改变所述受管理系统而不影响其它受管理系统的装置。
CN201110307959.6A 2010-09-30 2011-09-29 模型、操作以及实现的分离 Active CN102402433B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/895,511 US20120084795A1 (en) 2010-09-30 2010-09-30 Model, service and implementation separation
US12/895,511 2010-09-30

Publications (2)

Publication Number Publication Date
CN102402433A CN102402433A (zh) 2012-04-04
CN102402433B true CN102402433B (zh) 2015-09-09

Family

ID=45884667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110307959.6A Active CN102402433B (zh) 2010-09-30 2011-09-29 模型、操作以及实现的分离

Country Status (2)

Country Link
US (1) US20120084795A1 (zh)
CN (1) CN102402433B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10116526B2 (en) * 2016-05-13 2018-10-30 Ivanti, Inc. Systems and methods for providing a self-electing service
US10698571B2 (en) * 2016-12-29 2020-06-30 Microsoft Technology Licensing, Llc Behavior feature use in programming by example

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571801A (zh) * 2008-04-28 2009-11-04 鸿富锦精密工业(深圳)有限公司 业务扩展系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195762A1 (en) * 2002-04-12 2003-10-16 David Gleason Automated workflow
US7225177B2 (en) * 2004-02-19 2007-05-29 Sap Aktiengesellschaft Generating a knowledge base
US20060236327A1 (en) * 2005-04-14 2006-10-19 Credence Systems Corporation GUI-based API for test systems
US8135685B2 (en) * 2006-09-18 2012-03-13 Emc Corporation Information classification
GB0619147D0 (en) * 2006-09-28 2006-11-08 Ibm A method, apparatus or software for managing software component version identifications in a componentised software system
US7882500B2 (en) * 2007-01-02 2011-02-01 International Business Machines Corporation Method and a system for composing an optimally-grained set of service functions
US8171451B2 (en) * 2008-05-09 2012-05-01 International Business Machines Corporation Providing reports as web services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571801A (zh) * 2008-04-28 2009-11-04 鸿富锦精密工业(深圳)有限公司 业务扩展系统及方法

Also Published As

Publication number Publication date
US20120084795A1 (en) 2012-04-05
CN102402433A (zh) 2012-04-04

Similar Documents

Publication Publication Date Title
CN108351765B (zh) 用于生成应用的方法、系统和计算机存储介质
US10572685B1 (en) Protecting sensitive data
ES2765415T3 (es) Aparato, método y programa de procesamiento de datos basado en microservicios
Sharma Evolution of as-a-Service Era in Cloud
CN102541638B (zh) 资源管理系统和方法
US20220004539A1 (en) Privacy preserving architecture for permissioned blockchains
US20120072917A1 (en) Method and apparatus for distributing computation closures
US9934007B2 (en) Method for operating tool in working environment and machine using such method
CN104866513A (zh) 用于跨租户数据访问的系统和方法
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
US8060586B2 (en) Dynamic web service deployment and integration
CN109522751B (zh) 访问权限控制方法、装置、电子设备及计算机可读介质
CN108153716B (zh) 表单处理方法、装置、存储介质及电子设备
CN111868727A (zh) 数据匿名化
US20150242389A1 (en) Techniques to identify user interface elements associated with model violation events
Dib et al. A novel data exploitation framework based on blockchain
WO2012089898A1 (en) Method and apparatus for providing input suggestions
CN102999545A (zh) 高效提供相同类型的多个元数据表示
US8244872B2 (en) Educational adaptive provider architecture
US8978041B2 (en) Service virtualization container
US9043323B2 (en) Method and apparatus for providing search with contextual processing
CN102402433B (zh) 模型、操作以及实现的分离
CN104580428A (zh) 一种数据路由方法、数据管理装置和分布式存储系统
US9141411B2 (en) Model slicing and versioning
WO2009055759A2 (en) Declarative model interpretation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant