2009年题3范文-论基于REST服务的Web应用系统设计.pdf

2009年题3范文-论基于REST服务的Web应用系统设计.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
论基于REST 服务的Web 应用系统设计 【摘要】 2011年上半年,我在上海中软资源软件有限公司(ICSS),作为项目组长参与了公司人事 管理(HR)系统开发。在系统开发前,公司在信息化建设中,业已采用请假流程、薪资管理、 招聘等系统,虽然较为成熟,但彼此间互相独立,业务数据无法共享。且公司各个分公司间, 对HR 系统使用情况也截然不同,有的分公司由于各种原因,仍然采用手工管理本应信息系 统化的业务流程。公司是以软件外包业务为主,所以人力资源管理系统在公司信息化建设中 的地位至关重要。这次开发的HR 系统,将整合现有的业务系统,在整个公司内部推行使用, 以解决信息孤岛带来的效率低下问题。为了以后的扩展需要,保证在业务和空间尽可能大的 扩展性。因此,经过研讨,决定采用RESTWeb 服务方式实现系统应用层。本文将就HR 系 统开发过程,描述一下对REST 服务的使用和认识的体会。 【正文】 上海中软HR 管理系统整体采用基于B/S 的三层架构设计。 我做为项目组长参与系统需求分析至测试和部署的整个过程,直接向IT 部门总监汇报。 负责沟通需求,建立项目组,确定系统架构风格和技术实现方案。预定开发周期为120 天, 系统部署后有两个月的试运行期,项目组人数在5-10 人间变动。由于项目开发资源 (比如 时间)紧张,公司HR 系统业务逻辑复杂,旧系统改进与新需求交织,项目组对业务并不熟 悉,难以在一开始预估将所有业务移植到新系统的时间。因此,在开发模型选择上,采用螺 旋式增量开发。首先不必追求大而全,在开发完系统基本框架基础上,优先移植最亟待改进 的业务。经与领导和HR 部门沟通研究, 递交了系统准备实现的功能列表,按不同实现优 先级排列,标记为P1 的功能优先级最高,必须实现。标记为P2/P3/P4 的功能优先级依次降 低,必要时可以根据资源情况需要进行裁剪。 在开发技术的选择上,由于本公司业务以微软外包为主,公司的开发人员大都熟悉一项 或多项微软开发技术,作为微软公司合作伙伴可以低成本获取软件开发和管理工具,方便地 获取技术支持。 所以决定该系统采用微软技术:表示层基于ASP.NET4.0; 中间业务层采 用REST 服务实现,基于WCF(WindowsCommunication Foundation)4.0; 数据访问层基于微 软的ORM 构件-AEF(ADO.Net Entity Framework)4.0。在构件的选择上,尽可能降低开发工 作量,提高效率,力求避免把主要精力放在通用的技术细节,而是放在业务逻辑的研究和实 现上。 系统部署共有三台服务器:两台Web 服务器WindowsServer 2008+ IIS7.5, 分别运行 系统网站及REST 服务;一台数据库服务器 Windows Server 2008+ SQL Server 2008。经过 试运行,于7 月份投入正式使用。目前系统状况良好,经运行评估,实现了全部必须功能, 性能、安全性等质量均达到了原定设计要求。目前系统正在根据业务需要,由后续项目组做 二次开发中。 采用REST 服务方式实现系统业务逻辑层,完全符合项目开发时考虑的两个因素:简单 和灵活。传统的InternetWeb 服务一般基于SOAP 协议,构造SOAP 请求XML 虽然目前.NET Framework 已实现较好地封装,但不便非.Net 语言调用,如客户端页面中大量采用了Ajax 技术,使用JavaScript 构造Soap 请求非常困难。在调用服务的Web 页面开发完成前,为了 调试和测试服务,必须写单独的测试程序,十分不便。 相比之下,而REST 服务具有非常出色地灵活性。既能被服务器端面向对象语言调用, 又可以直接被客户端的脚本语言调用。也很方便用浏览器和Fiddler 工具进行测试。我们在 项目中,并没有将REST 服务单纯视为一串地址的响应,但基于HTTP 协议,可以最大地利 用 HTTP 协 议 的 语 义 特 性 。 如 数 据 的 增 删 改 查 操 作 对 应 不 同 Http Method(Put/Delete/Update/Get)。用户可以用相同访问服务结点(Endpoint),根据需要,通过 在请求头中设置不同的Accept-Type,获取不同形式的数据结果,比如JSON (用于Ajax)或 XML(用于后台)。 更好的性能和缓存支持——由于不需要构造Soap 消息,请求Rest 服务显然开销更小。 REST 类Web 服务可以利用高速缓存控制头,从而

文档评论(0)

Quill + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体侯**

1亿VIP精品文档

相关文档

相关课程推荐