基于开发模型对比的JavaEE课程教学方法研究 参考论文

摘要:鉴于Java EE课程具有的工程实践性、项目驱动性和知识整合性,本研究结合该课程的教学建设现状,对比分析了几种主流Java Web开发模型/框架(即经典MVC模型、SSH轻量级框架以及基于EJB的Java EE重量级框架)的开发方式,并以基于项目驱动的面向对象软件工程方法开发的典型业务项目作为教学案例。该研究对Java EE课程教学模式改革以及课程案例建设具有积极意义。

关键词:Java EE主流开发模型/框架; MVC(Model-View-Controller); SSH(Struts+Spring+Hibernate)

中图分类号:G642.0 文献标识码:B 论文编号:1674-2117(2015)18-0107-03

作为一门高校高年级软件工程专业必修课程,Java EE的目的是让学生具备基于Java EE技术进行企业级应用软件开发的专业技能,具有极强的工程实践性;作为一种主流的企业级应用开发技术,Java EE课程中所涉及的技术及其整合的示例需来自于更有说服力和针对性的业界第一线项目,使得课程学习与基于Java EE的企业级应用项目开发有机融合,因而又具有明显的项目驱动性;该课程要求在面向对象程序分析设计、Java编程语言等的基础上,整合数据库、网络、分布式系统等核心专业课程,全面了解Java EE的相关理论和核心技术,进而掌握如何构建基于Java EE技术的企业级应用,具有很强的知识整合性。因而,Java EE课程教学必须围绕该课程以上三个特性(即工程实践性、项目驱动性、知识整合性)来进行。而采用基于几种主流模型/框架开发方式的分析对比,配合合理有效的Java EE技术课程项目案例,有助于改进现有Java EE课程教学模式,对相关技术融合有着较强的促进作用,有助于本课程教学的持续改进。

Java EE课程教学研究现状

目前,国内绝大多数示范性软件学院都开设了Java EE课程,其他院校的软件工程专业也大都开设了该课程。作为IBM精品课程,同济大学软件学院的“J2EE企业级开发”课程在项目实训及代码训练强化等方面颇具特色。[1]哈尔滨理工大学计算机科学与技术学院的谢怡宁[2]等提出了诸如任务驱动等具有针对性的Java EE课程教学改革方案。浙江大学城市学院计算机系的陈观林[3]等探讨了Java EE课程教学模式改革的思路,提出了采用实例化教学方式和引入课程设计环节以改进教学手段和考核方法。北京石油化工学院经济管理学院的张幸[4]以J2EE编程实训课程教学改革为例阐述了如何在编程技术的学习中掌握管理知识的方法。以上关于Java EE课程教学改革的研究,笔者都进行了有益的探索。但Java EE课程内容庞杂,知识点和关键点繁多,理论与实践相结合的需求突出,易造成教学目标定位的迷失,进而影响到本课程的教学效果。西北农林科技大学为软件工程等四个专业设置的“Java EE技术”课程开始于2008年,我们在该课程的课堂教学、上机实践及校企联合实训等方面进行了一系列探索和创新。本研究从Java EE本身的核心理念和当前主流开发模型/框架双管齐下,探索Java EE课程的创新性教学方法。

主流开发模型/框架

Java Web开发技术发展到今天已经出现多种开发模型和技术框架,具有代表性的包括基于MVC的JSP+Servlet+JavaBean模型(以下简称为MVC模型)、轻量级SSH框架(以下简称为SSH框架)和重量级的Java EE(以JSF+EJB+JPA为核心技术)框架(以下简称为JEJ框架)。

MVC模型:基于该模型(如图1)进行的Java Web应用开发,只是实现了模型、视图和控制器的分离以及交互过程规范,并未提供相应的基础支持,因而开发效率仍然不高。但由于该模型未采用任何第三方框架,因此是一种最为灵活的Java Web应用开发模式。

SSH框架:此框架(如图2)中,Struts作为Web表现层的解决方案,自身为MVC都提供了相应组件;Spring是一个轻量级的基于控制反转(IoC) 和面向方面编程(AOP)的容器框架,为业务逻辑层提供了一个轻量的解决方法;Hibernate则是一个开放源的对象关系映射(ORM)框架,对JDBC进行了对象封装。而SSH框架则整合了Struts、Spring和Hibernate三种框架的各自优势,为Java EE应用开发提供了一个效率高、集成性好的轻量级方案。

JEJ框架:此种开发模式(如图3)中,JSF用于表现层,在用户视图事件响应粒度方面表现尤为突出;EJB作为业务层逻辑层,可实现组件粒度的分布式部署,在支持应用系统可伸缩性方面具有天然优势;JPA作为持久层技术框架,可整合现有的主要持久层实现技术,如Hibernate、TopLink、OpenJPA等。主要适用于强调应用分布部署、可伸缩性等能力的大型企业级应用。

