bs cs混合结构,客户端如何取到数据库的数据

shijieming 2018-11-28 01:17:24
一般这样的项目,客户端是直接用sql去数据库增删改查还是通过部署在服务器端的程序进行中转?其实我觉得直接调sql很方便,之前也一直是这么做的,但不知道行业内一般局域网客户端到底哪种方式更常用,优点又是什么?
...全文
239 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
别去纠结什么概念,WebService我用着挺好啊,能用就行。
用了 WebAPI 也没觉得比 WebService 好哪里去啊。 在我的应用场景来说。 WebService足够应付,面向接口开发就行了。哪儿那么多事儿啊。
wc19840730 2018-12-03
  • 打赏
  • 举报
回复
引用 9 楼 吉普赛的歌 的回复:
[quote=引用 8 楼 likelinsiyuan 的回复:]
[quote=引用 5 楼 吉普赛的歌 的回复:]
混合, 就意味着必须统一数据访问机制, 为了兼容, 只能采用访问接口的形式。
当然, 这并不麻烦, web api、ashx、web service(不推荐) 都可以做到。

好处是只需要写一套数据访问的接口即可。
比较麻烦的方面是用户认证这一块需要做好。
如果不是特别要紧的数据, 也可以不做登录, 采用对称加密传输,客户端再解密。

大佬,请问为什么web service(不推荐) 呢?[/quote]

web service 比较重量级, 用起来也比较麻烦, 现在用得少了。
如果你只会这个, 用用也无妨吧。[/quote]

我目前外面的对接接口的都是WEB SERVICE。虽然重,但是比较标准啊~~~说出来也不用过多的沟通接口标准,两头都不用讨论。

其他接口两边调试从来都没有一次调通过的,文档写出来一大堆一大堆的,没文档都不知道什么意思。
xuzuning 2018-12-03
  • 打赏
  • 举报
回复
首先你的搞清楚什么是 B/S 和 C/S
S(Server) 是服务端,B(Browse) 和 C(Client) 是客户端
B/S 和 C/S 的唯一区别就在于 B/S 使用了通用的浏览器作为客户端

在这些架构中,客户端都不是直接访问数据库的,那种从 C 直接访问数据库的架构是 文件共享架构,而不是 C/S!虽然被很多人忽悠成了 C/S
其实从浏览器(IE)也是可以直接访问数据库的,微软程之为 DAO
只是因为安全问题而欧洲厂商的不支持,而逐渐淡化了而已

总之 B/S 和 C/S 并无本质的区别,所以讨论到此结束
stevenjin 2018-12-03
  • 打赏
  • 举报
回复
CS和前端都调用web api
  • 打赏
  • 举报
回复
web service 是上个世纪末流行的东西,基于 xml 序列化机制,基于 SOAP 等,但是更重要地是它要建立一套标准的服务发现、服务定义、服务自组织的声明语言。几个美国大公司想一通天下。 然后到了2006年左右,世界上流行起来轻量级的东西了,使用 json序列化机制,反 RPC 机制,不主张去注册和写死什么服务声明语言。实际上简单地东西就够了。就不纠结这些了。比如说任何人用网页上 jquey.post(url, data, function (result){....}) 就能调用这种开放的服务,而不是搞什么 webservice 声明语言。
吉普赛的歌 2018-12-03
  • 打赏
  • 举报
回复
引用 8 楼 likelinsiyuan 的回复:
[quote=引用 5 楼 吉普赛的歌 的回复:] 混合, 就意味着必须统一数据访问机制, 为了兼容, 只能采用访问接口的形式。 当然, 这并不麻烦, web api、ashx、web service(不推荐) 都可以做到。 好处是只需要写一套数据访问的接口即可。 比较麻烦的方面是用户认证这一块需要做好。 如果不是特别要紧的数据, 也可以不做登录, 采用对称加密传输,客户端再解密。
大佬,请问为什么web service(不推荐) 呢?[/quote] web service 比较重量级, 用起来也比较麻烦, 现在用得少了。 如果你只会这个, 用用也无妨吧。
  • 打赏
  • 举报
回复
引用 5 楼 吉普赛的歌 的回复:
混合, 就意味着必须统一数据访问机制, 为了兼容, 只能采用访问接口的形式。
当然, 这并不麻烦, web api、ashx、web service(不推荐) 都可以做到。

好处是只需要写一套数据访问的接口即可。
比较麻烦的方面是用户认证这一块需要做好。
如果不是特别要紧的数据, 也可以不做登录, 采用对称加密传输,客户端再解密。

大佬,请问为什么web service(不推荐) 呢?
bbjiabcd 2018-12-03
  • 打赏
  • 举报
回复
B/S C/S混合结构,那么其中的C/S应该有个应用服务端,然后从应用服务端连接数据库。 如果从客户端直接连接数据库,那么连接字符串中的用户名、密码、数据库地址可能暴露给客户,这不利于数据库的安全。
  • 打赏
  • 举报
回复
比如说就算是个小公司,你的“小”老板也许某天看到某个支付红包分销软件很好,让你用1周时间仿制一个出来,那么你打算让几千、甚至可能上万用户从他们那里用一个账号密码就“增删改查”你们服务器上的资金数据库吗?而且你们的网络架构就真的不会有重构、SOA扩展、各种的专业的服务端概念相关设计等等,而只是一帮客户端程序来远程访问一个数据库吗? 这里可以说,许多人工作了20年,跟一个工作1年的程序员的知识差不多,唯一多的也许只是经过10几年从互联网、别人那里抄来了一些源代码。而说的各种架构,等动手开发时手下真正能出产品的,不过只是小办公室OA。 要避免这类情况,你就从对外公开的服务协议入手。你给几十个软件商开放一套协议并实现接入网关api,而你重构和水平扩展服务器集群的架构。真正的 IT 生存之道在于创立一套网络,而你做的最初的客户端软件将来都能送给第三方开放商。
吉普赛的歌 2018-11-28
  • 打赏
  • 举报
回复
混合, 就意味着必须统一数据访问机制, 为了兼容, 只能采用访问接口的形式。 当然, 这并不麻烦, web api、ashx、web service(不推荐) 都可以做到。 好处是只需要写一套数据访问的接口即可。 比较麻烦的方面是用户认证这一块需要做好。 如果不是特别要紧的数据, 也可以不做登录, 采用对称加密传输,客户端再解密。
xian_wwq 2018-11-28
  • 打赏
  • 举报
回复
混合架构,
除非对性能有特定要求
感觉使用webservice好些,
这样后台处理逻辑一样
  • 打赏
  • 举报
回复
我们很多软件,传统的 OA 软件,或者最近几年从网上胡乱下载什么电商软件,其实很容易糊弄那些只有3、4个无经验的数据录入员的用户单位。 如果你真给大用户做软件,就别糊弄。 就设计专业的网络架构!
  • 打赏
  • 举报
回复
好比如说一个人嘴上说自己要学习成为建筑师,结果其建筑设计思路跟一个只会用砖头垒鸡窝的小孩的上限知识是一样的,只知道刚学垒石头的那点东西,自然不行。
  • 打赏
  • 举报
回复
做网络软件,比如说一个手机,它怎么知道电信运营商的数据库是什么、有没有、有几个、在哪里?它就是访问电信运营商的接入网关,跟服务打交道。 这是架设网络的基本概念。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