《软件构件与中间件技术》课程实验教学大纲 一、课程基本信息 课程代码:22110144 课程名称:软件构件与中间件技术 英文名称:Software Component and Middleware Technology 实验总学时:34 适用专业:软件工程 课程类别:必修课 先修课程:面向对象程序设计(Java)、Java进阶、数据库原理 二、实验教学的总体目的和要求 通过本课程的实验,使学生熟练掌握软件构件化思想和基于框架和中间件的 大型软件构造技术,包括基于Spring Boot框架的Web MVC实现、Redis缓存中 间件技术、RocketMQ消息中间件技术、Spring Cloud Alibaba微服务架构技术 等,并能在大型软件项目中加以灵活应用,让学生充分理解软件构件化思想和基 于框架和中间件的软件开发技术对降低软件开发和维护成本,提高软件开发效率 和软件质量所带来的重要价值.同时培养学生严谨求实的科学作风和软件工匠精 神。 (一)对学生的要求 1.要求学生预习实验,了解实验内容、目的和要求。 2.实验课堂上要求每人一台计算机,独立完成知识点练习题和程序编写题等 题目。 3.严格要求学生独立完成实验,使学生准时提交实验报告,杜绝学生发生实 验报告抄袭现象。 4.学生以小组为单位或独立完成设计性实验。 (二)对教师的要求
《软件构件与中间件技术》课程实验教学大纲 一、课程基本信息 课程代码:22110144 课程名称:软件构件与中间件技术 英文名称:Software Component and Middleware Technology 实验总学时:34 适用专业:软件工程 课程类别:必修课 先修课程:面向对象程序设计(Java)、Java 进阶、数据库原理。 二、实验教学的总体目的和要求 通过本课程的实验,使学生熟练掌握软件构件化思想和基于框架和中间件的 大型软件构造技术,包括基于 Spring Boot 框架的 Web MVC 实现、Redis 缓存中 间件技术、RocketMQ 消息中间件技术、Spring Cloud Alibaba 微服务架构技术 等,并能在大型软件项目中加以灵活应用,让学生充分理解软件构件化思想和基 于框架和中间件的软件开发技术对降低软件开发和维护成本,提高软件开发效率 和软件质量所带来的重要价值。同时培养学生严谨求实的科学作风和软件工匠精 神。 (一)对学生的要求 1.要求学生预习实验,了解实验内容、目的和要求。 2.实验课堂上要求每人一台计算机,独立完成知识点练习题和程序编写题等 题目。 3.严格要求学生独立完成实验,使学生准时提交实验报告,杜绝学生发生实 验报告抄袭现象。 4.学生以小组为单位或独立完成设计性实验。 (二)对教师的要求
1.认真做好各实验准备,准确布置各实验内容,细致规划各实验过程 2.实验过程中教师要解决学生的疑难问题,帮助学生分析和处理实验结果。 3.每次实验完毕后,认真讲评实验中的优点和不足,激励学生不断改进和提 高。 (三)对实验条件的要求 1.实验环境: 1)硬件环境 ●计算机:4G以上内存、2G以上CPU、高速硬盘: ●网络:Internet. 2)软件环境: ●操作系统:64位Windows7以上: ●IntelliJ IDEA2018或以上版本: at8.0或以上版本: 。s9L5.7或以上版本。 2.课后实验学时:28 三、实验教学内容 实验项目一 实验名称:Spring Boot实现Web MVC 实验内容: I.使用Spring Boot的视图技术Thymeleaf实现带footer的国际化登录页 面,要求登录后的目标页有分页功能。 2.Spring Boot整合Spring MVC框架实现带footer的注册页面,要求注册 页有数据验证和文件上传功能。 3。使用拦截器实现用户登录权限验证,并对异常实现统一显示和处理。 4.基于注解和配置类方式自定义Servlet三大组件。 实验性质:设计性 实验学时:10
1.认真做好各实验准备,准确布置各实验内容,细致规划各实验过程。 2.实验过程中教师要解决学生的疑难问题,帮助学生分析和处理实验结果。 3.每次实验完毕后,认真讲评实验中的优点和不足,激励学生不断改进和提 高。 (三)对实验条件的要求 1.实验环境: 1)硬件环境: ⚫ 计算机:4G 以上内存、2G 以上 CPU、高速硬盘; ⚫ 网络:Internet。 2)软件环境: ⚫ 操作系统:64 位 Windows 7 以上; ⚫ IntelliJ IDEA 2018 或以上版本; ⚫ Tomcat 8.0 或以上版本; ⚫ MySQL 5.7 或以上版本。 2.课后实验学时:28 三、实验教学内容 实验项目一 实验名称:Spring Boot 实现 Web MVC 实验内容: 1.使用 Spring Boot 的视图技术 Thymeleaf 实现带 footer 的国际化登录页 面,要求登录后的目标页有分页功能。 2.Spring Boot 整合 Spring MVC 框架实现带 footer 的注册页面,要求注册 页有数据验证和文件上传功能。 3.使用拦截器实现用户登录权限验证,并对异常实现统一显示和处理。 4.基于注解和配置类方式自定义 Servlet 三大组件。 实验性质:设计性 实验学时:10
实验目的与要求: I.掌握Spring Boot与模板引擎技术Thymeleaf的整合实现: 2.掌握Thymeleaf前端页面的分页以及国际化: 3.掌握在Spring Boot中实现数据验证、文件上传与下载: 4.掌握使用拦截器实现用户登录权限验证的方法: 5.加深学生对专业知识技能学习的认可度与专注度,提高学生自我学习和 持续学习的意识和能力: 实验条件: 1.硬件:4G以上内存、2G以上CPU、10OM以上宽带网络、高速硬盘: 2.操作系统:64位Windows7以上: 3.软件:Intel1 iJ IDEA2018或以上版本、Tomcat8.0或以上版本、MySQL 5.7或以上版本。 研究与思考: l.Spring Boot整合Spring MVC框架支持的模板引擎技术有哪些g 2.Spring Boot整合JSP模板技术有哪些限制? 3.Spring Boot为整合Spring MVC实现Web开发提供了哪些功能特性? 4.Spring Boot整合Servlet组件涉及的注册Bean组件有哪些? 5.简述Spring Boot整合Spring MVC实现文件上传和下载的方法。如何防 止中文文件出现乱码? 实验项目二 实验名称:使用Redis缓存中间件 实验内容: l.Redis的安装。 2.整合Redis中间件实现业务层数据缓存管理
实验目的与要求: 1.掌握 Spring Boot 与模板引擎技术 Thymeleaf 的整合实现; 2.掌握 Thymeleaf 前端页面的分页以及国际化; 3.掌握在 Spring Boot 中实现数据验证、文件上传与下载; 4.掌握使用拦截器实现用户登录权限验证的方法; 5.加深学生对专业知识技能学习的认可度与专注度,提高学生自我学习和 持续学习的意识和能力; 实验条件: 1.硬件:4G 以上内存、2G 以上 CPU、100M 以上宽带网络、高速硬盘; 2.操作系统:64 位 Windows 7 以上; 3.软件:IntelliJ IDEA 2018 或以上版本、Tomcat 8.0 或以上版本、MySQL 5.7 或以上版本。 研究与思考: 1.Spring Boot 整合 Spring MVC 框架支持的模板引擎技术有哪些? 2.Spring Boot 整合 JSP 模板技术有哪些限制? 3.Spring Boot 为整合 Spring MVC 实现 Web 开发提供了哪些功能特性? 4.Spring Boot 整合 Servlet 组件涉及的注册 Bean 组件有哪些? 5.简述 Spring Boot 整合 Spring MVC 实现文件上传和下载的方法。如何防 止中文文件出现乱码? 实验项目二 实验名称:使用 Redis 缓存中间件 实验内容: 1.Redis 的安装。 2.整合 Redis 中间件实现业务层数据缓存管理
实验性质:设计性 实验学时:2 实验目的与要求 I.掌握Spring Boot缓存管理方法: 2.掌握基于注解的Redis缓存实现: 3.培养学生自强不息、积极进取的精神。 实验条件: 1.使件:4G以上内存、2G以上CPU、10OW以上宽带网络、高速使盘: 2.操作系统:64位Windows7以上: 3.软件:IntelliJ IDEA2018或以上版本、Tomcat8.0或以上版本、MySQL 5.7或以上版本。 研究与思考: L.举例说明Spring Boot中提供的缓存管理注解的作用。 2.简述Redis数据缓存实现机制。 实验项目三 实验名称:使用RocketMQ消息中间件 实验内容: I.RocketMQ安装以及整合环境搭建。 2.Spring Boot与RocketMQ整合实现消息服务。 3.基于RockerMQ和Redis实现秒杀服务。 实验性质:设计性 实验学时:6 实验目的与要求:
实验性质:设计性 实验学时:2 实验目的与要求: 1.掌握 Spring Boot 缓存管理方法; 2.掌握基于注解的 Redis 缓存实现; 3.培养学生自强不息、积极进取的精神。 实验条件: 1.硬件:4G 以上内存、2G 以上 CPU、100M 以上宽带网络、高速硬盘; 2.操作系统:64 位 Windows 7 以上; 3.软件:IntelliJ IDEA 2018 或以上版本、Tomcat 8.0 或以上版本、MySQL 5.7 或以上版本。 研究与思考: 1.举例说明 Spring Boot 中提供的缓存管理注解的作用。 2.简述 Redis 数据缓存实现机制。 实验项目三 实验名称:使用 RocketMQ 消息中间件 实验内容: 1.RocketMQ 安装以及整合环境搭建。 2.Spring Boot 与 RocketMQ 整合实现消息服务。 3.基于 RockerMQ 和 Redis 实现秒杀服务。 实验性质:设计性 实验学时:6 实验目的与要求:
l.熟悉RocketMQ消息服务的原理: 2.掌握使用Spring Boot整合RocketMQ实现消息服务的方法: 3.掌握使用RockerMQ和Redis实现秒杀服务的方法。 4,树立正确的技能观,努力提高自己的技能,为社会和人民造福。 实验条件: 1.硬件:4G以上内存、2G以上CPU、100M以上宽带网络、高速硬盘: 2.操作系统:64位Windows7以上: 3.软件:IntelliJ IDEA2018或以上版本、Tomcat8.0或以上版本、MySQL 5.7或以上版本。 研究与思考: 1.目前开源的消息中间件常用的有哪些? 2.RocketMQ中间件中提供了哪几种应用模式? 3.如何防止秒杀时超卖的发生? 实验项目四 实验名称:微服务架构开发 实验内容: L.使用Nacos DisCovery、Nacos Config和Feign实现微服务注册、配置和 调用。 2.使用Sentinel实现微服务容错保护 3.使用Gateway和Nginx搭建高可用网关环境。。 4.使用Seata实现微服务分布式事务控制。 5.使用SkyWalking实现微服务链路追踪。 实验性质:设计性 实验学时:12
1.熟悉 RocketMQ 消息服务的原理; 2.掌握使用 Spring Boot 整合 RocketMQ 实现消息服务的方法; 3.掌握使用 RockerMQ 和 Redis 实现秒杀服务的方法。 4.树立正确的技能观,努力提高自己的技能,为社会和人民造福。 实验条件: 1.硬件:4G 以上内存、2G 以上 CPU、100M 以上宽带网络、高速硬盘; 2.操作系统:64 位 Windows 7 以上; 3.软件:IntelliJ IDEA 2018 或以上版本、Tomcat 8.0 或以上版本、MySQL 5.7 或以上版本。 研究与思考: 1.目前开源的消息中间件常用的有哪些? 2.RocketMQ 中间件中提供了哪几种应用模式? 3.如何防止秒杀时超卖的发生? 实验项目四 实验名称:微服务架构开发 实验内容: 1.使用 Nacos DisCovery、Nacos Config 和 Feign 实现微服务注册、配置和 调用。 2.使用 Sentinel 实现微服务容错保护。 3.使用 Gateway 和 Nginx 搭建高可用网关环境。。 4.使用 Seata 实现微服务分布式事务控制。 5.使用 SkyWalking 实现微服务链路追踪。 实验性质:设计性 实验学时:12
实验目的与要求: l.掌握使用Nacos DisCovery、.Nacos Config和Feign实现微服务注册、配 置和调用方法: 2.掌握使用Sentinel实现微服务容错保护的方法: 3.掌握使用Gateway实现微服务网关的方法: 4,掌握使用Seata实现微服务分布式事务控制的方法: 5.掌握使用SkyWalking实现微服务链路追踪的方法: 6.培养学生不怕困难,奋发向上,不怕失败的艰苦奋斗精神, 实验条件: 1.硬件:4G以上内存、2G以上CPU、100M以上宽带网络、高速硬盘: 2.操作系统:64位Windows7以上: 3.软件:Intel1 iJ IDEA2018或以上版本、Tomcat8.0或以上版本、MySQL 5.7或以上版本。 研究与思考: I,查资料比较微服务架构与Service Mesh架构的异同。 2.谈谈微服务架构对软件复用有什么积极作用? 实验项目五 实验名称:微服务电商项目实战 实验内容: L.搭建以下电子商务微服务架构,并使用Spring Security OAuth2实现单 点登录,其中令牌采用JWT方式存储
实验目的与要求: 1.掌握使用 Nacos DisCovery、Nacos Config 和 Feign 实现微服务注册、配 置和调用方法; 2.掌握使用 Sentinel 实现微服务容错保护的方法; 3.掌握使用 Gateway 实现微服务网关的方法; 4.掌握使用 Seata 实现微服务分布式事务控制的方法; 5.掌握使用 SkyWalking 实现微服务链路追踪的方法; 6.培养学生不怕困难,奋发向上,不怕失败的艰苦奋斗精神。 实验条件: 1.硬件:4G 以上内存、2G 以上 CPU、100M 以上宽带网络、高速硬盘; 2.操作系统:64 位 Windows 7 以上; 3.软件:IntelliJ IDEA 2018 或以上版本、Tomcat 8.0 或以上版本、MySQL 5.7 或以上版本。 研究与思考: 1.查资料比较微服务架构与 Service Mesh 架构的异同。 2.谈谈微服务架构对软件复用有什么积极作用? 实验项目五 实验名称:微服务电商项目实战 实验内容: 1. 搭建以下电子商务微服务架构,并使用 Spring Security OAuth 2 实现单 点登录,其中令牌采用 JWT 方式存储
库存服务←口○ 量D→W一已 9四进四需-g 单数 品数 实验性质:设计性 实验学时:4 实验目的与要求: 1.对微服务项目有更深入的理解和完整的认识: 2。掌握微服务实际开发中各情况下的技术选型: 3.掌握Spring Security OAuth2的授权流程; 4.掌握JWT令牌存储方式: 5.提高学生在沟通表达、自我学习和团队协助方面的能力。 实验条件: 1.硬件:4G以上内存、2G以上CPU、10OM以上宽带网络、高速硬盘: 2.操作系统:64位Windows7以上: 3.软件:IntelliJ IDEA2018或以上版本、Tomcat8.0或以上版本、MySQL 5.7或以上版本。 研究与思考:
下单/秒杀 MQ 服务 发送普通消息 订单服务 库存服务 拉取普通消息 发送延迟消息 支付服务 拉取延迟消息 访问/更新订单状态 回滚库存 库存数据库 减扣库存 账户服务 账户数据库 订单数据库 减扣余额 商品服务 商品数据库 访问商品 静态信息 服务网关 用户请求 实验性质:设计性 实验学时:4 实验目的与要求: 1.对微服务项目有更深入的理解和完整的认识; 2.掌握微服务实际开发中各情况下的技术选型; 3.掌握 Spring Security OAuth 2 的授权流程; 4.掌握 JWT 令牌存储方式; 5.提高学生在沟通表达、自我学习和团队协助方面的能力。 实验条件: 1.硬件:4G 以上内存、2G 以上 CPU、100M 以上宽带网络、高速硬盘; 2.操作系统:64 位 Windows 7 以上; 3.软件:IntelliJ IDEA 2018 或以上版本、Tomcat 8.0 或以上版本、MySQL 5.7 或以上版本。 研究与思考:
1.谈谈基于Spring Cloud微服务架构对降低分布式软件开发和维护成本, 提高分布式软件开发效率和软件质量所带来的重要价值。 2.结合本学期的实践,谈谈你对构件、框架、中间件、架构4个概念的认识。 四、考核方式 老查。考查内容句括实验报告和实验表现,每次实验按代委、良好、中等 及格和不及格五个等级评分,期末再给定实验总评,实验成绩占课程总成绩的 20%-30%。 五、推荐实验教材和教学参考资源 推荐教材: l.开课吧.Spring Cloud Alibaba微服务开发.北京:机械工业出版社, 2021. 教学参考资源: l.周仲清.Spring Cloud Alibaba微服务实战.北京:北京大学出版社, 2021. 2.陈恒,楼偶俊,巩庆志,董宗然.Spring Boot从入门到实战.北京: 清华大学出版社,2020.6. 3.黑马程序员.Spring Boot企业级开发教程.北京:人民邮电出版社, 2019.9 4.黑马程序员.Java EE企业级应用开发教程:Spring-+Spring MVC+- MyBatis.北京:人民邮电出版社,2017.8 5。夏榆滨。软件构件技术.北京:清华大学出版社,2011.1. 6.Hafedh Mili,Ali Mili,Sherf Yacoub,Edward Addy.Reuse-Based Software Engineering:Techniques,Organization,and Controls John Wiley Sons,2001.12. 大纲修订人:罗东俊 修订日期:2022年08月 大纲审定人: 审定日期
1.谈谈基于 Spring Cloud 微服务架构对降低分布式软件开发和维护成本, 提高分布式软件开发效率和软件质量所带来的重要价值。 2.结合本学期的实践,谈谈你对构件、框架、中间件、架构 4 个概念的认识。 四、考核方式 考查。考查内容包括实验报告和实验表现,每次实验按优秀、良好、中等、 及格和不及格五个等级评分,期末再给定实验总评,实验成绩占课程总成绩的 20%-30%。 五、推荐实验教材和教学参考资源 推荐教材: 1. 开课吧. Spring Cloud Alibaba 微服务开发. 北京:机械工业出版社, 2021. 教学参考资源: 1. 周仲清. Spring Cloud Alibaba 微服务实战. 北京:北京大学出版社, 2021. 2. 陈恒,楼偶俊,巩庆志,董宗然. Spring Boot 从入门到实战. 北京: 清华大学出版社, 2020.6. 3. 黑马程序员. Spring Boot 企业级开发教程. 北京:人民邮电出版社, 2019.9 4. 黑马程序员. Java EE 企业级应用开发教程:Spring+Spring MVC+ MyBatis. 北京:人民邮电出版社,2017.8 5. 夏榆滨. 软件构件技术. 北京:清华大学出版社, 2011.1. 6. Hafedh Mili, Ali Mili, Sherf Yacoub,Edward Addy. Reuse-Based Software Engineering: Techniques, Organization,and Controls. John Wiley & Sons,2001.12. 大纲修订人: 罗东俊 修订日期:2022 年 08 月 大纲审定人: 审定日期: