IBM developerWorks 中国:IBM WebSphere Application Server 常见问题及解答(FAQ)

针对 WebSphere Application Server 的开发人员,提供产品概述、安装和规划、迁移、部署、开发、集群、故障排除等相关问题的解答。

1. 什么是 WAS 的功能部件包?具体包含哪些内容?
2. 在将本地系统用作 Windows 上的安全注册表时,WebSphere Application Server 为何需要“Act as part of the operating system”权限?
3. 我应该使用数据库还是使用内存到内存复制来进行会话故障转移?
4. 我可以在多个数据中心上运行 WebSphere Application Server 单元吗?
5. 我可以跨 WebSphere Application Server 单元共享会话吗?
6. WAS V6.1 在安全方面有哪些增强功能?
7. 为什么 WebSphere Application Server 要求使用 IBM JDK?
8. 在 WebSphere Application Server 中能否部署多个共存应用程序?
9. WebSphere Application Server 中附带的某些开放源码实现是什么版本的?
10. 运行应用程序所需 CPU 的最小数量和最大数量是多少?
11. 如何使用 wsadmin 脚本工具来实现将应用部署到 WebSphere 应用服务器?
12. 如何使用线程转储(Thread dump,又称为 Java dump)来实现 JVM 故障诊断?

WAS 简介

IBM WebSphere Application Server,即 IBM 的 WebSphere 应用服务器,是 Java EE 和 Web 服务应用程序平台,是 IBM WebSphere 软件平台的基础。WAS 交付了安全、可伸缩、具有弹性的应用程序基础架构,帮助构建、运行、集成和管理动态、随需应变的业务应用程序。这些基础架构是实现面向服务体系结构(SOA)所需要的。

不同的业务应用场景要求不同级别的应用服务器功能,WAS V6 提供了几种不同的产品包。每个产品包针对不同的解决方案和需求。业务增长时,您可以根据迁移指导升级到 WAS 产品家族中支持更高级别需求的产品包:

点击查看 WAS 家族各产品包的详细内容

产品功能

1. WAS V6.1 中的新增功能有哪些?
2. WAS 中附带的开放源码项目有哪些?
3. WAS 是否支持动态增加服务器,即在原业务系统不停机的情况下动态增加服务器?
4. WAS 是否支持目录服务 LDAP?请列举所支持的 LDAP 服务器。
5. WAS 可以实现Load Balance功能, 这与 WAS Network Deployment 的实现有什么区别?
6. WAS Network Deployment 支持运行混合版本的单元吗?
9. WebSphere Application Server 中附带的某些开放源码实现是什么版本的?
10. 什么是 WAS 的功能部件包?具体包含哪些内容?

规划

1. 运行我的应用程序需要多少应用服务器?
2. 在一个节点上放置多个应用服务器实例时应考虑哪些因素?
3. 我是不是应该使用 WAS 来管理我的 HTTP 服务器?什么时候应该安装 IBM HTTP Server?
4. 我应该在 WAS 中使用刀片服务器吗?
5. 在规划 WAS V6.1 与旧版本共存时,应注意哪些事项?

安装与配置

1. 在 AIX 平台上安装 WAS 后,发现管理控制台没有被安装,如何解决此问题?
2. 什么是概要文件(profile)?
3. 如何创建概要文件(profile)?
4. WAS 安装过程中概要文件(profile)创建失败的一个常见问题?
5. 怎样卸载 WAS?
6. 为什么 WebSphere Application Server 要求使用 IBM JDK?

开发与部署

1. WAS 产品包中的 Application Server Toolkit 可以为您的开发和运行提供哪些帮助?
2. 是否用 MDB(Message-Driven Bean)来侦听 MQ 队列?
3. 如何处理 JSP 的中文显示问题?
4. 在 WAS 中连接 MQ 有哪些方式?最佳方式是什么?
5. 我希望编写的 Web 应用能够支持尽可能多的客户端,有哪些注意事项?
6. 我是否可以在 WAS 上自己实现多线程编程和实现类加载器?
7. 在多个独立的 WebSphere 应用程序服务器环境中,一个服务器上的应用程序该如何访问运行在其他服务器上的应用程序?
8. 对于EJB的部署代码,是在构建应用程序时生成好,还是在部署应用程序时生成好?
9. 关于 Java EE 开发,有哪些最佳实践应该采纳?
10. 我可以在 WAS CE 上运行 PHP 吗?
11. 在 WebSphere Application Server 中能否部署多个共存应用程序?
12. 如何使用 wsadmin 脚本工具来实现将应用部署到 WebSphere 应用服务器?

集群

1. 规划集群方案时应考虑哪些因素?
2. 在异构平台上创建 WAS V6.1 集群,避免使用绝对路径。
3. 在设计和开发运行于 WAS 集群环境的应用程序时需要考虑哪些方面?
4. 在集群环境中,我应该使用数据库持久化的方式还是使用内存到内存复制的方式来进行会话故障转移?
5. 什么是单元(Cell)?什么是节点(Node)?Node、Profile 与 Server 之间的关系是什么?
6. 我可以在多个数据中心上运行 WebSphere Application Server 单元吗?

性能

1. WAS 的重要优化参数有哪些?
2. 性能调优的基本步骤是怎样的?
3. 如何合理的使用缓存机制?
4. WAS 性能差的几种表现和解决方法?
5. 我应该怎样去判断应用程序服务器的性能是否满足要求,都有哪些指标?
6. 系统中产生大对象对性能的影响怎洋?
7. 如何解决内存泄漏问题?
8. 如何解决系统宕机问题?
9. WAS 运行在什么平台上性能最好?是Intel、UNIX、pSeries/AIX、Sun/Solaris,还是 zSeries/zOS?
10. 运行应用程序所需 CPU 的最小数量和最大数量是多少?

安全

1. 我希望通过启用 WAS 全局安全性保护系统管理,但是我的应用程序本身并没有应用 J2EE 安全。我能够做些什么呢?
2. 当在 WAS 中实现自定义用户注册表的时候,都需要考虑哪些问题?
3. 在非 admin 用户(Windows 平台)或非 root 用户(Unix 平台)的环境中,如何为 WAS 设置安全特性?
4. 共享一个 WAS cell 的 J2EE 应用程序需要注意哪些安全方面的问题?
5. 在使用基于表单登录的 WAS 应用程序中,为什么必须使用单点登录?
6. 在将本地系统用作 Windows 上的安全注册表时,WebSphere Application Server 为何需要"Act as part of the operating system"权限?
7. WAS V6.1 在安全方面有哪些增强功能?

迁移

1. 我是否可以将应用程序从 JBOSS 迁移到 WebSphere Application Server Community Edition?
2. 我是否应该迁移到“x”版本的 WAS?
3. 我应该从 32 位 WAS 迁移到 64 位 WAS 吗?

故障诊断

1. 应用服务器宕机后,为了方便分析问题,需要收集哪些日志?
2. 如何打开详细垃圾回收的开关?
3. WAS 故障诊断的常用工具有哪些?
4. 我应该使用数据库还是使用内存到内存复制来进行会话故障转移?
5. 如何使用线程转储(Thread dump,又称为 Java dump)来实现 JVM 故障诊断?

其他

1. IBM 的 HTTP Server 和 Apache 有什么关系?