CN1776612A - 用于动态的中间件装配的方法和装置 - Google Patents
用于动态的中间件装配的方法和装置 Download PDFInfo
- Publication number
- CN1776612A CN1776612A CNA2005101151387A CN200510115138A CN1776612A CN 1776612 A CN1776612 A CN 1776612A CN A2005101151387 A CNA2005101151387 A CN A2005101151387A CN 200510115138 A CN200510115138 A CN 200510115138A CN 1776612 A CN1776612 A CN 1776612A
- Authority
- CN
- China
- Prior art keywords
- middleware
- profile
- client computer
- middleware component
- service
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software 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示出了根据本发明用于安装所选择的中间件组件的方法的一个实施例;和
图5是使用通用计算设备实现的用于动态中间件配置的本方法的高层方框图。
为了便于理解,在可能的情况下使用了相同的参考号以表示附图共有的相同元件。
具体实施方式
在一个实施例中,本发明是一种用于动态中间件装配的方法和装置。本发明的方法和装置允许应用通过简单地声明需要哪些中间件特性和功能而得到开发、部署和执行;然而,与传统的中间件体系结构不同,不必在客户机处实际存在和/或进行中间件组件的预先安装。当需要时,所需的中间件组件被自动地装配和配置。
图1是一个示意图,示出了根据本发明采用动态中间件系统的示例网络100的一个实施例。网络100包括一个或多个客户机1021-102n(此后被统称为“客户机102”),一个或多个服务1041-104n(此后被统称为“服务104”)和包括多个中间件组件1061-106n(此后被统称为“中间件组件106”)的中间件库108。
每个客户机102,服务104和中间件组件106被以相应的简档定义。所述简档是陈述性说明(例如,元数据),可以将其与其它简档相比较以便动态地选择和配置特定的中间件组件106,所述特定的中间件组件106使得给定的客户机102上的应用能够如以下更详细所述的与特定服务104或其它应用进行交互。在一个实施例中,使用支持中间件功能和特性的要求和/或断言(assertion)的定义的已知的说明性语言来表达一个或多个简档。例如,在一个实施例中,使用一种定义于基于可扩展标记语言(XML)Web服务策略框架内的语言来表达所述简档。
在一个实施例中,每个客户机102被以客户机简档定义,所述客户简档包括功能和非功能要求的陈述性说明,被部署在该客户机上的应用的功能和/或所希望的服务质量。例如,客户机简档可以将安全认证声明为对交互(例如,与服务或其它应用)的要求,可以用仅一次传递语义说明对可靠的消息发送协议的优选使用,或可以要求对用于事务交互的分布式事务互操作协议的支持。在一个实施例中,客户机简档还反映(直接地或间接地)已经被安装在客户机102上的中间件组件106。
在一个实施例中,每个服务104由包括服务的要求和功能的陈述性说明的服务简档定义(例如,类似于客户机简档)。在一个实施例中,服务简档,例如,使用已知的附件机制诸如Web服务策略附件,被附加到实际被部署的服务上。
在一个实施例中,中间件库108内的每个中间件组件106被以包含对该组件的功能和非功能属性的陈述性说明的组件简档定义(例如,类似于客户机或服务简档)。例如,产生安全上下文标志的中间件组件的组件简档可以描述中间件组件支持的功能和安全模型,或者实现事务协调的中间件组件的组件简档可以描述该中间件组件支持的事务模型和事务协议。在另外的实施例中,中间件组件的组件简档可以定义支持的互操作协议和/或支持的服务质量模型。
图2是一个流程图,示出了根据本发明用于动态地装配中间件组件的方法200的一个实施例。方法200可以在,例如,客户机(例如,图1的客户机102)或在网络100上的分立的中间件装配模块处被执行。
方法200从步骤202开始,并且进入步骤204,其中方法200选择(例如,从中间件库108)用于部署在客户机上的一个或多个中间件组件。在一个实施例中,如上面以图1说明的,基于属于客户机、中间件组件和服务中的至少一个的一个或多个简档选择所述中间件组件。
然后,方法200进入步骤206,并且在该客户机处装配所选择的中间件组件。根据步骤206装配所选择的中间件组件包括在该客户机处安装和配置所选择的中间件组件。在一个实施例中,步骤206还包括卸载一个或多个已有或以前被安装的中间件组件。然后方法200在步骤208终止。方法200可以被重复任意次,以便配置用于与一个或多个服务交互的一个或多个客户机或应用。
如上所述,方法200允许存在于客户机处的第一应用简单地指出该第一应用希望与之交互的一个或多个服务或其它应用,并且然后动态地选择和配置支持所希望的交互所必需的中间件组件。因此,除了指出所希望的交互之外,第一应用,或第一应用存在于其上的客户机不需要做任何其它事。
此外,在中间件组件的选择中对简档的使用为应用的开发、部署和执行提供了增强程度的灵活性。例如,中间件组件可以被灵活地分布在应用和服务之间,或者中间件组件可以被“卸载”或“托管(host)”出网络(例如,网络100),以便适应计算环境和/或应用交互要求(例如,计算负载,所需的可靠性或安全级别等等)的变化。例如,应用可能需求对多个数据库的事务调整的支持。一个解决方案是在客户机上本地地安装事务调整中间件组件。另一个解决方案是仅在客户机上安装一个较小的中间件组件,并且使用提供事务调整的远程中间件组件作为服务。后一种情况中的远程组件“托管给”第三方并且由第三方提供。使用本发明的方法,应用可以在不同的时间在这两种选择间灵活地转换。这种灵活性使得实现本发明的动态中间件系统的网络能够在变化的网络、应用和服务状态下更好地响应客户机的需求。
图3是一个流程图,示出了根据本发明用于选择中间件组件(例如,根据方法200的步骤204)的方法300的一个实施例。方法300从步骤302开始,并且进入步骤304,其中方法300确定在中间件组件的选择中是否应当考虑一个或多个环境状态。在一个实施例中,环境状态是影响网络中给定客户机处的中间件组件的选择和装配的任意状态。在一个实施例中,有关的环境状态包括,但不限于,网络状态、负载状态、全局安全策略、事务策略、使用策略和服务专用的(专用于为交互选择的服务)状态。
在一个实施例中,对环境状态的考虑是默认的步骤,但是可被可选择地旁路掉。例如,在客户机已经知道需要哪些中间件组件,并且希望与环境状态无关地安装这些组件(与特定服务交互的要求可能已被以其它方式传递)的情况下,旁路可能是所希望的。客户机仍然需要实现本发明以便进行灵活的中间件装配。
如果方法300在步骤304确定应当考虑一个或多个环境状态,方法300进入步骤306,并且收集和评估有关的环境数据和判据。然后方法300进入步骤308,并且确定是否需要简档匹配步骤。可替换地,如果方法300在步骤304确定没有环境状态需要被考虑,方法300可以旁路掉步骤306,并且直接进入步骤308。在一个实施例中,如果中间件组件将被与特定服务交互无关地安装在客户机处(例如,如果客户机处的应用希望基于由某些方面而不是由特定服务规定的要求安装组件),方法300得出不需要简档匹配的结论;在所有或大多数其它情况下,需要简档匹配。
如果方法300在步骤308确定需要简档匹配,方法300进入步骤310并且执行简档匹配。在一个实施例中,根据步骤310的简档匹配涉及将一个客户机简档与一个或多个服务简档匹配。简档匹配步骤310确定该客户机简档和所述一个或多个服务简档是否兼容,并且如果是的,哪些中间件组件是服务交互所需要的。
在一个实施例中,根据步骤310实施已知的匹配技术。例如,一种适当的匹配技术是Wohlstadter等在“GlueQos:Middleware to SweetenQuality-of-Service Policy Interactions,”Proceedings IEEE 26thInternational Conference on Software Engineering(ICSE’04),Edinburgh,Scotland,United Kingdom,May 2004中所说明的。在一个实施例中,两个或多个简档间的兼容性的可接受的阈值取决于被支持的交互。例如,在一个实施例中,涉及协议的交互要求所述简档被完全匹配。然而,其它交互可以容忍不是完全的或精确的简档匹配。
例如,如果客户机简档指出对安全介质的要求,并且交互所希望的服务的服务简档指出了对相同安全机制的要求,就安全方面而言该客户机简档和服务简档被方法300认为是兼容的。因此,需要在该客户机处安装支持被指出的安全机制的中间件组件。可替换地,如果服务简档指出了对没有被包括在客户机简档中的安全机制的要求,方法300可以仍然认为客户机简档和服务简档是兼容的,并且需要在客户机处安装支持由服务简档指出的安全机制的中间件组件。然而,如果客户机简档明确地说明其不支持服务简档所需的安全(或任意其它的)机制,方法300得出客户机简档和服务简档不兼容的结论,并且该应用和客户机将被认为不能够与所希望的服务交互。
一旦简档匹配被完成,方法300进入步骤312并且确定是否需求中间件搜索(例如,使用中间件组件的库)。然而,如果方法300在步骤308得出不需要简档匹配的结论,则方法300可以旁路掉简档匹配步骤310并且直接进入步骤312。
在一个实施例中,如果支持匹配的客户机和服务的交互所需的一个或多个中间件组件还没有被安装在客户机上,则中间件组件搜索是必需的。如果方法300确定中间件组件搜索是必需的,方法300进入步骤314,并且查询中间件组件库以便定位必需的中间件组件(例如,支持匹配的客户机和服务之间的交互的中间件)。在一个实施例中,使用包含客户机简档,环境数据和简档匹配结果中的一个或多个的数据搜索所述库。然后选择由该库搜索产生的一个或多个中间件组件以便在客户机处安装。在一个实施例中,通过验证该中间件组件与已经安装在客户机上的其它中间件组件的兼容性实现中间件组件的选择。
在某些实施例中,对库的搜索可能不会产生具有所希望的功能的中间件组件,或可能可替换地产生一组可供选择的中间件组件,从其中可以选择一个中间件组件子集以供装配。
一旦已经定位和选择了适当的中间件组件,方法300进入步骤316,并且确定支持该客户机和所希望的服务的交互的所有必需的中间件组件是否已被选择。然而,如果方法300在步骤312确定组件搜索不是必需的,则方法300旁路掉步骤314,并且直接进入步骤316。
如果方法300在步骤316得出所有必需的中间件组件已经被选择的结论,方法300在步骤318终止。可替换地,如果方法300确定仍然需要选择一个或多个附加的中间件组件,方法300返回步骤304并且如上所述那样进行。在一个实施例中,方法300重复该迭代处理直到所有所需的中间件组件已经被选择为止。
图4示出了根据本发明安装所选择的中间件组件(例如,根据方法200的步骤206)的方法400的一个实施例。方法400从步骤402开始,并且进入步骤404,其中方法400在给定的客户机处安装所选择的中间件组件。在一个实施例中,根据步骤404安装中间件组件还涉及为该客户机配置所选择的中间件组件。在一个实施例中,安装中间件组件包括从该客户机的网络下载用于所选择的中间件组件(和它的其它需要的组件)的代码或二进制文件,从该网络将代码或二进制文件推到该客户机,或用于中间件组件安装的其它已知技术。
在步骤406,方法400确定是否需要在该客户机处卸载任何以前安装或以前存在的中间件组件(例如,如果以前存在的中间件组件不再被需要,并且如果其存在与新的中间件组件冲突)。如果方法400得出需要在客户机处卸载一个或多个以前存在的中间件组件的结论,方法400进入步骤408并且卸载所述以前存在的组件。
然后方法400进入步骤410,并且更新客户机简档,以便反映新安装的和/或新卸载的中间件组件以及影响客户机简档的任何其它变化。如果方法400在步骤406得出没有以前存在的中间件简档需要被在客户机处卸载的结论,方法400旁路掉步骤408,并且直接进入步骤410以便更新客户机简档。
在步骤412,方法400确定所有所选择的中间件组件是否已经被安装在该客户机处。如果方法400得出所有所选择的中间件组件已经被安装的结论,方法400在步骤414终止。可替换地,如果方法400确定有一个或多个所选择的中间件组件仍然需要安装,则方法400返回步骤404,并且如上所述那样进行。在一个实施例中,方法400重复该迭代处理直到全部所选择的中间件组件已经被安装在该客户机处为止。
图5是使用通用计算设备500实现的用于动态中间件配置的本方法的高层方框图。通用计算设备500代表,例如,图1中示出的网络100的单个节点(例如,客户机102)。在一个实施例中,通用计算设备500包括处理器502、存储器504、中间件装配模块505和各种输入/输出(I/O)设备506诸如显示器、键盘、鼠标、调制解调器等。在一个实施例中,至少一个I/O设备是存储设备(例如,磁盘驱动器,光盘驱动器,软盘驱动器)。应当理解,中间件组件505可以被实现为通过通信通道被连接到处理器的物理设备或子系统。
可替换地,中间件装配组件505可以由一个或多个软件应用(或甚至是软件和硬件的组合,例如,使用应用专用集成电路(ASIC))表示,其中所述软件被从存储介质(例如,I/O设备506)中装入,并且在通用计算设备500的存储器504中由处理器502操作。因此,在一个实施例中,此处参考前面的附图说明的用于在客户机处动态地选择和在客户机处配置中间件组件的中间件装配模块505可以被存储在计算机可读介质或载体上(例如,RAM,磁的或光学的驱动器的或磁盘等)。
在其它实施例中,本发明的装置或方法可以被作为商业服务提供。例如,企业可以提供服务,或可以提供中间件组件库,可以一个或多个用户应用的名义查询所述中间件组件库,以便定位和/或配置支持所希望的交互的中间件组件。为此,企业可以接收来自用户的指出其希望与之交互的服务或应用的一个或多个请求。然后企业可以如上所述执行一个或多个简档匹配和查询操作,以便正确地配置用户的机器或用于所希望的交互的应用。
因此,本发明在中间件配置领域中表现出了明显的优势。本发明的系统和方法允许通过简单地声明需要哪些中间件特性和功能,动态地开发,部署和执行应用。这使得实现本发明的动态中间件系统的网络能够更好地在改变的网络、应用和服务状态下响应客户的需求。
虽然上述涉及本发明的优选实施例,可以设想出本发明的其它实施例而不脱离由所附的权利要求确定的基本范围和范围。
Claims (31)
1.一种用于在客户机处装配中间件的方法,所述方法包括:
从一个或多个中间件组件的组中选择至少一个中间件组件,所述选择至少部分地基于定义所述客户机的特性的第一简档以及定义所述至少一个中间件组件的特性的第二简档;和
在所述客户机处动态地装配所述至少一个被选择的中间件组件。
2.如权利要求1的方法,其中所述第一简档定义了下面中的至少一个:功能要求,非功能要求,关于驻留在所述客户机上的一个或多个应用的能力和所希望的服务质量。
3.如权利要求1的方法,其中所述第二简档定义了与所支持的功能相关的中间件组件特性。
4.如权利要求3的方法,其中所述第二简档还定义了与下面中的至少一个相关的中间件组件特性:所支持的安全模型,所支持的事务模型,所支持的事务协议,所支持的互操作协议和所支持的服务质量模型。
5.如权利要求1的方法,其中所述至少一个中间件组件被选择,以便支持驻留在所述客户机处的第一应用和一个或多个服务或至少一个第二应用之间的交互。
6.如权利要求5的方法,其中所述选择步骤包括:
识别支持所述交互所需的一个或多个属性;和
选择展示出所述一个或多个属性中的至少一个的至少一个中间件组件,其中所述一个或多个属性中的所述至少一个由所述第二简档表述。
7.如权利要求6的方法,其中所述识别步骤包括:
将所述第一简档与定义所述一个或多个服务或第二应用的一个或多个特性的至少第三简档进行比较,所述比较确认所述第一应用和所述一个或多个服务或所述第二应用是否能够以兼容的方式交互。
8.如权利要求7的方法,其中所述第三简档定义了所述一个或多个服务或所述第二应用的一个或多个要求和能力。
9.如权利要求1的方法,其中所述装配步骤包括:
在所述客户机处安装所述至少一个被选择的中间件组件;和
配置所述至少一个被选择的中间件组件以便在所述客户机处操作。
10.如权利要求9的方法,其中所述装配步骤还包括:
在所述客户机处卸载至少一个已存在的或以前装配的中间件组件。
11.如权利要求1的方法,其中所述选择步骤包括:
在包含一个或多个中间件组件的所述组的库中搜索具有定义了一个或多个所希望的属性的第二简档的中间件组件。
12.如权利要求1的方法,其中所述选择步骤包括:
说明影响所述客户机处的中间件组件的选择和装配的一个或多个环境状态。
13.如权利要求12的方法,其中所述环境状态包括下面的至少一个:网络状态,负载状态,全局安全策略,事务策略和使用策略。
14.一种计算机可读介质,包含用于在客户机处装配中间件的可执行程序,其中所述程序执行如下步骤:
从一个或多个中间件组件的组中选择至少一个中间件组件,所述选择至少部分地基于定义所述客户机的特性的第一简档以及定义所述至少一个中间件组件的特性的第二简档;和
在所述客户机处动态地装配所述至少一个被选择的中间件组件。
15.如权利要求14的计算机可读介质,其中所述第一简档定义了下面中的至少一个:功能要求,非功能要求,关于驻留在所述客户机上的一个或多个应用的能力和所希望的服务质量。
16.如权利要求14的计算机可读介质,其中所述第二简档定义了与所支持的功能相关的中间件组件特性。
17.如权利要求16的计算机可读介质,其中所述第二简档还定义了与下面中的至少一个相关的中间件组件特性:所支持的安全模型,所支持的事务模型,所支持的事务协议,所支持的互操作协议和所支持的服务质量模型。
18.如权利要求14的计算机可读介质,其中所述至少一个中间件组件被选择,以便支持驻留在所述客户机处的第一应用和一个或多个服务或至少一个第二应用之间的交互。
19.如权利要求18的计算机可读介质,其中所述选择步骤包括:
识别支持所述交互所需的一个或多个属性;和
选择展示出所述一个或多个属性中的至少一个的至少一个中间件组件,其中所述一个或多个属性中的所述至少一个由所述第二简档表述。
20.如权利要求19的计算机可读介质,其中所述识别步骤包括:
将所述第一简档与定义所述一个或多个服务或第二应用的一个或多个特性的至少第三简档进行比较,所述比较确认所述第一应用和所述一个或多个服务或所述第二应用是否能够以兼容的方式交互。
21.如权利要求20的计算机可读介质,其中所述第三简档定义了所述一个或多个服务或所述第二应用的一个或多个要求和能力。
22.如权利要求14的计算机可读介质,其中所述装配步骤包括:
在所述客户机处安装所述至少一个被选择的中间件组件;和
配置所述至少一个被选择的中间件组件以便在所述客户机处操作。
23.如权利要求22的计算机可读介质,其中所述装配步骤还包括:
在所述客户机处卸载至少一个已存在的或以前装配的中间件组件。
24.如权利要求14的计算机可读介质,其中所述选择步骤包括:
在包含一个或多个中间件组件的所述组的库中搜索具有定义了一个或多个所希望的属性的第二简档的中间件组件。
25.如权利要求14的计算机可读介质,其中所述选择步骤包括:
说明影响所述客户机处的中间件组件的选择和装配的一个或多个环境状态。
26.如权利要求25的计算机可读介质,其中所述环境状态包括下面的至少一个:网络状态,负载状态,全局安全策略,事务策略和使用策略。
27.一种装置,包括:
用于从一个或多个中间件组件的组中选择至少一个中间件组件的装置,所述选择至少部分地基于定义所述客户机的特性的第一简档以及定义所述至少一个中间件组件的特性的第二简档;和
用于在所述客户机处动态地装配所述至少一个被选择的中间件组件的装置。
28.一种系统,包括:
至少一个客户机,其上驻留了至少一个应用,所述至少一个客户机的特性由第一简档定义;
至少一个服务,其适于与所述至少一个应用交互,所述至少一个服务的特性由第二简档定义;和
一个或多个中间件组件的组,一个或多个中间件组件的所述组中的至少一个适于使得所述至少一个应用和所述至少一个服务的交互易于进行,一个或多个中间件组件的所述组的特性由相应的第三简档定义;和
中间件装配模块,其适于通过比较所述第一,第二和第三简档中的至少两个,选择一个或多个中间件组件的所述组中的至少一个以便在所述至少一个客户机处进行装配。
29.如权利要求28的系统,其中所述中间件装配模块驻留在所述至少一个客户机上。
30.如权利要求28的系统,其中所述中间件装配模块是一个分立模块。
31.如权利要求28的系统,其中一个或多个中间件组件的所述组被存储在中间件组件库内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/991,149 | 2004-11-17 | ||
US10/991,149 US7797698B2 (en) | 2004-11-17 | 2004-11-17 | Method and apparatus for dynamic middleware assembly |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1776612A true CN1776612A (zh) | 2006-05-24 |
CN100356322C CN100356322C (zh) | 2007-12-19 |
Family
ID=36387683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101151387A Active CN100356322C (zh) | 2004-11-17 | 2005-11-10 | 用于动态的中间件装配的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7797698B2 (zh) |
CN (1) | CN100356322C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833460A (zh) * | 2009-02-10 | 2010-09-15 | 索尼公司 | 用于配置多个软件简档的系统和方法 |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US8655756B2 (en) | 2004-06-04 | 2014-02-18 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7797698B2 (en) * | 2004-11-17 | 2010-09-14 | International Business Machines Corporation | Method and apparatus for dynamic middleware assembly |
US8402426B2 (en) | 2005-12-30 | 2013-03-19 | Sap Ag | Architectural design for make to stock application software |
US8327319B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Software model process interaction |
US8370794B2 (en) | 2005-12-30 | 2013-02-05 | Sap Ag | Software model process component |
US8448137B2 (en) | 2005-12-30 | 2013-05-21 | Sap Ag | Software model integration scenarios |
US8396731B2 (en) | 2005-12-30 | 2013-03-12 | Sap Ag | Architectural design for service procurement application software |
US8321831B2 (en) | 2005-12-30 | 2012-11-27 | Sap Ag | Architectural design for internal projects application software |
US8407664B2 (en) | 2005-12-30 | 2013-03-26 | Sap Ag | Software model business objects |
US8380553B2 (en) | 2005-12-30 | 2013-02-19 | Sap Ag | Architectural design for plan-driven procurement application software |
US8326703B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Architectural design for product catalog management application software |
US8316344B2 (en) | 2005-12-30 | 2012-11-20 | Sap Ag | Software model deployment units |
US8676617B2 (en) | 2005-12-30 | 2014-03-18 | Sap Ag | Architectural design for self-service procurement application software |
US8522194B2 (en) | 2005-12-30 | 2013-08-27 | Sap Ag | Software modeling |
US8538864B2 (en) | 2006-03-30 | 2013-09-17 | Sap Ag | Providing payment software application as enterprise services |
US8326702B2 (en) | 2006-03-30 | 2012-12-04 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8442850B2 (en) | 2006-03-30 | 2013-05-14 | Sap Ag | Providing accounting software application as enterprise services |
US8396761B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing product catalog software application as enterprise services |
US8438119B2 (en) | 2006-03-30 | 2013-05-07 | Sap Ag | Foundation layer for services based enterprise software architecture |
US8396749B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing customer relationship management application as enterprise services |
US8321832B2 (en) | 2006-03-31 | 2012-11-27 | Sap Ag | Composite application modeling |
US8312416B2 (en) * | 2006-04-13 | 2012-11-13 | Sap Ag | Software model business process variant types |
US8811396B2 (en) | 2006-05-24 | 2014-08-19 | Maxsp Corporation | System for and method of securing a network utilizing credentials |
US8898319B2 (en) * | 2006-05-24 | 2014-11-25 | Maxsp Corporation | Applications and services as a bundle |
US9830145B2 (en) * | 2006-08-14 | 2017-11-28 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for infrastructure and middleware provisioning |
US9317506B2 (en) | 2006-09-22 | 2016-04-19 | Microsoft Technology Licensing, Llc | Accelerated data transfer using common prior data segments |
US7844686B1 (en) | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US9088518B2 (en) | 2007-01-25 | 2015-07-21 | Hewlett-Packard Development Company, L.P. | Web services and telecom network management unification |
US20090094616A1 (en) * | 2007-10-04 | 2009-04-09 | Delima Roberto | Comparing Middleware Configurations |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US7945613B2 (en) * | 2007-12-05 | 2011-05-17 | International Business Machines Corporation | Method for non-disruptively associating applications and middleware components with information technology infrastructure |
US8230113B2 (en) * | 2007-12-29 | 2012-07-24 | Amx Llc | System, method, and computer-readable medium for development and deployment of self-describing controlled device modules in a control system |
US8315900B2 (en) | 2007-12-31 | 2012-11-20 | Sap Ag | Architectural design for self-service procurement application software |
US8510143B2 (en) | 2007-12-31 | 2013-08-13 | Sap Ag | Architectural design for ad-hoc goods movement software |
US8401936B2 (en) | 2007-12-31 | 2013-03-19 | Sap Ag | Architectural design for expense reimbursement application software |
US8671032B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Providing payment software application as enterprise services |
US8671033B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Architectural design for personnel events application software |
US8671034B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Providing human capital management software application as enterprise services |
US8447657B2 (en) | 2007-12-31 | 2013-05-21 | Sap Ag | Architectural design for service procurement application software |
US8176114B2 (en) * | 2008-02-28 | 2012-05-08 | Oracle International Corporation | Distributed cross-application server deployment |
US8818884B2 (en) | 2008-09-18 | 2014-08-26 | Sap Ag | Architectural design for customer returns handling application software |
US8321250B2 (en) | 2008-09-18 | 2012-11-27 | Sap Ag | Architectural design for sell from stock application software |
US8374896B2 (en) | 2008-09-18 | 2013-02-12 | Sap Ag | Architectural design for opportunity management application software |
US8352338B2 (en) | 2008-09-18 | 2013-01-08 | Sap Ag | Architectural design for time recording application software |
US8380549B2 (en) | 2008-09-18 | 2013-02-19 | Sap Ag | Architectural design for embedded support application software |
US8326706B2 (en) | 2008-09-18 | 2012-12-04 | Sap Ag | Providing logistics execution application as enterprise services |
US8315926B2 (en) | 2008-09-18 | 2012-11-20 | Sap Ag | Architectural design for tax declaration application software |
US8386325B2 (en) | 2008-09-18 | 2013-02-26 | Sap Ag | Architectural design for plan-driven procurement application software |
US8401928B2 (en) | 2008-09-18 | 2013-03-19 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8595077B2 (en) | 2008-09-18 | 2013-11-26 | Sap Ag | Architectural design for service request and order management application software |
US8359218B2 (en) | 2008-09-18 | 2013-01-22 | Sap Ag | Computer readable medium for implementing supply chain control using service-oriented methodology |
US8321306B2 (en) | 2008-12-03 | 2012-11-27 | Sap Ag | Architectural design for selling project-based services application software |
US8738476B2 (en) | 2008-12-03 | 2014-05-27 | Sap Ag | Architectural design for selling standardized services application software |
US8311904B2 (en) | 2008-12-03 | 2012-11-13 | Sap Ag | Architectural design for intra-company stock transfer application software |
US8321308B2 (en) | 2008-12-03 | 2012-11-27 | Sap Ag | Architectural design for manual invoicing application software |
US8401908B2 (en) | 2008-12-03 | 2013-03-19 | Sap Ag | Architectural design for make-to-specification application software |
US8671035B2 (en) | 2008-12-11 | 2014-03-11 | Sap Ag | Providing payroll software application as enterprise services |
JP5315128B2 (ja) * | 2009-05-25 | 2013-10-16 | 株式会社日立製作所 | 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法 |
US9104506B2 (en) * | 2009-11-27 | 2015-08-11 | International Business Machines Corporation | Assembly and deployment of multi-platform flow-based applications |
US8701128B2 (en) | 2011-02-14 | 2014-04-15 | General Electric Company | Method, system and computer program product for a client application programming interface (API) in a service oriented architecture |
US9268669B2 (en) * | 2012-01-17 | 2016-02-23 | Microsoft Technology Licensing, Llc | Application quality testing time predictions |
US9038025B1 (en) | 2012-05-24 | 2015-05-19 | Allstate Insurance Company | Technical interaction model |
US10263854B2 (en) * | 2012-06-13 | 2019-04-16 | Oracle International Corporation | System and method for supporting version based routing in a transactional middleware machine environment |
US9286032B2 (en) | 2013-03-15 | 2016-03-15 | International Business Machines Corporation | Automated software composition |
US10079719B2 (en) | 2016-06-29 | 2018-09-18 | International Business Machines Corporation | Automatically tuning middleware in a mobilefirst platform running in a docker container infrastructure |
WO2023191840A1 (en) * | 2022-03-29 | 2023-10-05 | Oracle International Corporation | Semi-automated deployment for an intra-service communication infrastructure |
CN115766430A (zh) * | 2022-11-21 | 2023-03-07 | 中电云数智科技有限公司 | 一种基于已孵化中间件实例部署集群服务的方法 |
US11983541B1 (en) | 2023-05-19 | 2024-05-14 | Lowe's Companies, Inc. | Operation-specific device configuration |
US11782730B1 (en) | 2023-05-19 | 2023-10-10 | Lowe's Companies, Inc. | Operation-specific file system |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892953A (en) * | 1991-04-15 | 1999-04-06 | International Business Machines Corporation | Corrective service facility |
US5805897A (en) * | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
US5960204A (en) * | 1996-10-28 | 1999-09-28 | J.D. Edwards World Source Company | System and method for installing applications on a computer on an as needed basis |
KR100248045B1 (ko) * | 1997-05-19 | 2000-03-15 | 윤종용 | 하드디스크마스터제작시스템및그제작방법 |
US6351850B1 (en) * | 1997-11-14 | 2002-02-26 | Frank Van Gilluwe | Computer operating system installation |
US6378128B1 (en) * | 1998-10-08 | 2002-04-23 | Microsoft Corporation | System and method for dynamically modifying an install-set |
US6279154B1 (en) * | 1998-10-13 | 2001-08-21 | Hewlett-Packard Company | Apparatus and method for an install system for third party applications |
US6301708B1 (en) * | 1998-11-12 | 2001-10-09 | Hewlett-Packard Company | Software installation process using abstract data and program files |
US6401238B1 (en) * | 1998-12-10 | 2002-06-04 | International Business Machines Corporation | Intelligent deployment of applications to preserve network bandwidth |
US7062765B1 (en) * | 1999-05-25 | 2006-06-13 | Realnetworks, Inc. | System and method for updating information via a network |
US6681392B1 (en) * | 1999-12-15 | 2004-01-20 | Lexmark International, Inc. | Method and apparatus for remote peripheral software installation |
US6721946B1 (en) * | 2000-09-28 | 2004-04-13 | Dell Products L.P. | Method and system for installing software on a computer |
US6494979B1 (en) * | 2000-09-29 | 2002-12-17 | The Boeing Company | Bonding of thermal tile insulation |
US6918112B2 (en) * | 2000-11-29 | 2005-07-12 | Microsoft Corporation | System and method to facilitate installation of components across one or more computers |
JP2002238003A (ja) * | 2000-12-07 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 動画再生用ミドルウェア選択実行装置および方法 |
US6769118B2 (en) * | 2000-12-19 | 2004-07-27 | International Business Machines Corporation | Dynamic, policy based management of administrative procedures within a distributed computing environment |
US7228189B1 (en) * | 2000-12-27 | 2007-06-05 | Gaddy John C | Synchronized streamed playback and recording for personal computers |
US6996588B2 (en) * | 2001-01-08 | 2006-02-07 | International Business Machines Corporation | Efficient application deployment on dynamic clusters |
US7353281B2 (en) * | 2001-08-06 | 2008-04-01 | Micron Technology, Inc. | Method and system for providing access to computer resources |
US20030037327A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Run-time rule-based topological installation suite |
US20030037328A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Extending installation suites to include topology of suite's run-time environment |
US6854112B2 (en) * | 2001-08-29 | 2005-02-08 | International Business Machines Corporation | System and method for the automatic installation and configuration of an operating system |
US6985939B2 (en) * | 2001-09-19 | 2006-01-10 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US7185336B2 (en) * | 2002-04-03 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | System and method for selecting and installing a device driver |
US20040098715A1 (en) * | 2002-08-30 | 2004-05-20 | Parixit Aghera | Over the air mobile device software management |
US7505872B2 (en) * | 2002-09-11 | 2009-03-17 | International Business Machines Corporation | Methods and apparatus for impact analysis and problem determination |
US7096459B2 (en) * | 2002-09-11 | 2006-08-22 | International Business Machines Corporation | Methods and apparatus for root cause identification and problem determination in distributed systems |
US7478395B2 (en) * | 2002-09-23 | 2009-01-13 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware application message/event model |
US7194737B2 (en) * | 2002-10-02 | 2007-03-20 | Infinity Systems Software, Inc. | System and method for expediting and automating mainframe computer setup |
US7228542B2 (en) * | 2002-12-18 | 2007-06-05 | International Business Machines Corporation | System and method for dynamically creating a customized multi-product software installation plan as a textual, non-executable plan |
US7203937B1 (en) * | 2003-01-09 | 2007-04-10 | Microsoft Corporation | Software installation and configuration with specific role for target computer and identity indicator for authorization for performance of features |
GB2400687B (en) * | 2003-04-16 | 2005-04-06 | Schlumberger Holdings | Acquisition and control system |
US7340739B2 (en) * | 2003-06-27 | 2008-03-04 | International Business Machines Corporation | Automatic configuration of a server |
US7562346B2 (en) * | 2003-09-02 | 2009-07-14 | Microsoft Corporation | Software componentization for building a software product |
JP2005107803A (ja) * | 2003-09-30 | 2005-04-21 | Hitachi Ltd | システム更新方法、および、それを実行するための計算機システム |
US7103874B2 (en) * | 2003-10-23 | 2006-09-05 | Microsoft Corporation | Model-based management of computer systems and distributed applications |
DE10356368A1 (de) * | 2003-11-28 | 2005-06-23 | Abb Patent Gmbh | System und Verfahren zum automatischen Installieren, Verifizieren und Konfigurieren von Funktionalitäten in den Systemkomponenten eines verteilten Netzwerkes |
US20050120344A1 (en) * | 2003-12-02 | 2005-06-02 | International Business Machines Corporation | Optimal component installation |
US7676448B2 (en) * | 2004-03-12 | 2010-03-09 | Microsoft Corporation | Controlling installation update behaviors on a client computer |
US8458691B2 (en) * | 2004-04-15 | 2013-06-04 | International Business Machines Corporation | System and method for dynamically building application environments in a computational grid |
US8156489B2 (en) * | 2004-05-21 | 2012-04-10 | Computer Associates Think, Inc. | Distributed installation configuration system and method |
US7363623B2 (en) * | 2004-08-05 | 2008-04-22 | Canon Kabushiki Kaisha | Services of remote software installation, configuration and afterward support, for network connected peripherals |
US7500237B1 (en) * | 2004-08-16 | 2009-03-03 | Sun Microsystems, Inc. | Installation builder integrated development environment |
US20060080656A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US20060130054A1 (en) * | 2004-11-12 | 2006-06-15 | Research In Motion Limited | System and method for downloading or enabling download of a program from a program store location |
US7797698B2 (en) * | 2004-11-17 | 2010-09-14 | International Business Machines Corporation | Method and apparatus for dynamic middleware assembly |
-
2004
- 2004-11-17 US US10/991,149 patent/US7797698B2/en not_active Expired - Fee Related
-
2005
- 2005-11-10 CN CNB2005101151387A patent/CN100356322C/zh active Active
-
2010
- 2010-08-09 US US12/853,037 patent/US8645945B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833460A (zh) * | 2009-02-10 | 2010-09-15 | 索尼公司 | 用于配置多个软件简档的系统和方法 |
CN101833460B (zh) * | 2009-02-10 | 2015-04-22 | 索尼公司 | 用于配置多个软件简档的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US7797698B2 (en) | 2010-09-14 |
US20060106842A1 (en) | 2006-05-18 |
US20100306761A1 (en) | 2010-12-02 |
US8645945B2 (en) | 2014-02-04 |
CN100356322C (zh) | 2007-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1776612A (zh) | 用于动态的中间件装配的方法和装置 | |
US8667482B2 (en) | Automated application modeling for application virtualization | |
US10715630B2 (en) | Common information model interoperability system | |
US6892382B1 (en) | Method and apparatus for implementing deployment descriptors in an enterprise environment | |
KR101376916B1 (ko) | 소프트웨어 애플리케이션을 신규 버전의 소프트웨어 애플리케이션으로 점진적으로 업그레이드하기 위한 방법, 기계 판독가능 저장 매체를 포함하는 제품 및 장치 | |
US6301710B1 (en) | System and method for creating a substitute registry when automatically installing an update program | |
US6408434B1 (en) | System and method for using a substitute directory to automatically install an update program | |
US9954819B2 (en) | System and method for compliance based automation | |
US7810107B2 (en) | Dynamic portal registration of generic data source | |
US20080114770A1 (en) | Attribute level federation from multiple data sources | |
US7921419B2 (en) | Method and mechanism for managing incompatible changes in a distributed system | |
US20070061477A1 (en) | Plug And Play Device Redirection For Remote Systems | |
CN1964356B (zh) | 数据处理方法和系统 | |
US20070067440A1 (en) | Application splitting for network edge computing | |
CN1959713A (zh) | 存储商务文档的计算机实现方法、系统以及程序产品 | |
US8423561B2 (en) | Method and system for simplifying object mapping for a user interface | |
CN1900928A (zh) | 用于访问文件系统快照和文件系统的方法 | |
US9286083B2 (en) | Satisfying missing dependencies on a running system | |
WO2007089385A1 (en) | Download service for device drivers | |
US20020194171A1 (en) | Method and system for integrated service administration via a directory service | |
US11526346B1 (en) | Zero downtime application package deployment | |
EP1050813A2 (en) | Method and apparatus for implementing deployment descriptions in an enterprise environment | |
US20100235821A1 (en) | Storing and loading server-side application extensions in a cluster environment | |
US8136087B2 (en) | In-line processing of standardized text values | |
US10129213B2 (en) | System and method for compliance based automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |