电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
配出客户端应用程序一样,使软件能够重用。
5.易于维护:基于组件的设计简化了应用程序的维护。由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。
6.可伸缩性:企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。
7.被广泛接受:主要的IT供应用商都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就都是可互操作的。
二、 Mysql数据库的选用
MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任
MySQL具有以下优点:
1、首先是速度。对于MySQL来说,速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。但是在最新的文档中,我们看到MySQL 4.0.2-alpha已经开始支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程。但是,仍然有理由相信,MySQL将有可能一直保持速度的优势。
2、MySQL更流行,流行对于一个商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料。
3、MySQL更适宜在Windows环境下运行。MySQL作为一个本地的Windows应用程序运行(在NT/Win2000/WinXP下,是一个服务), 在Windows运行中,MySQL更加的稳定。
4、MySQL使用了线程,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。
5、MySQL可以适应24/7运行。在绝大多数情况下,你不需要为MySQL运行任何清除程序。
6、MySQL在权限系统上更为完善。MySQL允许你定义一整套的不同的数据级、表级和列级的权限。对于列级的权限。MySQL还允许你指定基于主机的权限。
4
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
7、由于MySQL 4.0.2-alpha开始支持事务的概念,因此事务对于MySQL不再仅仅成为劣势。相反,因为MySQL保留无事务的表类型。这就为用户提供了更多的选择。
8、MySQL的MERGE表提供了一个独特管理多个表的方法。
9、MySQL的myisampack可以对只读表进行压缩,此后仍然可以直接访问该表中的行。
三、 Flex技术的选用
Flex技术简介:
Flex及AIR是Adobe公司推出的基于开源、免费、跨平台的新一代Flex富客户端平台。这种新型的Flex富客户端能够提供和早期C/S技术一样出色的UI,但又和B/S一样不需要在用户的机器上进行任何部署,也不需要手动对应用程序进行版本更新。Adobe的Flex富客户端技术为AIR和Flex,其核心以ActionScript语言为基础,运用XML来描述界面。
Flex富客户端技术特点 1.可操作性方面:
Flex富客户端的界面和操作性将能够和传统的C/S相媲美,提供更丰富、更友善、易用性更强的界面给用户,同时互动性更好,而开发效率却大为提高;特别是Flex内建对音频和视频(包括H.264技术)的支持,给用户提供更好的操作体验。之所以Ajax会大行其道,就是因为Ajax的出现可以弥补传统B/S在界面友善方面的不足,例如Web2.0中普遍提供了一个页面中可以多个Tab的切换,给用户带来更多的方便,但对于更复杂的操作模式则无能为力。而新一代的Flex富客户端如同传统C/S应用一样,可以提供更为复杂的界面,同时其数据持有能力也更强。
2.架构方面:
用XML来描述GUI的外观,GUI和逻辑相分离,真正意义上的MVC,使得应用开发的结构更为清晰。前端界面使用XML来描述,界面的控制由ActionScript来负责,后端的应用逻辑则封装在后端中间件中,与Flex前端界面相分离。
3.可拓展性方面:
Flex做为前端的客户组件,非常容易与各类后端技术相结合,例如AMF、PHP、Java、.Net、ColdFusion等,这样后端应用服务可以规划为类似的“中间件”组件,将业务逻辑封装其中,中间应用服务组件的选择预留给用户极大的选择空间,方便而灵活。
5
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
4.从运行的环境方面:
程序可以在浏览器中,也可以运行在浏览器外,极大拓展了应用的使用场合。新一代Flex富客户端可以根据需求更加灵活的部署。
5.在性能方面:
传统的B/S有各种方式来提高应用服务器的效率,但Flex框架的解决方案与此不同,能够在性能方面有更大的提升。众所周知,传统Web应用客户端每次刷新页面都会对服务器产生请求,服务器要将新的HTML和HTML中包含的图片传递给Client,当请求数量较大时,动态生成HTML及下载图片的过程都会严重地消耗着服务器的资源(CPU、IO、Memory、Network)。而新一代富客户应用是通过第一次运行时将应用一次性下载到本地,所有的GUI都在本地运行,运行过程中只产生少量的数据更新请求,而不需要服务器端实时地产生刷新的页面,也就不存在服务器对HTML等内容的动态构造,这样后端服务器将完全专注于数据逻辑的处理,这样充分利用客户端本地机器的CPU,并最大限度的减少网络带宽。
6.在开发效率方面:
Flex的界面编程技术更类似于VB或是Delphi,开发中所见即所得,比起修改ASP、JSP、PHP和Javascript所表现的界面有极高的开发效能,而Flex采用ActionScript是面向对象的语言,是一种和Java、.NET相其类似的语言,对于Java或.NET程序员来说Flex技术很容易上手,学习和整体维护成本很低。
7.能够与视频、音频等多媒体完美结合。
Flex内建视频、音频等多媒体原生组件,因此为程序员提供了方便、易用的API。特别是最新的更新中已经包含了对H.264编码协议的支持。
8.和B/S相比,Flex能够更方便的实现全双工的消息通信。
对于某些特定的应用,需要实时从服务器Push消息给Client,Flex提供了方便的解决方案,突破了传统的HTTP消息基于Get/Post被动请求的模式。
6
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
四、 Hibernate框架的优点
Hibernate框架介绍:
Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。
图2.3 Hibernate框架
第二节 系统需求分析
一、 系统开发运行环境
鉴于系统的开发语言和数据库,采用如下的开发环境 开发环境: Windows 7 TomCat6.0 JDK1.6 硬件实现: PentiumⅣ2.4G 1G内存 80G硬盘 开发语言: Java
7
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
数 据 库: MySQL 开发工具: MyEclipse8.5
预期成果: 一个可扩展的BBS论坛 二、 业务描述
对于访问论坛的用户,可分为注册会员和临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等。系统的用例图如下:
8