首页
论坛
门户
空间
手机版
IXPUB
插件
收藏
设置
注册
登录
商店
搜索
培训
Wiki
Blog
归档
丛书
退出
ITPUB论坛
»
Websphere
» 在WebSphere Commerce中多Instance的应用
史上最详细DELL网购天书 优惠信息请致电800-858-2903
‹‹ 上一主题
|
下一主题 ››
19
1/2
1
2
››
投票
交易
悬赏
活动
评价
|
打印
|
推荐
|
订阅
|
收藏
标题:
[转载]
在WebSphere Commerce中多Instance的应用
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#1
使用道具
发表于 2007-3-17 11:27
在WebSphere Commerce中多Instance的应用
本文通过在Solaris/Oracle 的环境中实际搭建WebSphere Commerce的多应用服务的例子,介绍了如何在一个WAS环境中对同一个业务系统部署多个应用服务,以提高对硬件资源的有效利用,并适应日益增大的业务量对应用服务器的不同需求。
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#2
使用道具
发表于 2007-3-17 11:28
一、引言
当前,越来越多的企业用户基于WebSphere应用服务器搭建业务系统。在实际应用中,在提高系统的可维护性的同时,如何更有效地利用硬件资源被越来越多的人所关注。
以WebSphere Commerce为例,它是基于WAS开发的电子商务应用平台,在安装以后必须建立一个实例(Instance)才能开展服务。在实际应用中,随着业务量的增大,企业对系统的可维护性都提出了更高的要求,同时为了满足系统24小时全天候的可用性,WebSphere Commerce除了真正用于提供服务的实例Production Server外,还提出建立一个实例Staging Server(1),它很好地解决了系统维护和数据更新的难题。然而,WebSphere Commerce的每一个应用实例都需要部署并运行在一个独立的环境里,分别把WebSphere Commerce的Production Server和Staging Server安装在不同的机器硬件上是一种选择,但是这需要更多的硬件资源。为提高硬件资源的利用,节约硬件成本,我们希望能在一台服务器上搭建Production Server 和Staging Server。
WebSphere Commerce多Instance的概念很好的解决了这个难题。在一台机器上可以部署多个应用实例(即应用服务器),每个应用实例独立运行和管理,如同运行在一台独立的机器上。这样,对于像WebSphere Commerce这样的有着上百人的开发和测试项目来说,我们就可以达到有效利用硬件资源,节约维护人力的投入的目的。同时,这种方式也能够给实际的客户应用带来开支上的节约。
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#3
使用道具
发表于 2007-3-17 11:28
二、基本概念及体系结构
作为一个基于WAS的应用服务,WebSphere Commerce可以安装部署在多种操作系统上(如Windows、AIX、Solaris、Linux等),支持多种数据库(如DB2、Oralce、DB2 390等)以及各种WebServer(如IBMHttpServer、Internet Information Services、iPlanet等)。在一台机器上部署WebSphere Commerce的多个应用服务器时,每个应用服务需要对应一个数据库,同时,Web Server对每个应用服务器进行相应设置,这样,终端用户可以通过浏览器用不同的IP和Hostname对每个instance进行访问。
< WebSphere Commerce多 Instance结构图>
petutor 上传了这个附件:
2007-3-17 11:28
image002.jpg
(34.6 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#4
使用道具
发表于 2007-3-17 11:29
三、实现的步骤
3.1 操作系统配置
对于操作系统来说,主要是通过配置,使操作系统对外支持两个或多个IP。这样对于访问该机器的用户来说,就和对多服务器的访问和操作相似了。
下面,我们通过在一台Solaris服务器上配置两个IP来举例。一般来说,如果有多个网卡的话,可以每个网卡绑定一个IP。也可以通过单网卡配置多个虚拟接口和多个IP。我们用后者来举例。
1) 拷贝 /etc/hostname.hme0 到 /etc/hostname.hme0:1
2) 在hostname.hme0:1中加入另一个host name, 在hosts 文件中加入ip和hostname.
在下面的例子中, <IP1>(hostname1.cn.ibm.com)代表第一个IP和hostname; IP2(hostname2.cn.ibm.com) 代表第二个IP和hostname。
bash-2.05# more hosts
#
# Internet host table
#
127.0.0.1 localhost
IP1 hostname1 loghost
IP2 hostname2 loghost
IP1 hostname1.cn.ibm.com
IP2 hostname2.cn.ibm.com
bash-2.05# more hostname.hme0:1
hostname2
完成配置后,需要测试是否生效:
从远程ping和访问该Solaris server,通过两个不同的IP地址,得到的结果应该是相同的。
3.2 Web Server 配置
通过对Web Server的配置,使在一台服务器上,Web Server能够同时支持多个IP。下面我们还是通过在Solaris上iPlanet的配置来举例。
前提: iPlanet的安装和基本配置可以参考相应的Web server文档获得帮助。假设iPlanet已经成功安装,并支持一个IP地址。以下步骤将使iPlanet支持第二个IP地址。
1) 在iPlanet控制台,选择管理第二个IP对应的server name。
确认iPlanet server已经启动。
从<SunONE_HOME>目录夹, 输入 ./startconsole。在打开的IE窗口中,输入管理员用户名和密码,进入控制台的管理界面。
在管理服务器的选项中,选择第二个web server的全名。
petutor 上传了这个附件:
2007-3-17 11:29
image004.jpg
(33.6 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#5
使用道具
发表于 2007-3-17 11:30
2) 为每一个可访问端口创建Listen Socket
从顶端菜单选择Preferences Tab页。
选择'Add Listen Socket'按钮,进入添加Listen Socket屏幕。
Listen Socket ID: 输入ls<port_to_be_listened_to>。如希望监听443端口,可以写ls443;
IP Address: 输入0.0.0.0 表示可以监听来自所有IP的请求。这里可以输入0.0.0.0,然后在后续的第6步修改并确认为只监听来自第二个IP。也可以在此步中直接输入第二个IP;
Port: 输入需监听的端口号;
Servername: 输入第二个IP对于的hostname,需要输入全名。 (e.g. mycomputer.cn.ibm.com);
Security: 选择 enable;
Default VS: 此输入域指出哪个VS将会处理请求,若该请求不对应任何IP和URLhost的时候。可以先使用默认值,在后续步骤中将会修改。
petutor 上传了这个附件:
2007-3-17 11:30
image006.jpg
(37.62 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#6
使用道具
发表于 2007-3-17 11:31
重复上面的步骤,配置每一个WebSphere Commerce的端口,如端口443, 8000, 8002和8004以及Payments需要的5432和5433。
petutor 上传了这个附件:
2007-3-17 11:31
image008.jpg
(43.88 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#7
使用道具
发表于 2007-3-17 11:31
3) 为每一个新创建的Listen Socket建立虚拟服务器类
选择Virtual Server Class TAB页,选'Add Class'按钮,进入添加Virtual Server Class屏幕。
Name:输入新的class name,格式为 <short_hostname><port_to_listen_to>-CLASS (如 mycomputer443-CLASS)
Class docroot:输入一般的所有类的文档所在根目录的位置。(如 /usr/iplanet/servers/docs)
petutor 上传了这个附件:
2007-3-17 11:31
image010.jpg
(28.44 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#8
使用道具
发表于 2007-3-17 11:32
重复上面的步骤,为每一个端口建立虚拟服务器类,即端口443, 8000, 8002和8004以及Payments需要的5432和5433。
4) 为每一个虚拟服务器类创建虚拟服务器
在Virtual Server Class面板,选择'Manage Classes'按钮。
选择一个类,点击'Manage'按钮。
第一个应该是<short_hosname>443-CLASS (如 mycomputer443-CLASS). 选择左面板上的'Add Virtual Server'按钮,进入创建虚拟服务器屏幕。
Name: 输入以下格式 <short_hostname><port_to_listen_to>-VS (如 mycomputer443-VS);
Connections: 选择已创建的监听端口的连接(如对于虚拟服务器mycomputer443-VS, 选择ls443); URLhosts:此处先输入第二个hostname的全名。在后续步骤中,将加入有空格的短名格式。但由于有格式检查,所以只能在后续步骤中加入。
petutor 上传了这个附件:
2007-3-17 11:32
image014.jpg
(34.19 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#9
使用道具
发表于 2007-3-17 11:32
重复上面的步骤,为每一个虚拟服务器类创建虚拟服务器,即端口443, 8000, 8002和8004以及Payments需要的5432和5433。
petutor 上传了这个附件:
2007-3-17 11:32
image016.jpg
(32.34 KB)
只看该作者
petutor
资深会员
精华贴数 0
个人空间
0
技术积分 3388 (394)
社区积分 0 (1269037)
注册日期 2007-2-26
论坛徽章:1
#10
使用道具
发表于 2007-3-17 11:33
5)在server.xml中加入第二个hostname的短名格式
打开<SunONE_HOME>\<server_name>\config\server.xml,搜索每一个urlhosts="<long hostname>" ,在长名前加入短名。如修改 urlhosts="mycomputer.torolab.ibm.com" 为urlhosts="mycomputer mycomputer.torolab.ibm.com".
6) 修改或确认"server.xml"
编辑<SunONE_HOME>\<server_name>\config\server.xml 查找关键字类似于ip="0.0.0.0", 此处为第二步填写的IP Address ,若此处为0.0.0.0,则将此关键字替换为ip="<real IP>".
举例来说,这是修改前的server.xml: (hostname: juggle.cn.ibm.com)
...
<SERVER legacyls="ls1">
<VARS accesslog="/usr/iplanet/servers/https-wcs211_2.cn.ibm.com/
logs/access"/>
<LS id="ls1" ip="0.0.0.0" port="80" security="off"
acceptorthreads="1">
<CONNECTIONGROUP id="group1" matchingip="default"
servername="juggle.cn.ibm.com" defaultvs="https-juggle.cn.ibm.com"/>
</LS>
<MIME id="mime1" file="mime.types" />
<ACLFILE id="acl1" file="/usr/iplanet/servers/httpacl/generated.
https-juggle.cn.ibm.com.acl" />
<VSCLASS id="defaultclass" objectfile="obj.conf"
rootobject="default" acceptlanguage="off">
<VARS docroot="/usr/iplanet/servers/docs" user="" group=""
chroot="" dir="" nice=""/>
<VS id="https-juggle.cn.ibm.com" connections="group1"
mime="mime1" urlhosts="juggle.cn.ibm.com" aclids="acl1">
<VARS webapps_file="web-apps.xml" webapps_enable="on" />
<USERDB id="default" database="default" />
</VS>
</VSCLASS>
</SERVER>
这是修改后的server.xml:
...
<SERVER legacyls="ls1">
<VARS accesslog="/usr/iplanet/servers/https-juggle.cn.ibm.com/
logs/access"/>
<LS id="ls1" ip="IP2" port="80" security="off"
acceptorthreads="1">
<CONNECTIONGROUP id="group1" matchingip="default"
servername="juggle.cn.ibm.com" defaultvs="https-juggle.cn.ibm.com"/>
</LS>
<MIME id="mime1" file="mime.types" />
<ACLFILE id="acl1" file="/usr/iplanet/servers/httpacl/
generated.https-juggle.cn.ibm.com.acl" />
<VSCLASS id="defaultclass" objectfile="obj.conf"
rootobject="default" acceptlanguage="off">
<VARS docroot="/usr/iplanet/servers/docs" user="" group=""
chroot="" dir="" nice=""/>
<VS id="https-juggle.cn.ibm.com" connections="group1"
mime="mime1" urlhosts="juggle.cn.ibm.com" aclids="acl1">
<VARS webapps_file="web-apps.xml" webapps_enable="on" />
<USERDB id="default" database="default" />
</VS>
</VSCLASS>
</SERVER>
7)使应用生效
在屏幕右上角点击'Apply',点击' Apply Changes'按钮,输入密码重新启动服务器即可。
测试Web server 配置成功。
打开IE,输入第二个IP对应的hostname,可以看到正确页面返回。
Port 80: [url]http://[/url]<fully_qualified_hostname>
Port 443: [url]https://[/url]<fully_qualified_hostname>
Port 8000: [url]https://[/url]<fully_qualified_hostname>:8000
Port 8002: [url]https://[/url]<fully_qualified_hostname>:8002
Port 8004: [url]https://[/url]<fully_qualified_hostname>:8004
如果使用了payment,则还需测试:
Port 5432: [url]http://[/url]<fully_qualified_hostname>:5432
Port 5433: [url]https://[/url]<fully_qualified_hostname>:5433
3.3 数据库设置
通过对数据库的设置,使数据库能够支持两个或多个不同的Database。
下面还是通过Solaris上Oracle中建立第二个Database来举例。
1)创建一个新的数据库(database)。对于Oracle来说,需要建立一个Oracle DB 的实例来放置新的DB数据。使用Oracle用户,在<ORACLE_HOME/bin>目录下,运行dbca来启动数据库配置助手。
petutor 上传了这个附件:
2007-3-17 11:33
image018.jpg
(21.57 KB)
只看该作者
19
1/2
1
2
››
投票
交易
悬赏
活动
相关内容
ITPUB论坛
≡ 数据库技术 ≡
> Oracle数据库管理
> Oracle开发
> Oracle Developer Suite
> Oracle入门与认证
> Oracle专题深入讨论
> Oracle新技术/11g
> Oracle电子文档
> Oracle Application Server套件
> IBM数据库产品
> MS SQL Server
> Sybase管理与开发
> MySQL及其它开源数据库
> 内存数据库
> 数据仓库与数据挖掘
> 移动及嵌入式数据库
≡ 企业信息化 ≡
> ERP产品与实践
> CRM产品与实践
> HR产品与实践
> 物流
> 供应链
> 供应链建模与仿真
> 物流设备与系统工程
> 企业管理咨询
> 管理协同与办公自动化
> IT服务管理
> 数据中心建设
> ERP二次开发
> Oracle ERP
> EBS相关文档
> PeopleSoft与JDE
> SAP R/3
> SAP Business One开发与快速实施
> SAP财务及CRM
> SAP后勤及HR
> mySAP ERP
> 系统开发及跨应用设置
> SAP相关文档
> 国外其它ERP产品
> 国内ERP产品
≡ 开发技术 ≡
> Java入门与认证版
> Java web开发及框架技术
> Java企业开发
> ASP.NET
> .Net企业开发与应用
> WEB程序开发
> WEB 2.0技术
> 动态语言
> 移动与游戏开发
≡ 系统设计与项目管理 ≡
> 系统分析与UML
> 系统分析与UML精华区
> 项目管理
> 项目过程
> 软件测试
> 算法讨论与研究
≡ IBM软件技术园地 ≡
> IBM数据库产品
> Lotus
> Tivoli
> Websphere
> Rational
> 与SOA相关的IBM产品与技术
> IBM软件技术精英协会
> 软件技术精英活动专版
≡ 操作系统与硬件 ≡
> AIX及IBM产品【已迁移到IXPUB】
> HP-UX及HP产品【已迁移到IXPUB】
> Solaris及SUN产品【已迁移到IXPUB】
> Linux及其应用 【已迁移到IXPUB】
> 其它UNIX系统【已迁移到IXPUB】
> windows系统及微软相关产品 【已迁移到IXPUB】
> 存储设备与容灾技术 【已迁移到IXPUB】
> 服务器 【已迁移到IXPUB】
≡ 行业纵向讨论区 ≡
> IT业界评论与展望
> 政府与教育事业
> 中国政府信息主管联盟
> 电信行业
> 金融行业
> 医卫行业
> 制造行业
> 电力行业
> 信息安全与审计
≡ 会员交流 ≡
> IT职业生涯
> 招聘求职商务信息
> 投资理财
> 体育世界
> 体育博彩专版
> 旅游,驴友
> 汽车世界
> 外语角
> 数码摄影
> 你的故事我的歌
> 音乐推荐区
> 电子图书与IT文档资料
> 软件交流
> 软件交流精华区
≡ ITPUB产品与服务 ≡
> ITPUB地面活动专版
> BLOG天地
> WIKI世界
> 授权用户区
> 站务管理
技术积分榜
社区积分榜
徽章
电子杂志
会员
团队
统计
邮箱
游乐场
帮助
TOP
CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号
联系我们
法律顾问
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计