自动化构建应用程序和应用程序环境.doc_第1页
自动化构建应用程序和应用程序环境.doc_第2页
自动化构建应用程序和应用程序环境.doc_第3页
自动化构建应用程序和应用程序环境.doc_第4页
自动化构建应用程序和应用程序环境.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动化构建应用程序和应用程序环境简介自动化构建和部署IBM WebSphere Application Server环境及部署到该环境中的软件可以为任何规模的企业带来巨大的好处。通过自动化执行该过程中可能涉及到的众多步骤,企业将从一致的、可重复的流程中获益,该流程可在没有用户干预的情况下构建和初始化应用程序环境。这将使开发、测试和运营团队能够专注于他们职责内的服务,而不是对经常会拖慢服务交付的基础设施提供支持,从而加快了软件的交付周期。本文介绍了如何通过利用新的IBM WebSphere CloudBurst Appliance和IBM Rational Build Forge以及IBM Rational Automation Framework for WebSpherehis的组合在这个层面上实现流程自动化。本文所述的简单集成利用了每种产品的关键优势。回页首集成概述设置典型的WebSphere Application Server环境涉及三个基本的高级步骤。如图1所示,这些步骤分别为:安装操作系统。安装WebSphere Application Server中间件。在中间件上安装和调优应用程序。图1.创建WebSphere Application Server环境所需的步骤尽管每一种自动化解决方案都需要涉及这三个步骤,但是由谁执行这些步骤、何时执行步骤以及同一个步骤执行多少次,这些问题都因具体的解决方案而异。WebSphere CloudBurst和Rational Build Forge的组合关注的是可以最小化和简化必须执行的步骤的集成。如图1所示,流程中的前三个子任务分别是:安装和配置操作系统安装WebSphere Application Server和补丁创建配置文件这三个任务全部由WebSphere CloudBurst附带的IBM WebSphere Application Server Hypervisor Edition执行。因此,通过使用WebSphere CloudBurst,这些步骤可以从您的设置流程中全部移除。流程中的下一步是将定制软件(例如,监视代理或设备驱动器)安装到操作系统。这种软件几乎需要应用到所有应用程序环境,并且很少对这种软件进行修改。因此,您应当将这些内容直接添加到由WebSphere CloudBurst部署的虚拟映像中,这样,这些内容只需要执行一次安装,就可以应用于各种不同的应用程序环境。此时,流程开始从对于所有虚拟机都非常普通的步骤转向特定于给定应用程序部署的步骤,比如为某个应用程序创建WebSphere Application Server拓扑并随后部署应用程序。换句话说,在这个阶段,您将从用于创建普通映像的一次性构建内容中转移到使用WebSphere CloudBurst模式和脚本。这使得可以通过在部署流程中运行不同的脚本来对不同的配置使用相同的映像。WebSphere CloudBurst使用基于元数据的模式描述WebSphere Application Server拓扑结构的构建,并使用脚本实现模式。这些实现脚本透明地执行步骤,比如联合WebSphere Application Server节点并启动节点。这个技巧使得相同的WebSphere Application Server Hypervisor Edition映像可以用于所有不同的拓扑结构。模式实现脚本由IBM创建并包含在设备中。因此,通过使用WebSphere CloudBurst自动执行流程,您就不必为这些常见的WebSphere Application Server配置任务开发脚本。一旦确定了拓扑结构,接下来将执行应用程序部署和特定于应用程序的配置步骤。作为应用程序的所有者,您必须提供特定于应用程序的配置和部署,对此,脚本是最佳解决办法。如果这些步骤被直接构建到映像中,那么您最终会面对大量的映像需要进行管理(并且每个映像都非常大),并且映像会经常发生变化;事实上,每当做出一项应用程序修改时,都需要一个全新的映像。不需要从头开发脚本并研究交叉脚本编排(orchestration)代码,相反,利用Rational Build Forge和Rational Automation Framework for WebSphere是一项更好的选择。构建、打包并将应用程序部署到WebSphere Application Server拓扑结构的步骤可以被轻松地开发为一个Rational Build Forge项目。当WebSphere CloudBurst分配一个模式并创建拓扑结构时,Rational Build Forge项目将被调用,如图2所示。该项目将打包并部署应用程序。Rational Automation Framework for WebSphere提供了一组丰富的WebSphere Application Server配置脚本来在此过程中使用。图2.WebSphere CloudBurst和Rational Build Forge要最大程度地减少所需的映像和脚本的数量,WebSphere CloudBurst为部署时间参数提供了一种机制。模式和脚本包包含在部署时指定的参数,并且在映像被实例化时将这些参数传递给映像。一项极普通的应用就是提供密码,这对于每种部署都应该是惟一的。WebSphere CloudBurst还为脚本包提供了接受部署时间参数的能力。稍后,您将看到Rational Build Forge集成脚本是如何利用这项技巧的。回页首集成细节实现集成的过程非常简单。WebSphere CloudBurst设计能够将由用户提供的脚本包指定为作为模式部署的一部分调用。集成的实现方式是创建一个定制的WebSphere CloudBurst模式,其中包含一个特殊的脚本包,该包与Rational Build Forge进行交互,如图3的步骤2所示。由于集成脚本被参数化为使用Rational Build Forge主机名、项目名和服务器登录凭证作为参数,因此您获得了高度的灵活性和重用性。如果一个模式被定义为包含集成脚本,那么可以输入并锁定参数的值,或者保留为部署时参数:如果参数被锁定,那么模式将被直接链接到特定的Rational Build Forge服务器和项目。如果将参数保留为部署时参数,那么可以重用相同的WebSphere Application Server模式来集成多个不同的Rational Build Forge服务器和项目。和其他脚本包一样,在所有WebSphere Application Servers服务器启动并完成联合(federation)后,集成脚本包在默认情况下将在部署过程快要结束时执行。如前所述,集成脚本包首先检索它的输入参数。运行脚本包后,将从由WebSphere CloudBurst设置的虚拟机向指定的Rational Build Forge服务器发出一个Java?Web服务调用。这个Web服务调用将从指定的Rational Build Forge项目检索步骤并在虚拟机上启动Rational Build Forge代理。当检索到步骤后,它们将在由WebSphere CloudBurst创建的虚拟机上运行。这些步骤如图3所示。图3.WebSphere Application Server虚拟机和Rational Build Forge之间的集成Rational Build Forge项目中的步骤将在WebSphere CloudBurst虚拟机上执行,而不是在Rational Build Forge服务器上执行。如果步骤需要任何形式的网络连接,比如从远程存储库检索应用程序或应用程序源代码,那么您需要确保您的虚拟机具有适当的网络访问。回页首为什么要集成这些产品确实,您可以使用WebSphere CloudBurst或Rational Build Forge中的任意一者来创建定制的WebSphere Application Server环境,其中包含操作系统、WebSphere中间件和用户应用程序。然而,如果不将这两种产品集成在一起的话,那么您将无法获得灵活性和功能性。如果要撇开Rational Build Forge而单独使用WebSphere CloudBurst,那么将需要把脚本包部署并放入到WebSphere CloudBurst模式中,从而实现所有应用程序部署协调。通过启用Rational Build Forge来处理应用程序构建和部署流程,实际的应用程序将与WebSphere CloudBurst模式形成更加松散的耦合。这使您不需要更新到WebSphere CloudBurst模式就可以部署应用程序的更新版本,同时使您能够对不同的应用程序使用相同的模式。此外,Rational Automation Framework for WebSphere为常见的WebSphere Application Server应用程序部署和配置提供了一组脚本,可以在Rational Build Forge项目中使用,这极大地减少了对定制脚本的需求。当然,您可以构建一个超级脚本来模拟Rational Build Forge和Rational Automation Framework for WebSphere的所有功能,但是何必多此一举呢?另一方面,由于Rational Build Forge是一种适应性执行环境,您自然可以将操作系统和WebSphere Application Server环境的设置作为某个项目的步骤,但是运行这种安装和配置的过程比WebSphere CloudBurst使用的基于映像的技术要慢。此外,WebSphere CloudBurst使您能够控制虚拟化WebSphere Application Server环境的完整生命周期。通过使用这种设备,您可以创建、部署和管理此类环境,并且当不再需要这些环境时,可以很容易地移除它们,从而将资源返回给云。WebSphere CloudBurst还提供了WebSphere Application Server智能,即构建在10年领域经验基础上的、可靠的最佳实践配置。同样,您也可以编写超级脚本来模拟所有WebSphere CloudBurst功能,但是,干嘛要那样做?WebSphere CloudBurst与Rational Build Forge的集成利用了每一种产品,这样每一种产品都被用于它所擅长的方面,并且使您在与应用程序的集成以及与支持这些应用程序的环境的集成中受益于最大程度的敏捷性、灵活性和速度。回页首集成场景本文剩余部分将描述一个使用WebSphere CloudBurst和Rational Build Forge的逐步集成场景。要跟随这里介绍的步骤,您需要能够访问WebSphere CloudBurst Appliance、Rational Build Forge安装,以及本文附带的样例脚本包。创建一个Rational Build Forge项目要开始本次练习,您将首先在Rational Build Forge中创建一个名为MyWebProject的项目。这个简单的项目将签出、构建一个样例Web服务应用程序并将其部署到由WebSphere CloudBurst提供的WebSphere Application Server环境。您的项目由4个步骤组成:从一个远程代码存储库中签出源代码。编译应用程序的源代码。将Web应用程序(包含编译后的源代码)打包到多个Java EE WAR模块和一个单独的EAR模块。每个模块包含对应的部署描述符。将打包后的Web应用程序安装到由WebSphere CloudBurst部署的WebSphere Application Server cell。前三个步骤都比较简单,它们确保您的应用程序源代码被检索和构建,并且应用程序被打包以部署到WebSphere Application Server环境。步骤d需要进一步解释,因为它涉及到WebSphere CloudBurst/Rational Build Forge集成。在步骤d中,注意源代码/etc/perties语句(图4)。perties文件由WebSphere CloudBurst在每个虚拟机上创建,包含有关虚拟机中跨越整个cell的WebSphere Application Server环境的信息。该文件中的信息包括WebSphere Application Server安装的位置、配置文件的根目录、cell名、节点名、主机名等等。图4.从项目中安装应用程序从图中可以看到,Rational Build Forge项目中的步骤可以利用/etc/perties文件中的信息。在本例中,这个步骤使用WAS_PROFILE_ROOT变量调用虚拟机中作为WebSphere Application Server配置文件的一部分附带的wsadmin工具。在这里,wsadmin被用于安装在步骤a、b和c中构建和打包的应用程序。向WebSphere CloudBurst添加一个样例脚本包接下来,您需要创建一个定制模式,其中包含用于集成Rational Build Forge的脚本包。同样,脚本包中包含了一个用于驱动WebSphere CloudBurst和Rational Build Forge之间的通信的脚本。以一名用户的身份登录到WebSphere CloudBurst控制台,该用户具有管理目录和创建模式的权限。在Welcome页面中,单击Add script packages。单击Script Packages面板的左侧窗格的绿色叉号(图5)。在提示您输入脚本包名称的对话框内,输入Rational Build Forge Integration。将从本文下载的.zip文件附加到新的脚本包。为脚本提供执行信息。图5.定义脚本包定义脚本包的过程包括定义在执行期间将要被传递给脚本的4个环境变量。这4个变量为脚本提供了用于在WebSphere CloudBurst和Rational Build Forge之间建立通信所需的信息:BF_LAUNCH_PROJECT_NAME:Rational Build Forge项目名BF_SERVER_HOST:Rational Build Forge主机服务器名BF_SERVER_USER:用于登录到Rational Build Forge服务器的用户名BF_SERVER_PWD:用于登录到Rational Build Forge服务器的密码如果需要的话,可以在脚本包定义中为这些变量提供一个默认值。这些值也可以在模式部署时提供,或者可以将这些值输入并锁定到模式中,这样就可以对该模式的所有部署使用相同的值。还需要提供下面的内容:工作目录,附加到脚本包的.zip文件将在此目录中展开。因此包含在.zip文件中的脚本将从这个目录中运行。日志目录包含由于调用脚本包而产生的任何日志。Executable表示到应当被调用的脚本的路径,在本例中即为实现WebSphere CloudBurst和Rational Build Forge之间的通信的脚本。定义好脚本包后,可以单击右上方的工具栏中的Lock按钮,将脚本包选择性地标记为只读。脚本包现在已经被加载到WebSphere CloudBurst目录中。创建一个定制的WebSphere CloudBurst模式接下来,您将创建一个包含脚本包的模式:从Welcome页面中,在控制台中,单击Create patterns。在本例中,您将使用WebSphere single server模式的副本作为定制模式的基础。要克隆模式,单击此模式并选择右上方工具栏中的Clone图标。在对话框中提供有关新模式的必要信息(图6)。图6.创建模式要进入编辑模式,单击右上方工具栏中的Edit按钮。在Pattern Editor模板上的下拉菜单中,选择Script Packages。将Rational Build Forge Integration脚本包拖拽到画布中的Standalone server组件上。添加了脚本包后,单击页面右上角的Done editing链接来返回到Patterns页面。此时,可以选择与脚本包相同的方式锁定模式。图7.编辑模式部署WebSphere CloudBurst模式包含Rational Build Forge集成脚本包的WebSphere CloudBurst模式现在已经准备好进行部署:从模式定义面板中,单击Deploy按钮并为虚拟系统提供一个名称。单击Configure virtual parts并单击Standalone server。图8.部署模式在Standalone server configuration面板中,提供了诸如cell名、节点名和密码等WebSphere配置(图8)。还要注意,为被定义为Rational Build Forge Integration脚本包的一部分的4个变量提供了值。虽然这些值本可以直接放入到模式中,但是在部署时提供这些值可以实现灵活性,即对多个不同Rational Build Forge项目甚至不同的Rational Build Forge服务器使用相同的模式。在提供了所有必要的信息后,单击OK开始部署过程。当部署过程完成后,Virtual Systems页面将被更新以包含虚拟系统的当前状态。图9.脚本包执行当脚本包完成运行后,Rational Build Forge控制台应当显示一条消息,表明在模式部署期间被引用的项目已成功执行(图10)。图10.Rational Build Forge作业上面所述的MyWebProject项目中的每一个步骤都在为您的WebSphere CloudBurst模式中的Standalone server部分创建的虚拟机上运行。检验结果要确认项目获得了预期的结果-在本例中,意味着样例Web服务应用程序完成了安装-检查WebSphere Application Server管理控制台,确保该应用程序出现在其中(图11)。图11.WebSphere Application Server管理控制台在上图中,注意样例Web服务应用程序JaxWSServicesSamples被安装到由WebSphere CloudBurst创建的WebSphere Application Server实例。回页首更多集成除了前面描述的部署时集成外,还包括以下这些有趣的扩展:重新部署应用程序WebSphere CloudBurst Appliance V1.1增加了指定由用户发起的脚本的能力。被指定为由用户发起的脚本将不会在部署结束时自动运行。相反,当可以根据需要多次重复某个用户请求和调用时,这些脚本才开始运行。通过向目录添加两次Rational Build Forge集成脚本-一次用于初始部署,另一次用于由用户发起的脚本包-可以创建同时包含两个脚本的模式。这使您不仅能够自动化初始应用程序安装,而且可以通过重新调用用户启动脚本包来向由WebSphere CloudBurst设置的环境交付应用程序更新。当然,要确保由用户启动的重新部署能够正确工作,您需要确保您的Rational Build Forge项目不仅包括用于安装应用程序的功能,还包括可以卸载应用程序(如果已存在的话)的功能。从Rational Build Forge调用WebSphere CloudBurst Rational Build Forge项目中的步骤可以完成许多您希望执行的操作。因此,要进一步自动化本文描述的流程,可以创建一个Rational Build Forge项目,其中包含的步骤利用WebSphere CloudBurst命令行界面或REST API来发起包含集成脚本包的WebSphere CloudBurst模式的部署。一旦发起部署,WebSphere CloudBurst将指定模式,并且集成脚本将开始运行,调用一个独立的Rational Build Forge项目。这将完全自动化部署WebSphere CloudBurst模式和运行Rational Build Forge项目的过程,运行Rational Build Forge项目将把应用程序交付到指定的环境中。回页首结束语IBM WebSphere CloudBurst和IBM Rational Build Forge都向用户交付了巨大的价值,但是当两者集成到一起时,则可以实现更高层次的价值。这两种产品的集成提供了一个单一的自动化流程,涵盖了从创建完整IBM WebSphere Application Server环境到构建并将应用程序部署到该环境的所有操作。以一种可重复的、一致的和及时的方式创建这种定制化应用程序环境的能力为各种技术团队带来了巨大的优势。回页首下载名字大小下载方法wca-rbf-scriptpackage.zip850KBHTTP关于下载方法的信息参考资料学习IBM WebSphere CloudBurst Appliance产品信息IBM Rational Build Forge产品信息使用WebSphere CloudBurst实现定制(系列)第1部分:创建可高度定制的私有云第2部分:使用WebSphere CloudBurst定制WebSphere中间件环境第3部分:使用脚本包定制超级模式面向企业的云计算(系列)第1部分:了解云的一些基本概念第2部分:Amazon EC2公共云上的WebSphere sMash和DB2 Express-C第3部分:使用WebSphere CloudBurst创建私有云云计算期刊了解云计算的价值IBM developerWorks中国WebSphere专区获得产品和技术最受欢迎的WebSphere试用软件下载:下载关键WebSphere产品的免费试用版。IBM developerWorks软件下载资源中心:IBM deveperWorks最新的软件下载。IBM developerWorks工具包:下载关键WebSphere最新的产品工具包。讨论空间:WebSphere Cloud Computing for Developers空间:云计算中心论坛:WebSphere CloudBurst Appliance Forum博客:A view from the clouds:Cloud computing for the WebSphere developer作者简介David Brauneis是IBM Rational Software Delivery Automation Segment(包括Rational Build Forge)的高级架构师和开发主管,并且是Rational Automation Framework for WebSphere的首席架构师。他于2007年2月加入Rational。在加入Rational Build Forge团队之前,David在WebSphere Application Server团队工作了8年的时间,担任过各种架构和开发角色。除了日常的工作职责外,David还是负责设计和实现由WebSphere使用的自动构建系统的团队的一员。他拥有8年的WebSphere Application Server开发经验,超过7年的J2EE应用程序开发经验,以及超过11年的Java开发经验。David在位于北卡罗来纳

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论