`
isiqi
  • 浏览: 16080649 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

我的JAVA开发架构设想

阅读更多
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+JavaScript+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方式在这方面有先天的限制(要用JavaScript或者其他来访问业务内容,不符合MVC的设计要求);就算有Ajax的辅助,但需要学习并增加了把业务功能通过JavaScript表现出来的冗余,降低了系统效率;而D/S方 式的业务功能通过Web Service发布,在表现层是通过JAVA代码执行,是字节码,比JavaScript动态语言效率更高,更可以通过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自动发布更新;
分享到:
评论

相关推荐

    淘宝秒杀技术架构设想.pdf

    淘宝秒杀技术架构设想

    基于Android+JAVAEE架构的校园信息交互系统

    轻量级Java EE平台是较完善的企业级Java开发平台,由于其卓越的可 扩展性及稳定性,在金融、电信等领域被广泛应用。基于Android+Java EE的系 统架构可同时满足客户端的用户体验与系统的复杂信息处理功能,是移动互联...

    android系统原理及开发要点详解_韩超_梁泉 4

     Android中、高级开发者:通过本书的引导,学习系统架构,关注开发要点,并尽量使用手机系统的通用设计思想、软件工程思想、系统工程思想来指导Android系统学习。  嵌入式Linux系统学习者:将Android作为一个集...

    Google Android SDK开发范例大全(完整版)

    这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近,Android 团队发布了 SDK V1.0,用于这个新平台的应用程序也浮出水面。 为了鼓励创新,...

    12、基于JSP的酒店客房管理系统源代码+毕业设计论文+开题报告+答辩PPT.zip

    源代码部分,我们采用了JSP(Java Server Pages)作为主要开发语言,结合JavaBean和Servlet实现前后端的交互。数据库方面,我们选用了MySQL,它稳定可靠且易于维护。系统实现了客房信息管理、预订管理、客户信息管理...

    信息系统总体设计方案方案.docx

    51 6.2.3 稳定性要求 52 6.3 JSP技术-跨平台的网络开发语言 53 6.4 Java技术的应用 53 6.4.1 Servlet技术-灵活的服务器端应用程序 53 6.4.2 Java Apple技术-实现统计数据在网页上的动态显示 56 6.4.3 Java Beans...

    CMS4J 专业的jjava/jsp版网站内容管理系统

    CMS4J 2008 革新了原有的系统架构,开发了更为专业、便捷的后台管理界面,同时,还支持了网站集群的架构以及多数据库的支持,功能体系也十分完整,属于java / jsp领域内比较优秀的CMS! 一、CMS4J 2008 系统介绍 ...

    信息系统总体设计方案(方案).doc.doc

    (51) 6.4.2 Java Apple技术-实现统计数据在网页上的动态显示 (54) 6.4.3 Java Beans技术-组件开发概念 (54) 6.5 通过XML语言实现I NTERNET上的数据交换 (54) 6.5.1 XML会带来什么 (54) 6.5.2 XML的应用 (55) 6.6 ...

    jquery ui 后台界面演示系统 登陆界面

    所以,先做一套极简易的小架构,即使没有学过PHP的.net/java程序员,应该也能很容易看懂并上手使用,甚至把它改成其它语言的版本。 目前的这个版本,最值得推荐的功能在于,jQuery代码是一次载入的,使用这套系统...

    jquery ui 后台界面演示系统 v0.1.rar

    所以,先做一套极简易的小架构,即使没有学过PHP的.net/java程序员,应该也能很容易看懂并上手使用,甚至把它改成其它语言的版本。 目前的这个版本,最值得推荐的功能在于,jQuery代码是一次载入的,使用这套系统...

    wiki30:Wiki 3.0研究项目

    Wiki3.0项目旨在开发下一代协作平台,该平台集成了实时编辑和交互,社交网络功能,并将利用云基础架构的优势。 该项目合作伙伴所设想的3.0代具有以下要素:构想和利用Web上的实时功能,集成社交网络和高级协作功能...

Global site tag (gtag.js) - Google Analytics