几种开发方式的分析对比

对于一般性项目,可采用基于MVC模型进行开发。对于那些可扩展性和可维护性等为关键的项目,就需要采用基于框架的开发方法。相较而言,无论是轻量级框架SSH还是重量级框架JEJ,在安全性、事务性等方面的支持都较为完善。但在支持系统分布部署的能力方面,JEJ框架具有先天性优势,可支持组件粒度的分布部署,特别适合于企业级应用甚至是云端应用的开发。从学习者的角度,基于经典的MVC模型来开发实践案例项目有助于夯实Java Web开发技术基础,基于SSH框架开发系统则可以让学生深刻体验到其在效率与便利性等方面所具有的优势,而基于重量级的JEJ框架则可以使学生了解到在应对系统的分布能力与可伸缩性等方面要求时该如何合理选择技术和框架。而采用三种开发模型/技术框架对同一个实践案例项目进行开发,可以更直观地体验各自优势,通过对比性方法学习和实践,可对Java EE应用开发技术有更为透彻的理解和掌握。

Java EE作为一种基于Java的企业级应用开发整体技术解决方案,本身具有非常强的技术兼容性和整合性。Java EE采用包括表现层、业务层、持久层和数据层的分层架构(如上页图4),各层可根据实际需求选择具有相应特点和适应场合的技术或框架的组合进行Java EE应用开发。在Java EE具体教学过程中,可以采用以Java EE架构原理的理解和掌握为核心、以基于MVC模型的开发技术作为基础、以基于SSH框架的开发技术作为重点、以EJB技术作为高级内容,辅以JSF、JPA等为补充,确保Java EE课程教学在抓住核心和关键的同时,又拓展了学生对Java EE主流技术和框架的了解,为Java EE企业级应用开发实战奠定了坚实的理论知识基础、开拓了广阔的解决方案视野。

为了增强基于主流模型/框架的Java EE应用开发方式对比分析的Java EE课程教学效果,提供具体的案例项目实践至关重要。对于案例业务项目的选取,需从代表性、适时性、易理解性和针对性等方面给予考虑。功能上除了实现典型业务之外,同时兼顾系统对角色/权限、工作流、事务、日志、安全等的支持。采用用例驱动的面向对象方法,特别强调Java EE技术架构,分别应用上文所述的三种主流Java EE应用开发模型/框架以及基于Java EE分层架构提供其他技术/框架(如Struts+Spring+MyBatis)组合对项目案例进行开发,从理论指导和实践示范两个方面增强Java EE课程的教学效果。

结论与展望

作为一门综合性极强的课程,Java EE课程具有工程实践性、项目驱动性和知识整合性等特点,需要具有创新性的教学方式和方法。而当前该课程教学与建设基本上仍然沿用一般课程的模式。鉴于此,本文提出了基于JSP+Servlet+JavaBean的MVC模型、Struts+Spring+Hibernate的轻量级框架SSH以及JSF+EJB+JPA重量级框架JEJ的Java EE开发方式对比的教学方法,并以基于面向对象软件工程方法对典型案例项目进行开发作为教学及实践案例,探索了Java EE课程的课堂教学与实践以及自身建设。

在对该教学方法进行深度实践的基础上,我们计划在Java EE课程中逐步引入基于项目开发驱动的教学方法,同时完善案例项目生成与开发体系。并将借鉴CDIO[5]思想来指导和梳理该Java EE课程的教学流程与具体的改进措施,以期Java EE课程教学的可持续发展。

参考文献:  参考论文

[1]IBM精品课程——J2EE企业级开发[EB/OL].上海:同济大学,2008.http://sse.tongji.edu.cn/j2ee/.

[2]谢怡宁.J2EE课程教学改革的探索与实践[J].江苏教育学院学报(自然科学版),2010(01):46-49.

[3]陈观林.《J2EE架构与应用开发》课程的教学改革与实践[J].计算机时代,2008(04):71-72.

[4]张幸.应用型本科信息管理专业基于J2EE编程实训的探索[C].西安:第十一届全国经济管理院校工业技术学研究会,2012:51-53.

[5]陶勇芳,商存慧.CDIO大纲对高等工科教育创新的启示[J].中国高教研究,2009(11):81-83.

基金项目:2014年陕西省教育科学“十二五”规划课题项目“面向实用型软件工程人才培养的Java EE课程教学与实践改革探索研究”研究成果(项目编号:SGH140541);2015年校级教学改革研究项目“兼顾知识融合的《Java EE技术》课程教学方法创新研究与实践”研究成果(项目编号:JY1504051)。

参考资料;http://zimeitichuangzuo.com/index.php?c=show&id=3755

(0)

相关推荐