0 引言
高职院校的计算机专业依据不同岗位的工作性质和不同职业发展的定位,一般细分成软件、多媒体、网络、电子等专业,为更好贴近岗位技能要求,每个专业在学习的后期,教学上多采用项目教学法[1],载体一般为综合性项目,以企业真实项目居多,涉及到项目分析、网页设计、软件开发、网络部署等多方面的专业知识。由于计算机专业学科知识技能有交叉的特点,对综合知识的运用要求较高,如果仅靠一个任课教师指导完成一个完整的项目教学,教师会显得力不从心,也很难达到理想的教学效果,只能局限在本课程的综合知识的复习和运用,不能真正体现项目化教学的特点。此外,在模拟企业真实工作情境上显得有所欠缺。
为改变这种局面,提出了计算机专业项目化课程资源共享和整合的思路:构建统一的课程资源共享平台,该平台能共享不同专业的课程资源,为师生提供项目化教学中需要的知识和资源。目前,由于不同课程资源平台采用的开发平台、工具存在的异构性和紧耦合性导致了各个资源系统之间不能互联互通、资源共享与软件复用[2],现有的课程资源其实已经非常丰富,但大多存在“信息孤岛”现象。将所有项目化教学涉及到的课程专家集合起来设计一个大而全的课程资源系统平台还不太现实,采用传统方式整合现有的资源系统存在周期长、投入大等问题。研究如何有效地整序[3]、共享、整合、开发课程资源,对提高项目化教学质量有着积极的意义。
1 项目化课程资源整合方案
通过调研IT企业项目开发的过程和归纳总结,得到其一般遵循的几个步骤:系统调研、需求分析、设计、开发、部署、后期维护,对照计算机专业开设的课程,涉及到商务文秘、计算机网络、计算机软件、多媒体设计等相关专业方向的课程,项目化课程资源整合的依据和思路就是基于工作过程,解决如何有效整合相关课程,更好地实施综合项目类课程的教学。整合的核心工作是根据项目化的需要,合理选取不同专业方向的课程内容,并做好课程间的衔接和过渡,有机整合成为一个整体,充分体现课程设置的目的以及在项目中的地位和作用,让参与项目化教学的学生对课程有更深的体会,更好地体现课程满足岗位技能要求。
项目化课程资源整合可以归结为设计跨计算机专业方向的综合项目化课程,通过项目化课程资源平台的建设,将综合项目课程所需要的课程内容整合起来,最终完成综合项目的设计与开发。首先,根据工作过程的每个实施阶段,选取各专业现有课程中需用到的基本概念和重要知识点组成教学内容,设计综合通用性课程的课程标准;其次,按照从简单到复杂的原则,采取案例教学为主授课,对相关课程知识点进行讲解的时候要注意符合高职学生的认知规律;最后,将相关知识点和当前项目化教学中的项目进行对应,让学生模仿案例完成实际项目的功能需求。
综合通用性课程面向全体计算机专业学生,可以在综合项目开发、毕业设计等阶段组成开发团队进行统一教学,本专业的学生能具体了解学过的课程在实际项目中的具体应用,跨专业的学生则对相关知识有一定的了解,学会如何进行团队合作。该课程建设的核心工作是教学内容的组织,表1为综合项目教学的整体设计方案,罗列了采取项目化教学组织的课程内容、能力要求及参考课时。
表1中,职业能力包含多门课程,如计算机网络、服务器配置、电子商务、编程语言、数据库技术、网页设计、图片处理等,需从不同课程中选取相关教学内容,注重基础,强调应用,由不同课程任课教师借助集成的项目化课程资源平台为开发团队提供更为详细的讲解。实施此类综合项目化课程,除了需不同专业教师合作外,项目团队可以由1名网络专业、1名多媒体专业、1名营销专业、2名软件专业的学生组成,更好地模拟企业真实工作情境。
2 基于SOA的项目化课程资源平台框架设计与实施
2.1 SOA架构
综合项目化教学涉及到多门跨专业的课程内容,且不同的项目涉及到的知识点也略有不同。尽管这些课程都建有各自的资源平台,但要实现它们之间的资源共享应用存在许多困难。由于各课程资源系统建设的发展水平不平衡,存在数据多源、多态、异构等问题,采用传统方式进行整合比较困难,而一种面向服务的架构SOA(Service-Oriented Architecture)能较好解决这个问题。
SOA既不是软件,也不是技术,而是一种面向服务的软件架构模型。它可以根据需求对应用组件进行组合、使用和分布式部署。SOA通过良好的接口定义,实现接口与服务实现的分离,使服务的实现能够独立于硬件平台、操作系统和编程语言[4],因此,利用SOA封装数据源,对外提供统一数据服务接口,使得基于SOA架构的各种应用系用可以通过统一和通用的服务接口方式进行交互,是构建通用课程资源平台的有效途径。
SOA的体系结构如图1所示。
与传统的模式相比,SOA具有精确定义的标准化接口、粗粒度、松耦合的服务构架及完好的封装性和高度集成能力等特点。
2.2 项目化课程资源平台架构与设计
SOA架构模型的核心思想就是对现有系统不做修改,而是把系统资源及功能封装为彼此相对独立的服务,通过对这些服务的组合,整合信息资源。项目化课程资源平台基本框架如图2所示。
从图2中可以看出,服务封装[5]是该平台框架的核心。尽管现有各个课程资源系统采用的平台、技术、开发语言、底层数据库不同,但服务提供者只要把原有系统提供的功能分解成多个用WSDL(Web Service描述语言,基于XML的语言,用于描述Web Service及其函数、参数和返回值。)描述的Web服务,在UDDI(Universal Description Discovery and Integration,统一描述、发现和集成协议,为Web Service提供的、信息注册中心的实现标准规范)进行发布和注册,即把WSDL文档描述的内容映射到UDDI课程资源库中进行分类管理;服务请求者通过UDDI进行查询,找到所需的服务后,利用SOAP(Simple Object Access Protocol,简单对象访问协议,用于交换XML编码信息)来绑定、调用这些服务。其中,XML是一种可扩展标记语言,是Web Service平台中表示数据的基本格式。
3 基于SOA的项目化课程资源平台的实现
用SOA思想构建项目化课程资源平台的主要工作位于平台的业务需求和底层技术之间的服务层中,需独立地对每一个服务
功能模块进行定义,设计为Web服务并向外公布,使得这些课程资源服务模块不依赖具体的开发平台和系统,最终项目化课程资源平台的功能需求通过调用不同的服务来实现,从而实现对现有系统及资源的集成。
SOA架构的具体实现包括Web Services、Session Bean、JINI等技术,其中Web Services技术已经成为实现SOA构架的主要技术,它为服务的访问提供了一个被广泛接受的开放标准。基于SOA的实现步骤主要是Web服务的创建、部署和客户对Web服务的调用。
实现举例:将现有课程资源系统分解为若干个功能,分别包装成Web服务发布到服务器,项目化课程资源平台作为服务使用者,查到这些Web服务后,按具体业务流程进行组装即可完成相应的软件功能。本系统Web服务和客户端实现基于Java的J2SD开发环境,Tomcat作为Web服务器,Web服务利用JAX-RPC技术创建,生成相应的WSDL文档并部署到Tomcat上,客户端则利用JAX-RPC(Java API for XML-based RPC)提供的xrpcc工具生成Web服务的存根,用Servlet通过存根调用Web服务的方法实现服务使用者需要的功能。
课程资源信息Web服务的实现步骤:
⑴ 首先定义接口课程信息类以及它的实现类,并且实现接口里的方法,如查询课程信息;
⑵ 用JAX-RPC提供的xrpcc工具根据XML配置文件生成WSDL文档和服务器配置文件XXXX.proper.ties;
⑶ 用deploytool工具将数据库课程资源信息Web服务部署到Tomcat上。
客户端调用Web服务的步骤:
⑴ 根据XML配置文件用xrpcc工具根据WSDL文档生成Web服务的客户端类;
⑵ 设计Servlet,通过JAX-RPC调用课程信息实现类的方法,如查询课程信息;
⑶ 设计HTML或JSP页面,调用Servlet,取得数据库课程资源信息。
当前,J2EE框架技术为开发Web Service提供了支持。通过使用IoC(Inversion of Control,控制反转) 和AOP(Aspect Oriented Programming,面向切面) 等方法重构Web Service的访问代码,使业务逻辑与Web Service访问解耦,提供了一个更加灵活和易于扩展的访问模式。如Spring框架对IoC和AOP提供了良好的支持,是当前流行的轻量级容器,具有简单性、可测试性和松耦合性的特性,适用于开发Web Service。
4 结束语
本文应用SOA架构所具有的与开发技术、运行平台无关等特性,利用组件灵活组合满足业务需求的服务模式,为实现课程资源系统的集成和复用提供了框架,该模式有利于快速集成项目化课程资源,提高项目化课程的教学效果和质量,在教学资源整合方面具有广阔的应用前景。SOA具体的实现方法有很多,包括WebService、Session Bean、JINI等,需进一步研究和探索其他实现技术,总结各自的优势和适用范围,通过采用不同的SOA实现手段,来提高课程资源整合的效率。
参考文献:
[1] 李萍.浅谈项目教学法[J].企业导报,2011.10:54-57
.电子工业出版社,2006.
[3] 陈庄.信息资源组织与管理[M].清华大学出版社,2005.
[4] 关明,吉宏伟,杨雪君.基于SOA的数字城市管理业务系统的研究与设计[J].广西大学学报自然科学版,2009(10):690-695
[5] 郑伟,徐宝祥,徐波.面向服务架构研究综述[J].情报科学,2009.27(8):1269-1274