邮件网关架构设计-v01

邮件网关架构设计-v01

ID:41553628

大小:155.91 KB

页数:15页

时间:2019-08-27

邮件网关架构设计-v01_第1页
邮件网关架构设计-v01_第2页
邮件网关架构设计-v01_第3页
邮件网关架构设计-v01_第4页
邮件网关架构设计-v01_第5页
资源描述:

《邮件网关架构设计-v01》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、邮件网关架构设计版本0.1历史记录吴海波、程云2009-5-80.1创建文档作者日期版本原因目录1.需求简述42.架构总体描述42.1.部署描述42.2.邮件网关的客户端62.3.邮件网关的职责63.数据访问层83.1.数据访问层的职责:832实现方法833数据访问层特点83.4.缓存83.5.邮件解码936SQLite数据访问94.业务逻辑层95.REST层95.1.REST层的职责:95.2.实现方法106.Session的处理107.用户登录、身份认证117.1.传统方式sessionID117.2.RESTful风格推荐的方式117

2、.3.额外的安全约束12&RESTful客户端开发包129.可伸缩健壮的服务器1210.附件下载1311.邮件缓存1312.表现层国际化1413.数据迁移1414.区分运营商141-需求简述1.遵从httpmail草案hMp://tools.ie(f.org/h(ml/dnift-dusscault・hMpmail-()0。草案主要包扌舌:下载邮件信息、列表方式显示多封邮件信息、浏览邮箱的信息格式定义。2.httpmail草案没有涵盖的数据格式我们自行定义,包括黑、白名单,签名档等格式定义。定义的格式模仿草案,保持风格一致。3.以RESTf

3、ul风格发布服务。根据RESTful风格的webservice的要求对所有URL进行严格的定义,在HTTP头中统一接口和资源地址,保证URL是无状态的,方便进行缓存和提高系统的可靠性、可伸缩性。4.良好的可伸缩性,避免采用sessionstickyo5.统一部署。现有的Z邮局、全球邮、一大把等邮局将都使用同一个邮件网关,邮件网关将为多个邮件运营商提供服务。2.架构总体描述2.1.部署描述邮件网关作为webmail系统的一部分来部署。一个简要的示意图如下:该图表示了一个最典型的应用场景:1.邮件网关以集群的方式对外提供服务,以RESTful风

4、格发布webservice。网关实现web邮件的业务功能,同时为多个领域的邮件运营商服务。2.邮件webserver负责页而的显示,由于邮件业务转给网关实现了,所以webserver的功能比原来大大减少,现在就主要用于保存页面静态资源:html、css、js、图片等,提供给浏览器下载;同时,完成一些不网关不支持的功能,例如:web邮件的发送、与web聊天的集成。每个领域的邮件运营商拥有独立的webserver,实现不同领域的页面效果个性化,和附加服务的个性化。3.浏览器从webserver下载资源,显示出页面效果,使用AJAX技术从邮件网关

5、获取数据,展示给用户,用户输入也直接提交给网关;这个客户端对应两个服务端:画面效果从webserver得到,数据和网关通讯。2.2•邮件网关的客户端邮件网关对外提供RESTful风格的webservice,客户端分为以下儿类:1.浏览器+AJAX:最主要的一个客户端2.富客户端:动力工作站这样的客户端3.邮件webserver:由于和网关分工清晰,原则上应该不需要和网关通讯;只有为保证兼容性的时候需耍和网关通讯,例如:满足禁用javascript的浏览器的要求时,需要webserver先从网关取得数据,生成带数据的页面后返回给浏览器。4.域

6、管理、运营管理:系统集成的客户端邮件网关对1・3的客户提供邮件主要业务的接口,数据格式优先提供xml+atom的格式;根据1、2客户端的需要可以考虑额外提供json的数据格式。对4客户提供域管理、运营管理的业务接口,数据格式提供xml的格式。2.2■邮件网关的职责邮件网关处于webmail系统的核心层,只实现和邮件业务有关的功能。和邮件系统共享一套存储系统(NAS、SQLite、Mysql等),不处理和用户界面有关的工作。用户界面由各领域的webserver来生成各自特色的界面。邮件网关rti下而上分为3层:1.数据访问层:负责数据的存储,

7、对上层暴露接口,隐藏实现。公司有使用统一存储的考虑,将数据访问层单独封装成一层,有利于日后更换实现。2.业务逻辑层:封装web邮件系统的业务逻辑,邮件MIME内容的拼装和解析。3.REST层:对外发布RESTful风格的webservice接口,对内负责资源到java服务的映射;针对不同的客户端要求,把java对象进行格式转换成为xml+atom,遵从httpmail草案,json格式作为可选实现。2.数据访问层Dao3/L数据访问层的职责:1、提供数据访问抽象2、屏蔽各数据源差异3、提供透明的缓存3・2•实现方法本系统涉及的数据源包含:N

8、AS(用于存储邮件及解码后的缓存),SQLite(存储用户个人个人设定),MySql+Memcache(存储系统全局信息,如用户帐号信息等)。数据访问层提供一个底层数据访问的抽象

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。