Home » 开发

D/S(RIA)架构

21 03月 2008 Views: No Comment Tags:

转来的一篇文章,解释了RIA,兴许有用。

D/S(Desktop App+ Server)架构理论来源: RIA是Rich Internet Applications的缩写,翻译成中文为丰富互联网应用程序。Internet已经日益成为应用程序开发的默认平台。用户对应用程序复杂性要求日增,但现在的Web应用程序对完成复杂应用方面却始终跟不上步伐。用户与今天中等复杂程度的Web应用程序交互时,其体验并不能令人满意。Web模型是基于页面的模型,缺少客户端智能机制。而且,它几乎无法完成复杂的用户交互(如传统的C/S应用程序和桌面应用程序中的用户交互)。这样的技术使得Web应用程序难以使用,虽然发布成本低,但支持成本高,并且在很多方面无法发挥效应。为了提高用户体验,出现了一种新类型的Internet应用程序。那就是Rich Internet Applications(RIA)。这些应用程序结合了桌面应用程序的反应快、交互性强的优点与Web应用程序的传播范围广及容易传播的特性。RIA简化并改进了Web应用程序的用户交互。这样,用户开发的应用程序可以提供更丰富、更具有交互性和响应性的用户体验。历史趋势是基于主机模式→C/S模式 →B/S模式→RIA模式。所谓RIA模式,其表现形式即在此指出的Desktop App;另外:如果用浏览器作为客户端,在开发时要使用多种开发技术,包括HTML+CSS++Ajax、浏览器界面设计等等;需要对程序员有更高与更多的技能要求,会增加开发成本及开发周期;而用D/S方式,程序员只用掌握java开发语言及Eclipse开发工具即可,另外要掌握的技能还有:Web Service、SWT开发等;并且,D/S方式对于医院管理系统、集团财务软件等不大适宜用B/S方式开发的应用有很好的适应性;微软公司及IBM/SUN公司的java阵营也已经意识到了B/S架构的这一缺陷,分别发展出了下一代应用框架:微软公司是Avalon+XAML的 SmartClient, 而Sun公司是RCP(富客户端)及java Web Start等;当然还有Adobe公司的Flex + Apollo计划,Laszlo公司的Laszlo服务器(它们是用Flash Player作为表现层基础服务);java富客户端只需要有本地系统中装JRE就能运行,而现在几乎所有PC机上都装有JRE,据网上数据,达90%以上(IE也不过95%、只有 Flash Player达到了97%),说明发布是没有问题的。特别是,我们公司的产品主要是针对财政,一般都在财政局域网内使用,不需要发布到互联网上,带宽的限制并不是很严重;就算要发布到互联网上,随着带宽越来越大,也不会成为严重的问题;并且,为了提高用户体验,需要在客户端表现越来越多的业务功能,而B/S方式在这方面有先天的限制(要用或者其他来访问业务内容,不符合MVC的设计要求);就算有Ajax的辅助,但需要学习并增加了把业务功能通过表现出来的冗余,降低了系统效率;而D/S方 式的业务功能通过Web Service发布,在表现层是通过java代码执行,是字节码,比动态语言效率更高,更可以通过JIT编译成本地代码,效率更高;用到的java组件及架构:Desktop App — 应用SWT来实现用户界面开发;Eclipse作为开发环境。相当于浏览器;富客户端,开发出的客户端效果与Delphi类似;SWT — IBM的java图形界面开发库;Eclipse即用此库开发,其美观与开发效率得到公认;java Web Sart — SUN公司通过WEB服务器发布java桌面应用的规范,实现了JNLP(java network Load Protocaol java网络装载协议)协议,能通过WEB更新java桌面应用;SWT Designer — Eclipse的SWT图形界面设计插件,非常好用,直比Delphi;HSQLDB – 纯java嵌入式关系数据库,在发布纯桌面版本时非常有用;osworkflow –简单高效的开源工作流产品;JasperReport + iReport — 强大的开源报表引擎及开发工具;Spring + Hibernate 是非常成熟的应用层与数据持久层开源架构,两者通常一起在java面象对象的数据库应用开发中使用;XML — Desktop与 Server通讯的格式;Web Service — Web Service是指由企业发布的完成其特别商务需求的在线应用服务,其他公司、合作伙伴的应用软件能够通过Internet来动态访问并使用这些在线服务。它为未来全球的电子商务发展提供了新的标准和架构。主要协议有:SOAP +WSDL + UDDI; XFire — 即开源的Web Service的java实现;与Spring与Tomcat结合得很好;SOAP — 是用于在分散的或者分布式的环境中交换信息的一个轻量级协议。SOAP基于XML,由三部分组成:一个必须的SOAP封装,一个可选的SOAP头和一个必须的SOAP体。通常情况下,SOAP = HTTP + RPC + XML。即:SOAP以HTTP作为底层通信协议,以RPC作为交互方式,以XML作为数据传送的格式。应用架构:Desktop App(SWT)[表现层]富客户端 — Tomcat+XFire[实现Web Service][服务层] — java Class [业务层] — Spring — Hibernate[持久层] — DB Server(MsSqlServer/Oracle/HSQLDB)[数据层]开发流程:1 — 数据库设计,包括Hibernate;

2 — 业务层的java Class设计,由Spring关联到对应的Hibernate生成的对象;

3 — 服务层设计,把业务层开放的业务操作接口用Web Service的方式暴露出去;

4 — 表现层设计,用SWT Designer设计富客户端;

5 — 在Tomcat及XFire环境中发布Web Service;

6 — 用java Web Start发布富客户端;

7 — 如果更新了系统,java Web Start自动发布更新;

原创文章如转载,请注明:转载自Xixis Blog [ http://www.xixis.net/ ]
本文链接地址:http://www.xixis.net/archives/d-s-ria-framework.html

Related posts:
  • 暂无相关日志

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.