四川大学工程硕士学位论文 中小企业web邮件系统的设计与实现
3 Web邮件系统的设计
3.1中小企业对邮箱的需求分析
随着市场经济的发展以及社会环境的改变,中小企业面临着产业升级、管理模式转变等重要课题。在此背景下,中小企业的信息化发展得越来越快,就企业邮箱上的需求也趋于明显
[20]
。
有统计数据显示,目前全国经工商部门注册的中小企业已达1000多万户,若加上微型企业,就达到4000多万户,已经形成了一股强大的力量。广大中小企业拥有全国60%以上的发明专利,80%以上的产品开发。但是这些中小企业的信息化技术比较落后应用水平比较低。随着竞争压力的加剧,整个中小企业市场对信息化的需求不断扩大,并且应用层次差异和范围比较大。
信息化建设对企业发展至关重要,据调查,中国有绝大多数的中小企业会在IT方面投资,而总计有10%左右的企业正在进行基础网络方面投资,并且这一比例将不断上升。就电子邮箱发展而言,2005年中国电子邮箱市场规模为RMB 6.4亿,预计到2010年该市场将接近RMB 16亿,复合成长率为21%。其中企业邮箱发展潜力巨大。预计到2010年企业邮箱所占比重将从2005年的20%提升到24%。虽然中小企业对邮箱的依赖程度正在逐步增强,但从目前国内的形势来看使用企业邮箱的中小企业仅有10%左右。其根本原因是多数邮件系统不能满足中小企业对于企业邮箱的需求所形成的。
因此,要建立一个方便易用的邮件系统就必须具有满足中小规模软件企业特性需求的能力。 一般而言,中小企业邮件系统需要达到以下的目标:
1.用户在线注册
用户在Web页面上填写直接填写用户资料,方便注册为新用户。
2.邮件接收业务
用户接收并查看浏览他人发送的邮件并以邮件列表的形式显示在web页面上,每封邮件只显示发件人、主题等简单信息。若要查看邮件的详细内容需要用户点击主题。
3.邮件发送业务
用户在web页面上编写新邮件,或者是回复、转发邮件(此时邮件的收件人、主题和正文内容都依赖于原邮件),邮件能够自动保存在草稿箱中。用户既能选择直接发送,也可添加附件后发送。
4.通信录管理
13
四川大学工程硕士学位论文 中小企业web邮件系统的设计与实现
用户管理联系人地址,对其所属的通讯录记录进行删除、修改、添加。 5.邮件夹管理
用户通过邮件夹管理自己的邮件,实现对邮件的分类存储。用户可新建文件夹或删除某文件夹里的邮件,也可以方便地把邮件移动到任意一个文件夹中。
6.垃圾邮件过滤
垃圾邮件已成为中小企业用户的一大公害,可能会给企业带来严重损失。另外,垃圾邮件将导致员工工作效率低下,不健康内容的邮件将对收件人造成不同程度的冲击
[23]
。此功能便可过滤垃圾邮件,轻松解决这一问题。
3.2系统总体架构
Web Server邮件管理Web邮件系统用户数据库表现层(Web页面显示)Struts业务层(业务逻辑处理)Spring持久层(数据库操作)Hibernate图3-1 邮件服务系统总体架构
基于第二章所述的MVC模式的Spring+Struts+Hibernate三层架构,本文设计了Browser/Server结构的Web邮件系统,如图3-1所示,其中表现层使用Struts,业务层和持久层分别使用Spring和 Hibernate,这具有以下优点:三种框架均为免费开源,因此节约了开发费用,并有丰富的文档和范例可供参考;该架构符合MVC设计模式,有效地分离了持久层、业务层和表示层之间的逻辑功能,达到了充分解藕的目的;Spring对于Web应用开发的支持,并非只限于框架中的MVC部分,它也为Hibernate提供了良好的支持,两者结合构成了有效的数据持久层;减少了视图、模型和控制器之间的关联性,在彼此不影响的前提下可以对任何一层进行修改,这样可以有效减少软件熵。
传统的邮件系统为Client/Server(C/S)结构,分为邮件服务器和客户端。用户通过客户端(foxmail 、outlook)软件收发邮件。本文构架的邮件系统为Browser/Server结构,允许用户使用浏览器作为客户端,接收和发送邮件通过浏览网页就能实现。
14
四川大学工程硕士学位论文 中小企业web邮件系统的设计与实现
表现层利用Struts构建了一组Web页面给用户用以收发邮件。
在业务层中的web服务器和邮件服务器,我们选择了开源的Tomcat和James
[30]
[18]
服务器
,并在spring框架下采用JavaBeans这种可重用的组件技术开发控制模
块以及表现层和业务层之间的接口。
持久层使用Hibernate直接和数据库进行交互,为业务层提供对数据进行操作的接口。数据库使用的是目前广泛应用在Internet上的中小网站中的Mysql。我们选择其主要出于降低成本的考虑。Hibernate根据数据库表的定义导出表的结构,并生成对应的映射文件和Java代码,大幅减少了SQL和JDBC的手工编码。
3.3Web server构架设计
Web电子邮件系统实现了用户登录、收取邮件、发送邮件、编辑邮件、编辑用户信息、POP3收件等功能。考虑到系统的跨平台及扩展性以及开发周期与开发成本,采用Spring所支持的轻量级J2EE框架及相关技术
客户层
图3-2 邮件系统的Web Server架构 浏览器 JAVA Beans Web服务层 JSP引擎 邮件服务层 JAVA Bean 容器 数据层 [21]
来实现上节所述的业
务层的Web Server邮件管理功能。下面介绍Web电子邮件系统的Web Server架构。
JDBC连接 POP3/SMTP服务 MySQL 客户层以浏览器为终端通过Web Server层访问邮件服务层,Web Server层包括JSP
[13-14]
引擎、Java Beans和Servlet,通过RMI访问邮件服务器层;邮件服务
层是整个系统的主要部分,包括Java Bean容器、JDBC连接池、POP3/SMTP服务端口处理等,其中POP3和SMTP服务器端口为客户访问邮件服务器提供通信接口,邮件层通过JDBC访问数据层中的数据库,可以查询和修改数据;数据层主要存放邮件服务层的数据内容。
邮件服务层中的Java Bean是Java服务器端服务框架的规范,Spring中提供了
15
四川大学工程硕士学位论文 中小企业web邮件系统的设计与实现
对EJB(Enterprise JavaBean)的支持。EJB框架定义一个本地接口和一个远程接口。各层功能详述如下:
客户端:通过基于PC的Web浏览器提供给用户以收发邮件的一组Web界面,通过这些界面用户可以方便的收发邮件。
邮件服务器:提供POP3及SMTP协议邮件服务功能发送和接收邮件。 Web服务器:Tomcat服务器作为最常使用的JSP/Servlet容器,可以作为轻量级J2EE的容器来使用,同时也作为WWW服务器,并定义服务器使用的TCP端口为80,使邮件处理的全过程都应用Java技术。
数据库服务器:Mysql数据库服务器具有功能齐全、查询快捷、稳定和容易使用等特点,符合中小企业的需求。通过该服务器管理相关数据。并通过增加邮件的大小、邮件所处的位置和邮件的内容等信息,给用户提供了邮件归档、通讯簿等功能,邮件服务层的工作流程是:用户首先通过客户端的浏览器登录Web电子邮件系统的WWW地址,以实现管理帐号等个人信息、收发邮件等功能。在用户登录时,Web server端自动连接对应帐号的邮件服务器,通过POP3协议察看是否有新邮件。若有则自动下载新邮件,并将下载的新邮件在Web服务器上生成.eml文件。同时,关于该文件的各项信息数据等都将在数据库服务器上产生。若发送邮件,则连接对应帐号的SMTP服务器,发往相应的地址。
3.4Web应用功能设计
根据系统的功能需求,Web应用部分系统由用户注册、身份验证、邮件发送、邮件接收、通信录管理、邮件夹管理和邮件过滤等几个模块构成,如图3-3所示。
用户 注册
Web应用系统
身份验证邮件发送邮件接收通信录管理邮件夹管理邮件过滤(1)用户注册
在邮件服务器中创建一个新的用户,然后再在WEB页面中建立该用户。
16
图3-3 Web应用系统功能模块
四川大学工程硕士学位论文 中小企业web邮件系统的设计与实现
(2)身份验证
当已注册的用户在把用户名和密码输入以后就可以登录进入邮件列表的界面。
(3)邮件发送
在发送邮件的时候,针对外网用户,发送方通常自己填写对方用户的E-MAIL地址,如果是给内网的用户发送电子邮件,发送方通常是直接从自己的地址簿中选择同事、朋友、同学的名字进行发送。考虑到邮件的安全性,发送的时候可以选择加密或者不加密,若是较隐私的邮件,通常需要给邮件加密,在发送时,系统将提示用户输入加密的字符串,用户可以自行保管字符串,收到邮件的人只能用该字符串进行解密才能读取邮件内容。
(4)邮件接收
用户可以接收对方所发送的邮件。假如用户接收的是没有加密的邮件,则直接接收;如果是加密的邮件,那么用户必须获得正确的加密字符串才能准确地看到邮件内容。
(5)通信录管理
该模块的功能是帮助用户管理联系人的邮件地址,可以对地址进行分类,添加、删除或修改地址。
(6)邮件夹管理
用户通过邮件夹管理模块可以对邮件进行删除、下载等操作。 (7)邮件过滤
此功能是对地址和IP进行过滤,同时对HTML邮件进行过滤,用户完全不用担心通过HTML邮件传播过来的病毒。
3.5小结
本章首先介绍了中小企业对邮箱发展的状况以及企业邮箱对企业发展的重要性等相关问题,对中小企业邮件系统的业务需求分析作了详细阐述。然后介绍基于MVC模式Spring+Struts+Hibernate三层架构的邮件系统总体架构和Web server架构,对系统进行详细设计和讨论。本文通过JSP、JavaBeans和Servlet等标准技术实现了MVC设计模式,采用开源的Tomcat和James作为web服务器和邮件服务器,并在spring框架下采用JavaBeans这种可重用的组件技术以及JavaMail API开发控制模块以及表现层和业务层之间的接口。最后本章分别介绍了邮件系统的各个功能模块设计,并对每个模块进行了详细的讨论。
17