应用服务器中的管理自动化的制作方法

文档序号:6453826阅读:258来源:国知局
专利名称:应用服务器中的管理自动化的制作方法
技术领域
本发明一般地涉及数据处理,并且特别涉及对应用服务器的应用的自 动化部署。
背景技术
诸如IBM的WebSphere Application Server (WAS )的应用月艮务器 支持从简单的Web站点到强有力的电子商务解决方案范围内的Web应用 的部署和管理。在IBM的WebSphere Application Server⑧的情况下,平 台是Java2平台,企业版(J2EE ) Web应用服务器,类似于诸如BEA WebLogic⑧服务器以及Oracle应用服务器的其它应用服务器。
WAS提供应用逻辑,使得客户组件能够与数据资源和旧有应用进行交 互。WAS还通过交换客户请求和应用响应而与Web服务器协作。管理员 可以定义多个应用服务器,其中每个应用服务器均可以在其自己的Java 虚拟机(JVM)中运行。
在诸如WAS的应用服务器内,应用服务器配置提供了用于起动和管 理服务器过程的信息,以便处理对企业应用及其组件的请求。WAS使用管 理控制台以便通过部署以及系统管理任务来指导用户。在控制台中用户所 采取的动作修改了一组XML配置文件。管理员可以使用控制台来实现这 样的任务,例如添加、删除和停止应用服务器,向服务器部署新的应用, 起动和停止现有应用,以及修改特定配置。另外,管理员可以使用控制台 来管理可变的共享库、数据库连接,以及可以跨多个应用服务器、配置产 品安全性并出于性能和故障排除目的而对数据进行收集的其它配置。
现有的工具提供了在不需要管理控制台的图形用户接口的情况下实施 和管理应用服务器任务的方式。Java命令语言(Jacl)被设计成用于Java
的通用脚本语言。Jacl解释器完全用Java书写并且可以在任何Java虚拟 机(JVM )上运行。Jacl可以用于创建Web内容或控制Java应用。WAS 含有实现和扩展基本Jacl解释器的实用体,wsadmin,其允许管理员对服 务器配置进行添加、改变或修改。
在按需服务环境中,很多应用服务器管理操作(对服务器配置进行添 加、改变或修改)需要手动、费时的步骤。此外,这些操作需要具有特定 技能集的专用管理员在该管理员的技能可以应用于附加职责的时候实现任 务。例如,为了执行诸如"安装应用"的任务,必须在现有工具方面训练 管理员,以便他或她理解这些控件、熟悉导引并且可以按照一系列的步骤 实现部署企业档案(EAR)文件和起动应用。在具体过程中的任何小的差 错(例如遗漏的复选框或来自安装面板的不正确的数据库版本)都可能造 成安装失败。为了使应用能够连接数据库,会要求管理员启动管理控制台、 登录、点击导引中的安全链接,并且在以下属性的情况下工作,例如指向 资源提供者类别、导引中的资源链接、数据源、数据库名称、连接池信息 的可变输入、描述、凭证,等等。
因此,需要一种工具,用于自动化应用服务器中复杂的手动管理步骤, 并由此最小化执行任务所需要的时间和训练。

