`
backsnow
  • 浏览: 130931 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

B/S,C/S架构混合使用 (转)

 
阅读更多

http://www.blogjava.net/nighty/archive/2008/05/06/198669.html

一般而言,我们平常接触的大多数项目都应该是单纯使用B/S或是C/S,除非在特殊场合,否则比较少混合使用B/S,C/S架构。首先说一下对这二种架构特点的一些个人理解。B/S应该是目前很多项目都应用的架构,浏览器的方式使得用户的使用十分方便,用户可以何时何地通过Internet访问URL而进行相应的工作,升级维护也能比较集中,缺点就是浏览器的表现能力受限以及常常受非议的安全性问题,如果软件的应用范围区域不集中,而且用户经常变换地点进行访问,那么这种架构是非常适合的。C/S架构的C端有非常强的处理能力,所以在交互表现和安全方面可以做得比浏览器强,但是缺点也是非常明显的,安装部署、升级维护、版本兼容都是比较头大的事情,一般的适用场景是集中的办公室场所,用户使用范围相对稳定,以及一些对业务处理非常复杂的场合,为了降低服务器的负荷,同样需要C模式的支持。
    以前接触过的电信领域,就有过混合架构的软件。但是都是非常宠大,一直都对其实现方案比较感兴趣,但是都没有机会进一步了解。最近搜索了一下相关的资料,总结一下混合应用的一些想法(只针对Java方向)。
    ①混合架构的问题集中点。服务端共享,客户端采用不同的表现方式,共享的应该是业务层接口,持久层应该是屏蔽的。应用层的消息传递就是整个应用的关键所在,虽然像Jakarta提供的httpClient这种模仿浏览器的组件,但是毕竟是模仿,在很多方面的功能还是缺失的。
    ②最传统的方式是采用EJB做为服务,这个宠然大物容易让人害怕,不过在分布式的系统中它还是有应用优势的,像电信和金融这种行业应用还是比较广的,而且现成的中间件和应用服务器商都比较多,像Oracel、BEA、IBM、Sun都有成熟的应用产品,当然开发的成本和人力投入也是恐龙级数据的。
    ③有网友说在C端直接访问数据库,B/S结构不变,也就是通过数据库进行共享。这种方式是不可取的,二个缺点:把服务器的业务逻辑搬到了C端上,严格上讲是不安全的,升级维护也非常麻烦;并发控制的压力都在数据库上。
    ④采用RMI,这个老古董相信应该很多人都不使用了,因为它的使用要一连串的手续,比如服务接口定义必须实现Remote接口,服务Server在实现时必须继承UnicastRemoteobject类,必须使用rmic指令产生stub和skeleton等,设置上繁杂。
    ⑤Spring 远程服务。这个应该说是比较可取的,大家都比较喜欢轻量级的东西。就如第一点所说的,通过远程服务,我们可以在客户直接调用服务端的服务接口,就像本地调用一样,Spring对远程服务提供了好几种实现方案。
    ⑥WebService。适合异构环境,但是WSDL的这种方式相对来说会比较耗费资料,因为标准定义除了业务内容外,还有许多另外的说明内容。
    Spring远程服务实现方案介绍:
    ⑴Spring + RMI。Spring把传统的RMI方式的繁杂设置去掉,只要配置Bean文件就和定义服务接口可以。RMI的服务启动和管理都交给Spring来处理。RMI访问的缺点就是对防火墙的穿透力比较差。
    ⑵Spring + Caucho的Hessian、Burlap。Hessian使用Http将对象以中性的二进制消息进行传送,而不像RMI使用Java的序列化格式(这种序列化是专制的,不是Sun提供的序列化机制),由于是二进制消息,所以不受限于某种实现语言,传输时所需要的带宽较小是其优点。Burlap是以XML文件格式传送对象,XML文件有较高可读性,应用程序只要能解释XML就能接收消息,当然也不限于某种语言,但是组装XML和解释XML都需要消耗资源,当传输大数据时性能应该存在问题。
    ⑶Spring + Http Invoker。由于Hessian的序列化机制不是正统的Java序列化机制,所以当遇到传输复杂的业务模型时,就会存在各种问题,为此,Spring又提供了Http Invoker,同样是使用Http传送对象,而且是使用Java的序列化机制。相比RMI,Http对防火墙的穿透力要强。
    后来尝试了最后的这种Http Invoker方式,是在Spring2.0版本下尝试的,开发非常简单,网上也有大量的资料介绍。应该说从这里入口可以做一些尝试。目前遇到的一个项目就需要混合架构,B/S采用Spring2 + Struts2 + Hiberntae3,浏览器只提供一些查询功能和数据展现,C端采用Eclipse的RCP平台,共享服务器的业务接口,调用就采用Http Invoker远程服务,复杂的业务功能都集中在C端上。

分享到:
评论

相关推荐

    c/s与b/s的异同点

    ### C/S与B/S架构的深入解析 #### 引言 在信息技术的迅猛发展中,C/S(客户端/服务器)和B/S(浏览器/服务器)架构作为两种主流的软件设计模式,各自承载着独特的价值和应用场景。本文旨在深入探讨这两种架构的...

    仓储系统管理平台(B/S架构)

    本套仓库管理系统系统采用B/S架构,使用方便,无需在客户端安装软件,大大简化了电脑负荷,降低用户成本,而且能够有效保护数据和管理访问权限。采用最稳定的主从式SQL数据库,在多人同时存取资料时可保持最佳的同步...

    HRMIS.rar_HRMIS_c/s和b/s混合_人力资源_软件体系_软件体系结构

    首先,我们要理解C/S和B/S架构的基本概念。C/S架构是一种典型的两层架构,客户端(Client)负责用户交互,服务器端(Server)处理业务逻辑和数据存储。这种架构的优势在于交互性强,用户体验好,但部署和维护成本较...

    B/S和C/S的比较

    随着技术的发展,现代软件系统往往结合了C/S和B/S架构的优点,如使用Web前端实现用户界面,后端则采用服务化架构,实现灵活的扩展和更好的性能。这种混合架构,既保留了B/S架构的易用性和跨平台性,又减少了服务器端...

    c/s和b/s的优劣点

    C/S架构是基于局域网的,通常用于内部网络环境,其中客户端(Client)负责用户界面和部分业务逻辑,而服务器端(Server)处理主要的数据存储和计算任务。这种架构的优势在于: 1. **性能**:C/S架构可以充分利用...

    基于MySQL的B/S、C/S混合构架的考试管理系统.pdf

    "基于MySQL的B/S、C/S混合构架的考试管理系统" 本文将基于MySQL的B/S、C/S混合构架的考试管理系统进行详细的知识点总结。 一、 MySQL概述 MySQL是一个关系型数据库管理系统,广泛应用于各种Web应用程序中。它以其...

    C/S 与B/S区别

    在选择C/S或B/S架构时,企业通常会考虑以下几个因素:系统的规模(用户数量、地理位置)、硬件资源、安全性需求、更新频率以及对用户接口的复杂度要求。随着Java等跨平台语言的普及,B/S 架构在许多情况下成为首选,...

    C/S、B/S的区别及优缺点

    例如,企业级应用可能会采用B/S架构来处理数据展示和简单交互,而对复杂计算和数据处理则采用C/S架构,通过Web服务的方式与B/S前端进行交互。 总之,C/S和B/S各有千秋,选择合适的架构模式需要根据实际的业务需求和...

    基于C/S和B/S混合模式的高校教务管理系统的设计与实现.docx

    ### 基于C/S和B/S混合模式的高校教务管理系统的设计与实现 #### 摘要概览 本文提出了一种结合客户端/服务器(Client/Server, C/S)模式和浏览器/服务器(Browser/Server, B/S)模式的高校教务管理系统的开发设计思路。...

    EJB写的工具管理系统(B/S,C/S混合)

    本项目是一个混合架构的工具管理系统,它结合了B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)两种模式,旨在为用户提供便捷的工具管理服务。该系统利用EJB(Enterprise JavaBeans)...

    c/s和b/s的区别,新手的好帮手

    在实际应用中,有时也会出现C/S和B/S混合的模式,称为“富客户端”或“Hybrid架构”,它结合了两者的优势,例如使用Web技术构建的桌面应用,既能提供类似传统C/S的丰富功能,又能利用B/S的便捷性。 总之,C/S和B/S...

    B/S模式与C/S模式的区别

    在IT行业中,B/S(Browser/Server,浏览器/服务器)模式和C/S(Client/Server,客户端/服务器)模式是两种常见的系统架构,它们在软件开发和应用部署中都有着广泛的应用。这两种模式各有特点,适应不同的场景需求。...

    基于C/S结构的小型餐饮管理系统设计与实现

    《基于C/S结构的小型餐饮管理系统设计与实现》 本文主要探讨了如何为酒店管理(信息工程)专业学生设计和实现一款小型餐饮管理系统,旨在帮助他们掌握旅游信息管理系统的设计方法。通过对酒店餐饮管理工作流程的...

    C/S和B/S混合体系结构的开发与应用

    C/S和B/S是当前信息系统中使用较广泛的模式,两者各有优劣。如果在一个复杂的、大型系统中,能打破常规的单一模式设计,而采用C/S和B/S模式相结合的系统构架,不仅可以提高系统中数据的安全性,还可以充分发挥系统的...

    基于C_S和B_S混合模式的教学管理系统的设计与实现

    相比于C/S模式,B/S架构具备以下优点: - **易于部署**:用户只需要一个Web浏览器即可访问所有功能模块,减少了客户端的安装和维护工作。 - **零客户端**:客户端只需安装浏览器,无需额外安装其他软件。 - **易于...

    基于B/S+C/S的高校科技协同管理综合系统的研究与实现

    系统采用B/S+C/S混合模式,充分利用两种架构的优点。B/S模式用于实现用户友好的界面和便捷的网络访问,用户可以通过浏览器进行项目申报、项目管理、经费管理、成果管理、科技人员管理、机构管理等操作。C/S模式则...

    基于B_S架构的C语言在线考试系统设计与实现.pdf

    标题知识点:基于B/S架构的C语言在线考试系统设计与实现 知识点说明: 1. B/S架构概念:B/S(Browser/Server,浏览器/服务器)架构是一种典型的网络应用程序体系结构,用户通过Web浏览器访问应用程序,所有的处理...

Global site tag (gtag.js) - Google Analytics