这次培训的时间依然不长,在这么短的时间内完成中间件产品的介绍与使用以及Java与J2EE技术的完全了解几乎是不可能的。如果采用不顾后果的“推”方式培训,对方能够接受到的内容肯定有限,并且还可能对产品和技术产生畏惧,从而产生抵触心理,这个绝对不是我们培训的目标。同时,未来这样的培训可能会越来越多,也使我思考如何确定一个合理的培训结果。
对于这样的培训,我的定位:首先,用户不是专业的软件开发人员,在未来的产品维护过程中使用中间件的机会也并不多,因此对于中间件产品了解不需要非常深;其次,中间件(特别是J2EE应用服务器中间件)是个专业性非常强的产品,是个系统级的软件产品,需要的软件基础比较高,包含的技术内容异常繁杂,如果希望将所有点都讲到,那只能是讲概念和理论而没有参与笥,结果使培训对象感觉非常枯燥;最后,就是用户的根本需要是通过这几天的学习了解一下中间件产品是个什么东西,未来我会用到哪些工具,如何才能简单入门,在将来自学这个技术和产品,通过对产品的认知与了解为未来的工作打下基础。
为了实现这个目标,我的初步构想是先提供基础概念,再进行实践学习,最后再进行理论总结,使培训对象以循序渐进地方式学习中间件产品和技术。基础概念是使大家先对产品有个初步认识,特别是对安装所需要的准备工作进行介绍,使对方在了解产品基础条件时提出疑问;然后就通过具体实践来了解中间件产品,这个环节非常重要,有些客户可能会觉得简单或者麻烦而不进行这个过程,那么培训的老师必须督促和劝导大家进入这个环节,因为这些看起来简单的事情实践的时候会碰到各种各样的问题,同时要鼓励大家进行各种看似无理的尝试,从而能够通过参与提出疑问。老师则通过解答这些问题来充实讲解的内容,也帮助学生进一步巩固关键的知识,例如:JVM、JRE、J2SE与J2EE的概念及版本号的问题,在本次培训中我至少讲了三次,但是每次出现问题再讲解的时候大家都会有新的收获。一个原因是这个问题就是个软件安装、部署和开发过程中经常碰到,但是又容易忽略的问题;另一个原因就是每次大家碰到问题时再听讲解,使问题解答的时候更有针对性,理解的深度也是一个逐渐增进的过程。最后,实践完成后再进行一次总结,帮助大家对实践的成果进行一次理论上的升华,时间和内容都无须贪多,主要是针对重点和经常性出现的问题进行说明,同时呼应前面介绍过的J2EE体系结构重新进行说明,使大家了解产品实体与J2EE模型的对应关系,建立体系架构的概念,从而使大家对产品有更高层次地认识。
目标的具体实施过程如下:
1. 中间件的起源与基本概念。什么是中间件?有哪些用途?有哪些分类?未来的发展?
2. Apusic中间件体系框架。运行前台、中间件平台、数据库平台的组成?Apusic中间件平台的组成?
3. Apusic应用服务器的安装与运行:安装准备有哪些,重点包括:JVM、JRE、J2SE与J2EE的区别及版本管理,Apusic中间件授权文件申请与安装?Apusic应用服务器安装过程?Apusic应用服务器的安装目录?
4. 实践Apusic应用服务器的安装和Bookstore_servlet的例子安装。如何安装Apusic应用服务器?如何配置JVM?如何配置端口号(讲解多路复用技术)?如何启动与停止Apusic应用服务器?Apusic应用服务器安装目录的含义?如何配置JDBC(介绍JNDI、JDBC、Pools)?如何安装Bookstore_servlet例子?如何使用用户手册?
5. 总结Apusic应用服务器和J2EE技术的体系结构。重点介绍JVM、JNDI、JDBC、Logs和J2EE框架。
6. Java语言的基本概念。什么是面向对象语言?介绍Java中的包与类?介绍对象、实例、接口的区别?介绍继承、覆盖与重载的含义?介绍Public、Private和Protected的区别?介绍常量与静态变量的含义?介绍Java重要的开发包?(这些无法都介绍完,特别是重要的开发包需要依据客户的兴趣点进行介绍,目的是说明学习Java语言不是最难的,难的是用好Java提供的类库)。再推荐两本学习Java的书。《Java2参考大全》与《Think in Java》,前面是语言基础,后面是面向对象的基础。
7. J2EE的几种容器和几种项目。Applet容器、客户端容器(重点)、WEB容器(重点)、EJB容器介绍?介绍容器的概念。介绍Apusic Studio的视图与透视图的区别,设置开发工具的JVM版本。
8. 使用Apusic Studio开发Java项目。在Java项目中编写一个Hello world的Java文件,同时告诉大家Java程序启动的main()入口与以往过程语言的入口不同,在同样的Java项目中再编写一个Hello new world的文件,再帮助大家尝试更换启动的入口,并介绍产品调试的方式。
9. 使用Apusic Studio开发WEB项目。先了解Apusic Studio开发视图,新建J2EE项目,新建WEB模块,编写一个Hello world的Servlet文件,编写Hello world的JSP文件,比较两个文件的区别从而了解JSP诞生的原因,再告诉大家JSP也是一个Servlet,撰写优秀的JSP代码必须要了解Servlet。配置好WEB.XML文件,并通过配置来了解WEB.XML文件的基本含义。
10. 条件允许的情况下,可以介绍Log4j与Apusic日志系统,系统性能分析与调优,Apusic集群系统的配置。但是这些概念对于培训对象来说理解会存在一些困难,因为这些都是帮助系统进一步分析问题和提升性能的,那么必须要拥有系统使用经验才更容易完成。
以上就是我这次培训的心得体会,如果有朋友在阅读后有什么想法或者意见,欢迎交流!