发明内容
提供了一种应用服务器管理框架(ASAF),其通过允许用户经由在 属性文件中输入值来完成安装或修改,从而最小化在安装或修改过程期间 手动步骤的数量。
设置程序允许用户基于所需要的管理任务将数据直接输入到所述属性 文件。可选地,图形用户接口可以被提供,以便所述用户可以被提示输入 数据,而不是直接向所述属性文件输入数据。
通过事件触发器来调用部署脚本。事件触发器可以通过手动用户选择、 计划事件、图形用户接口,或者通过诸如Tivoli Intelligent OrchestratorTM 这样的外部自动化过程来调用。当被调用的时候,所述部署脚本标识所述
属性文件中的改变,并且从过程脚本调用适当的过程。另外,所述部署脚 本调用差错程序,其实现环境设置检查,监控过程,并且实施最终的差错 检查。所述环境设置检查涉及确定是否已经获准适当的许可、正确定义了
适当的路径、正确部署了 EAR文件,以及其它所需要的配置设置。所述 过程脚本将属性文件链接到一个或多个组件脚本,以4更管理员所输入的值 被填充到适当的组件脚本。当这些值已经被填充到适当的组件脚本时,所 述部署脚本调用脚本引擎,其运行脚本以便对用于所述应用服务器的配置 文件进行必要的改变。
差错检测程序进行环境检查,监控贯穿所述过程的日志,以及进行最 终的检查。所述差错检测程序标识差错并且访问策略脚本以便在实现过程 中自动纠正差错。
所述策略脚本提供规则以便通过控制操作序列或顺序、必要时自动起 动或重新起动应用或服务器,以及通过包括组件脚本可能不知道的所需的 其它动作来防止或处理差错。例如,即使开发者或用户使用不正确的事件 顺序实现了组件脚本(如应用服务器所允许的),所述差错检测程序也会 发现差错,访问所述策略脚本,并且以正确的顺序继续进行或通知用户。
仿真程序允许在二级系统上测试操作,以便确保可以成功执行改变。


