福州大学至诚学院本科生创新设计报告题目:信息校园社区网络(SNS)的设计与实现姓名:XXX学号:210791000系别:计算机工程系专业:计算机科学与技术年级:2007级指导教师:(签名)2011年1月10日第一章绪论...............................................................................................................................31.1课题背景.......................................................................................................................31.2研究意义.......................................................................................................................31.3研究内容............................................................................................................................3第二章相关技术介绍...............................................................................................................42.1Flex.....................................................................................................................................42.2PureMVC............................................................................................................................52.3BlazeDS..............................................................................................................................62.4Hibernate.............................................................................................................................72.5Spring..................................................................................................................................82.6本章小结............................................................................................................................8第三章信息校园社区网络(SNS)的主要架构....................................................................93.1功能设计............................................................................................................................93.2系统核心部分数据库部分设计......................................................................................10第四章部分功能模块实现...........................................................................................................114.1J2EE后台架设.................................................................................................................114.2Flex前台搭建...................................................................................................................114.3简单框架测试..................................................................................................................12结论................................................................................................................................................13参考文献.........................................................................................................................................14第一章绪论1.1课题背景随着步入21世纪,计算机技术获得了飞速的发展。现在家家户户都拥有了个人计算机,Internet也成为了生活的一部分。计算机技术和网络技术被应用在各个行业,帮助人们步入信息化的时代。随着近年来网络的发展,信息交流已经不局限于现实,更多的信息交流已经转战到了网络世界。我们学校,很多同学大学四年并不互相认识,可能因此错过了很多精彩。1967年,哈佛大学的心理学教授StanleyMilgram(1934~1984)创立了六度分割理论,简单地说:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。”随着用户体验的提高,RIA(RichInternateApplication)时代也随之到来。Adobe公司被认为是新兴的RIA时代的领导者,Flash可以给用户带来与传统的javascript+Css+Ajax不一样的用户体验。1.2研究意义在国内,有许多不一样的应用背景的社区网络,如人人网,豆瓣等。在国外也有facebook在领跑着世界的SNS领域。由SNS发展出来的新的应用也给人们带来的新的网络生活。但大部分还是用传统的WEB形式进行展现网络应用。随着RIA时代的到来,尝试将SNS和flash结合起来,实现新一代的社区网络。1.3研究内容使用FLEX以及J2EE技术,实现SNS的框架以及部分应用。建立校园信息统一化的社区网络,提供师生一个统一的平台。第二章相关技术介绍本课题主要涉及的技术有:集成开发环境MyEclipse的使用、Tomcat服务器的配置与项目的部署、实现显示层的flex技术、轻量级的MVC框架PureMVC、使flex与J2EE可以交互的adobe组件BlazeDS、J2EE的后台提供WebService的Hibernate+Spring框架以及mysql数据库。2.1FlexFlex是一个高效、免费的开放源框架,可用于构建具有表现力的Web应用程序,这些应用程序利用Adobe、Flash、Player和AdobeAIR运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用Flex框架构建Flex应用程序,AdobeFlashBuilder™(之前称为AdobeFlexBuilder™)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。使用Flex创建的RIA可运行于使用AdobeFlashPlayer软件的浏览器中,或在浏览器外运行于跨操作系统运行时AdobeAIR上,它们可以跨所有主要浏览器、在桌面上实现一致的运行。连接到Internet的计算机中超过98%装有FlashPlayer,这是一个企业级客户端运行时,它的高级矢量图形能处理要求最高、数据密集型应用程序,同时达到桌面应用程序的执行速度。通过利用AIR,Flex应用程序可以访问本地数据和系统资源。2.2PureMVC图1-简易的PureMVC框架图PureMVC是基于模型、视图、控制器MVC模式的轻量型开源框架。PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model、View和Controller。此外MVC还有一个单例模型类Façade,用来管理Model、View和Controller。整个PureMVC框架以Observer设计模式为核心,各层间以Notification进行通信。Controller:Command类来实现,其与某一Notification注册入Façade中,当Notification到来时,触发该Command。其生命期仅纯在于该次命令。View:Mediator类来实现,绑定一个ViewCompoent,可对其进行操作,使得View发生改变。Mediator只关心其关心的Notification,并执行相关操作。Model:Proxy和VO(ValueObject)共同实现。VO可作为与RemoteProxy通信的载体,每一个Proxy都可以绑定一个VO。在Model层中不接收Notification。三层中都可以发送Notification,使得其他层执行相应的动作。所有代码都集中在Proxy,Mediator和Command中,其中Proxy主要操纵数据模型(数据一致性和一些Service调用);Command主要涉及复杂业务逻辑处理比如系统的启动和关闭;Mediator主要涉及界面逻辑处理2.3BlazeDSBlazeDS是一个JAVA服务器远程访问后台分布式数据并可以实时的与AdobeFlex和AdobeAdobeIntegratedRuntime(AIR)RichInternetapplications(RIA)的数据进行交互的网络通信技术。由于其开放许可,BlazeDS也可以在其他客户端平台上使用,如Javascript/Ajax。以前只作为AdobeLiveCycleDataES的一部分,在2007.12.13Adobe宣布该技术在BlazeDS里包含。随着操作消息格式规范,为促进开放的源代码是从2008年初开始提供下载下宽通用公共许可证(LGPLv3的)的来源。BlazeDS可以从官方网页下载。MessageService提供了一个完整的发布/订阅基础设施,允许Flex客户端和服务器在实时交换消息。远程允许Flex应用程序直接调用服务器上部署的应用程序中的Java对象的方法。原文(来自维基百科):BlazeDSisaserver-basedJavaremotingandwebmessagingtechnologythata