论文部分内容阅读
随着网络、多媒体技术的快速发展,Web应用程序的规模越来越大,用户要求也越来越高。如何提高Web应用程序的用户体验、提高传统软件框架开发效率,以及如何充分利用HTTP协议、统一接口、降低开发复杂性已经成为网络发展中一个亟待解决的问题。论文首先分析了传统Web应用开发所表现出的不足,即:传统集中式的开发方式,企图在服务器端完成一切,从而导致了服务器端开发的复杂性和高通信量。传统的基于HTML表单的Web应用通常采用的是标准的三层架构——Web表现层、业务层、持久层,但是随着应用规模、复杂度的扩大,这种架构已经满足不了现代网站提高用户体验的迫切需求。在此基础上,论文提出了在Web应用中采用基于REST(Representational State Transfer)架构风格和富客户端技术(RIA)的架构方案(REST+RIA)。此架构一方面利用REST技术将客户端和服务器端分离,充分发挥了富客户端技术的优势,将表现层逻辑在客户端实现并加入更多美观实用的界面元素,从而极大的提高了用户体验;另一方面REST架构风格以资源为中心,将资源与资源的表示分离的准则,很好地实现了Web应用开发的高效性,可伸缩性和简单性。论文接着详细地描述了在此架构中服务器和客户端的设计过程,着重介绍了基于REST服务器端的资源设计原则、客户端实现REST接口的通信方式,以及相应的RIA实现技术Flex和REST实现框架Ruby on Rails。为了验证所提出的Web应用的可行性,论文以REST+RIA的Web应用架构实现了一个手机商城系统,该系统采用Rails作为服务器端,不仅实现了REST风格接口,还在开发过程中充分体现了敏捷开发的思想。该系统充分利用了REST接口的一致性优势,分别采用了Flex和传统HTML页面两种Web客户端技术。最后,论文针对所实现的原型系统,进行了REST+RIA的Web应用与传统Web应用的性能比较,主要包括:代码量,通信量,负载响应,用户体验,安全性方面,并由此给出结论:基于REST和RIA的组合方案能有效分离关注点、实现前台和服务器的并行开发、降低通信量、提高用户体检、便于敏捷开发。