课程简介
这门课程适合对基于Java EE技术的企业软件系统负有总体软件架构的学员。学员还要求能深入了解企业架构师的作用,并希望在n层企业系统中使用Java EE技术。现有的架构师也可以通过学习这门课程,了解如何使用Java EE技术提高其企业系统中服务的质量。
目标收益
1. 软件架构的本质
2. 软件架构的设计过程
3. 软件架构模式
4. 深入理解J2EE和架构模式和反模式,以及如何对架构重构
5. 深入理解J2EE架构各层(表示层/业务逻辑层/数据存取层/基础服务层/实体层)如何设计和如何权衡
6. 深入理解J2EE 技术(JSP,TagLib,Ajax,EJB,JPA以及常见的开源技术Spring和Hibernate,Ibatis)
7. 充分运用Java EE组件技术,解决典型的系统架构问题
8. 使用Java EE蓝图中的技术和Java EE 模式目录中的解决方案,推导出软件系统
9. 使用工程权衡技术,用高性价比的方式应对服务
培训对象
这门课程适合对基于Java EE技术的企业软件系统负有总体软件架构的学员。学员还要求能深入了解企业架构师的作用,并希望在n层企业系统中使用Java EE技术。现有的架构师也可以通过学习这门课程,了解如何使用Java EE技术提高其企业系统中服务的质量。
课程大纲
内容一:介绍基本的架构概念 |
1. 理解企业应用中的难题 2. 定义软件架构 3. 理解软件架构需求 4. 理解架构师的作用、责任和交付项目 5. 理解使用统一建模语言(UML)的架构模型 6. 理解架构与设计之间的差别和相似点 |
内容二:理解架构质量属性度量 |
1. 描述企业应用的系统性度量 2. 描述用于改善系统性度量的一般做法 3. 对服务质量(QoS)的要求划分优先级 4. 检查是否存在良好的机遇,并进行权衡 5. 结合实际项目案例分析,质量属性的权衡 |
内容三:J2EE核心技术 |
1. J2EE平台概述 2. Web应用技术 3. Servlet,JSP,JSPTaglib,JSF 4. EJB技术,JMS,JTA,JNDI 5. JDBC,JPA 6. Java EE5 新特性 7. 基于J2EE 核心技术的架构 |
内容四:J2EE开源框架 |
1. Better,Faster,Lighter Java 2. 经常使用的J2EE开源框架 3. Web层常见框架Struts1/2,Webwork,JSF 4. 业务逻辑层常见开源框架 5. 数据存取层常见开源框架 |
内容五:J2EE技术和其他对比(.Net, Ruby/Rails,LAMP) |
1. J2EE技术和。Net技术对比 2. J2EE技术和Ruby/Rails技术对比 3. J2EE技术和相关PHP技术对比 |
内容六:检查系统架构应于开发的风险 |
1. 了解分布式企业系统的关键风险因素 2. 设计灵活的对象模型 3. 理解创建网络模型的指导原则 4. 验证事务/异常/性能/安全的设计 5. 规划系统容量 |
2ndDay 内容一:J2EE分层架构模式 |
1. J2EE架构模式 2. 表示层的设计原则和注意事项 3. 业务逻辑层的设计原则和注意事项 4. 持久化层的设计原则和注意事项 5. 基础服务架构层设计原则和注意事项 6. 业务实体层的设计原则和注意事项 |
内容二:开发客户端层的架构 |
1. 理解信息架构客户端层的注意事项 2. 理解如何选择满足具体应用要求的用户界面设备 3. 描述如何在客户端层上实现重复使用 4. 理解开发基于Java桌面的应用的策略 5. 熟悉客户端层的安全注意事项 |
内容三:Web层的架构 |
1. 描述与开发Web层相关的角色 2. 理解分离注意事项 3. 描述有关实施Web层展示问题的策略 4. 描述有关实施Web层数据问题的策略 5. 描述有关管理Web层展示、数据和逻辑问题的策略 6. 理解面向请求的和面向组件的Web层框架的优点和缺点 7. 描述有关在Web层中实施验证和授权的策略 8. 解决Web应用扩展问题 |
内容四:基于Ajax技术架构 |
1. 传统BS应用系统的缺点 2. RIA应用的诞生原因 3. Ajax应用系统 4. 基于Ajax的BS架构 |
内容五:基于Struts1/2技术架构 |
1. 开发基于Struts的Web应用程序 2. 将MVC应用于您的应用程序架构 3. 使用单元测试来测试Struts应用程序 4. 运用重要的Struts最佳实践 5. 使用常用的Struts扩展功能提高生产效率 6. 保护Struts应用程序的安全 |
内容六:基于JSF技术架构 |
1. 使用基于组件和事件驱动的JavaServer Faces框架开发Web应用程序 2. JSF的应用与开发 3. JSF组件的开发 4. JSF最佳实践 |
3rdDay 内容一:业务逻辑层的架构 |
1. 理解有关使用企业应用容器服务的价值 2. 描述用于实施域模型服务的架构选项 3. 描述用于实施域模型实体的架构选项 4. 分发域模型组件 5. 理解例外处理和日志的最佳做法 |
内容二:基于EJB业务逻辑层的架构 |
1. 深入理解EJB原理和EJB30新特性 2. EJB的核心服务 3. EJB事务管理 4. EJB异常处理 5. EJB拦截服务 6. 如果基于EJB技术进行构建业务逻辑层 7. EJB项目经验 |
内容三:基于Spring业务逻辑层的架构 |
1. Spring轻量级容器技术 2. Spring的Ioc/DI技术 3. Spring的数据存取技术 4. Spring AOP技术 5. Sping事务管理 6. Spring在业务逻辑层的应用 7. Spring项目经验 |
4thDay内容一:开发集成和资源层的架构 |
1. 描述与企业信息系统(EIS)集成相关的难题 2. 描述集成层的角色 3. 描述EIS资源层 4. 回顾Java集成技术和最佳做法,以及和其他系统集成 5. 数据存取架构模式 6. 数据存取架构技术发展 7. 数据存取架构的策略 8. 数据存取层事务和连接管理模式 |
内容二:数据存取技术基石-JDBC |
1. JDBC概述和JDBC Driver类型选择 2. 使用JDBC进行数据库访问和JDBC 核心类 3. JDBC连接池的原理和使用 4. DataSource原理和使用 5. JDBC3.0/4.0新特性 6. 数据存取层的性能监控和调优(结合应用服务器) |
内容三:基于ORM数据存取技术-Hibernate和JPA |
1. J2EE数据存取技术 2. Hibrnate映射技术 3. Hibernate 对象实体级联 4. Hinbernate缓存处理 5. Hinbernate并发控制与锁的管理 6. Hinbernate事务管理 7. JPA技术概述 8. Hinbernate项目经验 |
内容四:基于SQLMapper数据存取技术-IBatis |
1. What is iBATIS? 2. Working with mapped statements 3. Executing nonquery statements 4. Using advanced query techniques 5. Transactions 6. Using Dynamic SQL 7. Improving performance with caching |
内容五:J2EE架构的事务管理 |
1. 事务的概述 2. 本地事务和分布式事务JTA 3. 本地事务的管理的模式 4. 分布式事务管理的模式 5. 声明方式和编程方式事务管理 6. 事务,锁,并发 |
内容六:J2EE架构的安全管理 |
1. 分析分布式计算环境中的安全影响 2. 理解Java EE技术中的安全服务 3. 理解Web服务的安全要求 4. 基于Spring Acegi安全架构设计 |
内容一:J2EE架构时性能考虑 |
1. 架构时的性能考虑 2. J2EE项目调优概述 3. 利用应用服务器的调优 4. web层架构的性能考虑 5. 业务逻辑的性能设计考虑 6. 数据访问层的性能 |
内容二:J2EE架构模式 |
1. 描述J2EE模式的哲学 2. 描述J2EE模式体系中的J2EE模式和层 3. 介绍表示层模式 4. 介绍业务逻辑层模式 5. 介绍数据访问层模式 6. 定义反模式 7. 描述集成层反模式 8. 描述业务层反模式 9. 描述展示层反模式 |
内容三:J2EE架构设计专题技术 |
1. J2EE异常处理 2. J2EE事务管理 3. 缓存技术在架构之中的应用 4. AOP技术在架构之中的应用 5. J2EE架构的数据校验 6. 可扩展性和可靠性对架构的影响 7. 安全性在架构的考虑 8. 分布式计算中数据传输的特点 9. 多个实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑) |
内容四:J2EE架构案例 |
1. 电信行业J2EE架构项目案例分析 2. 电力行业J2EE架构项目案例分析 3. 政府行业J2EE架构项目案例分析 4. 金融行业J2EE架构项目案例分析 5. 重点分析为何这样设计/优点/缺点/当初的考虑 |
内容一:介绍基本的架构概念 1. 理解企业应用中的难题 2. 定义软件架构 3. 理解软件架构需求 4. 理解架构师的作用、责任和交付项目 5. 理解使用统一建模语言(UML)的架构模型 6. 理解架构与设计之间的差别和相似点 |
内容二:理解架构质量属性度量 1. 描述企业应用的系统性度量 2. 描述用于改善系统性度量的一般做法 3. 对服务质量(QoS)的要求划分优先级 4. 检查是否存在良好的机遇,并进行权衡 5. 结合实际项目案例分析,质量属性的权衡 |
内容三:J2EE核心技术 1. J2EE平台概述 2. Web应用技术 3. Servlet,JSP,JSPTaglib,JSF 4. EJB技术,JMS,JTA,JNDI 5. JDBC,JPA 6. Java EE5 新特性 7. 基于J2EE 核心技术的架构 |
内容四:J2EE开源框架 1. Better,Faster,Lighter Java 2. 经常使用的J2EE开源框架 3. Web层常见框架Struts1/2,Webwork,JSF 4. 业务逻辑层常见开源框架 5. 数据存取层常见开源框架 |
内容五:J2EE技术和其他对比(.Net, Ruby/Rails,LAMP) 1. J2EE技术和。Net技术对比 2. J2EE技术和Ruby/Rails技术对比 3. J2EE技术和相关PHP技术对比 |
内容六:检查系统架构应于开发的风险 1. 了解分布式企业系统的关键风险因素 2. 设计灵活的对象模型 3. 理解创建网络模型的指导原则 4. 验证事务/异常/性能/安全的设计 5. 规划系统容量 |
2ndDay 内容一:J2EE分层架构模式 1. J2EE架构模式 2. 表示层的设计原则和注意事项 3. 业务逻辑层的设计原则和注意事项 4. 持久化层的设计原则和注意事项 5. 基础服务架构层设计原则和注意事项 6. 业务实体层的设计原则和注意事项 |
内容二:开发客户端层的架构 1. 理解信息架构客户端层的注意事项 2. 理解如何选择满足具体应用要求的用户界面设备 3. 描述如何在客户端层上实现重复使用 4. 理解开发基于Java桌面的应用的策略 5. 熟悉客户端层的安全注意事项 |
内容三:Web层的架构 1. 描述与开发Web层相关的角色 2. 理解分离注意事项 3. 描述有关实施Web层展示问题的策略 4. 描述有关实施Web层数据问题的策略 5. 描述有关管理Web层展示、数据和逻辑问题的策略 6. 理解面向请求的和面向组件的Web层框架的优点和缺点 7. 描述有关在Web层中实施验证和授权的策略 8. 解决Web应用扩展问题 |
内容四:基于Ajax技术架构 1. 传统BS应用系统的缺点 2. RIA应用的诞生原因 3. Ajax应用系统 4. 基于Ajax的BS架构 |
内容五:基于Struts1/2技术架构 1. 开发基于Struts的Web应用程序 2. 将MVC应用于您的应用程序架构 3. 使用单元测试来测试Struts应用程序 4. 运用重要的Struts最佳实践 5. 使用常用的Struts扩展功能提高生产效率 6. 保护Struts应用程序的安全 |
内容六:基于JSF技术架构 1. 使用基于组件和事件驱动的JavaServer Faces框架开发Web应用程序 2. JSF的应用与开发 3. JSF组件的开发 4. JSF最佳实践 |
3rdDay 内容一:业务逻辑层的架构 1. 理解有关使用企业应用容器服务的价值 2. 描述用于实施域模型服务的架构选项 3. 描述用于实施域模型实体的架构选项 4. 分发域模型组件 5. 理解例外处理和日志的最佳做法 |
内容二:基于EJB业务逻辑层的架构 1. 深入理解EJB原理和EJB30新特性 2. EJB的核心服务 3. EJB事务管理 4. EJB异常处理 5. EJB拦截服务 6. 如果基于EJB技术进行构建业务逻辑层 7. EJB项目经验 |
内容三:基于Spring业务逻辑层的架构 1. Spring轻量级容器技术 2. Spring的Ioc/DI技术 3. Spring的数据存取技术 4. Spring AOP技术 5. Sping事务管理 6. Spring在业务逻辑层的应用 7. Spring项目经验 |
4thDay内容一:开发集成和资源层的架构 1. 描述与企业信息系统(EIS)集成相关的难题 2. 描述集成层的角色 3. 描述EIS资源层 4. 回顾Java集成技术和最佳做法,以及和其他系统集成 5. 数据存取架构模式 6. 数据存取架构技术发展 7. 数据存取架构的策略 8. 数据存取层事务和连接管理模式 |
内容二:数据存取技术基石-JDBC 1. JDBC概述和JDBC Driver类型选择 2. 使用JDBC进行数据库访问和JDBC 核心类 3. JDBC连接池的原理和使用 4. DataSource原理和使用 5. JDBC3.0/4.0新特性 6. 数据存取层的性能监控和调优(结合应用服务器) |
内容三:基于ORM数据存取技术-Hibernate和JPA 1. J2EE数据存取技术 2. Hibrnate映射技术 3. Hibernate 对象实体级联 4. Hinbernate缓存处理 5. Hinbernate并发控制与锁的管理 6. Hinbernate事务管理 7. JPA技术概述 8. Hinbernate项目经验 |
内容四:基于SQLMapper数据存取技术-IBatis 1. What is iBATIS? 2. Working with mapped statements 3. Executing nonquery statements 4. Using advanced query techniques 5. Transactions 6. Using Dynamic SQL 7. Improving performance with caching |
内容五:J2EE架构的事务管理 1. 事务的概述 2. 本地事务和分布式事务JTA 3. 本地事务的管理的模式 4. 分布式事务管理的模式 5. 声明方式和编程方式事务管理 6. 事务,锁,并发 |
内容六:J2EE架构的安全管理 1. 分析分布式计算环境中的安全影响 2. 理解Java EE技术中的安全服务 3. 理解Web服务的安全要求 4. 基于Spring Acegi安全架构设计 |
内容一:J2EE架构时性能考虑 1. 架构时的性能考虑 2. J2EE项目调优概述 3. 利用应用服务器的调优 4. web层架构的性能考虑 5. 业务逻辑的性能设计考虑 6. 数据访问层的性能 |
内容二:J2EE架构模式 1. 描述J2EE模式的哲学 2. 描述J2EE模式体系中的J2EE模式和层 3. 介绍表示层模式 4. 介绍业务逻辑层模式 5. 介绍数据访问层模式 6. 定义反模式 7. 描述集成层反模式 8. 描述业务层反模式 9. 描述展示层反模式 |
内容三:J2EE架构设计专题技术 1. J2EE异常处理 2. J2EE事务管理 3. 缓存技术在架构之中的应用 4. AOP技术在架构之中的应用 5. J2EE架构的数据校验 6. 可扩展性和可靠性对架构的影响 7. 安全性在架构的考虑 8. 分布式计算中数据传输的特点 9. 多个实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑) |
内容四:J2EE架构案例 1. 电信行业J2EE架构项目案例分析 2. 电力行业J2EE架构项目案例分析 3. 政府行业J2EE架构项目案例分析 4. 金融行业J2EE架构项目案例分析 5. 重点分析为何这样设计/优点/缺点/当初的考虑 |