BEA WebLogic Werver 8.1大全
|
|
| 新书城图书编号:637 |
| 图书ISBN:7111155548 |
| 出版时间:2005-1-18 |
| 出版社:机械工业出版社 |
| 作者:(美)阿蒂加斯(Artiges,M.) 等著,袁毅 等译 |
|
市场价格:¥99 |
|
普通会员:¥79.2
|
80折 |
|
VIP会员:¥74.25
|
75折 |
|
|
|
|
|
|
|
【图书简介】
|
本书介绍了如何使用WebLogic Server 8.1开发和管理可伸缩和安全的企业Java应用程序。全书共分为十个部分,第一部分介绍了WebLogic Server;第二部分介绍如何设计WebLogic Server Web应用程序;第三部分介绍了在WebLogic应用程序中使用J2EE技术;第四部分介绍了在WebLogic应用程序中使用Web技术;第五部分介绍了在WebLogic应用程序中使用企业JavaBean;第六部分介绍了如何测试、调用和优化WebLogic Server应用程序;第七部分探讨了WebLogic Server的安全问题;第八部分介绍了WebLogic Server企业应用程序的集成;第九部分介绍了管理WebLogic应用程序;最后一部分是附录。 本书附带了一张光盘,内含本书的所有源代码和例子、本书的电子版本以及有效期一年的BEA Weblogic Platform 8.1开发者评估版本,非常便于读者的学习。本书适合于想要学习WebLogic的读者、企业应用开发人员、企业架构师阅读。
|
|
|
|
【图书目录】
|
第一部分 WebLogic Server入门 第1章 Weblogic Server简介 2 1.1 需要Weblogic Server 2 1.2 WebLogic Server的简要概述 3 1.2.1 J2EE规范 3 1.2.2 WebLogic Server框架 3 1.2.3 WebLogic Server引擎 5 1.3 WebLogic Server如何适用于组织 5 1.3.1 正在使用WebLogic Server的公司 6 1.4 BEA的产品系列 6 1.4.1 BEA WebLogic Portal 6 1.4.2 BEA WebLogic Intergration 6 1.4.3 BEA WebLogic JRockit 7 1.4.4 BEA WebLogic Workshop 7 1.5 WebLogic Server8.1的新特性 7 1.5.1 对Web服务的支持 7 1.5.2 新的安全模型 7 1.5.3 开发工具 8 1.5.4 性能增强 8 1.5.5 管理增强 8 1.5.6 对J2EE规范的扩展 9 1.6 小结 9 第2章 安装WebLogic Server 10 2.1 Windows平台下的安装 10 2.1.1 系统需求 11 2.1.2 运行platform8xx_win32.exe——Graphical模式 11 2.1.3 运行WebLogic8xx_win32.exe——Slient模式 15 2.2 Unix平台下的安装 16 2.2.1 系统需求 16 2.2.2 Unix平台下安装——图形模式 17 2.2.3 Unix平台下的安装——控制台模式 17 2.3 安装WebLogic Platform许可证 17 2.4 更新WebLogic 8许可证 18 2.5 加密许可 18 2.6 安装WebLogic 8 Service Pack 19 2.7 启动和停止WebLogic Server 8 19 2.7.1 启动WebLogic 8的管理服务器 19 2.7.2 启动WebLogic 8 托管服务器 20 2.7.3 成功启动的消息 21 2.7.4 WebLogic Server 8的正常停止 21 2.7.5 WebLogic Server 8的不正常停止 22 2.8 创建自己的启动脚本 22 2.9 疑难解答 23 2.10 小结 23 第3章 开发WebLogic应用程序的技术 24 3.1 软件和硬件管理 24 3.1.1 硬件和软件可扩展性设计 24 3.1.2 硬件支持 25 3.1.3 操作系统维护 25 3.1.4 WebLogic Server管理 25 3.1.5 安全专家 25 3.1.6 备份和存档支持 25 3.2 Java技术 25 3.2.1 Java架构师 26 3.2.2 JSP和Servlet 26 3.2.3 JDBC和SQL 26 3.2.4 超越基础 27 3.2.5 Applet 27 3.2.6 Swing组件 28 3.3 可视化表示技术 28 3.3.1 HTML开发 28 3.3.2 JavaScript 28 3.3.3 GUI设计 28 3.3.4 图形艺术 29 3.4 数据库技术 29 3.4.1 数据库设计 29 3.4.2 数据库开发 29 3.4.3 数据库管理员 29 3.5 与传统系统的连接 30 3.6 测试和质量保证 30 3.7 客户支持专家 30 3.8 软件开发阶段 30 3.8.1 设计阶段 31 3.8.2 实现阶段 31 3.8.3 管理阶段 32 3.8.4 维护阶段 32 3.9 小结 32 第4章 开发WebLogic应用程序的硬件和配置 33 4.1 在开发环境中运行WebLogic Server 8.1 33 4.1.1 Java编译器 34 4.1.2 软件开发 35 4.1.3 Web浏览器 35 4.2 其他有用的软件 36 4.2.1 版本控制软件 36 4.2.2 建模工具 36 4.2.3 测试软件 37 4.2.4 每晚或每周编译 37 4.2.5 性能测试工具 38 4.3 打包和部署软件 38 4.4 团队开发 39 4.5 小结 40 第5章 用WebLogic Server设计企业应用程序 41 5.1 了解N层应用程序 41 5.2 J2EE平台 42 5.2.1 分层体系结构的支持 42 5.2.2 组件模型体系结构 43 5.2.3 基础结构和服务 44 5.2.4 WebLogic Server和J2EE 46 5.2.5 设计J2EE应用程序 47 5.3 建模技术——UML 49 5.3.1 UML图——概述 49 5.3.2 用例图 50 5.3.3 类图 50 5.3.4 包图 50 5.3.5 时序图 51 5.3.6 协作图 51 5.3.7 活动图 51 5.3.8 部署图 51 5.4 设计策略——“模型-视图-控制器”模式 52 5.4.1 MVC结构 52 5.4.2 应用MVC 52 5.5 开发方法学 53 5.5.1 极限编程——核心准则 53 5.5.2 Rational Unified Process 54 5.6 小结 55 第二部分 WebLogic Server Web应用程序 第6章 Weblogic Web应用程序入门 57 6.1 Web应用程序的定义 57 6.1.1 Web容器 58 6.1.2 Web应用程序组件 59 6.1.3 Web应用程序配置 59 6.2 Web应用程序和请求-响应模型 60 6.3 创建一个Web应用程序 61 6.3.1 开发生命周期 62 6.3.2 开发策略 63 6.3.3 配置Web应用程序 64 6.4 小结 65 第7章 部署Web应用程序 66 7.1 应用程序打包和预部署 66 7.1.1 打包Web应用程序 66 7.1.2 打包企业应用程序 67 7.1.3 创建和编辑应用程序部署描述符 68 7.1.4 部署描述符的安全元素 69 7.2 部署应用程序的方法 70 7.2.1 自动部署 70 7.2.2 使用WebLogic Server管理控制台部署应用程序 71 7.2.3 使用weblogic.Deployer工具来部署应用程序 72 7.2.4 使用WebLogic Builder部署应用程序 73 7.2.5 使用Ant工具部署应用程序 74 7.2.6 手工修改config.xml文件来部署应用程序 74 7.3 WebLogic Server的部署问题 75 7.4 部署的最佳实践 75 7.4.1 压缩与非压缩的应用程序 75 7.4.2 非压缩的应用程序 75 7.4.3 开发 76 7.4.4 分段模式 76 7.5 小结 76 第三部分 在WebLogic应用程序中使用J2EE技术 第8章 使用JNDI的命名和目录服务 78 8.1 命名服务 78 8.1.1 了解命名服务的不同 79 8.2 Java命名和目录接口 79 8.2.1 JNDI体系结构概述 79 8.2.2 JNDI 1.2.1规范概述 80 8.3 JNDI和WebLogic群集 86 8.3.1 群集中的命名冲突 87 8.4 JNDI最佳实践 87 8.4.1 避免在JNDI对中存储应用程序数据 88 8.4.2 优化远程客户机的查询 88 8.4.3 考虑使用服务定位器模式 88 8.4.4 尽量避免非复制绑定 88 8.5 小结 89 第9章 用Java Transaction API处理事务 90 9.1 事务概述 90 9.1.1 ACID事务 91 9.1.2 本地事务与全局事务 91 9.1.3 全局事务参与者 92 9.1.4 两阶段提交协议 92 9.1.5 如何让所有参与者共同工作以管理事务 92 9.1.6 Java事务服务 93 9.2 事务隔离级别 93 9.2.1 脏读 93 9.2.2 不可重复读 94 9.2.3 幻读 94 9.2.4 TRANSACTION_READ_UNCOMMITTED 94 9.2.5 TRANSACTION_READ_COMMITTED 94 9.2.6 TRANSACTION_REPEATABLE_READ 94 9.2.7 TRANSACTION_SERIALIZABLE 95 9.2.8 TRANSACTION_NONE 95 9.3 WebLogic Server如何执行事务 95 9.4 事务范围 96 9.5 Java Transaction API和WebLogic 96 9.5.1 UserTransaction Interface 96 9.5.2 TransactionManger接口 97 9.5.3 Transaction接口 97 9.6 其他JTA接口 97 9.6.1 Status接口 97 9.6.2 Synchronization接口 97 9.6.3 XAResource接口 98 9.6.4 Xid接口 98 9.7 WebLogic对JTA的扩展 98 9.7.1 WebLogic TransactionManager接口 98 9.7.2 WebLogic Transaction接口 98 9.7.3 WebLogic TxHelper类 98 9.7.4 WebLogic XaResource接口 98 9.8 配置容器管理的企业组件 99 9.8.1 声明性事务模型 99 9.8.2 容器管理的事务属性 99 9.9 管理控制台中的JTA属性 100 9.9.1 事务配置 100 9.9.2 事务监视 101 9.9.3 事务日志 102 9.10 使用JTA的全球拍卖 102 9.10.1 指定事务类型 103 9.10.2 指定默认事务属性 103 9.11 选择事务属性的最佳实践 104 9.12 小结 104 第10章 用JDBC管理数据库连接 105 10.1 JDBC体系结构 105 10.1.1 应该使用哪种类型的驱动程序 107 10.1.2 WebLogic Server提供的JDBC驱动程序 107 10.2 PointBase数据库服务器 108 10.2.1 查看WebLogic安装中的PointBase组件 109 10.2.2 启动PointBase服务器 109 10.2.3 启动PointBase控制台 110 10.2.4 使用PointBase控制台 110 10.2.5 PointBase数据库驱动程序 111 10.2.6 案例分析:XYZ糖果 111 10.3 基本JDBC功能 112 10.3.1 连接到数据库 112 10.3.2 在数据库中执行SQL语句 114 10.3.3 处理查询的结果 115 10.3.4 使用PreparedStatement更快地执行SQL 116 10.3.5 事务 118 10.3.6 SQL错误处理 120 10.4 高级JDBC功能 120 10.4.1 JDBC扩展包 120 10.4.2 高级ResultSet 126 10.4.3 RowSet 128 10.4.4 执行存储过程 131 10.4.5 批更新 133 10.4.6 语句缓存 134 10.4.7 SQL3数据类型支持 134 10.5 WebLogic JDBC——监视和调整 136 10.5.1 调整连接池 136 10.5.2 监视连接池 137 10.5.3 控制连接池 138 10.5.4 用命令行验证数据库连接 138 10.6 JDBC——最佳实践 139 10.6.1 使用聪明的查询 139 10.6.2 将数据库更新结合到事务中 139 10.6.3 不要使用跨用户输入的事务 139 10.6.4 设计应用程序进行并行数据处理 139 10.6.5 选择一个最优的隔离级别 139 10.6.6 使用连接池 140 10.6.7 使用适当的Statement对象 140 10.6.8 使用批处理 140 10.6.9 使用数据缓存 140 10.6.10 尽可能使用合适的更新 140 10.6.11 释放JDBC资源 140 10.6.12 使用完后释放连接 141 10.7 JDBC和全球拍卖管理系统 141 10.8 小结 141 第11章 用RMI创建分布式应用程序 142 11.1 RMI介绍 142 11.1.1 WebLogic的RMI实现 143 11.2 什么时候使用RMI 144 11.3 RMI编译器 144 11.4 编写RMI代码 145 11.4.1 编写远程接口 146 11.4.2 实现远程接口 146 11.4.3 编译接口和实现 147 11.4.4 运行weblogic.rmic编译器 147 11.4.5 编写RMI客户 147 11.5 性能问题 147 11.5.1 伸缩性 147 11.5.2 线程/套接字管理 148 11.5.3 序列化 148 11.5.4 支持服务 148 11.5.5 分布式垃圾收集 148 11.6 WebLogic RMI注册表 148 11.7 WebLogic RMI API 149 11.7.1 WebLogic实现的RMI API 149 11.7.2 WebLogic RMI安全类 149 11.7.3 WebLogic RMI注册表类 149 11.7.4 其他有用的WebLogic Server类 149 11.7.5 在WebLogic RMI中传递参数 150 11.8 WebLogic RMI最佳实践 150 11.9 小结 151 第12章 使用JMS的企业消息传递 152 12.1 企业消息简介 152 12.1.1 消息服务区域 153 12.1.2 点对点消息 153 12.1.3 发布-订阅消息 153 12.1.4 消息过滤、同步和质量 154 12.1.5 MOM 154 12.2 JMS简介 155 12.3 JMS核心体系结构 155 12.3.1 JMS连接 156 12.3.2 JMS会话 157 12.3.3 JMS会话池 157 12.3.4 JMS事务连接和会话 158 12.3.5 JMS一般消息 159 12.3.6 JMS专用消息 160 12.3.7 消息生产者、消费者和选择器 161 12.4 JMS点到点队列模型 162 12.4.1 点到点消息队列示例源代码 164 12.4.2 WebLogic JMS Server配置 166 12.4.3 WebLogic JMS连接工厂配置 167 12.4.4 WebLogic JMS队列配置 168 12.4.5 执行JMS队列例子 168 12.5 JMS发布-订阅模型 169 12.5.1 发布-订阅示例源代码 170 12.5.2 Weblogic JMS主题配置 172 12.5.3 执行JMS主题例子 172 12.6 JMS统一消息域模型 173 12.6.1 统一域消息示例源代码 173 12.7 高级WebLogic JMS配置 175 12.7.1 JMS持久性存储 175 12.7.2 目标键(Destination Key) 176 12.7.3 外部JMS服务器 176 12.7.4 JMS模板 177 12.8 企业消息的最佳实践 178 12.9 小结 179 第13章 用JavaMail处理邮件服务 180 13.1 电子邮件协议 180 13.2 扩展JavaMail API的能力 181 13.2.1 升级JavaMail API版本 181 13.2.2 安装Sun POP3扩展 182 13.2.3 安装第三方扩展 182 13.3 JavaBeans Activation Framework 183 13.4 JavaMail API的核心类 183 13.4.1 Session 183 13.4.2 Message 183 13.4.3 Address 183 13.4.4 Transport 184 13.4.5 Authenticator 184 13.4.6 Store 184 13.4.7 Folder 184 13.5 JavaMail和WebLogic Server 184 13.5.1 用Mail Session配置WebLogic Server 184 13.5.2 Mail Session属性 185 13.6 创建电子邮件组件 186 13.6.1 发送消息 186 13.6.2 获取消息 190 13.6.3 用户验证 191 13.6.4 回复消息 192 13.6.5 转发消息 193 13.6.6 使用附件 194 13.7 JavaMail和全球拍卖应用程序 195 13.7.1 创建AuctionMaller工具类 196 13.8 小结 196 第四部分 在WebLogic应用程序中使用Web技术 第14章 编写WebLogic Server Servlet 199 14.1 Servlet 2.3规范 199 14.2 Servlet与其他的方法 200 14.3 Servlet生命周期 201 14.3.1 配置、加载和实例化 201 14.3.2 初始化 201 14.3.3 处理 202 14.3.4 卸载Servlet 203 14.4 编写简单的Servlet 203 14.4.1 第一个Servlet 204 14.5 什么时候使用servlet 205 14.5.1 作为MVC控制器 206 14.5.2 作为会话跟踪器 206 14.6 Servlet API 206 14.6.1 包结构 206 14.6.2 Servlet接口 206 14.6.3 ServletConfig接口 207 14.6.4 ServletContext接口 207 14.6.5 ServletRequest接口 209 14.6.6 ServletResponse接口 209 14.6.7 Servlet 2.3中的其他接口 210 14.6.8 HTTP Servlet API 210 14.6.9 HttpServletResponse 213 14.6.10 Servlet异常 214 14.7 Servlet线程模型 214 14.8 使用Servlet API 215 14.8.1 HTTP Servlet Skeleton 215 14.8.2 使用doGet()和doPost() 216 14.8.3 处理请求和响应 216 14.9 指派到其他资源 220 14.9.1 请求指派程序(Request Dispatcher) 220 14.10 高级Servlet编程 222 16.10.1 通用Servlet 222 16.10.2 请求和响应流 224 16.10.3 请求和响应包装器 224 16.10.4 处理会话 225 16.10.5 过滤器 234 14.11 实现Servlet的最佳实践 237 14.12 小结 239 第15章 编写WebLogic Server JavaServer Pages 240 15.1 介绍JSP 240 15.2 WebLogic Server如何使用Servlet 241 15.2.1 JSP编译器 242 15.3 什么时候使用JSP 243 15.4 JSP语法 243 15.4.1 指令 243 15.4.2 脚本元素 245 15.4.3 操作 247 15.5 JSP隐含对象 251 15.6 简单的JSP页 252 15.7 配置和部署WebLogic JSP 253 15.7.1 为JSP配置WebLogic 253 15.8 JSP最佳实践 256 15.9 小结 256 第16章 JavaBean和 模型-视图-控制器(MVC)体系结构 257 16.1 MVC体系结构 257 16.1.1 视图层实现 257 16.1.2 控制层实现 258 16.1.3 模型层实现 258 16.2 JavaBean介绍 259 16.3 如何将JavaBean结合到Servlet-JSP工作流程中 260 16.4 MVC最佳实践 260 16.4.1 表示层设计模式 260 16.4.2 控制层设计模式 261 16.4.3 模型层设计模式 261 16.5 小结 262 第17章 使用JSP标签库 263 17.1 JSP标签库的使用 263 17.2 JSP标签库语法 263 17.3 WebLogic Server提供的标签库 264 17.3.1 WebLogic自定义标签 264 17.3.2 WebLogic验证标签 265 17.3.3 使用WebLogic Server标签库 265 17.3.4 使用WebLogic验证标签库的例子 266 17.4 WebLogic Server EJB to JSP的集成工具 266 17.4.1 生成EJB到JSP标签库 267 17.4.2 在JSP页中使用EJB标签 267 17.5 使用标签库——最佳实践 268 17.6 JSP标签库的更多资源 269 17.7 小结 269 第18章 创建JSP标签库 270 18.1 应当什么时候创建JSP标签库 270 18.2 构建JSP标签所需步骤概述 270 18.3 标签处理程序生命周期 271 18.3.1 标签正文异常 273 18.4 常用JSP标签类和接口 273 18.5 创建一个简单的标签 273 18.6 创建有正文的标签 274 18.7 使用自定义标签定义脚本变量 275 18.8 创建标签库的最佳实践 276 18.9 小结 276 第19章 使用Struts 277 19.1 安装Struts 277 19.2 介绍Struts体系结构 278 19.3 配置Struts 279 19.4 struts-config.xml文件 279 19.4.1 <action-mappings> 280 19.4.2 <forward> 280 19.4.3 <data-sources> 280 19.5 使用Struts框架的后端编程 280 19.5.1 操作类 281 19.5.2 使用Actionmapping类 281 19.5.3 使用ActionForm类 281 19.5.4 编程Struts错误 282 19.5.5 数据库连接性 283 19.6 使用Struts框架的前端程序 284 19.6.1 在Struts中显示文字 284 19.6.2 显示错误 285 19.6.3 使用Struts表单 285 19.6.4 Struts逻辑标签 287 19.6.5 整合到一起 288 19.7 Struts简单应用程序 289 19.8 小结 289 第五部分 在WebLogic应用程序中使用企业JavaBean 第20章 企业JavaBean和WebLogic Server 291 20.1 EJB体系结构——概述 291 20.1.1 EJB类型 292 20.2 EJB容器 295 20.2.1 容器的定义 295 20.2.2 生命周期管理 296 20.2.3 基本服务 298 20.3 EJB实现 302 20.3.1 Bean类 302 20.3.2 远程接口 303 20.3.3 Home接口 304 20.3.4 本地和本地Home接口 305 20.3.5 主键 306 20.3.6 EJB异常 306 20.3.7 EJB命名规范 307 20.4 EJB部署描述符 307 20.4.1 J2EE描述符——ejb-jar.xml 308 20.4.2 特定于WebLogic的描述符 309 20.4.3 创建部署描述符 310 20.5 EJB部署 311 20.5.1 EJBGen 311 20.5.2 打包EJB 312 20.5.3 WebLogic Bullder工具 312 20.5.4 用控制台部署 313 20.5.5 使用weblogic.Deployer实用程序 314 20.6 其他EJB功能 314 20.6.1 EJB安全性 315 20.6.2 EJB环境项 317 20.6.3 EJB和资源引用 318 20.6.4 EJB-QL 321 20.6.5 实体关系 321 20.7 小结 321 第21章 使用会话bean 322 21.1 组合会话bean 323 21.2 案例分析:XYZ航空在线预订系统 324 21.3 使用无状态会话bean 325 21.3.1 远程接口 325 21.3.2 了解异常 326 21.3.3 远程Home接口 326 21.3.4 本地接口 327 21.3.5 本地Home接口 327 21.3.6 bean类 328 21.3.7 开发AirlineReservation EJB 329 21.3.8 部署描述符 329 21.3.9 打包和部署bean 331 21.3.10 从客户机访问无状态会话bean 332 21.3.11 无状态会话bean的生命周期 333 21.4 使用有状态会话bean 334 21.4.1 远程接口 334 21.4.2 远程Home接口 335 21.4.3 本地接口和本地Home接口 336 21.4.4 bean类 336 21.4.5 有状态会话bean的部署描述符 337 21.4.6 部署有状态会话bean 338 21.4.7 从客户机访问有状态会话bean 339 21.4.8 有状态会话bean的生命周期 339 21.5 会话bean和WebLogic Server群集 340 21.5.1 群集无状态会话bean 341 21.5.2 群集有状态会话bean 342 21.6 事务和会话bean 344 21.6.1 容器管理的事务 345 21.6.2 bean管理的事务 346 21.7 最佳实践 347 21.7.1 默认会话bean类 347 21.7.2 组件接口 347 21.7.3 避免有状态会话bean链 348 21.7.4 理解会话bean状态是非事务的 348 21.7.5 仔细选择事务 348 21.7.6 容器管理事务优先于bean管理事务 349 21.7.7 避免事务跨越用户思考时间 349 21.7.8 理解Supports事务属性的含义 349 21.7.9 无状态bean优先于有状态bean 349 21.7.10 避免有状态会话钝化 350 21.7.11 使用适当的设计模式 350 21.7.12 避免使用线程 351 21.7.13 避免使用非final静态变量 351 21.8 小结 351 第22章 使用实体bean 352 22.1 什么是实体bean 352 22.1.1 容器管理持久性和bean管理持久性 353 22.2 实体bean提供了什么 353 22.3 实体bean生命周期 353 22.4 实体bean的类和接口 354 22.4.1 主键 354 22.4.2 Home接口 354 22.4.3 远程接口 355 22.4.4 bean类 355 22.4.5 部署描述符 356 22.4.6 本地接口 356 22.4.7 主键类 357 22.4.8 值对象 357 22.5 创建BMP实体bean 357 22.5.1 创建Home接口 357 22.5.2 创建值对象 358 22.5.3 创建远程接口 358 22.5.4 创建bean类 358 22.5.5 创建部署描述符 359 22.5.6 BMP注释 360 22.6 创建CMP实体bean 360 22.6.1 创建Home接口 360 22.6.2 创建值对象 361 22.6.3 创建远程接口 361 22.6.4 创建bean类 361 22.6.5 创建部署描述符 361 22.6.6 容器管理关系 362 22.7 EJB中的关系缓存 364 22.8 实体bean中的缓存 364 22.9 WebLogic查询语言 365 22.10 高级实体bean特性 365 22.11 在WebLoigc Server 8.1中用于EJB的工具 366 22.12 WebLogic 8.1中被否决的EJB特性 367 22.13 实体bean最佳实践 367 22.14 小结 368 第23章 使用消息驱动bean 369 23.1 何时使用消息驱动bean 369 23.2 如何创建消息驱动bean 370 23.2.1 消息驱动bean类 370 23.2.2 消息驱动bean生命周期 370 23.2.3 处理JMS消息 371 23.2.4 设置上下文 371 23.2.5 部署消息驱动bean 371 23.3 示例消息驱动bean 372 23.4 消息驱动bean最佳实践 374 23.5 小结 375 第六部分 使用WebLogic Server 应用程序 第24章 测试和调试应用程序 377 24.1 软件测试简介 377 24.2 尽早发现问题:单元测试 378 24.2.1 安装和运行Junit 378 24.2.2 一个简单的Junit例子 378 24.2.3 在WebLogic中进行单元测试 379 24.2.4 在WebLogic内部使用Cactus进行单元测试 380 24.2.5 一个使用Cactus的例子 380 24.2.6 Cactus的安装和运行 381 24.3 使用日志记录API收集信息 382 24.3.1 WebLogic日志记录服务 383 24.4 使用集成调试器调试WebLogic 384 24.4.1 调试应用程序的准备工作 384 24.4.2 调试JSP和EJB 385 24.5 最佳实践 386 24.5.1 单元测试最佳实践 386 24.5.2 日志记录最佳实践 386 24.5.3 调试最佳实践 387 24.6 小结 387 第25章 优化WebLogic Server应用程序 389 25.1 定义不同类型的性能测试 389 25.2 准备性能与负载测试 390 25.2.1 模拟用户行为并与业务人员打交道 390 25.2.2 决定何时进行测试 390 25.2.3 基准测试的有效性 391 25.3 如何进行性能测试 391 25.3.1 测量性能 391 25.3.2 定义目标 392 25.3.3 进行基准测试 392 25.3.4 分析 392 25.3.5 应用程序代码 393 25.3.6 解释结果 393 25.4 要调整的方面 394 25.4.1 操作系统 394 25.4.2 CPU和RAM 394 25.4.3 网络性能 395 25.4.4 Java虚拟机的选择 395 25.4.5 Java虚拟机选项 395 25.5 WebLogic Server调整 397 25.5.1 WebLogic Server性能补丁 398 25.5.2 默认队列与执行线程 398 25.5.3 处理溢出情况 399 25.5.4 另外的执行队列 399 25.5.5 缓冲区连接 400 25.5.6 自动检测低内存情况 400 25.5.7 检测阻塞线程 401 25.5.8 选择速度更快的Java编译器 401 25.5.9 使用生产(产品)模式 401 25.5.10 日志文件大小 402 25.5.11 使用WebLogic Server群集 402 25.6 数据库和SQL调整 402 25.6.1 连接池 403 25.6.2 缓存预备语句 403 25.6.3 JDBC驱动程序类型 403 25.6.4 数据库Schema设计 403 25.6.5 使用正确的索引 403 25.6.6 使用存储过程 404 25.6.7 减少往返次数 404 25.6.8 在中间层中缓存数据 404 25.6.9 灵活的SQL 404 25.6.10 企业JavaBean调整 404 25.7 一个性能测试与调整的例子 406 25.7.1 负载测试工具Grinder 406 25.7.2 Grinder体系结构 406 25.7.3 GAMS基准测试环境 407 25.7.4 指定GAMS的性能目标 407 25.7.5 了解用户行为 408 25.7.6 创建用户脚本 408 25.7.7 初始化我们的环境 409 25.7.8 注册用户 414 25.8 最佳实践 417 25.8.1 总体考虑 418 25.8.2 性能测试计划 418 25.8.3 JRockit 8.1内存管理 418 25.8.4 EJB调整 418 25.8.5 一般的Java编码技巧 419 25.9 小结 420 第七部分 WebLogic Server安全 第26章 Web应用程序与安全性 422 26.1 Web应用程序安全问题概述 422 26.2 影响安全的趋势 423 26.2.1 破解者的能力 423 26.2.2 当今系统的复杂性 423 26.2.3 病毒的泛滥 424 26.2.4 蠕虫的力量 425 26.2.5 其他破解技术 425 26.3 易受攻击的区域 425 26.3.1 DNS服务器 426 26.3.2 路由器 426 26.3.3 主机和应用程序 426 26.3.4 现场事务 426 26.4 攻击 427 26.4.1 网络攻击 427 26.4.2 分布式网络攻击 427 26.4.3 企业攻击 428 26.4.4 包嗅探器 428 26.4.5 中间人攻击 428 26.5 应对安全风险的技术 429 26.5.1 加密 429 26.5.2 身份验证、数据完整性、不可否认与数字签名 429 26.5.3 发证机构 430 26.5.4 安全套接字层(SSL) 430 26.5.5 公钥基础结构 430 26.5.6 反病毒软件 431 26.5.7 个人防火墙软件 431 26.5.8 反嗅探器工具 432 26.6 应对安全风险的最佳实践 432 26.6.1 建立公司的安全策略 432 26.6.2 保证计算机的物理安全 432 26.6.3 及时修正安全隐患 433 26.6.4 使用复杂密码并保证密码安全 433 26.6.5 加密通信和使用证书 433 26.6.6 简化基础结构 433 26.6.7 看一看日志文件和事件日志 433 26.7 小结 434 第27章 WebLogic Server如何实现安全 435 27.1 J2SE安全模型 435 27.2 J2SE安全模型 436 27.2.1 用户 436 27.2.2 组 436 27.2.3 角色 436 27.2.4 受限制的资源 437 27.2.5 Web应用程序部署描述符 437 27.2.6 身份验证 437 27.2.7 如何指定验证方法? 438 27.2.8 如何指定安全性? 439 27.3 WebLogic Server中安全是如何工作的 443 27.3.1 WebLogic Server安全框架的目标 444 27.3.2 Java验证和授权服务 445 27.3.3 客体和主体 445 27.3.4 WebLogic Server安全区域 446 27.3.5 安全角色 446 27.3.6 安全提供程序 447 27.3.7 关于安全提供程序和区域的规则 449 27.4 从WebLogic Server 6.x迁移 450 27.4.1 兼容性区域 450 27.4.2 区域适配器验证提供程序 450 27.5 小结 450 第28章 保护WebLogic Server与 WebLogic Server应用程序 451 28.1 保护WebLogic Server应用程序 451 28.1.1 选择区域 451 28.1.2 定义用户和组 452 28.1.3 定义用户 452 28.1.4 定义组 453 28.1.5 授予全局角色 454 28.1.6 授予局部角色 455 28.1.7 创建安全策略 456 28.1.8 轻量级目录访问协议 457 28.1.9 使用外部LDAP服务器 457 28.1.10 从以前的WebLogic Server版本迁移安全 457 28.1.11 定制默认区域 458 28.1.12 选择一个默认区域 458 28.2 保护Java客户 458 28.2.1 JNDI验证 459 28.3 JAAS简介 459 28.3.1 JAAS登录配置文件 459 28.3.2 回调处理程序 460 28.3.3 实例化LoginContext 460 28.3.4 UserNamePasswordLoginModule 461 28.3.5 调用login()方法 461 28.3.6 PribilegedAction与privilegedExceptionAction 461 28.3.7 执行代码 461 28.4 创建定制的安全提供程序 462 28.4.1 实现SecurityProvider 462 28.4.2 实现AuthenticationProvider 463 28.4.3 SampleAuthenticationProviderImpl 463 28.4.4 实现LoginModule 464 28.4.5 SampleLoginModuleImpl 464 28.4.6 MBean定义文件和WebLogic MBeanMaker 465 28.4.7 建立自定义的安全提供程序 465 28.4.8 运行自定义的安全提供程序 465 28.4.9 从这里要到哪里 466 28.5 使用安全套接字层 467 28.5.1 生成数字证书 467 28.5.2 将SSL用于服务器验证 468 28.5.3 SSL用于相互验证 468 28.6 建立域间信任关系 468 28.7 最佳安全实践 469 28.7.1 设置用户锁定 469 28.7.2 连接过滤 469 28.7.3 BEA Dev2Dev建议和通知 470 28.7.4 保护WebLogic Server计算机和文件系统 470 28.7.5 保护网络连接 470 28.7.6 防止拒绝服务攻击 470 28.7.7 启用审核 471 28.7.8 其他安全建议 471 28.8 小结 471] 第八部分 WebLogic Server企业应用程序集成 第29章 WebLogic Server和XML技术 474 29.1 XML简介 474 29.1.1 XML头 475 29.1.2 XML内容 476 29.2 定义XML文档 480 29.2.1 文档类型定义 480 29.2.2 元素 480 29.2.3 属性列表 481 29.2.4 XML Schema 482 29.3 XML解析器 486 29.3.1 SAX 487 29.3.2 使用DOM解析XML 492 29.3.3 用于XML解析的Java API 495 29.4 WebLogic Server XML Streaming API 497 29.4.1 解析XML文档 497 29.4.2 生成新的XML文档 500 29.5 其他有用的XML特性 501 29.5.1 WebLogic快速解析器 501 29.5.2 WebLogic Server XML注册表 501 29.5.3 XPath模式匹配 504 29.5.4 StreamXPath 506 29.5.5 XML编辑器 507 29.5.6 XMLBeans 507 29.6 可扩展样式表语言 507 29.6.1 XSL样式表 507 29.6.2 XML文件的转换 510 29.7 使用XML的最佳实践 510 29.7.1 自定义验证 510 29.7.2 使用外部实体解析 511 29.7.3 使用JAXP 511 29.7.4 Schema与DTD 511 29.7.5 考虑解析器的类型 511 29.7.6 XML设计 511 29.8 小结 511 第30章 WebLogic Server和Web服务 512 30.1 什么是Web服务 512 30.2 Web服务的作用 513 30.3 WebLogic对Web服务的支持 513 30.4 Web服务技术 514 30.4.1 简单对象访问协议 514 30.4.2 Web服务定义语言 515 30.4.3 通用描述发现和集成 516 30. 5 WebLogic Server的Web服务体系结构 516 30.6 在WebLogic中生成Web服务的工具 516 30.6.1 WebLogic WorkShop工具 517 30.6.2 Java代码和Ant任务 517 30.7 使用Java代码生成Web服务 517 30.7.1 选择并实现后端组件 517 30.7.2 其他Web服务特征 518 30.7.3 打包Web服务 518 30.7.4 使用Java类后端来构建Web服务 519 30.8 使用无状态会话bean后端生成Web服务 525 30.8.1 使用非简单数据类型 525 30.8.2 使用支持的数据类型生成操作 526 30.8.3 使用用户定义的数据类型 526 30.8.4 使用用户定义数据类型生成Web服务 527 30.8.5 汇编Web服务 527 30.9 使用SOAP消息句柄 528 30.10 保护Web服务 528 30.11 使用UDDI目录探索器 529 30.12 使用WebLogic WorkShop生成Web服务 529 30.12.1 WebLogic WorkShop体系结构 529 30.12.2 JWS文件和JSR 181 530 30.12.3 WebLogic WorkShop图形用户界面 530 30.12.4 使用WebLogic WorkShop生成Web服务 531 30.12.5 生成一个WebLogic WorkShop域 533 30.12.6 设置环境 533 30.12.7 配置域的WebLogic WorkShop 534 30.12.8 生成一个新的WebLogic WorkShop应用程序 535 30.12.9 使用WebLogic WorkShop控件 535 30.12.10 使用调试器 537 30.12.11 其他WebLogic WorkShop特征 538 30.13 Web服务的最佳实践 538 30.13.1 调试标志 538 30.13.2 确保互操作性 539 30.13.3 故障代码 539 30.13.4 减少网络开销 539 30.13.5 更熟悉Web服务技术 539 30.14 小结 539 第31章 传统系统与J2EE体系结构的集成 541 31.1 J2EE连接器体系结构和J2EE平台 542 31.2 WebLogic的Java连接器体系结构的定义 542 31.3 J2EE连接器体系结构和企业 543 31.3.1 什么是EIS? 543 31.3.2 对企业应用集成商的意义 544 31.3.3 B2B电子市场 544 31.3.4 面对J2EE连接器体系结构的挑战 545 31.4 使用Java连接器体系结构组件 545 31.4.1 资源适配器 545 31.4.2 系统级协定 546 31.4.3 公共客户机接口 546 31.4.4 BEA提供的J2EE-CA适配器客户示例 547 31.4.5 可用的商业J2EE-CA适配器 547 31.5 安全考虑 548 31.5.1 与安全有关的术语 548 31.5.2 密码凭证映射机制 548 31.5.3 WebLogic身份验证机制 549 31.5.4 签署(Sign-on)机制 549 31.6 事务管理 550 31.6.1 事务支持 550 31.6.2 没有事务支持 551 31.6.3 本地事务支持 551 31.6.4 XA事务支持 551 31.7 配置WebLogic J2EE-CA 552 31.7.1 资源适配器开发工具 552 31.7.2 配置资源适配器 553 31.7.3 WebLogic的特殊配置 , 554 31.8 编写资源适配器 555 31.8.1 连接所需要的接口 555 31.8.2 事务管理协定 557 31.8.3 出错处理 558 31.8.4 把工作汇总 558 31.9 打包和部署问题 561 31.9.1 打包资源适配器 561 31.9.2 部署资源适配器 562 31.10 J2EE连接器体系结构示例 564 31.10.1 设置JDBC示例 564 31.10.2 设置SAP示例 566 3.11 小结 569 第32章 在WebLogic服务器中使用SAP的Java连接器 570 32.1 什么是JCo 570 32.1.1 远程函数调用 571 32.1.2 SAP的数据处理 571 32.1.3 SAP数据字典 571 32.2 安装JCo 572 32.2.1 下载JCo 572 32.2.2 JCo 1.1 572 32.2.3 JCo 2.0 573 32.3 SAP系统设置 573 32.4 在JCo中的客户机编程 573 32.4.1 Import语句 574 32.4.2 SAP连接 574 32.4.3 建立SAP连接池 575 32.4.4 从属性文件装入参数 576 32.5 调用SAP的函数 576 32.5.1 Java和SAP间的类型转换 577 32.5.2 设置数据和获取数据 578 32.5.3 处理表 579 32.5.4 SAP中的事务 581 32.5.5 过滤SAP数据 582 32.6 JCo中的异常处理 582 32.6.1 JCo异常 582 32.6.2 类型转换异常 583 32.6.3 ABAP异常 583 32.6.4 使用JCo的Web应用程序示例 584 32.7 用JCo进行服务器编程 585 32.7.1 建立JCo服务器 585 32.7.2 建立存储库 586 32.7.3 建立JCO.Server对象 588 32.7.4 SAP RFC设置(SM59) 589 32.7.5 运行服务器应用程序 590 32.8 有用的BAPI和RFC 591 32.9 小结 592 第33章 jCOM——WebLogic Server的Java/COM桥 593 33.1 了解jCOM 593 33.2 jCOM的工作方式 594 33.3 判断jCOM是否适合应用程序 595 33.4 决定正确的jCOM环境设置 595 33.5 零客户机安装 596 33.6 在DCOM,本机进程内(Native In Process)和本机进程外(NativeOutof Process)模式之间选择 597 33.6.1 DCOM模式 597 33.6.2 本机进程外模式 598 33.6.3 本机进程内模式 598 33.7 早绑定和迟绑定模型 598 33.7.1 早绑定 599 33.7.2 迟绑定 599 33.8 保护Java对象免受未经授权的访问 600 33.9 使用jCOM工具 601 33.9.1 通过com2java连接到COM 601 33.9.2 通过java2com连接到Java 602 33.9.3 用regjvm工具注册JVM 603 33.9.4 用regtlb工具注册类型库 604 33.10 银行帐户示例——Java客户机访问COM组件 605 33.10.1 建立JSP前端 605 33.10.2 建立后端账户COM组件 606 33.10.3 手工建立银行账户后端COM组件 606 33.10.4 在服务器上安装COM组件 606 33.10.5 WebLogic Server设置 607 33.10.6 运行银行账户接口应用程序 608 33.11 库存项目示例——COM客户访问EJB 608 33.11.1 WebLogic Server设置 609 33.11.2 Visual Basic客户通过迟绑定访问库存项目 610 33.11.3 Visual Basic客户通过早绑定访问库存项目 610 33.11.4 建立VB客户 613 33.12 事件处理 613 33.13 处理数据类型 614 33.14 小结 615 第34章 CORBA和Tuxedo集成 616 34.1 WebLogic的Tuxedo连接器 616 34.1.1 WTC和JOLT 617 34.1.2 JATMI编程 617 34.1.3 完整的WTC客户机的示例 626 34.1.4 WTC服务EJB 627 34.1.5 JATMI事务 627 35.1.5.3 WTC和JMS 628 34.1.6 WTC的安全 630 34.1.7 WTC和WebLogic群集 631 34.1.8 WTC和工作流处理 631 34.2 RMI over IIOP 631 34.2.1 RMI over IIOP剖析 631 34.2.2 WebLogic RMI-IIOP 632 34.2.3 编程模型对比: IDL与RMI 633 34.3 小结 635 第35章 使用管理控制台管理应用程序 637 35.1 WebLogic Server管理 637 35.2 连接到管理控制台 638 35.3 管理控制台用户界面概览 638 35.4 配置控制台 639 35.5 配置应用服务器域 640 35.5.1 域的常规配置 641 3.5.5.2 域的JTA配置 641 35.5.3 域的SNMP配置 641 35.5.4 域的日志记录配置 641 35.5.5 域的应用程序配置 642 35.6 管理网络资源 642 35.6.1 配置服务器 642 35.6.2 配置群集 648 35.6.3 配置计算机 649 35.7 部署应用程序和模块 650 35.8 配置WebLogic和J2EE服务 650 35.8.1 配置jCOM服务 651 35.8.2 配置JDBC服务 652 35.8.3 JMS阈值与配额 654 35.8.4 配置消息传递桥服务 656 35.8.5 配置XML服务 656 35.8.6 配置JTA服务 657 35.8.7 配置SNMP服务 657 35.8.8 配置WTC服务 658 35.8.9 配置WLEC服务 659 35.8.10 配置Jolt服务 659 35.8.11 配置虚拟主机服务 659 35.8.12 配置Mail服务 659 35.9 管理安全域 660 35.10 配置域日志过滤器 660 35.11 监视管理任务 660 35.12 小结 661 第36章 安装、配置和部署 WebLogic Server群集 662 36.1 介绍WebLogic Server群集 662 36.2 创建和配置物理群集环境 663 36.2.1 创建群集域 663 36.2.2 启动群集中的管理与托管服务器 665 36.2.3 使用HTTP代理访问群集 665 36.3 群集化应用程序和组件 667 36.3.1 负载平衡算法 667 36.3.2 群集范围内的JNDI树 668 36.3.3 HTTP会话状态复制 668 36.3.4 借助副本识别存根的EJB与RMI组件 670 36.3.5 群集化JDBC连接 671 36.3.6 HTTP会话与群集 672 36.3.7 群集化WebLogic JMS 672 36.4 对群集服务的故障转移支持 673 36.4.1 在对等服务器实例之间使用IP Socket进行故障检测 673 36.4.2 使用规则服务器心跳消息进行故障检测 673 36.5 群集最佳实践 674 36.5.1 单层群集体系结构 674 35.5.2 多层群集架构 674 35.5.3 代理群集体系结构 675 36.6 小结 675 第37章 使用JMX服务配置管理应用程序 676 37.1 JMX的定义以及使用它的原因 676 37.1.1 JMX的功能 676 37.1.2 JMX的结构 677 37.1.3 MBean模板 678 37.2 一个基本的MBean示例 678 37.2.1 在WebLogic MBean服务器中注册自定义MBean 682 37.3 WebLogic如何使用JMX 685 37.3.1 WebLogic Server MBean 685 37.3.2 WebLogic JMX扩展 686 37.3.3 访问WebLogic Server MBean 686 37.4 JMX通知模型和监视器 688 37.4.1 通知广播器 688 37.4.2 通知监听器 689 37.5 小结 692 第38章 通过命令行接口进行管理 693 38.1 管理命令 693 38.1.1 语法 694 38.1.2 服务器生命周期命令 695 38.1.3 服务器状态命令 695 38.1.4 JDBC连接池命令 696 38.1.5 MBean管理命令 696 38.1.6 批处理命令 696 38.1.7 群集命令 696 38.2 命令实例与脚本 697 38.2.1 HELP 697 38.2.2 PING 697 38.2.3 LIST 698 38.2.4 THREAD_DUMP 698 38.3 使用命令界面命令生成脚本 698 38.4 使用命令行接口的Ant 701 38.5 命令行接口管理的最佳实践 701 38.6 小结 702 第十部分 附录 附录A 为WebLogic开发创建新域的快速参考 704 创建新的WebLogic Server域 704 通过Configuration Wizard创建域 704 部署HTML页面 708 部署JSP 708 部署servlet 709 附录B 从以前版本进行迁移 711 从版本6.0/6.1/7.0迁移到版本8.1 711 将WebLogic 6.0/6.1/7.0安装升级到8.1 711 升级使用版本6.0/6.1/7.0 WebLogic的应用程序 713 从版本4.5/5.1迁移到8.1 713 将WebLogic 4.5/5.1安装升级到8.1 713 升级使用版本4.5/5.1 WebLogic的应用程序 715 对所有迁移的安装建议 715 对所有迁移的应用程序建议 716 servlet方面的建议 716 EJB方面的建议 717 JMS方面的建议 717 附录C 联合使用WebLogic Workshop 8.1 和WebLogic Server 718 Workshop 8.1——不止是一个IDE 718 Workshop 8.1——不止是一个Web服务工具 719 Workshop 8.1的目标 719 Workshop的主要焦点 720 Workshop 8.1的功能 722 企业级Web服务开发 722 Web应用程序开发 722 门户与集成应用程序开发 723 使用Workshop进行开发 723 Workshop中的代码注释 724 Workshop JWS 724 Java页面流 724 XMLBean 725 使用Workshop进行调试和测试 726 调试Web应用程序 726 调试Web服务 726 测试Web服务 726 Workshop 8.1与Workshop 7.0的兼容性 727 Web服务 727 其他组件 727 在Workshop中进行面向服务的开发 727
|
|
|
|