基于 SharePoint 2010的 Flash课件库开发
2011-10-10张师毅王晓幸郑佳佳
张师毅,王晓幸,郑佳佳,周 骅
(温州医学院附属眼视光医院信息中心,浙江 温州 325027)
基于 SharePoint 2010的 Flash课件库开发
张师毅,王晓幸,郑佳佳,周 骅
(温州医学院附属眼视光医院信息中心,浙江 温州 325027)
根据教学协作需求,开发了基于 SharePoint 2010的 Flash课件库。在介绍其系统架构、关键技术和效果的同时,指出这一实现方式用于构建企业级的教学信息系统具有较大优势。
SharePoint;Flash;课件库
SharePoint是Microsoft研发的服务功能集成套件,提供了较为全面的内容管理、企业搜索、共享业务流程信息等功能,有助于提高组织效率。它通过一个集成平台可与企业内的 Intranet、Extranet和 Web应用程序形成基于数据的连接,还为 IT开发人员提供了服务管理、应用程序可扩展性和互操作性所需的平台和工具[1]。
Web部件是 SharePoint常用的可扩展点,也是Asp.Net 2.0的门户框架技术的核心,由一组基于网页的控件组成,这些控件能显示模块化的内容并允许用户更改外观和内容,可用于构建功能丰富的Web应用程序。在 SharePoint中,基于Web部件构建的Web应用程序易于在不同的站点页面上重复部署使用[2-3]。
Flash在医学教学领域颇具实用价值,实现教学小组的课件资源共享有助于提高效率,促进教学水平的提高。SharePoint作为企业级的内容管理平台,具有扩展性好、伸缩性强、应用程序接口丰富等优良特性,但默认下对 Flash资源的管理功能尚不理想。该文通过开发自定义 Web部件,在 SharePoint 2010平台实现 Flash课件的一系列内容管理功能;开发ActiveX组件,使用 COM加载项技术将浏览器中呈现的 Flash课件插入 Powerpoint文档,最终实现Flash课件库。
1 开发过程
1.1 系统物理架构
系统为 SharePoint 2010之上的扩展性开发,物理架构以 SharePoint的体系架构为特征。SharePoint以服务器场来灵活满足不同企业应用规模所需的伸缩性[4],一个最小部署如图 1所示。由自定义Web部件构成的 Flash课件库应用程序,通过开发环境Vs.net 2010直接部署于 SharePoint服务器,客户端则通过浏览器进行访问。
图1 Flash课件库的物理架构示意图
1.2 课件库功能设计
课件库是教学资源管理工具,其核心功能是内容管理。由于采用Web部件来构建应用程序并整合于 SharePoint平台,因此其应用场景可能是如下情景,但又不限于此:①教学机构应用 SharePoint作为协作共享平台;②其中的多个教学小组 (比如教研室、课程小组)拥有一个或多个Web站点,以此为门户开展共享;③课件库应用程序以Web部件实例的形式,被应用在一个或多个站点中,面向特定的小组发挥课件资源的共享功能。
基于上述场景,课件库的功能设计包括:①用户上传、下载特定的 Flash文档,并依据账户身份管理发布的共享文档;②用户针对共享库的 Flash文档可以进行浏览、预览、检索;③课件库的 Flash文档统一被保存于 SharePoint站点的文档库,具有特定的资源地址,便于被站点内部其他 Web应用的引用,比如工作流和表单;④用户可以在编辑某个 PPT文档时,在线将特定 Flash文档直接插入其中,以简化操作。
1.3 Web部件开发
Vs.net 2010中的Web部件开发已升级为可视化Web部件开发,从而提高了效率[5]。Vs.net 2010支持管理员和沙箱模式两种部署Web部件的方法,开发完成后可直接连接到 Sharepoint 2010站点进行自动化部署。Web部件的开发框架如图 2所示。
图2 Web部件的开发框架图
限于篇幅,Web部件和 ActiveX插件具体应用功能的开发不再一一叙述,可参考现存大量技术资料[6-8]。下列 C#代码演示了如何在Web部件中使用服务器对象模型来存取 SharePoint站点文档库资源。
var dc=new SPLinqDataContext(SPContext.Current.Web.Url);
var GX WD=dc.Get List<文档 >("共享文档");
var gxwdQuery=from gxwd in GXWD select new{gxwd.标题,gxwd.路径,gxwd.名称};
spGridView.DataSource=gxwdQuery;
spGridView.DataBind();
gridview.DataSource=gxwdQuery;gridview.DataBind();
2 运行效果
系统功能设计顺利得到实现:首先,用户能上传、下载特定的 Flash文档并发布共享,针对共享的Flash文档可以进行浏览、预览、检索;其次,居于SharePoint文档库的每个 Flash文档具有惟一的资源地址的 URL(如"http://192.168.1.1/Sites/TeamA/Flash/20100901003.s wf"),其他 Web站点只需在页面插入 Ht ml编码即可以在线引用 (如:<ht ml><body left margin=0 topmargin=0 scroll=no><embed width=100%height=100%fullscreen=yes src="http://192.168.1.1/Sites/TeamA/Flash/20100901003.s wf"></body></ht ml>),而Web应用程序以 html协议便可访问这一资源;还有,当用户新建某个 PPT文档时,保持文档处于打开的状态,在浏览器中点击 Flash课件属性框中的“插入 PPT文档”快捷方式,则程序(通过 ActiveX组件)自动将 Flash文档下载到本机并直接插入其中,如图 3所示。
图3 插入 Flash课件到 PPT文档截屏
上述两种引用 Flash文档分别为在线Web资源和文件下载,适用于绝大多数应用 Flash课件的场景。Flash课件库的开发是对 SharePoint内容管理功能的有益扩展,符合教学机构的实际需要,Web终端功能与 PPT的良好衔接,进一步提高了便捷性。
3 讨论
在 SharePoint 2010上开发 Flash课件库,其优势主要体现在:①Flash课件库作为一个基于 Web部件的功能单元,它将很容易在一个网站集下的多个站点页面被实例化复用,从而能够整合于 SharePoint其他功能。比如企业搜索、文档库、工作流,给用户带来更灵活的功能组合;②Flash课件库作为一个应用程序,将沿承 SharePoint固有的体系架构特性而具有企业级应用所需的性能,并能够根据访问规模灵活扩展负载能力;③SharePoint 2010和 Vs.net 2010的组合,首次提供了完整易用的可视化 Web部件开发、部署和管理机制,显著地提升了开发效率。
教学信息化的发展使得相关信息系统已经从局部小规模的独立应用快速步入机构整体应用层面,从而对系统的扩展性、健壮性、伸缩性和接口特性提出了更高要求。系统除了功能满足特定要求之外,需解决如下问题:①功能在将来的扩展性;②整体的安全性和易管理性;③不同负载下的架构伸缩性;④外部接口特性等。这些性能问题无一不是对开发工作的严峻考验。
SharePoint是一个门户性质的集成平台,可以与其他系统进行数据对接集成,从而将用户所需的信息集成到门户站点。同时,它本身也是一个运行在Intranet/Internet网络之上可构建各种企业级信息系统的基础开放架构[9],具有较好的扩展性、健壮性、伸缩性和接口特性。在这个平台上,内容管理和协作,类似于排课排考、选课、成绩管理、评教、教师工作量计算、教材管理、报表统计、查询等功能,均较容易通过开发自定义应用程序得到实现。而所有这些功能部件的最终形态,都将部分或全部延承平台的性能特点,从而使开发者可以将主要注意力聚焦于实现用户功能需求,不必在性能问题上耗费过多精力和时间。比如:在扩展性方面,能够通过不同自定义程序在同一平台上功能或数据衔接而实现无缝的功能扩展;在健壮性和伸缩性方面,则可直接通过SharePoint的体系结构特点和平台管理功能,根据不同负载进行必要的结构伸缩、用户管理以及容灾备份、还原等;在接口特性方面,各种自定义程序的用户数据可由平台托管,因此平台的各种数据接口均可直接发挥效用。
SharePoint 2010作为 SharePoint的最高版本,其开发最显著的提升在于应用程序接口。它集成了对非 SharePoint托管数据的访问,提供一组更加丰富的解决方案工具,使 SharePoint API可用于包括 Web服务器和客户端在内的各个平台。开发人员可以使用多种对象模型来访问服务器。客户端对象模型则可通过Web服务、客户端 (JavaScript)API和 REST进行访问。从而显著简化从客户端计算机及基础结构内的其他计算机访问 SharePoint数据的过程,为更丰富的应用开发创造可能性[10]。
该文案例在功能设计上相对简单,其意义在于就技术途径上给出了参考答案:新一代基于机构应用层的教学信息系统给开发带来新的挑战。那么以一个具有优良架构的产品级企业信息平台作为起点,通过二次开发来灵活自主地实现基于教学需求的功能,从而实现设计目标,同时降低开发风险并节约成本,这也许是解决挑战的有效途径之一。
[1]马沛.深入微软 Office SharePoint Server套件 [EB/OL].http://www.cioage.com/art/200911/86945.ht m,2009-09-26
[2]冯艳为,王成良.基于Web部件的个性化网站创建技术[J].重庆工学院学报:自然科学版,2008,22(2):121-126
[3]张建义 ,王俞 ,亮剑.NET:SharePoint Server 2007开发实践 [M].北京:电子工业出版社,2009:23-98
[4]屠立刚 ,吴翠凤.MicrosoftOffice SharePoint Server 2007管理大全[M].北京:电子工业出版社,2008:1-51
[5]MassiB.Creating a SharePointVisualWeb Part usingVisual Studio 2010[EB/OL].http://blogs.msdn.com/b/beth massi/archive/2010/01/28/creating-a-sharepoint-visualweb-part-using-visual-studio-2010.aspx,2010-01-28
[6]张卓然.基于 Sharepoint的Webpart开发 [J].怀化学院学报,2008,27(11):48-49
[7]高阳,毛志勇.Web Part开发过程 (1)[EB/OL].http://book.51cto.com/art/200912/167238.htm,2009-12-07
[8]Microsoft.Developing Web Parts in SharePoint Foundation[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms 367238.aspx,2010-05
[9]贾笑明,李媛.基于 SharePoint技术的校园网数据中心构建[J].河南大学学报:自然科学版,2007,37(4):411-413[10]蒋建华.SharePoint 2010为程序开发人员带来的好处[EB/OL].http://tech.ccidnet.com/art/3539/201007 01/2103011_1.ht ml,2010-07-02
Development of Flash-based courseware library in SharePoint 2010
Zhang Shiyi,W ang X iaoxing,Zheng Jiajia,Zhou Hua
(Infor m ation Technology Center,Eye Hospital of W enzhou M edical College,W enzhou325027,China)
Flash-based courseware library was developed in SharePoint 2010 according to requirements of teaching collaboration.Thispaper introduces the system framework,key technologies and effectiveness.The way to develop enterprise-class education infor mation application system has great advantages.
SharePoint;Flash;courseware library
G434
A
1004-5287(2011)01-0041-03
浙江省教育厅基金资助项目(20051191)
2010-09-21
张师毅 (1979-),男,浙江温州人,助理工程师,主要研究方向:眼科数字化仪器数据采集和教学、管理信息系统。
王晓幸 (1975-),男,浙江温州人,副教授,硕士,主要研究方向:眼科信息学,眼科医院信息系统、眼科教学信息系统。电话:0577-88068890;E-mail:wxx@mail.eye.ac.cn