存档

‘初级入门’ 分类的存档

使用manageprofiles来建立websphere的profile

2010年1月20日 hashei 1 条评论

在Unix的机器上(包括AIX、HPUX)安装websphere64位的话,想要建立Profile是没有图形化界面的,需要使用manageprofiles命令,下面就详细描述一下如何使用这个命令。

1、建立DM的profile,使用的模版在{install_root}/profileTemplates/dmgr下
句法为:
manageprofile.sh -create –templatePath {install_root}/profileTemplates/dmgr

调用参数为:
-create 建立一个profile. (必选)
-templatePath 指定使用模版的路径. (必选) 建立DM的路径为{install_root}/profileTemplates/dmgr
-profileName 指定profile的名字. (可选)
-profilePath 指定proflile需要建立的路径. (可选)
-hostName 指定profile对应的主机名称. (可选)
-nodeName 指定profile对应的node的名称. 此名称必须在同一cell中唯一. (可选)
-cellName 指定profile对应的cell的名称. 每一个profile的cell名称必须唯一. (可选)
-isDefault 讲此profile指定为缺省的profile,在运行命令期间不需要使用profileName的参数. (可选)
-omitAction 附加条件. (可选)
-adminUserName 在指定administrative security选项后的管理员名称. (可选)
-adminPassword 在指定administrative security选项后的管理员密码. (可选)
-portsFile 指定profile的端口设定文件. 此参数和-startingPort或-defaultPorts参数冲突. (可选)
-startingPort 制度建立profile是的所有的端口的起始的端口号. 同-portsFile或者-defaultPorts参数冲突. (可选)
-defaultPorts 对新建立的profile使用缺省的端口号. 同-portsFile 或 -startingPort 参数冲突. (可选)
-validatePorts 进行端口号验证,保证使用的端口号没有已经被用或者被保留. (可选)
-enableAdminSecurity 新建立的profile使用用户密码方式认证,使用此参数后面跟 true. (可选) 
-enableService 作为linux的service使用,使用此参数后面跟 true. (可选) 
-serviceUserName 指定作为service使用时的用户. (可选)

-webServerType 指定Web server的类型. (可选)
-webServerOS 指定Web server的操作系统的类型. (可选)

例子:
export WAS_HOME=
export PRO_HOME=
以上指定websphere的安装路径和profile的路径,或者输入命令时替换

manageprofiles.sh -create \
-templatePath $WAS_HOME/profileTemplates/dmgr \
-profilePath $PRO_HOME/Dmgr01 \
-nodeName "nodename" \
-cellName "cell name" \
-enableAdminSecurity true \
-adminUserName wasadmin \
-adminPassword password \
-profileName Dmgr01 \
-hostName `hostname` \

2、建立custom的profile,使用的模版为{install_root}/profileTemplates/managed
句法为:
manageprofile.sh -create -templatePath {install_root}/profileTemplates/managed
调用参数同上:

要联合到DM的例子
manageprofiles.sh -create \
-templatePath $WAS_HOME/profileTemplates/managed \

-profileName AppSrv01 \

-profilePath $PRO_HOME/AppSrv01 \
-nodeName test01 \

-hostName `hostname` \
-cellName test1 \
-dmgrHost 192.168.1.100 \
-dmgrPort 8879 \
-dmgrAdminPassword password \
-dmgrAdminUserName wasadmin

不用联合到DM,而后用addNode.sh联合的例子
manageprofiles.sh -create \
-templatePath $WAS_HOME/profileTemplates/managed \
-profilePath $PRO_HOME/AppSrv02 \
-nodeName test02 \
-cellName test2 \
-profileName AppSrv02 \
-hostName `hostname`

addNode.sh 192.168.1.100:8879 -username wasadmin -password password

3、建立appsrv的profile,使用的模版在install_root/profileTemplates/default
句法为:
manageprofile.sh -create -templatePath install_root/profileTemplates/default
调用参数同上:例子么也就那样

4、对于集群来说,建立DM profile,然后建立多个custom的profile,addNode进去即可。或者把现有的app profile addNode到DM的概要文件中,然后通过克隆建立集群。

(转)Websphere Application Server 6.0配置与管理

2009年11月19日 hashei 没有评论

温故而知新:这篇文章应该是半年前在webspherechina.net上下载的,今天查找如何在webshpere下对应用程序采用key认证时候偶然发现,应该说是从开发人员的角度理解了was这个产品,贴出来大家分享。

Websphere Application Server 6.0配置与管理

一、 WebSphere Application Server 6.0家族概述

WebSphere Application Server6.0(以下简称“AppServer”)在安装IBM Rational Application Developer6.0的时候已经为我们自动安装了,完全可以做为一个独立服务器运行。具体情况请参考“IBM Rational Application Developer 6.0安装、配置与开发”一文。所以本文只是为了在用IBM Rational Application Developer 6.0(以下简称“RAD”)开发时,我们可以更好地配合AppServer在测试、运行、部署等过程中一起工作,减少因为对AppServer不甚了解而遇到问题时无从下手的麻烦。

