基于云计算的知识分享系统的设计
摘要:知识分享系统的目的是建立一个与他人分享自己知识与技能的平台。知识分享系统占用的各种系统资源是随着课程数量的增多和用户数量的增加而增加,知识分享系统非常适合构建在云计算平台上。
关键词:云计算;知识分享;MVC;PaaS;JPA
中图分类号:TP315文献标识码:A文章编号:1009-3044(2012)11-2515-03
The Design of Knowledge Sharing System Based on Cloud Computing
JIANG Zhong, LOU Jun
(Computer Science and Technology Dept .Dalian Neusoft Instidute of Information, Dalian 116023, China)
Abstract: The purpose of the knowledge sharing system is constructing a platform to share knowledge and skill with others.The course and the user are more,The system sourse are more,so the system fit for constructing on the cloud computing platform.
Key words: cloud computing; knowledge sharing; MVC; PaaS; JPA
云计算可以以较低成本和较高性能解决无限增长的海量信息的存储和计算的问题,使得IT基础设施能够实现资源化和服务化,使得用户可以按需定制,从而改变了传统IT基础设施的交用和支付方式。中国云计算已经从概念宣传阶段,进入实质发展阶段。知识分享系统的目的是建立一个与他人分享自己知识与技能的平台,该文在云计算平台上以成熟的MVC开发模型来构建知识分享系统。
1云计算
1.1云计算的定义
云计算是一种新的商业计算模型。它将任务分布在大量服务器构成的资源池上,使各种用户应用系统能够根据自己的需求获得处理能力、存储空间和信息服务。
1.2云计算类别
1)SaaS——Software as a Service将软件作为服务将整个应用集合虚拟化并提供给最终用户。即也可以称作的应用即服务(SaaS)。SaaS是一种基于互联网提供软件服务的应用模式。用户按使用时间和使用规模付费,用户不需安装,打开浏览器即可运行,软件(应用服务)按需定制
2)IaaS——Infrastructure as a Service将基础设施作为服务
基础架构云通常以虚拟机的形式,通过网络提供CPU、网络和存储等计算服务。通常安装在基于网络的虚拟机上。用户可以将自己的操作系统和应用程序安装在这种类型的云上。基础架构云还包括基于IP的VPN广域络及通讯服务,以便最终用户可以通过网络接口来管理自己的虚拟资源。
3)PaaS——Platform as a Service将平台作为服务平台云可以提供一个位于云架构上的硬件和软件集合(包括操作系统、开发/管理工具、数据库等),从而为用户提供应用开发和生产环境,以及相应的主机环境以及基础架构,Paas的一个典型例子就的Google公司的App Engine。
1.3 Google App Engine(GAE)
GAE可让用户在Google提供的位于Internet上的基础环境上运行用户的Web应用程序。GAE应用程序易于实施和维护,并可根据用户的访问数量和数据存储的需求调整提供给用户的资源。使用GAE,用户将摆脱自己维护服务器的繁琐任务:用户只需上传自己的Web应用程序,GAE便可立即运行用户的Web应用程序,用户可以用Google提供的appspot.com免费域名来访问自己的应用程序,但目前appspot.com域名在中国不可用。
GAE支持以多种编程语言开发Web应用程序。通过GAE的Java环境,用户可以使用业界标准的Java技术(如Java servlet)创建应用程序。GAE还提供专用的Python语言运行时环境,包括一个Python语言解释器和Python库。
2知识分享系统的系统分析
知识分享系统的目的是建立一个与他人分享自己知识与技能的平台。知识提供者可以建立课程并提供相应服务,而知识学习者可以学习课程并接受相应服务。管理员可以对整个平台进行管理。
图1是知识分享系统的用例图
图1知识分享系统的用例图
3知识分享系统的系统设计
图2为知识分享系统的系统模块图
图2知识分享系统的系统模块图
4 Google App Engine平台下开发框架下的搭建
根据以上分析,我们可以得出这样一个结论,知识分享系统占用的各种系统资源是随着课程数量的增多和用户数量的增加而增加,所以知识分享系统非常适合构建在云计算平台上。而在Google App Engine上开发应用系统可以使用Java和Python,Java作为一种成熟的Web开发技术,技术成熟、性能稳定,所以知识分享系统采用Java作为程序设计语言。目前MVC开发模型是Java Web开发最常用,也是效率很高的一种开发模型。
MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。MVC模式的主要目的就是实现Web系统各组成部分的职能分工。MVC模型层实现Web系统中的业务逻辑。View层实现Web系统与用户的交互。控制层是Model与View之间进行通信的桥梁,它可以对用户的请求进行处理并选择相应的视图以用于显示处理结果,同时它也根据用户的输入转换为模型层相应的操作。
我们将Java Web开发常用的一种MVC框架进行改造,使之适应知识分享系统和Google App Engine的要求。
表1知识分享系统开发框架
1)FreeMarker
FreeMarker是一个基于Java的模版引擎,是一个使用模版生成文本的通用工具。FreeMarker用来动态生成HTML页面,特别适合于开发MVC模式的应用程序,目前经常被用于代替JSP作为MVC开发模型的View层。FreeMarker具有一定简单编程的能力,但在一般情况下是由Java程序为其准备要显示的数据,由FreeMarker来动态生成html页面。
2)Struts 2
Struts 2是struts 1和WebWork技术进行了合并的全新的MVC框架。Struts 2的核心是WebWork,将显示逻辑和业务逻辑完全分离,其拦截器的机制使Web程序开发效率更高。
3)Spring
Spring是一个优秀的开源MVC框架,是为了降低Web应用程序的复杂性而开发的。Spring框架相对于其它框架的主要优势是其分层结构,Spring分层结构允许使用者根据自己的需求选择使用哪一个组件,在我们构建的MVC框架中,Spring的主要作用是实现MVC的模型层功能。
4)JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。对于App Engine数据存储区,GAE包括Java持久性API (JPA)和Java数据对象(JDO)接口的实现。
5结束语
知识分享系统能够与他人分享自己知识与技能,将其建立在云计算平台上,不仅能够提高效率,而且可以使知识分享系统具有很好的扩展性。
参考文献:
[1]王鹏.云计算的关键技术与应用实例[M].北京:人民邮电出版社,2009.
[2]陈康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009.20(5):1337-1348.
[3]邓侪妮,陈全.云计算及其关链技术[J].高性能计算发展与应用,2009(1).
[4]朱惠娟.云计算及其在网络学习环境构建中的应用初探[J].中国电化教育,2009(4):105-107.
[5]欧阳钟辉.云计算与信息集成[J].泉州师范学院学报:自然科学,2009(3):38-43.
[6]迈克尔·米勒.云计算[M].北京:机械工业出版社,2009.
[7]邓子云,肖锋,谢英辉.精通J2EE网络编程[M].北京:清华大学出版社,2005.
[8]何国辉,卿银波.基于XML的数据交换系统设计[J].计算机工程与设计,2007,28(3):583-587.
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于云计算的知识分享系统的设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】