关于C/S B/S混合的系统结构问题,欢迎多多讨论

hoopertsau 2010-09-16 02:54:52
有一个场馆管理系统的项目,分三大块,有B/S的预约系统,有C/S计费系统,以及嵌入式终端系统。
由于项目前期并没有确定,需要开发一个B/S的前台预约系统,本想把这个系统放到虚拟主机上去,但是由于后面的C/S系统会用到B/S里面的数据,或者说应该用的是同一个数据库,最好应该是自己搭建一个主机,然后在上面放上数据库,我的B/S C/S的数据都放在上面,但是这样的投资会比较多一些。
但是不这样做,如果把B/S系统放到虚拟主机上,不知道在后期的C/S架构下能不能直接连接虚拟主机的数据库,这样的连接会不会出现不安全的隐患?
请各位给我一些建议,欢迎大家展开讨论,在投资、收益以及安全性方面给出一个较平衡的做法。谢谢!
...全文
328 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
abel_fly 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sp1234 的回复:]
其实你所问的问题的结症就在于你不知道客户端访问服务器的机制是什么,你担心只能通过自定义tcp协议或者其它什么途径,而不能通过http来访问虚拟机。这只要清楚在开发服务端时支持http,不管是web service、wcf还是底层的http访问(例如asp.net的ashx),都是可以的。当然,如果虚拟机支持自定义的tcp服务,或者http服务(.net支持自己开发HttpListener实例),那……
[/Quote]

这才是高人的指点,我非常赞同。
白斌 2010-09-21
  • 打赏
  • 举报
回复
1、B/S部分提供所有的业务逻辑,包括数据库的访问。
2、后面新加的C/S系统不用连接数据库直接通过调用B/S的WebService来访问数据库就可以了。
3、安全性可以使用带认证的WebService来保证。
haitao 2010-09-20
  • 打赏
  • 举报
回复
client/webserver
后台与b/s是同一个webserver里的应用服务程序,通信协议都是http(s),应用协议是INI(而不是wevservice的xml)
paual779 2010-09-20
  • 打赏
  • 举报
回复
综合考虑
1. B/S 系统与C/S系统独立部署,
2. 两者数据交互有很多方式, webService、数据库间的数据交互可使用中间数据库完成,方式方法要根据实际情况来定, 这方面的资料应该很多。
正如 7楼所说!
hoopertsau 2010-09-17
  • 打赏
  • 举报
回复
谢谢你!
你说的非常精彩,给我很大的启发。
我现在觉得用web service 是个很好的途径。

还有一个问题,我的嵌入式终端可能是比较低级的低性能的处理系统,甚至没有操作系统,用裸平台来实现的终端。这样的终端与远程的数据服务器之间的建立连接有什么好的机制?
如果在TCP上自定义传输协议,从而达到目的,这样肯定是可以的,但不知道有没有现成的更好的方式?
谢谢你!


[Quote=引用 6 楼 sp1234 的回复:]
引用楼主 hoopertsau 的回复:
但是不这样做,如果把B/S系统放到虚拟主机上,不知道在后期的C/S架构下能不能直接连接虚拟主机的数据库,这样的连接会不会出现不安全的隐患?


c/s客户端应用通过企业业务服务支持,而不是c/s数据库支持。例如最简单的:web service。
[/Quote]
  • 打赏
  • 举报
回复
其实你所问的问题的结症就在于你不知道客户端访问服务器的机制是什么,你担心只能通过自定义tcp协议或者其它什么途径,而不能通过http来访问虚拟机。这只要清楚在开发服务端时支持http,不管是web service、wcf还是底层的http访问(例如asp.net的ashx),都是可以的。当然,如果虚拟机支持自定义的tcp服务,或者http服务(.net支持自己开发HttpListener实例),那么你的问题其实就不会有可担心的。

唯一应该担心而你可能没有上路的大系统设计思路是:我对那种动不动就只知道从客户端使用c/s数据库客户端驱动来访问数据库的开发人员、开发方式不感冒。
  • 打赏
  • 举报
回复
[Quote=引用楼主 hoopertsau 的回复:]
但是不这样做,如果把B/S系统放到虚拟主机上,不知道在后期的C/S架构下能不能直接连接虚拟主机的数据库,这样的连接会不会出现不安全的隐患?
[/Quote]

c/s客户端应用通过企业业务服务支持,而不是c/s数据库支持。例如最简单的:web service。
hoopertsau 2010-09-16
  • 打赏
  • 举报
回复
你说的很有道理,从成本来考虑,如果把服务器放到自己家里,这个成本是不是大了点?
而且安全性可能没有虚拟主机做的好。
不知道有没有其他的解决方法?

[Quote=引用 2 楼 zenghd 的回复:]
虚拟主机是你们家的吗?如果不是,数据库可能不会直接连接到外网,只能通过别的方式访问
[/Quote]
hoopertsau 2010-09-16
  • 打赏
  • 举报
回复
你好,谢谢你的建议。
但是如何做到比较事实一点的同步呢?
这个中间数据库又如何与虚拟主机上的数据库同步呢?我是怕虚拟主机不支持这样的功能。

[Quote=引用 1 楼 hongmaohouzi 的回复:]
可以做一个中间数据库,bs与cs的数据库分开部署,通过中间数据库来同步,考虑安全性,可以做出物理隔离,做好必要的安全控制。
[/Quote]
ZengHD 2010-09-16
  • 打赏
  • 举报
回复
虚拟主机是你们家的吗?如果不是,数据库可能不会直接连接到外网,只能通过别的方式访问
hongmaohouzi 2010-09-16
  • 打赏
  • 举报
回复
可以做一个中间数据库,bs与cs的数据库分开部署,通过中间数据库来同步,考虑安全性,可以做出物理隔离,做好必要的安全控制。

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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