分布式、可扩展应用程序的创建和部署的制作方法

文档序号:6478560阅读:149来源:国知局
专利名称:分布式、可扩展应用程序的创建和部署的制作方法
分布式、可扩展应用程序的创建和部署背景安装在分布式计算网络上的软件允许用户创建利用主存在分开的服务器群集上的多个服务的端对端应用程序和解决方案。这些端对端应用程序可包含诸如商业数据、页 面设计、页面布局、以及业务逻辑等组件,其各自都可任选地分布在不同服务器群集上。由 于这些应用程序的分布式特性,其部署在诸如协调、认证、内容保真、冲突管理、以及可伸缩 性等领域造成了各种困难。例如,随着可用服务的数量快速增长,这些应用程序必须按照可 将未来的服务容易并灵活地合并到该应用程序中同时保留与之前创建的应用程序的完全 向后兼容性的方式扩展。发明概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定 所要求保护的主题的范围。创建分布式应用程序的方法包括从远程服务器群集上可用的组件的列表中选择 一组组件。从远程服务器群集接收安装所选组件所需的数据。响应于所接收到的数据创建 指令的列表并存储该指令的列表。一种有形计算机可读介质具有用于创建分布式应用程序的计算机可读指令。这些 指令包括从分布式计算机系统上可用的服务的列表中选择服务。选择所选服务上可用的组 件。从分布式计算机系统接收涉及所选组件的安装数据。响应于所接收到的数据创建包文 件。存储该包文件。用于集中化分布式计算应用程序的控制的系统包括处理器和计算机可读介质。系 统还包括存储在计算机可读介质上并在处理器上执行的操作环境。还包括存储在计算机可 读介质上并在处理器上执行的解决方案框架。该解决方案框架被配置成从服务器群集上可 用的服务的列表中选择服务。选择所选服务上可用的组件。从所选的服务处接收涉及所选 组件的安装数据。响应于所接收到的数据创建包文件。随后将该包文件存储在计算机可读 介质上。通过阅读以下具体实施方式
并查阅相关联的附图,这些和其他特征和优点将是显 而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不是限制性的。此 处所述的各实施例可被具体化为方法、设备、或其组合等。同样,各实施例可采用完全硬件 实施例、完全软件实施例或者结合软件和硬件方面实施例的形式。因此,本文并非是局限性 的。附图简述在附图中,相同标号表示相同元素。