IBM公司的软件产品有五大系列:DB2、Lotus、Rational、Tivoli、Websphere(其中大部分都是收购别的公司的)。其中的Websphere系列,主要是为了电子商务而建立的一个基础平台。它可以使公司开发、部署和整合电子商务应用。

基础平台与工具(Foundation&Tools

WebSphere Application Server

WebSphere Application Server – Express

WebSphere Studio

商业门户(Business Portals

WebSphere Portal

WebSphere Portal – Express

WebSphere Commerce

WebSphere Everyplace

WebSphere Voice

商业整合(Business Integration

WebSphere MQ

WebSphere Business Integration

Adapters and Connectors

clip_image001

(IBM Websphere家族)

下图为概要说明:

clip_image003

IBM的AppServer是Webshpere的软件平台的基础(Foundation)。而WebSphere Studio(在6.0中已经转移到Rational系列中)是其开发测试工具(Tools)。

而对于AppServer,又有几个不同的版本,主要是应对不同规模需求的应用,我们项目组提供的是Network Deployment版本,它们大致描述如下:

clip_image005

Websphere AppServer 6.0系列(从上到下为包含关系

下面是WebSphere Application 5.1的几个版本的关系,比较上下两个图,我们会发现在版本升级后,它们的变化(如6.0版本中,去掉了Base这个称呼,不过表达时一般还是附带)

clip_image007

Websphere AppServer 5.1系列

对于6.0各版本AppServer,它们的差别和需要注意的地方:

1、 Express版本主要是支持Web系统开发的易用性,不支持EJB和JCA。

2、 Base版本(缺省版本)提供EJB和JCA、内置JMS等支持,但不支持负载和中央集中式管理。

3、 Network Deployment版本除了Base版本的所有功能外,还支持集群、高可用性(High Availability)等。

二、 WebSphere Application Server 6.0系统结构

说明:

IBM WebSphere Application Server – Express V6, 指Express

IBM WebSphere Application Server V6, 指 Base

IBM WebSphere Application Server Network Deployment V6, 指Network Deployment

2.1 AppServer的运行和管理方式

从AppServer运行和管理的角度考虑,我们可以将它分成standalone和distribution模式。Express和Base只能运行在standalone模式下,而Network Deployment在两种方式下均可,它可以提供在standalone模式下没有的功能,如workload(负载)和failover(失效转移)。

对于这两种模式和运行,Websphere 有其专用术语,如Profile,Cell-Node-Server等等,下面我们会分别介绍,

不管服务器运行在何种模式下,AppServer均以cell、node、server等概念组织。除非你在Network Deployment环境下运行,否则cell、node等概念并没有多大参考价值,也就是说,在standalone模式下只有一个cell和node(从服务器Profile的目录结构就可以看出, profile的概念下面会具体谈到)。

clip_image009

Standalone模式下的架构总览

ServerApplication Server是首要的runtime组件,它是applications的执行点。多个standalone的server能够存在于一台物理机器上,它们的配置文件被独立维护和存储。有两种方式可以做到:通过全新安装新的AppServer代码,或者通过一次AppServer的安装,然后配置多个profile。每个AppServer运行在它们各自的Java虚拟机上。

Nodenode(节点)是一组Server进程的逻辑组合。它们通过websphere管理,共享通用的配置和操作控制。一个node和一个webSphere的物理安装对应。

在standalone的配置下,仅有一个node。在Network Deployment下,你能从一个总的管理服务器来配置和管理多个nodes。在中央集中式管理的配置下,每个node有一个node agent,它和deployment manager一起工作,来管理受管进程。

NodeGroup 是一个被V6.0引入的新概念,node group是在cell内的一组节点,它们有相似的capability。

Cellcell是一组集成到一个管理domain的nodes(Distribution 环境下)。在该cell下的所有nodes的配置文件和application被集中到一个cell master的中央配置存储容器(repository)。deployment Manager 进程管理这个存储器并且和它管理下的每个node上的备份相同步(synchronize)。

clip_image011

2.2 AppServer静态结构――Server和Container的概念

WebSphere AppServer 本身提供一些功能给application,并且它还能将外部server集成到管理进程中来。下图说明了你能集成什么server到websphere Application 管理工具中。

clip_image013

Web Server能够作为Web Server 节点(nodes)集成到管理进程中,它允许应用程序关联到一个或多个web Server。

Web Server Nodes能够在管理和非管理状态。在管理状态下,被管理的node有一个node agent在web Server的机器上,它允许deployment manager来管理这个web Server。在非管理状态下,该web Server 并不被websphere管理,你能够发现这些web Server在防火墙外面,或在非军事化区(demilitarized zone)。你必须手动地拷贝Web Server 的plug-in文件到web Server的。然而,如果你定义该web Server作为一个node,你就可以为它定制的plug-in文件。

Generic Server是指该server在websphere domain下接受管理,但是并不是由 WebSphere Application Server提供的第三方Server,如OpenJMS server,tomcat等。

J2EE规范提出了容器(container)的概念,它提供application的运行时支持。在application Server实现中有两类容器:

Web Containe它处理HTTP Request,Servlet和JSP。

EJB Container它处理Enterprise JavaBean(Session Bean,Entity Bean和Message-Driven Bean)。

Application Client Container(ACC):它允许J2EE application 客户端软件访问服务器资源。ACC需要单独安装在客户端机器上,然后我们就可以通过命令行方式在ACC里运行客户端程序(lauchClient)。具体specification,请参考sun J2EE specification 1.4。

注意:websphere AppServer客户端并不支持单独的J2EE客户端jar执行。

clip_image015

利用J2EE容器资源的J2EE客户端程序

下表说明了几种AppServer对它们的支持:

clip_image017

2.3 AppServer的动态结构――Profile概念

AppServer profile的概念是V6.0提出的。在V5.0中,AppServer就允许在一台机器的一个Server上允许多个实例。在V6.0中,IBM对AppServer该功能有了进一步增强,提出了Profile的概念:

AppServer由两部分组成:

第一, 一组共享的只读产品静态文件或二进制文件。它们被AppServer的实例共享。

第二, 一组用户自定义的配置文件,这些文件就称为Profile。它是一些用户数据,包括服务器配置,application,属性文件等。

在我们安装V6.0的应用服务器时,我们应该先安装AppServer,然后再安装Profile,这样才能建立一个逻辑上并且是物理上的AppServer。

结合前面的cell,node,server和现在的profile概念,我们看看我们的application在服务器Profile下的目录结构:

clip_image019

在standalone模式和distribution下,profile的目录结构区别并不大,它们的区别,以及各目录下的具体文件含义,请参考IBM的红皮书:《WebSphere Application Server V6 System Management & Configuration》。

WebSphere下应用程序更新

2009年7月25日 hashei 4 条评论

先介绍我们常用的直接上传方法

一般来讲,单机版的was,应用程序部署在 %washome%/profiles/%AppProfile%/installedApps下,根新的时候可以直接把新文件上传到这个目录相应位置,但是如果要改动web.xml等重要文件,还需要修改另外一个地方:%washome%/profiles/%AppProfile%/config/cells/CellName/applications/AppName,这里放有包括web.xml等一些配置文件信息,千万不能遗忘(可以先看一下这目录下有些什么文件),否则重启应用后修改不会生效

如果是ND环境的was,并且做了集群,那么要注意集群所在的每个app profiles下都有installedApps应用程序目录需要修改,同样config下相应文件需要修改(如果有对这目录下的文件进行过修改的话),还一定要注意dm profile的config目录下也需要修改,否则重启dm后所有修改会回滚会最初的样子。最好把变动过的web.xml等文件也更新到dm config下的应用程序包中,我遇到过即使修改config目录下文件,重启dm节点后依然回滚的情况。

Websphere也支持通过控制台更新和删减单个应用文件

这是WebSphere推荐的方法,但是大家不常用罢了,有兴趣的可以看看,聊当多知道一种方法。

要查看此管理控制台页面,单击应用程序 > 企业应用程序

要查看为应用程序的配置指定的值,单击列表中的应用程序名。显示的应用程序设置页显示已指定的值。在设置页上,您可以更改现有的配置值并且链接到可以协助您配置应用程序的其他控制台页面。

要管理已安装的 J2EE 企业应用程序,启用列表中的应用程序名旁边的选择复选框,然后单击按钮:

按钮

结果操作

启动

试图运行应用程序。在成功启动应用程序之后,如果应用程序在所有部署目标上启动,则应用程序的状态更改为已启动,其他情况下,状态更改为部分已启动

停止

试图停止应用程序的处理。在成功停止应用程序之后,如果应用程序在所有部署目标上停止,则应用程序的状态更改为已停止,其他情况下,状态更改为部分已停止

安装

打开可帮助您将应用程序或模块(如 .jar、.war 或 .rar 文件)部署到服务器或集群的向导。

卸载

从 WebSphere Application Server 配置库删除应用程序,并且从所有节点的文件系统删除应用程序二进制文件,而这些节点是配置被保存和与节点同步之后安装应用程序模块的节点。

更新

打开可帮助您更新部署在服务器上的应用程序文件的向导。您可以更新整个应用程序、单个模块、单个文件或一部分应用程序。如果新的文件或模块与服务器上已有的文件或模块同名,则新的文件或模块将替换现有文件或模块。如果服务器上还不存在该新的文件或模块,则将它添加到已部署应用程序。

更新应用

继续更新跨越一个集群安装在多个集群成员上的应用程序。在您更新应用程序的文件或配置之后,单击更新应用,以在安装应用程序的集群的所有集群成员上安装应用程序的已更新文件或配置。更新应用依次为每个集群成员执行下列操作:

  1. 保存已更新的应用程序配置。
  2. 停止一个节点上的所有集群成员。
  3. 通过同步配置更新节点上的应用程序。
  4. 重新启动已停止的集群成员。
  5. 为所有具有集群成员的节点重复步骤 2 到 4。

此操作在提供应用程序的持续可用性的同时,更新多个集群成员上的应用程序。

除去文件

删除已部署应用程序或模块的文件。除去文件从 WebSphere Application Server 配置库和从安装文件的所有节点的文件系统中删除文件。 如果在集群上部署了应用程序或模块,则在除去文件后,单击更新应用以首次展示跨整个集群的更改。

导出

访问“导出应用程序 EAR 文件”页,您可以使用该页面将企业应用程序导出到您选择的位置上的 EAR 文件。使用导出操作备份已部署应用程序并且保存它的绑定信息。

导出 DDL

访问“导出应用程序 DDL 文件”页,您可以使用该页面将企业应用程序的 EJB 模块中的 DDL 文件(Table.ddl)导出到您选择的位置。

使用此页面更新已安装在服务器上的企业应用程序、模块或文件。

要查看此管理控制台页面,完成下列步骤:

  1. 单击应用程序 > 企业应用程序
  2. 选择您要更新的已安装的应用程序或模块。
  3. 单击更新

单击更新显示帮助您更新部署在单元中的应用程序文件的页面。您可以更新整个应用程序、单个模块、单个文件或一部分应用程序。如果新的文件或模块与服务器上已有的文件或模块具有相同的相对路径,则新的文件或模块将替换现有文件或模块。如果服务器上还不存在该新的文件或模块,则将它添加到已部署应用程序。

应用程序名

指定您在“企业应用程序”页面上选择的已安装(或部署)的应用程序的名称。

完整的应用程序

更新选项下,指定用新的(已更新的)企业应用程序 .ear 文件替换已安装在服务器上的应用程序。

选择此选项后,指定 .ear 文件是在本地还是在远程文件系统上,并指定应用程序的完整路径名。此路径在安装前提供已更新的 .ear 文件的位置。

如果浏览器和更新文件或模块在同一机器上,无论服务器是否在该机器上,使用本地文件系统本地文件系统可用于所有更新选项。

如果应用程序文件驻留在当前单元上下文的任何节点上,使用远程文件系统。 如果 Node Agent 或 Deployment Manager 正在所选节点上运行,您可以浏览节点的整个文件系统。浏览期间,仅显示 .ear、.jar 或 .war 文件。另外使用远程文件系统选项,以指定已在运行应用程序服务器的机器上的应用程序文件。例如,Windows 机器上的字段值可能是 C:\WebSphere\AppServer\installableApps\test.ear。

注: 应用程序安装期间,通常从运行浏览器的客户机将应用程序文件上载到部署它们的、在运行管理控制台的服务器上。在这些情况下,使用运行管理控制台的 Web 浏览器选择 .ear、.war 或 .jar 模块,以上载到服务器。然而在某些情况下,应用程序文件驻留在单元中的任何节点的文件系统上。要让应用程序服务器安装这些文件,使用远程文件系统选项。

指定有关 .ear 文件的必需的信息后,单击下一步显示更新应用程序文件的向导。此更新向导与安装向导类似,它提供了指定或编辑应用程序绑定信息提供字段。根据需要完成更新向导中的步骤。

当更新了完整的应用程序时,卸载旧的应用程序并安装新的应用程序。当保存配置更改并随后同步配置更改时,在应用程序将运行的节点上扩展应用程序文件。如果当更新应用程序时它正在节点上运行,则停止应用程序、更新应用程序文件并且启动应用程序。

单个模块

更新选项下,指定替换在已安装的应用程序中的模块,或将模块添加到已安装的应用程序。模块可以是 Web 模块(.war 文件)、Enterprise Bean 模块(EJB .jar 文件)或资源适配器模块(连接器 .rar 文件)。

选择此选项后,指定模块是在本地还是在远程文件系统上,并指定模块的完整路径名。此路径在安装前提供已更新模块的位置。要获取有关本地文件系统远程文件系统的信息,请参阅以上完整的应用程序的描述。

要替换模块,模块的相对路径(模块 URI)的值必须与要在已安装的应用程序中更新的模块的路径匹配。

要将新模块添加到已安装的应用程序,模块的相对路径的值能与已安装的应用程序中模块的路径匹配。此值指定新模块期望的路径。

如果您正在安装独立的 Web 模块,则指定上下文根的值。上下文根与定义的 servlet 映射(来自 .war 文件)进行组合,以组成用户输入以访问该 servlet 的完整 URL。例如,如果上下文根是 /gettingstarted 并且 servlet 映射是 MySession,则 URL 是 http://host:port/gettingstarted/MySession。

指定有关模块的必需的信息后,单击下一步显示更新应用程序文件的向导。更新向导与安装向导类似,它提供指定或编辑模块绑定信息的字段。根据需要完成更新向导中的步骤。

在添加或更新了单个模块后,当保存配置更改时,新的或更新的模块被存储到 WebSphere Application Server 配置存储库的已部署应用程序中。当这些更改与节点一起同步时,模块被添加或更新到节点的文件系统中。如果当添加或更新模块时应用程序正在节点上运行,则发生下列某个情况:

· 对于到 Web 模块的更新,停止正在运行的 Web 模块,更新 Web 模块文件然后启动 Web 模块。

· 对于模块增补,在节点上扩展添加的模块之后,在运行应用程序的应用程序服务器上启动这个添加的模块。不需要重新启动应用程序。

· 如果应用程序的类装入器策略设置为单个以使所有的模块共享一个类装入器,则对于模块级别更改,停止和重新启动整个应用程序。

· 如果与 WebSphere Application Server 一起配置的 Security Provider 不支持动态更新,则对于模块级别更改,停止和重新启动整个应用程序。

· 对于模块的其他更新,停止整个应用程序,更新模块文件,然后启动更个应用程序。

单个文件

更新选项下,指定替换在已安装的应用程序中的文件,或将文件添加到已安装的应用程序。

使用此选项更新应用程序使用的并且不是 .ear、.war、.rar 或某些情况下 .jar文件的文件。您可以使用此选项添加或更新不是作为应用程序中模块定义的 .jar 文件。要更新 .ear 文件,使用完整的应用程序选项。要更新作为应用程序中模块定义的 .war 文件、.rar 文件或 .jar 文件,使用单个模块选项。

选择此选项后,指定文件是在本地还是在远程文件系统上,并指定文件的完整路径名。此路径在安装前提供已更新文件的位置。要获取有关本地文件系统远程文件系统的信息,请参阅以上完整的应用程序的描述。

下一步,指定文件的相对路径的值。文件的相对路径必须从 .ear 文件的根开始。例如,如果文件位于 hello.jar 模块中的 com/company/greeting.class,则指定 hello.jar/com/company/greeting.class 的相对路径。

要替换文件,文件的相对路径的值必须与在已安装的应用程序中要更新的文件的路径匹配。

要将新文件添加到已安装的应用程序,文件的相对路径的值能与在已安装的应用程序中的文件的路径匹配。此值指定新文件期望的路径。

在添加或更新了单个文件后,当保存配置更改时,新的或更新的文件被存储到 WebSphere Application Server 配置存储库的已部署应用程序中。当这些更改与节点一起同步时,文件被添加或更新到节点的文件系统中。如果当添加或更新文件时应用程序正在节点上运行,则发生下列某个情况:

· 在应用程序元数据作用域(META-INF 目录)上添加文件时,或在任何应用程序作用域上或非 Web 模块中更新这些文件时,停止整个应用程序,添加或更新文件,然后重新启动整个应用程序。

· 在应用程序非元数据作用域(在 META-INF 目录外但不在任何模块中)上添加文件时,在不重新启动运行应用程序的情况下在文件系统中保存更改。

· 当文件添加到或更新到 Web 模块元数据(META-INF 或 WEB-INF 目录)时,停止运行的 Web 模块,添加或更新 Web 模块文件,然后启动此 Web 模块。

· 对于 Web 模块中的所有其他文件,在节点的文件系统上添加或更新文件,而没有停止应用程序或任何其组件。

部分应用程序

更新选项下,指定通过上载压缩文件更新已安装的应用程序的多个文件。根据已压缩文件的内容,单独使用此操作可以替换已安装的应用程序的文件,将新文件添加到已安装的应用程序或从该用程序将文件删除。在已压缩文件中的每个条目都作为单个文件对待,而来自已压缩文件的根的文件的路径都作为在已安装的应用程序中的文件的相对路径对待。

选择此选项后,指定已压缩文件是在本地还是在远程文件系统上,并指定已压缩文件的完整路径名。您将有可能使用本地文件系统,因为您正在上载压缩文件并且远程浏览仅适用于 .ear、.war 或 .jar 文件。指定有效的已压缩文件格式,如 .zip 或 .gzip。此路径在安装前提供已压缩文件的位置。此选项将已压缩文件解压缩到已安装的应用程序目录中。

如果浏览器和更新文件或模块在同一机器上,无论服务器是否在该机器上,使用本地文件系统本地文件系统可用于所有更新选项。

要替换文件,在已压缩文件中的文件必须有与在已安装的应用程序中要更新的文件相同的相对路径。

要将新文件添加到已安装的应用程序,在已压缩文件中的文件必须有与已安装的应用程序中的文件不同的相对路径。

已安装的应用程序中文件的相对路径由模块(如果文件在模块内)的相对路径和来自模块的根的用 / 分隔的文件的相对路径的并置组成。

要从已安装的应用程序除去文件,使用在任何归档作用域中名为 META-INF/ibm-partialapp-delete.props 的文件在已压缩文件中指定元数据。ibm-partialapp-delete.props 文件必须是 ASCII 文件,它列出在每行都有一个条目的此归档中要删除的文件。条目可以包含字符串模式,如识别多个文件的正则表达式。要删除的文件的文件路径必须相对于具有 META-INF/ibm-partialapp-delete.props 文件的归档路径。

要删除的文件的级别

要包括在压缩文件中的 Metadata.props 文件

应用程序

将 META-INF/ibm-partialapp-delete.props 包括到压缩文件中。在元数据 .props 文件中,列出要删除的文件。文件路径是相对于 META-INF/ibm-partialapp-delete.props 文件的位置。

例如,要从 my.ear 文件的根删除名为 utils/config.xmi 的文件,则将行 utils/config.xmi 包括到 META-INF/ibm-partialapp-delete.props 文件中。

模块

在压缩文件中包含 module_uri/META-INF/ibm-partialapp-delete.props。

要从模块删除一个文件,在元数据 .props 文件中包含模块的文件相对路径。例如,要从 my.jar 模块删除 a/b/c.jsp,在压缩文件的 my.jar/META-INF/ibm-partialapp-delete.props 文件中包含 a/b/c.class 。

要在模块内删除多个文件,在元数据 .props 文件中列出要删除的文件,每行一个条目。例如,要从 my.war 文件中删除所有的 JavaServer Pages(.jsp 文件),在 my.war/META-INF/ibm-partialapp-delete.props 文件中包含 .*jsp 行。此行使用正则表达式 .*jsp 来识别 my.war 中的所有 .jsp 文件。

您可使用单个部分应用程序文件添加、删除和更新多个文件。

更新部分应用程序后,当保存配置更改时,新的或更新的应用程序文件被存储到 WebSphere Application Server 配置库的已部署应用程序中。当这些更改与节点一起同步时,文件被添加或更新到节点的文件系统中。因为部分应用程序选项更新多个文件,使用部分应用程序中的个别文件确定重新启动的应用程序组件。

示例

部分应用程序压缩文件中的条目的示例如下所示:

util.jar

META-INF/ibm-partialapp-delete.props

foo.jar/com/mycomp/xyz.class

xyz.war/welcome.jsp

xyz.war/WEB-INF/web.xml

webmod.war/META-INF/ibm-partialapp-delete.props

对于此示例,META-INF/ibm-partialapp-delete.props 文件包含 .*.dat 和 tools/test.jar 文件。webmod.war/META-INF/ibm-partialapp-delete.props 文件包含 com/test/.*.jsp 和 WEB-INF/test.xmi 文件。

部分应用程序更新选项执行下列操作:

· 在已部署应用程序中添加或替换 util.jar。

· 添加或替换已部署应用程序的 foo.jar 文件中的 com/mycomp/xyz.class。

· 从应用程序而不是从任何模块删除 *.dat 文件。

· 从应用程序删除 tools/test.jar。

· 添加或替换已部署应用程序的 xyz.war 模块内的 welcome.jsp。

· 替换已部署应用程序的 xyz.war 模块内的 WEB-INF/web.xml。

· 从 webmod.war 模块删除 com/test/*.jsp。

· 从 webmod.war 模块删除 WEB-INF/test.xmi。

WebSphere应用打包部署

2009年7月24日 hashei 2 条评论

本文主要讲述使用WebSphere 5中自带的“应用程序组装工具”来为应用程序打包的方法。虽然是V5下的工具,但是得到的war包和ear包可以在V6的WebSphere上发布,可以拷贝出相关文件作为绿色软件使用。由于工作中应用程序包基本由开发人员提供,所以本人对其它IDE自带的打包工具或者ANT工具不是特别熟悉,但是这个“应用程序组装工具”对于已打包软件的查看和修改还是有一定作用的。

打包工具介绍

我们一般使用的是Webshpere 5的应用程序组装工具,将jsp和class等打成ear包。在Webshpere 5安装(或直接拷贝过来)目录下bin目录中,如下图:

clip_image002

找到assembly.bat和setupCmdLine.bat这两个文件,如下图:

clip_image004

其中assembly.bat文件是用于启动应用程序组装工具;setupCmdLine.bat是用于配置启动参数,位于文件开头部分的两项可能(如果是拷过来的)需要配置:

SET WAS_HOME=D:\WebSphere5\AppServer

SET JAVA_HOME=D:\j2sdk1.4.2_03

WAS_HOME:Webshpere 5的安装目录或Webshpere 5的拷贝目录;

JAVA_HOME:jdk目录,默认指向${WebSphere5}\AppServer\java目录,但不一定有效,你可以尝试指向你常用的jdk目录;

参数配置好后,运行assembly.bat文件,进程界面结束后显示应用程序组装工具的主界面,如下图:

clip_image006

[进程界面]

clip_image008

[主界面]

简明操作方法

点击toolbar中[新建]按钮,选择[应用程序],如下图:

clip_image010

便打开如下界面:

clip_image012

在红线圈画的地方命名你的ear包名称,然后右击左侧目录树的[Web模块]后点击[新建],如下图

clip_image014

弹出其配置界面,如下图:

clip_image016

命名好文件名(war包的名称)和上下文的根后点击[确定]按钮,再展开[Web模块]目录树,得到下图操作界面:

clip_image018

以下的步骤比较关键,主要包括:

1、 配置资源引用

2、 配置类文件、jar文件和资源文件

此处如上图红线圈定部分,稍做解释:

资源应用 在这我们主要定义WebSphere 6中的数据库连接池的JNDI名称。

类文件 web应用根目录中WEB-INF\classes目录和其子目录下的所有文件,包括“.class”和“.properties”(一般定义在classes目录下)等文件

jar文件 web应用根目录中WEB-INF\lib目录下的所有jar文件

资源文件 web应用根目录中所有的“.jsp”、“.css”、“.js”、“.inc”和图片文件以及WEB-INF目录下的所有配置文件和定义文件,例如:struts-config.xml,struts-html.tld等

配置资源引用

右击[资源引用]点击[新建],打开如下界面:

clip_image020

将红线圈定部分作如下修改:

clip_image022

其意义在是用于定义数据连接池,还有其他作用,你一看便知。然后,点击[绑定]Tab页,如下图:

clip_image024

这里关键在于写你的数据库连接池的JNDI名称,在之后的应用发布中会详细定义的,好了按照定义我写成如下:

clip_image026

到此,我们数据库连接的资源引用已定义完毕,点击[确定]按钮吧!

配置类文件、jar文件和资源文件

1、 配置类文件

右击[类文件]然后点击[添加文件],如下图:

clip_image028

打开以下界面:

clip_image030

注意红色线圈定部分的概念,稍作解释,我们一般应用的目录例如下图:

clip_image032

在此opensrc就是你的根目录或归档。点击[浏览]按钮,选择文件夹opensrc后如下图:

clip_image034

在左侧的目录树中展开WEB-INF目录后选中classes目录,这时右侧内容就显示classes下的所有内容了,如下:

clip_image036

选中右侧所有内容,点击[添加]按钮后如下图:

clip_image038

你也可以去除掉一些不需要的内容,比如我们经常使用VSS的产生的“vssver.scc”,选中后点击[去除]按钮即可,好了完成了点击[确定]按钮。

clip_image040

你可以点击红线圈定的[扩展]头,进行排序,选中所有需去除的文件,然后按键盘[DEL]键删除。到此类文件添加完毕。

2、 配置jar文件

添加jar文件与添加类文件操作雷同,只不过在目录树左侧选择“WEB-INF/lib”目录,值得注意的是添加的一定要是“jar”文件,如果不是,例如spring的“spring-beans.dtd”文件,工具会提醒你的,别管它了,只要[确定]就行。

3、 配置资源文件

添加资源文件分两步:

Ø 在目录树左侧选择“根”目录,在此就是“opensrc”目录,值得注意的是选择右侧内容时注意去掉“WEB-INF”目录,如下图:

clip_image042

Ø 在目录树左侧选择“WEB-INF”目录,值得注意的是选择右侧内容时注意去掉“classes”和“lib”目录,如下图:

clip_image044

点击[确定]按钮,一切OK,噢!不对,列表怎么没有“struts-config.xml”等文件,我也不知道为什么,工具没有将他们显示出来,不过你放心,他们已被包含进来了。

接下来就要配置所有的servlet和servlet映射,可以对照最初的web.xml文件逐个添加到“web组件”和servlet映射中去,要注意配置一些初始化参数和其他属性。

对照应用程序的web.xml可能还需要添加一些别的配置信息到它的新的部署描述符里去,比如标记库,侦听器,jndi等资源引用,欢迎页面等都可以一一添加进去。

最后在“文件”一栏中选择“查看部署描述符”仔细对照新生成的和最初的有没有不同,仔细修改。

一切OK,点击toolbar上的[保存]按钮吧!

clip_image046

工具显示保存进程:

clip_image048

然后高兴的弹出:

clip_image050

哈哈!大功告成了!别急,我们来检查一下,使用RAR将“.ear”包打开

clip_image052

噢!原来是这样,再进一步打开“META-INF”目录:

clip_image054

这就是IBM的打包工具加进来的东东!再打开“.war”文件:

clip_image056

“struts-config.xml”等文件也都在。注意war包里的目录层次不要搞乱,乱掉了一般要重新打包资源文件,确保万无一失。

WAS启用IHS的SSL

2009年7月11日 hashei 没有评论

这两天上海38度,脑袋发昏写不出啥东西,就拿以前积攒的内容来充数好了。

在WebSphere Application Server中可以有两个环节可以启用SSL来提高安全性:一是在客户端和IBM HTTP Server(IHS)间启用SSL,二是在IHS和应用服务器之间启用SSL。两个环节可以单独启用,也可以同时开启SSL。

一般我们会在客户端和IHS之间建立SSL连接,因为互联网在信息开放的同时带来了很多安全方面的问题,这点不用我多累述。而IHS一般处在拓扑结构的DMZ区,和互联网之间隔着一层防火墙,应用服务器则处在更安全的内部网络,所以综合安全和响应时间的考虑,IHS和应用服务器之间一般不再采用SSL。

下面两篇文章分别说明了如何在WAS6.0和WAS6.1中使用自签名的证书来开启IHS的SSL,如果是提供互联网服务的话,最好还是购买一下商业CA中心出具的证书,否则跳出个窗口提示证书不安全可就有趣了。

WAS6.0 http://docs.google.com/fileview?id=F.576ac8bd-943c-4de9-a4b0-5f8abd2a477d&hl=zh_CN

WAS6.1 http://docs.google.com/fileview?id=F.4de8195d-6801-450f-8a2c-5ce9ec9990c4&hl=zh_CN

(有别人写的那么好的文档,我就不高兴再自己写鸟,应该可以转的吧)

WAS5.1 下启用SSL方法类似,只是加载的模块为“LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll”

而对申请商业证书,首先要在“个人证书请求”中新建一个请求,填入相关的信息,保存到一个certreq.arm的文件,用文本工具打开后,可以看到

—–BEGIN NEW CERTIFICATE REQUEST—–
MIIBdjCB4AIBADA3MQswCQYDVQQGEwJDTjETMBEGA1UEChMKanFjbHViLm5ldDETMBEGA1UEAxMK
WFpILUhBU0hFSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvOZmF3LojJEaAordCmbK9xze
//caxC+0M399AxFUdTbA6HCC8SImRFgItmfBhXt3GsRekCtcbCOxPWmoIr3A9Y6mOMh0uOkQbVVv
EFlbmyxGNha7tBLrFz3l3juRtHiiyXZ2KPUDu8gWFL6tC2DBvoFVaq9ValeX7umAAKpyQ9ECAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA4GBADOtHdOX0UY2GVKw3trjjrlNO4D2wN05cE6SmBm2zJXOrzdz
WKs01TEsnYlEEWS7Z7vRnhgj23eynd646/Kzxb8biipAL0TUcYkEUMRN1+VSFNdmHRGRQIeolGIf
ZzpZk0I1BHQeccHCdFRItNovWMD4XsmBq3WufgRhyNpHmHPQ
—–END NEW CERTIFICATE REQUEST—–

上传这个请求到CA发行商那里并通过后,会得到一个证书,在“个人证书”里接受即可。

当你的网站有许多个应用,而不希望每个应用都启用SSL,同时希望启用SSL的应用禁止通过80端口访问的话,可以通过“虚拟主机”来实现这个目标。

默认的应用都发布在default_host下,你可以新建一个ssl_enable的虚拟主机,在ssl_enable下仅启用443端口,把应用映射到这台虚拟主机上,那么这个应用只能通过443端口来访问了,而别的应用照旧可以在80端口下访问。

WebSphere入门篇(四)-安装集群

2009年5月4日 hashei 7 条评论

有了最早的安装WAS6.0和上两篇文章的介绍,接下来安装集群的过程其实很简单。

对于新安装的集群:

  1. 安装WAS主程序并升级补丁
  2. 建立Deployment Manager profile
  3. 新建两个Custom profile,建立过程中就完成联合节点工作
  4. 启动两个node中的nodeagent
  5. 进入控制台,新建集群,分别在两个节点添加application server

如果新建Custom profile时出现问题,或者更多的情况是想把原来已经建立好的,带有应用的application server profiles联合到DM中来建立集群,那么:

  1. 安装WAS主程序并升级补丁
  2. 建立Deployment Manager profile
  3. 新建两个application server profile(或者原先已经有了)
  4. 到profiles/bin目录下执行addnode命令:addnode DM所在IP或主机名 8879(端口)-includeapps(如果有应用的话)-username {用户名} -password {密码}
  5. 启动app profiles下的nodeagent
  6. 进入控制台,新建集群,用已经存在的application转化为cluster的member

复习一下安装profile的过程

安装DM profile

建立application server profiles

看一下如何新建集群:注意先运行addnode命令,然后启动node agent

看明白了么?没琢磨清的来这里:WebSphere v5 ND在AIX环境中安装和配置

WebSphere V7.0在Windows下的集群配置

还有一份在Unix/Linux下配置V6.1的集群文件比较大,Google Docs无法上传,其实和V7.0没有差别,照着V7做就可以了。传到了纳米盘,《WebSphere v6.1 ND在Unix&Linux环境中安装和配置》,由IBM应用开发合作中心撰写。步骤清晰,图文并茂,最重要是中文。从WebSphere Application Server、IHS、Plugins的安装配置,到WebSphere集群的搭建、节点代理程序(Node agent)的起停方法、如何生存和传播Webserver插件,回话(Session)复制,如何安装补丁。居家旅行必备文档啊

WebSphere v6.1 ND在Unix_Linux环境中安装和配置.pdf

微软的SkyDrive的嵌入方式使用的是iframe,wordpress在2.2之后就不支持iframe语法,所以大家点进去下吧。