最近做的这个项目,是一个外线管理系统。
外线人员使用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混搭的系统
分享到:
相关推荐
总结起来,C/S和B/S架构分别代表了本地应用和Web应用的两种典型模型,而分层和多层架构则提供了系统设计的组织原则,帮助我们构建灵活、可维护的大型软件系统。理解并熟练运用这些知识点,对于任何IT从业者来说都是...
标题和描述中提到的知识点主要聚焦于信息系统架构中的两种主流模型——C/S(Client/Server,客户端/服务器)和B/S(Browser/Server,浏览器/服务器)。这两种模型各有优势,适用于不同的场景,以下是对这些知识点的...
### 浅论C/S和B/S体系结构:深入解析与对比 #### 一、引言:信息技术的演变与体系结构的重要性 在信息技术日新月异的当下,C/S(Client/Server,客户机/服务器)和B/S(Browser/Server,浏览器/服务器)体系结构...
三层架构是一种常见的软件设计模式,尤其在B/S(Browser/Server)和C/S(Client/Server)架构中广泛应用。这种架构将应用分为三个主要部分:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和...
C/S(Client/Server)结构和B/S(Browser/Server)结构是两种常见的软件系统架构,它们在多个方面有着显著的差异。 首先,C/S结构是基于局域网的,通常用于内部网络环境,其中客户端(Client)负责用户界面和部分...
B/S(Browser/Server)架构是一种基于浏览器和服务器之间的交互模式,它随着互联网技术的发展而兴起,并被视为是对传统的C/S(Client/Server)架构的一种改进或变化。在B/S架构中,用户通过Web浏览器与服务器进行...
在信息技术的迅猛发展中,C/S(客户端/服务器)和B/S(浏览器/服务器)架构作为两种主流的软件设计模式,各自承载着独特的价值和应用场景。本文旨在深入探讨这两种架构的特点、优缺点以及它们在当前信息化社会中的...
为将Internet通信和嵌入式系统结合起来,设计了一款基于C/S和B/S结构相结合的嵌入式Web服务器。选用DS80C400作为主控芯片完成硬件设计,采用Java技术完成应用软件设计,并以西门子PLC作为现场设备通过以太网完成了对...
C# B/S(Browser/Server)和C/S(Client/Server)模式是两种常见的软件架构,它们在开发派车系统时各具特点和优势。C# B/S 派车系统主要基于Web浏览器,用户通过网页进行操作,而C/S模式则需要安装客户端软件。 1. ...
### B/S与C/S框架的区别 #### 一、概述 在信息技术领域中,B/S(Browser/Server,浏览器/服务器)架构与C/S(Client/Server,客户端/服务器)架构是两种非常重要的软件系统设计模式。这两种模式在实际应用中各有...
### C/S与B/S结构的区别 #### 一、概述 C/S(Client/Server)结构与B/S(Browser/Server)结构是两种常见的计算机网络应用程序架构模式。这两种模式各有优势和局限性,在不同的应用场景中有着各自的特点。 #### 二、C...
### C/S与B/S并用的高校教务管理系统研究与设计 #### 一、引言 随着信息技术的快速发展,特别是互联网技术的普及,各种计算模式也在不断地演变和发展。其中,客户端/服务器(Client/Server,简称C/S)模式与浏览器/...
### C/S与B/S的区别 ...综上所述,C/S架构和B/S架构各有优势,在选择时需根据具体的应用场景和需求来决定最适合的架构方式。随着技术的发展,两种架构也在不断地融合和发展,以适应更多样化的业务需求。
### PB11将C/S转换为B/S方法详解 #### 一、背景介绍 随着互联网技术的迅速发展,客户端/服务器(C/S)架构逐渐被浏览器/服务器(B/S)架构所取代。对于使用PowerBuilder(简称PB)进行开发的企业来说,如何高效地将...
在实现方面,***是Microsoft公司推出的一个用于构建Web应用程序的.NET框架,它包含了一系列开发工具和库,非常适合于开发B/S模式的Web应用程序。数据库方面,SQL Server是微软公司提供的关系数据库管理系统,它能与*...
在当前的软件开发领域中,客户端/服务器(Client/Server, C/S)架构和浏览器/服务器(Browser/Server, B/S)架构都是常见的应用部署方式。这两种架构各有优势,如何将它们有效地结合起来,成为了一个重要的研究方向。...
### B/S和C/S详解:理解两种架构的精髓 #### B/S架构:互联网时代的产物 B/S架构,即Browser/Server架构,是伴随着Internet技术的兴起而发展起来的一种新型架构模式,它改变了传统的C/S(Client/Server)架构中...
本压缩包“C#100例包含C/S B/S”是针对C#编程的学习资源,其中包含了100个不同的示例代码,涵盖了C/S(客户端/服务器)和B/S(浏览器/服务器)两种架构模式。 C/S架构是一种传统的两层架构,主要由客户端应用程序和...