参照以下附图,仅通过示例的方式描述了本发明的实施例,在附图中 图1依照现有技术描绘了在其中可以釆用应用管理框架的系统的说
明;
图2A依照本发明的优选实施例描绘了含有本发明的程序和文件的示 例性第一存储器;
图2B依照本发明的优选实施例描绘了含有Web应用服务器的程序和 文件的示例性第二存储器;
图3依照本发明的优选实施例描绘了面向服务的体系结构的说明; 图4描绘了在其中采用了本发明的系统的示图5依照本发明的优选实施例描绘了设置程序的流程图6依照本发明的优选实施例描绘了部署脚本的流程图7依照本发明的优选实施例描绘了注册程序的流程图8依照本发明的优选实施例描绘了差错检测程序的流程图;以及
图9依照本发明的优选实施例描绘了仿真程序的流程图。
具体实施例方式
ASAF的原理可应用于各种计算机硬件和软件配置中。如文中所-使用 的,术语"计算枳硬件"或"硬件,,指的是能够在存储或显示数据时接受、
进行逻辑操作的任何机器或装置,并且包括但不限于处理器和存储器;术 语"计算机软件"或"软件"指的是可操作以便使计算机硬件进行操作的 任何指令集。如文中所使用的术语,"计算机"包括但不限于硬件和软件 的任何有用组合,并且"计算机程序"或"程序"包括但不限于可操作以 便使计算机硬件在存储或显示数据时接受、进行逻辑操作的任何软件。计 算机程序可以并且常常包括多个较小的编程单元,包括但不限于子例程、 模块、函数、方法以及过程。如文中所使用的,计算机程序是经编译的、 不可变的并且可由其自身执行的。如文中所使用的,"脚本"是非编译的 和可变的文本文件,其由程序调用,但不可由自身执行。如文中所使用的, "环境,,意指操作系统以及特定的Web服务器应用所依赖的任何相关中间 件或软件。因而,ASAF的功能可以分布在多个计算机、计算机程序以及 脚本中。
另外,下面参照硬件设备的示例性网络来描述ASAF,如图1所示。 "网络"包括相耦合的或通过诸如因特网的通信介质而彼此通信的任何数 目的硬件设备。"通信介质"包括但不限于任何物理、光、电磁或其它的 介质,硬件或软件由此可以传输数据。出于描述的目的,示例性网络100 仅具有有限数目的节点,包括工作站计算机105、工作站计算机IIO、服务 器计算机115,以及持久性存储器120。网络连接125包括所有的硬件、软 件以及使网络节点105-120之间能够通信所必要的通信介质。除非在下面
的上下文中指出,所有的网络节点均使用公共可用的协议或消息i]t^J艮务
来通过网络连接125相互通信。
ASAF通常被存储在存储器中,如图2A中存储器200所示意性表示的。 如文中所使用的,术语"存储器"包括但不限于任何易失性或持久性介质, 例如电子电路、磁盘或光盘,其中计算机可以任意长时间的存储数据或软 件。单个存储器可以包括并且分布在多个介质上。因而,图2仅出于方便 说明而纟皮包括,而不一定反应了存储器200的任何特定的实际实施例。然 而,如图2中所示,存储器200包括模板295、属性文件250、部署脚本 220、过程脚本230、组件脚本240、差错检测程序260、 i殳置程序280以 及策略脚本270。视情况,存储器200含有仿真程序290。图2B描绘了第 二存储器400,其含有用于应用服务器(例如图1中的服务器115)的应用 服务器程序410、脚本引擎414、接口程序420以及配置文件412。"脚本 引擎"位于应用服务器内并且当被调用时执行脚本。"策略脚本"是针对 语法以及对可应用规则的遵守而检查其它脚本的脚本。"部署脚本"是调 用和管理ASAF过程的脚本。"过程脚本"包括合并了复杂任务的过程。 "组件脚本,,向ASAF指示当部署脚本运行时将实现哪些过程。"才莫板" 是开发者可以为应用的特定组件进行修改的样本组件脚本。"属性文件" 是含有组件脚本或过程脚本所需的属性的文本文件。
按需操作环境基于面向服务的体系结构(SOA)的概念。在SOA中, 每个应用或资源都被建模成实现特定的、可标识的功能(或功能组)的服 务。在按需环境中,服务常常实现特定的商业功能,但也可以实现接口或 其它操作功能。
SOA中的服务通过交换结构化信息来相互通信,通常通过消息或文 档。服务的能力通过以下来定义声明它们可以生产或消耗的消息的接口、 声明所需要或提供的服务质量的策略注释,以及声明在服务交互中必须被 尊重的行为限制的编排(choreography)注释。任何特定服务的实际实现 均向服务请求者隐藏,其允许新的以及现有的应用被快速合并到新的上下 文中。
图3提供了 SOA300的概观。在系统级上,环境的组件是诸如服务器、 存储器以及数据这样的系统对象。在应用级上,组件是动态集成应用模块, 其构成复杂但却灵活得多的应用。在商业级上,组件是商业对象,其被限 定用于特定的垂直行业,或者更一般地,当它们水平地跨行业应用时。
通常,特定的按需商业服M赖于在其实现中的很多其它的服务。服 务之间的所有交互都流经企业服务总线(ESB),例如ESB302。 ESB 302 促进服务端点之间的中介交互。ESB 302支持基于事件的交互,以及用于 服务请求处理的消息交换。对于事件和消息这二者来说,中介(mediation) 可以促进交互,例如通过定位提供所请求的能力的服务,或者通过处理就 其能力而言兼容的请求者与提供者之间的接口失配。ASAF 210适于包括 _^ 出设施服务310以及配置服务332。
图4描绘了示出ASAF 210与Web应用服务器410关系的Web应用 管理系统400。 Web应用服务器410连接至配置文件412。接口 420连接 至配置文件412和部署脚本220。 ASAF210具有差4晉检测元件430、设置 元件440以及自动化引擎450。差错检测元件430具有差4昔检测程序260 和策略脚本270。设置元件440具有属性文件250和模板295。自动化引擎 450具有部署程序220、过程脚本230以及组件脚本240。
图5描绘了设置程序280的流程图。当用户期望访问属性文件250的 时候,设置程序280开始(502 )(参见图2和图4 )。对是否将务使用手 动输入或图形用户接口进行确定(510 )。用户输入操作所需要的值(540 )。 如果将要进行另外的输入,则设置程序280转至步骤550,并且如果没有, 则结束(560)。本领域的技术人员将认识到,对于属性文件以及对于图形 用户接口来说,结构、呈现、任选的上下文帮助信息,以及可用任务,可 以由各级开发者和用户确定。
图6描绘了部署脚本220的流程图。部署脚本220依赖于手动启动或 计划启动而开始(602),并且确定在属性文件之一中是否已经检测到改变 (610)。如果没有检测到改变,则部署程序220转至步骤634。如果已经 检测到改变,则部署脚本220调用差错检测程序260 (612),并且然后从
过程脚本230访问过程(614)。所访问的特定过程将由在属性文件中调用 的过程以及所检测到的改变的性质来确定。所访问的过程将其中检测到改 变的属性文件链接到组件脚本(616)。部署脚本220将改变的值从属性文 件填充到组件脚本(618),调用脚本引擎414 (620),执行脚本引擎414
(630 ),并且更新用于应用服务器410的配置文件412(参见图4 ) ( 632 )。 对是否已经检测到另外的改变进行确定(634)。如果是的话,则部署脚本 280转至步骤612,并且如果没有,则结束(640)。
图7描绘了注册程序700的流程图。当应用服务器联系含有ASAF 210 的服务器时,注册程序700开始。应用服务器注册(710)并选择是否使用 ASAF210 (720)。如果选择使用,则调用部署脚本220 (730)。对是否 将进行另外的应用选择进行确定(740 )。如果不是,则服务接口结束(750 )。 ASAF 210可以被注册用于与基础设施服务310和配置服务332 —起使用
(参见图3)。
图8描绘了差错检测程序260的流程图。差错检测程序260开始(802 ), 确定必要的先决条件(810),并且然后确定是否给出了必要的先决条件
(820)。如果没有,则差错检测程序访问策略脚本(822),并且差错检 测程序260确定是否已经纠正了差错(824)。如果没有,则显示差错消息
(826 )。如果纠正了差错,或者如果给出了先决条件,则差错检测程序 260监控日志文件(830 )。差错检测程序260确定日志文件中是否给出了 关键字(840 )。如果是的话,则对该关键字是否指示差错进行确定(842 )。 如果发现了差错,则差错检测程序260访问策略脚本(844),并且确定是 否已经纠正了该差错(846)。如果没有,则显示差错消息(848)。如果 在步骤842没有发现差错,或者如果在步骤846纠正了该差错,那么对是 否存在另外的关键字进行确定(850)。如果有的话,则差错检测程序转至 步骤842,并且如果没有,则转至步骤852。如果在步骤840,没有发现关 键字,或者如果在步骤850不再有更多的关键字,那么对是否继续下去进 行确定(852)。如果是的话,则差错检测程序260转至步骤830,并且如 果不是,则结束(860)。
图9描绘了仿真程序2卯的流程图。仿真程序290开始(卯2 )并且确 定二级系统是否可用(910)。如果否,则显示消息(912),并且仿真程 序290转至步骤924。如果二级系统可用,那么部署脚本220 (参见图6) 运行在该二级系统上(914),并且检查结果(916)。对部署脚本是否成 功运行进行确定(918)。如果否,则显示差错消息(920),并且如果是 的话,则部署脚本运行在主系统上(922)。仿真程序290确定是否存在另 外的部署要仿真(924),并且如果有的话,则返回步骤910,或者如果没 有,则结束(930)。
在附图中已经示出并且上面已经描述了本发明的优选实施例,但是优 选形式的变型对本领域的技术人员来说将是显而易见的。前面的描述仅仅 是出于说明的目的,并且本发明不应当被理解为限于所示出和描述的特定 形式。
权利要求
1. 一种用于自动化应用服务器管理的装置,其包括:应用服务器,其通过网络连接至主系统,并且在第一存储器中具有脚本引擎以及多个配置文件;计算机,其通过网络连接至所述应用服务器,并且在第二存储器中具有属性文件、部署脚本、过程脚本以及组件脚本;其中,响应于标识出所述属性文件中的改变,所述部署脚本调用所述过程脚本来将所述属性文件链接到所述组件脚本,以便将所述属性文件中的改变填充到所述组件脚本;以及其中,响应于所述属性文件中的改变被填充到所述组件脚本,所述部署脚本调用所述脚本引擎,从而对所述应用服务器的配置文件进行改变。
2. 根据权利要求1的装置,其进一步包括 通过外部自动化过程调用所述部署脚本。
3. 根据权利要求2的装置,其中所述外部自动化过程是Tivoli ■Intelligent OrchestratorTM。
4. 根据权利要求l的装置,其中所述部署脚本调用差错程序,其实现 多个环境i殳置检查。
5. 根据权利要求4的装置,其中所述多个环境设置检查包括确定是否 已经获准适当的许可。
6. 根据权利要求4的装置,其中所述多个环境设置检查包括确定是否 正确定义了路径。
7. 根据权利要求4的装置,其中所述多个环境设置检查包括确定是否 正确部署了 EAR文件。
8. 根据权利要求l的装置,其进一步包括仿真程序,所述仿真程序在 二级系统上运行所述部署脚本。
9. 根据权利要求4的装置,其进一步包括策略脚本,所述策略脚本针 对语法以及对规则的遵守而检查其它脚本;其中所述策略脚本由所述差错 程序来调用。
10. —种在面向服务的体系结构中提供的服务,其包括 在连接至面向服务的体系结构网络中的应用服务器的计算机中,标识属性文件中的改变,将所述属性文件中的改变填充到组件脚本,以及响应 于所述属性文件中的改变被填充到所述组件脚本,调用应用月良务器中的脚 本引擎,从而对所述应用服务器的配置文件进行与所述属性文件中的改变 相对应的改变。
11. 根据权利要求10的服务,其进一步包括 通过外部自动化过程调用所述部署脚本。
12. 根据权利要求11的服务,其中所述外部自动化过程是Tivoli Intelligent Orchestrator 。
13. 根据权利要求10的服务 实现多个环境设置检查。
14. 根据权利要求13的服务 是否已经获准适当的许可。
15. 根据权利要求13的服务 是否正确定义了路径。
16. 根据权利要求13的服务 是否正确部署了 EAR文件。
17. 根据权利要求13的服务 部署脚本。
18. 根据权利要求13的服务 遵守而检查其它脚本。
19. 一种计算才A4呈序产品,其包括计算机可读介质,其含有使计算机实现以下步骤的指令标识属性文 件中的改变、将所述属性文件中的改变填充到组件脚本,以及响应于所述 属性文件中的改变^f皮填充到所述组件脚本,调用应用服务器中的脚本引擎, 从而对所述应用^^务器的配置文件进行与所述属性文件中的改变相对应的,其中所述部署脚本调用差错程序,其 ,其中所述多个环境设置检查包括确定 ,其中所述多个环境设置检查包括确定 ,其中所述多个环境设置检查包括确定 ,其进一步包括在二级系统上运行所述 ,其进一步包括针对语法以及对规则的 改变。
20.根据权利要求19的计算机程序产品,其进一步包括: 确定是否已经获准适当的许可; 确定是否正确定义了路径;以及 确定是否正确部署了 EAR文件。
全文摘要
一种应用服务器管理框架(ASAF),其通过允许用户经由在属性文件中输入值来完成安装或修改,从而最小化在所述安装或修改过程期间的手动步骤的数量。调用部署脚本,其标识所述属性文件中的改变,并且从过程脚本调用适当的过程。所述过程脚本将所述属性文件链接到一个或多个组件脚本,以便将管理员输入的值填充到适当的组件脚本。当这些值已经被填充到适当的组件脚本时,所述部署脚本调用脚本引擎,其运行脚本来对用于所述应用服务器的配置文件进行必要的改变。
文档编号G06F9/445GK101384995SQ200780005208
公开日2009年3月11日 申请日期2007年2月6日 优先权日2006年2月13日
发明者A·托马拉-雷耶斯, C·D·西弗斯, K·R·沃克, S·V·怀特伊格尔, 陈彦甫 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1