图1是用于实现此处所述的计算机实现的方法的操作环境的框图;图2是示出用于实现解决方案框架的操作环境的框图;图3是示出包文件的实现的图示;图4是示出选择一组组件的操作的流程图5是示出创建包文件的操作的流程图;以及图6是示出在分布式计算环境上部署包文件的操作的流程图。各实现的详细描述现在参考其中相同的标号代表相似的元素的附图,描述各实施例。具体地,图1和 相应的讨论旨在提供对在其中可以实现各实施例的合适计算环境的简要、概括描述。一般而言,提供负责在最终用户与服务群集之间接口的解决方案框架。解决方案 框架可集中化分布式应用程序的创建和部署两者。在分布式应用程序的创建和部署两者中 存在许多优点。例如,分布式应用程序可利用位于多个不同远程服务器上的多个服务上的 组件以将许多分开的服务的功能组合成单个应用程序。解决方案框架通过担当创建用户界面与服务的群集之间的中介来集中化分布式 应用程序的创建。然而,在允许用户创建集成具体服务的包文件之前,用户可能需要向服务 认证。解决方案框架还可通过将用户凭证信息传递到服务器群集中的每一个来集中化此认 证进程。解决方案框架可随后允许被认证的用户通过选择在服务群集中可用的各组件来定 义分布式应用程序。响应于应用程序的定义,创建包文件。通过使用基于文件的内容被包 括在文件内的水印元数据来维护包文件的内容保真度。在安装应用程序之前,可将包文件从定义该应用程序的用户处传输到另一用户 处,或仅仅由定义该应用程序的用户安装。在安装期间,冲突解决也可由解决方案框架集中 化地控制。一旦解决了冲突,解决方案框架可向所有相关服务群集通信并基于所定义的包 文件将组件安装在正确位置。现参考图1,将描述在各实施例中利用的计算机100的说明性计算机体系结构。图 1所示的计算机体系结构可被配置为台式或移动计算机,并且包括中央处理单元5(CPU)、 包括随机存取存储器9 ( “RAM”)和只读存储器(“ROM”) 10的系统存储器7、以及将存储器 耦合至CPU 5的系统总线12。基本输入/输出系统存储在ROM 10中,它包含帮助在诸如启动期间在计算机内元 件之间传递信息的基本例程。计算机100还包括用于存储操作系统16、应用程序24和解决 方案框架26等的大容量存储设备14,这将在以下更为详尽地描述。大容量存储设备14通过连接至总线12的海量存储控制器(未示出)连接到CPU 5。大容量存储设备14及其相关联的计算机可读介质为计算机100提供非易失性存储。虽 然此处包含的计算机可读介质的描述针对诸如硬盘或CD-ROM驱动器等大容量存储设备, 但是计算机可读介质可以是能够由计算机100访问的任何可用介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计 算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其它数据等信息的任 何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括 但不限于,RAM、ROM、EPROM、EEPR0M、闪存或其它固态存储器技术、CD-ROM、数字多功能盘 (“DVD”)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所 需信息且可以由计算设备100访问的任何其它介质。根据各实施例,计算机100可以使用通过诸如因特网等网络18与远程计算机的逻 辑连接在网络化环境中操作。计算机100可以通过连接至总线12的网络接口单元20来连 接到网络18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其它类型的网络和远程计算机系统。计算机100还可以包括用于接收和处理来自多个其它设 备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图1中示 出)。 类似地,输入/输出控制器22可以为显示屏28、打印机或其它类型的输出设备提 供输出。如前简述地,多个程序模块和数据文件可以存储在计算机100的大容量存储设备 14和RAM 9内,包括适于控制联网的个人计算机操作的操作系统16,如华盛顿州雷蒙德市 的微软公司的WINDOWS VISTA操作系统。大容量存储设备14和RAM 9还可以存储一个或 多个程序模块。具体地,大容量存储设备14和RAM 9可以存储一个或多个应用程序24。例 如,大容量存储设备14可存储解决方案框架26。解决方案框架26集中化分布式应用程序 的部署和安装。图2示出解决方案框架26在其中操作的环境的实现。解决方案框架26工作可耦 合到服务的群集230。服务的群集230可通过诸如因特网或外联网等网络耦合到解决方案 框架26。服务的群集230可包括N个独立服务——服务232、234和236。可将各个服务存 储在分开的位置。例如,可将服务230存储在第一位置处的第一服务器上,且可将服务240 存储在第二位置处的第二服务器上。在其它实现中,可将多个服务存储在单个位置处。因 此,解决方案框架可独立于各个服务的位置来操作。每一服务可提供各种形式的功能。例如,服务可包括商业数据、页面设计或布局。 在其它示例中,服务可包括业务逻辑。在另一些其它示例中,服务可包括任何其它形式的功 能。解决方案框架26还可耦合到创建界面210和部署界面220。创建界面210可提 供允许用户定义包括一组所选服务的包文件的界面。部署界面220可提供允许用户部署包 文件以安装一组所选服务的界面。在某些实现中,这些界面可以是以诸如超文本标记语言 (HTML)或可扩展标记语言(XML)等标记语言编码的web界面。在其它实现中,这些界面可 是以诸如C#或Java等其它语言编码的。创建界面210可位于第一位置处的第一计算环境上并允许第一用户创建包文件, 而部署界面220可位于第二位置处的第二计算环境上并允许第二用户部署包文件。在此 类实现中,可将包文件从第一计算环境传输到第二计算环境。此传输可通过任何方式的文 件传输来达成。例如,可将文件编码在计算机可读介质上,如物理地传输到第二计算环境的 盘。在其它示例中,可通过两个计算环境之间的网络连接电子地传输文件,如通过在因特网 上发送的电子邮件附件的方式。在其它实现中,创建界面210和部署界面220可位于同一计算环境上。在此类实 现中,同一用户既可创建又可部署来自相同计算环境的包文件。此外,在此类实现中,可避 免以上所需的包文件的传输。因此,解决方案框架26管理并集中化包文件和创建和包文件的部署两者。图3示出包文件300的实现。包文件300可包括从位0到位767的768位。包文 件300可包括从位0到位31的头部部分。包文件300还可包括描述所选组件的从位32到 位63的清单。清单可包括从服务器群集230接收信息,这些信息描述关于可由服务使用以 检测潜在冲突和组件可用性的组件的信息。例如,清单可包括由每一服务群集在小包创建时刻返回的描述小包中的组件的信息的一部分。以即使在没有物理小包的情况下,清单中 的元信息仍可用于检测冲突的方式来设计清单。在头部和清单之后,包文件300可包括从 位64到位127的净荷。如以下参考图5更详细地描述地,包文件300的净荷部分包括从所 选服务接收的信息。
为了安全性,包文件300可包括诸如512位密钥等从位128到位639的公钥。为 了进一步的安全性并启用文件完整性的验证,如以下参考图6详细描述地,包文件300可从 位640到位767包括诸如加密128位安全散列算法5 (SHA-I)散列等的水印。在其它实施 例中,水印可包括消息摘要算法5(MD5)散列。散列可通过将任何散列算法应用到包文件内 的净荷和清单来创建。解决方案框架操作现在参考图4,将描述用于定义要被包括在分布式应用程序中的组件集合的说明 性进程400。当阅读对在此提供的例程的讨论时,应当理解,各种实施例的逻辑操作被实现为 (1)运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连 的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算机系统的性能要求来选择 的。因此,所例示的并且构成此处所描述的实施例的逻辑操作被不同地表示为操作、结构设 备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑以及它们 的任何组合来实现。在起始操作之后,进程前进至操作410且在解决方案框架26处接收服务的列表。 此进程可在例如用户在创建界面210上浏览至包创建页面时被触发。解决方案框架可随后 对服务群集230作出调用,以请求可用服务的列表。为确定具体服务是否是可用的,解决方 案框架26可集中化地仲裁创建界面210与服务群集230内的服务中的每一个之间的许可。 例如,解决方案框架26可向服务群集230传输用户的简档并作为响应接收用户可访问的服 务的集合。因此,可用性可依赖于联网到解决方案框架26的服务以及各个用户许可。在解决方案框架26接收到并最终化可用服务的列表之后,进程前进至操作420, 并选择第一服务。可响应于从创建界面210接收到的指示用户查看服务内的组件的请求来选择该 服务的命令来选择服务。一旦选择了服务,进程即前进至操作430,其中收集组件类型的列 表。在此操作期间,解决方案框架26向所选服务传送传输所选服务上可用的各个组件类型 的列表的请求。类型信息可包括描述可用组件的类型的信息和描述可用于选择各个组件的 用户界面的信息。在某些实现中,此信息可包括用于选择专用于该服务的组件类型和组件 的定制用户界面。进程随后前进至操作440,其中收集了可用组件的列表。类似于上述服务的可用 性,组件的可用性可不仅取决于组件是否连接到解决方案框架26,而且还取决于许可检查。进程随后前进至操作450,其中处理接收到的、与所选组件相关联的类型信息并将 其传输到创建界面210,在创建界面210中向用户呈现选择界面。响应于从所选服务接收到 的类型信息来创建此选择界面,以使得可显示定制选择界面以便于选择可用组件的具体类 型。此定制界面可包含供用户向所选组件输入任意参数的机制。这些参数可担当向解决方 案框架、服务群集描述封装所选组件的方式的其它元信息。
进程随后前进至操作460,其中用户使用在图2的创建界面210上呈现的选择界面 来选择所需组件。在某些实现中,在此操作期间,向服务群集230传输并在服务群集230处 接收所选组件的列表。在其它实现中,不向服务群集230传输所选组件的列表直到该进程 在操作470之后对每一所选服务完成。移至操作470,作出关于是否选择了其它服务的判定。如果用户选择了其它服务,则进程返回到操作420,且为下一所选服务重复界面生成和组件选择进程。如果用户未选择 其它服务,则进程继续至操作480。继续到操作480,如以下参考图5更详细地描述地,将所有小包组合并格式化成单 个包文件。随后该进程前进至结束操作并返回以处理其它动作。现在参考图5,将描述用于创建诸如在操作480创建的包文件等包文件的说明性 进程500。在起始操作之后,进程前进至操作510且所选组件的列表由解决方案框架26处 理。可在解决方案框架26处从创建界面210接收所选组件的列表。可例如根据图4中示 出的进程400来创建所选组件的列表。该进程随后前进至操作520,其中选择所选组件位于其中的第一服务。此选择是其 中解决方案框架26迭代通过所选组件的列表上的各组件被包括在内的所有服务的自动进 程的一部分。因此,服务可在没有用户通过创建界面210的介入或输入的情况下由解决方 案框架26直接选择。一旦解决方案框架26选择了第一服务,该进程即前进至操作530,其 中将与所选服务相关联的组件的描述从解决方案框架传输到第一所选服务。即,解决方案 框架26向服务传输位于用户所选服务内的组件的列表。一旦该服务接收了组件的列表,进程即前进至操作540,其中服务通过传输包含与 所选组件相关联的信息的小包来对请求作出响应。小包可包括包含所请求的数据以及描述 关于所请求的数据的元信息的清单的二进制数据流。在操作550,作出是否要选择另一服务的判定。如果解决方案框架26循环并处理 了处理所有所选组件所需的服务,则不需要选择其它服务且进程继续至操作560。如果解 决方案框架26未对所选组件循环通过所有服务,则进程返回到操作520,并选择下一服务。 在其它实施例中,可异步地执行此进程。即,其中解决方案框架26同时调用所有服务以接 收小包并随后在其返回时组装它们的多线程环境。因此,此进程可按异步或线性/顺序两 种方式执行。在操作560,将所接收到的小包添加到包文件中。例如,可将小包串接在一起并添 加到包文件300的净荷部分中。在其它实现中,可在小包被包括到包文件300的净荷部分 内之前执行对小包的其它处理。在操作570,将水印添加到包文件300。在某些实现中,水印可仅是从小包创建的 散列。在其它实现中,可从小包和被包括在包文件中的诸如头部部分、清单部分或诸如密钥 等安全性部分等其它数据创建水印。在某些示例中,水印可使用SHA-I散列算法来创建。因 此,散列之后可用于验证数据的完整性,包括确定包文件300是否被篡改。随后该进程前进 至结束操作并返回以处理其它动作。现在参考图6,将描述用于部署包文件300的说明性进程600。在起始操作之后,该进程前进至操作610,其中在解决方案框架26处从部署界面220接收包文件300。在某些示例中,可在包文件300的创建期间系统接收包文件300时从 系统直接向解决方案框架26传输包文件300。这可发生在其中创建包文件300的用户也正 在部署它的情况下。在其它示例中,可从不同用户处向解决方案框架26传输包文件300。 例如,包文件300可在创建界面210处由第一用户接收,且随后在压缩盘(⑶)上被传输或 使用电子邮件发送给部署界面220处的第二用户,在部署界面220处包文件300随后被传 输到解决方案框架26。一旦在解决方案框架26接收了包文件300,则进程即前进至操作620。在操作620, 作出包文件300是否有效的判定。可参考水印来作出此判定。例如,如果包文件300在各 传输期间损坏了,或包文件300被有意地篡改了,则水印可能不再与包含在包文件300内的 数据正确匹配。在其它示例中,可使用其它准则来确定包文件是否有效。例如,可对文件扩 展名是否被更改进行参考。在其它示例中,可对文件大小进行参考。即,可分配默认最大文 件大小且可将任何大于默认文件大小的文件标记为无效。因此,包文件300是否有效的判 定可部分取决于水印并部分取决于包文件300的其它特性。因此,如果包文件300是有效 的,则进程前进至操作630,其中处理继续。如果包文件300不再有效,则进程前进至操作680,其中部署异常中止且流程继续 至结束操作。在某些示例中,异常中止操作680可包括在部署界面向用户呈现错误信息。在 其它示例中,异常中止操作680还可包括自动错误纠正以使可纠正的错误被解决方案框架 26自动纠正且该进程可以继续。在操作630,处理了包文件300并提取了净荷。处理该净荷以确定需要哪些服务。 解决方案框架26随后确定由包文件所需的所有服务是否都是可用的。如果被包括在包文 件300内的组件驻留在一特定服务上,则需要该服务。例如,如果创建包文件300时与部署 包文件300时之间的时间流逝了,则在服务群集230中可用的服务中的一个或多个可能不
再可用。如上所述,如果例如部署包文件300的用户不具有访问特定服务的许可,或如果 服务从网络断开,则服务可能不再可用。如果所需服务是不可用的,则该进程前进至操作 680,其中部署异常中止。如果所有所需的服务都是可用的,则该进程前进至操作640。在操作640,选择了第一服务。此选择是其中解决方案框架26迭代通过由包文件 300的净荷中的组件利用的所有服务的自动进程的一部分。因此,服务可在没有来自用户通 过部署界面220的介入或输入的情况下由解决方案框架26直接选择。一旦解决方案框架 26选择了第一服务,该进程即前进至操作650,其中执行了冲突检查。在操作650,可将包文件300的内容传输到服务群集230。在某些实现中,可仅传 输清单以节省代价高昂的传输时间。清单可包括由每一服务群集在小包创建时刻返回的描 述小包中的组件的信息的一部分。以即使在没有物理小包的情况下,清单中的元信息仍可 用于检测冲突的方式来设计清单。每一服务随后检查包文件300的内容(或其它实现中的 清单)并向解决方案框架26报告组件细节、组件冲突、以及用户可能在包文件300的部署 期间遇到的任何其它部署问题。通过向解决方案框架26回报此信息,可集中化冲突检查进 程的控制。如果冲突存在,则该进程前进至操作670。如果没有冲突存在,则该进程前进至 操作660且部署进程继续。在其它实施例中,可异步地执行冲突检查的进程。即是,其中解 决方案框架26同时检测冲突的多线程进程。因此,此进程可按异步或线性/顺序两种方式
10执行。在操作670,作出冲突是否可由解决方案框架自动纠正的判定。如果解决方案框架 可自动纠正冲突,则解决方案框架可随后自动纠正该冲突且该进程可继续至操作660。在某 些实现中,可通过部署界面220向用户呈现警告消息以向用户告知被纠正的冲突。如果解 决方案框架26不能自动纠正该冲突,则可向用户呈现错误消息以指示该致命冲突,且进程 前进至操作680,其中部署异常中止。在其它实现中,可给予用户自动覆盖任何冲突以重写 冲突组件的能力。在此类实现中,用户可能需要在尝试部署包文件300之前这样做,且如果 冲突发生,则可使用来自包文件300的新组件来重写组件。在操作660,通过向服务传输涉及所选组件的小包来部署所选服务的各组件。每一 小包可包括专用于该服务的一系列二进制数据。所选服务可知晓如何将数据流去串行化成 用于部署的相关数据。一旦在服务上部署了数据,该进程继续至操作690。在操作690,作出是否要选择另一服务的判定。如果必须将其它组件部署在另一服 务上,则进程返回到操作640,并选择下一服务。如果部署了所有组件,则进程前进至结束操 作。在其它实现中,可在将任何小包从解决方案框架26传输到服务群集230之前处理 所有所选组件以检查冲突。例如,可循环通过所有服务,在冲突信息被集中化处理的解决方 案框架处收集的冲突信息,且如果清除了这些冲突则将小包传输到服务群集230。以此方 式,可集中化地处理所有冲突。此外,可执行部署后进程。例如,在部署小包之后,每一服务群集可报告关于所部 署的组件的信息。可随后将此部署后信息传送回每一服务群集。因此,所有服务群集在整 个包的部署完成之后再次通信。这允许向服务群集通知部署在整个系统之间的所有组件。 以此方式,每一群集可基于此信息执行部署后操作。例如,第一服务群集和第二服务群集中 的组件可以是彼此非常紧密地相关的,且通过知晓彼此相关的最终部署信息,服务可执行 增强这是端对端、紧密连系的分布式应用程序的部署而非许多隔离的部分的部署的事实的 业务逻辑。以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因 为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在 所附权利要求的范围内。
权利要求
一种用于创建分布式应用程序的方法,所述方法包括从在远程服务器群集(230)上可用的组件的列表中选择一组组件;从所述远程服务器群集(230)接收(410)安装所选组件所需的数据;响应于所接收到的数据创建(480)指令的列表;以及存储所述指令的列表。
2.如权利要求1所述的方法,其特征在于,存储所述指令的列表还包括 在所述指令的列表中编码所接收到的信息;以及在所述指令的列表中编码(570)水印。
3.如权利要求1所述的方法,其特征在于,从在远程服务器群集(230)上可用的组件的 列表中选择一组组件还包括选择(420)在所述远程服务器群集(230)上可用的服务; 接收(440)在所选服务上可用的组件的列表;以及 选择(460)在所选服务上可用的组件。
4.如权利要求3所述的方法,其特征在于,选择在所选服务上可用的组件包括接收专 用于在所选服务上可用的组件的类型的选择界面数据。
5.如权利要求1所述的方法,其特征在于,还包括处理所述指令的列表以提取安装所选组件所需的数据;以及将安装所选组件所需的数据传输到所述远程服务器群集(230)以允许将所述组件安 装在所述远程服务器群集(230)上。
6.如权利要求5所述的方法,其特征在于,处理所述指令的列表还包括 向与所选组件相关联的服务传输所选组件的描述;接收来自所述服务的冲突信息;集中化地处理所述冲突信息以确定所选组件内是否存在冲突;以及 响应于集中化处理所述冲突信息,在冲突不存在时,将安装所选组件所需的数据传输 (660)到所述远程服务器群集(230)以允许在所述远程服务器群集(230)上安装所述组件。
7.如权利要求6所述的方法,其特征在于,处理所述指令的列表还包括 在冲突存在时,确定(670)是否可自动处理所述冲突;以及响应于是否可自动处理所述冲突的判定自动处理所述冲突。
8.一种具有用于创建分布式应用程序的计算机可执行指令的有形计算机可读介质 (14),所述指令包括从在分布式计算机系统上可用的服务的列表中选择(420)服务;选择(460)在所选服务上可用的组件;从所述分布式计算机系统接收涉及所选组件的安装数据;响应于所接收到的数据创建(480)包文件;以及存储所述包文件。
9.如权利要求8所述的方法,其特征在于,存储所述包文件还包括 编码描述所述包文件中的所选组件的清单;将所述包文件中的安装数据编码(560)为净荷;以及 在所述包文件中编码(570)水印。
10.如权利要求9所述的方法,其特征在于,在所述包文件中编码(570)所述水印还包 括创建被包括在所述包文件中的数据的加密散列。
11.如权利要求8所述的方法,其特征在于,选择在所选服务上可用的组件还包括 接收专用于在所述服务上可用的组件的类型的选择界面数据;以及将所述选择界面数据传递到用于响应于所述选择界面数据生成选择界面的部署界面。
12.如权利要求8所述的方法,其特征在于,还包括 处理所述包文件以提取所述安装数据;以及向所述分布式计算机系统传输所述安装数据以允许安装所述分布式应用程序。
13.如权利要求9所述的方法,其特征在于,处理所述包文件还包括 向与所选组件相关联的所选服务传输所述清单;接收来自所选服务的冲突信息;集中化地处理所述冲突信息以确定(650)冲突是否存在;以及 响应于集中化处理所述冲突信息,向所选服务传输所述安装数据以允许安装所述分布 式应用程序。
14.如权利要求12所述的方法,其特征在于,处理所述包文件还包括 确定所选服务是否可用;以及在所选服务可用时向所述分布式计算机系统传输所述安装数据以允许安装所述分布 式应用程序。
15.如权利要求12所述的方法,其特征在于,处理所述包文件以提取所述安装数据还 包括基于用户许可确定所选组件是否可用;以及在所选组件可用时向所述分布式计算机系统传输所述安装数据以允许安装所述分布 式应用程序。
16.一种用于分布式计算应用程序的集中化控制的系统,所述系统包括 处理器(5)和计算机可读介质(14);存储在所述计算机可读介质(14)上并在所述处理器(5)上执行的操作环境(16);以及存储在所述计算机可读介质(14)上并在所述处理器(14)上执行的解决方案框架 (26),所述解决方案框架(26)被配置成从在服务群集上可用的服务的列表中选择(420)服务; 选择(460)在所选服务上可用的组件; 从所选服务接收涉及所选组件的安装数据; 响应于所接收到的数据创建(480)包文件;以及 将所述包文件存储在所述计算机可读介质上。
17.如权利要求16所述的方法,其特征在于,所述解决方案框架(26)还被配置成通过 以下操作在所述计算机可读介质上存储所述包文件在所述包文件中存储描述所选组件的清单; 在所述包文件中存储(560)所述安装数据;以及 在所述包文件中存储(570)水印。
18.如权利要求16所述的方法,其特征在于,所述解决方案框架(26)还被配置成 接收专用于在所述服务上可用的组件的类型的定制选择界面;以及将所述定制选择界面传递到部署界面。
19.如权利要求17所述的方法,其特征在于,所述解决方案框架(26)还被配置成 处理所述包文件以提取所述安装数据;以及向所述分布式计算机系统传输所述安装数据以允许安装所述分布式计算应用程序。
20.如权利要求19所述的方法,其特征在于,所述解决方案框架(26)还被配置成通过 以下操作处理所述包文件以提取所述安装数据向与所选组件相关联的所选服务传输所述清单; 接收来自所述服务的冲突信息;集中化地处理所述冲突信息以确定(650)冲突是否存在;响应于集中化处理所述冲突信息,向所选服务传输所述安装数据以允许安装所述组 件;以及向所述服务群集传输部署后调用。
全文摘要
创建分布式应用程序包括从远程服务器群集上可用的组件的列表中选择一组组件。从远程服务器群集接收安装所选组件所需的数据。响应于所接收到的数据创建指令的列表。随后存储指令的列表。处理指令的列表以提取安装所选组件所需的数据。将安装所选组件所需的数据传输到远程服务器群集以允许将组件安装在远程服务器群集上。
文档编号G06F15/16GK101809563SQ200880109406
公开日2010年8月18日 申请日期2008年9月12日 优先权日2007年9月26日
发明者A·C·S·沈, B·C·布洛姆奎斯特, C·J·拜特尔, D·邱, M·卡尼甘蒂, R·B·戈皮纳特, R·W·汤姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1