最近做的这个项目,是一个外线管理系统。
外线人员使用android应用与服务端进行交互,内线人员使用浏览器访问系统。服务端既提供了给浏览器访问的页面,也暴露了一些接口给智能手机调用。
我原本觉得,这理所当然是一个C/S架构的应用,Server是服务端,Client是我们开发的android应用。不过今天看了一些关于B/S和C/S比较的帖子,回头又想了想,发现我原来的理解貌似不对。因此把一些想法记录在这里,以后再回顾一下。如果有朋友知道答案,也希望能指教一下,谢谢。
首先,我突然有点疑惑什么是所谓的web service。像我们服务端提供了一个地址,比如说http://localhost:8080/service/accept.action。然后我们的终端应用访问这个地址,并且传递一些参数进来,系统后台就做了一些逻辑处理,数据库操作什么的,然后返回一个响应回到android终端。
这种形式和我以前做过的web service就不太一样。以前系统A发布了一个web service,然后系统B是根据系统A的WSDL,直接调用系统A发布的一些方法。我理解这样才像一个web service。
但是现在这种形式,我感觉效果和上面的例子也是一样的,服务端就是发布web service的系统A,终端应用就是系统B,虽然它没有看到什么WSDL,但是它只要知道http://localhost:8080/service/accept.action这个地址,和这个地址需要的参数,照样可以访问到,并且也能让系统A作逻辑处理,也能得到系统A返回的结果。虽然这种形式上不是web service,但是实际的效果和web service又有什么区别呢?如果是这样的话,那么什么又才是真正的web service呢?
关于这个问题,我感到很疑惑,希望知道的朋友能给我讲解一下。
扯完题外话,再说回B/S和C/S。我原本认为我们这个系统肯定是C/S结构的,现在想想也不对劲。
终端应用和服务端的交互有2种方式,一种是走http协议,也是发起请求、获得响应、断开连接;另一种是通过走短信网关的方式,发送短信、解析短信。这2种方式,终端应用和服务端都没有保持长连接。如果服务端想推送什么消息到终端的话,是要通过向目标手机号发送特殊格式短信的方式来实现的。但是真正的C/S架构,却是可以通过Socket之类的长连接来即时推送消息的。
不过除了这点以外,我们又确实需要:
1、同时维护服务端系统和终端应用
2、负责终端应用的分发和升级
3、保证终端数据和服务端数据的同步
4、可以在终端应用上进行比较多的业务逻辑
上面这些特征又类似于传统的C/S架构,所以我现在也有点迷糊,究竟如何区分所谓的B/S和C/S呢?至少我认为我们这个系统不是纯粹的C/S,但是又不能说是B/S。。。
其实想想,也不用这么拘泥这个划分。除非一个系统和外部系统一点关系没有(比如安装一个单机的连连看),就一定涉及到如下问题:
1、系统职责划分(业务逻辑分配的比重)
2、系统间通信(HTTP、Socket……)
3、系统间数据同步
4、系统一致性(服务端升级,客户端需要相应升级)
5、部署和维护的成本
6、……
或许所谓的B/S、C/S,之间不存在也没必要某种绝对的划分,只要能处理好上述这些问题就行了。比如我们这次的系统,就可以算是一个B/S和C/S混搭的系统
分享到:
相关推荐
这是一份关于B/S结构介绍的英文文献及其译文.B/S结构 B/S结构即Browser/Server(浏览器/服务器)结构,是伴随着互联网技术出现的一种对C/S结构的改变或者说是改进。在这种结构中,用户界面通过WWW来达到在前端充分...
web测试中b/s c/s理论,策略区别
为将Internet通信和嵌入式系统结合起来,设计了一款基于C/S和B/S结构相结合的嵌入式Web服务器。选用DS80C400作为主控芯片完成硬件设计,采用Java技术完成应用软件设计,并以西门子PLC作为现场设备通过以太网完成了对...
B/S架构和C/S架构的区别和优缺点 C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的...
web报表B/S
国腾 OCX控件 身份证阅读器 B/S WEB 读卡器接口安装程序
在分析了B/S模式的特点的基础上,阐述了一个基于B/S结构的Web在线考试系统的设计与实现的过程,描述了从需求分析到ER模型、功能设计及详细设计等过程,最后还讨论了系统的组卷策略及算法的设计与实现。
这是关于b/s结构的web优化的文章,仅供大家参考。
随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进 行测试成为日益迫切的问题。有许多测试人员来信问我B/S的测试如何做,由于工作较繁忙, 对大家提出的问题也是头痛医头脚痛医脚,...
毕设前期参考文件~~~xml 供应链 web b/s 应用 基
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。 B/s是Brower/Server的缩写,客户机上...
C/S嵌入B/S方法.把 绘图程序 xxxx.dll (以下实例内容为Wsi.dll) 放置在 程序的根目录(即与web.config文件同级)
ASP.NET经典实例教程PDF,讲解了Web的基本工作原理,在B/S结构下的基本运行方式,同时介绍了.net框架结构和Asp.net的优点.
基于B/S的图书管理系统相关论文.《基于WEB的图书馆书刊管理系统》
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。开发C/S报表与B/S报表共享相同的...
三是数据进行压缩传输,比普通C/S结构的远程系统取代码要快100倍左右,比远程桌面方式的远程系统要快十倍左右,比传统的WEB版B/S结构程序要快15倍左右。 四是解决了WEB版的打印难题,是传统的B/S系统不能比拟的。 ...
简便、实用的b/s源码、版权保护系统,sn版根据机器硬件特征码生成授权文件、钥匙盘版绑定授权钥匙
B/S 三层体系架构,前台使用C# 技术,后台使用SQL Server2000 数据库,中间层使用Web Service 技术,文件内容 查询使用了全文检索技术,实现了高效的信息查询,并用水晶报表技术输出了满足各类用户需求的、不同格式...
使用该OCX控件可以让WEB应用像C/S模式的winform一样直接驱动本地打印机打印Bartender标签,无需上传标签模板,服务端也无需安装Bartender及打印驱动(详见包内使用说明和DEMO)
三是数据进行压缩传输,比普通C/S结构的远程系统取代码要快100倍左右,比远程桌面方式的远程系统要快十倍左右,比传统的WEB版B/S结构程序要快15倍左右。 四是解决了WEB版的打印难题,是传统的B/S系统不能比拟的。 ...