请问C/S架构的概念,跟B/S架构的关键区别(请具体说明)

Agemo 2002-04-26 09:37:49
如果是一个非单机版的数据库软件,客户端的应用程序和服务器端的数据库如何连接起来的?用 vc开发实现,服务器平台为windows 2000,所用dbms为microsoft sql sever 2000. 希望各路英雄帮忙解释。(访问接口为ole db)
...全文
207 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Agemo 2002-04-26
  • 打赏
  • 举报
回复
也就是说,你们所谓的中间那层的逻辑究竟是些什么?我缺的是实践经验,不是理论,理论我都知道一点。你们说了,就等于没说。我需要的回答要明确,就像tianlinyi(笨蛋) 的第2次回答,就符合我的要求
Agemo 2002-04-26
  • 打赏
  • 举报
回复
这个我也知道,不过觉得太空洞了,这种话我看得听得都多了。这样吧换句话说,也就是对数据库的一些操作和功能,将它划分开来,说明一下那些应该放在中间。
当然我需要的只是一个例子,让我有个参考,对于具体问题(即具体数据库应用)我会自己在重新定位的
chinawen 2002-04-26
  • 打赏
  • 举报
回复
free_free的意思应该是说:将相关的访问逻辑集中在服务器端,以COM/DCOM/COM+ 的形势来实现,只要是访问逻辑实现了,不管是B/S还是C/S都可以轻而易举的完成,B/S、C/S只不过是体现的形势不同罢了。
tianlinyi 2002-04-26
  • 打赏
  • 举报
回复
多给我点阿
楼上的兄弟们别砍我阿~~~
Agemo 2002-04-26
  • 打赏
  • 举报
回复
to free_free(free_free):能不能具体说说这个结构,就是在com/dcom/com+着一层应该具体实现一些什么操作和功能?
free_free 2002-04-26
  • 打赏
  • 举报
回复
建议用如下结构
|--------------|
| DBMS |
| | |----->SERVER
|COM/DCOM/COM+ |
|--------------|
/ \
/ \
B C
Agemo 2002-04-26
  • 打赏
  • 举报
回复
怎么先给分?
而不结贴?
toxyboy 2002-04-26
  • 打赏
  • 举报
回复
Good talk!
你帮我道出了我的想法!
I See!
tianlinyi 2002-04-26
  • 打赏
  • 举报
回复
在client端设置数据源的时候进行client配置
把原来的pipe改为tcp/ip,然后填写服务器名和服务器的ip地址
然后在程序重链接数据源就可以了
tianlinyi 2002-04-26
  • 打赏
  • 举报
回复
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。

  B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,microsoft.net也是在这样一种背景下被提出来的架构,但微软的方案只是一种构想,要成为现实还需要几年,而JAVA技术已经是很成熟的应用了。

  目前大多数应用软件系统都是Client/Server形式的两层结构,现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,Web和Client/Server 应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。


  管理软件的主流技术与管理思想一样,也经历了三个发展时期:界面技术从DOS字符界面,到Windows图形界面(或图形用户界面GUI),直至今天的Browser浏览器界面。最新浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其界面风格一致,用户对操作培训的要求大为下降,软件可操作性增强;平台体系结构也从单机单用户发展到文件/服务器(F/S)体系,再到客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。

  传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;B/S结构则不同,它的前端是以TCP/IP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本(TCO)。

  越来越厚的使用说明书和越来越花时间的培训,并不能称为"良好的售后服务",真正好的产品在功能越来越复杂的同时应该使产品的使用越来越简单,使用浏览器作为软件界面不但容易统一各种应用系统,也非常便于使用。在工作节奏越来越紧张的今天调集大批的职员进行培训是很困难的,时间和人力都难以集中,浏览器这种易于使用几乎不需要培训的方式是最好的选择。

维护和升级方式的革命-瘦客户机
  软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。
  一个稍微大一点单位来说,系统管理人员如果需要在几百甚至几千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越"瘦"而服务器越来越"胖"是将来软件的主流发展方向,这使得升级和维护越来越容易而使用越来越简单。

成本降低,选择更多
  很明显windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统,windows并没有这种绝对的统治地位,而现在的趋势是应用软件都变成B/S架构的,只安装在服务器上,所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统的情况不受影响,这就使的很多免费的操作系统如现在最流行的Linux得以快速发展,除了操作系统是免费的以外,连数据库也是免费的,这样的选择非常流行。

  比如说很多人每天上新浪网,只要安装了浏览器就可以了,并不需要了解新浪的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
中国政府处于安全和国家战略的考虑希望有自己的操作系统,而在桌面领域任何一种操作系统都难以和windows抗衡, 

  Linux的出现使这种想法变成了现实,由于Linux是免费产品,源代码也是公开的,中国出现很多开发Linux的力量,国家大力推动Linux,政府机关处于安全的考虑会越来越多使用Linux,从国内软件市场的销售来看Linux也是基本上每个月都是排名第一的产品。


  传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在JAVA这样的跨平台语言出现之后B/S架构更是飞快地普及起来了。

面向电子商务时代的技术
  将来所有的应用系统几乎都在互联网上运行,企业发展电子商务也是不可避免的,而B/S架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。

移动办公
☆ 在办公室内移动的时候可以使用任何一台电脑办公,而传统的OA是每台电脑对应指定的用户,别的用户不能使用该电脑,而且还需要安装调试软件,相当不方便。
☆ 回家或离开办公室或出差到其他地方只要有可以上网的电脑也可以使用办公系统。
☆ 分公司可以通过互联网、专线、电话网等连接使用资源共享,协同办公。

系统整合
  无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择。

目前B/S模式下最好的选择---JAVA技术
  现在出现的Microsoft.NET也是模仿JAVA的思路,Microsoft.NET的蓝图与Java十分相似,目前还只是一个框架,还需要几年才能成熟,而JAVA已经是应用十分普及的技术了。
Agemo 2002-04-26
  • 打赏
  • 举报
回复
主题和内容都问
wzxypq 2002-04-26
  • 打赏
  • 举报
回复
到底问什么
Agemo 2002-04-26
  • 打赏
  • 举报
回复
谢谢 free_free(free_free)
free_free 2002-04-26
  • 打赏
  • 举报
回复
举个简单的例子:
如果想要实现一个数据检索操作,C/B端输入查询的条件给COM,COM传回记录集,C/B端 在把记录集在显示出来:

例:
interface IDBManager : IDispatch
{
[id(1), helpstring("method Query")]
HRESULT Query([out,retval] IDispatch **pRs);
};
STDMETHODIMP CDBManager::Query(IDispatch **pRs)
{
// TODO: Add your implementation code here
HRESULT hr;
_ConnectionPtr con;
_CommandPtr command;
con.CreateInstance(__uuidof(Connection));
con->CursorLocation = adUseClient;
_bstr_t ConStr("DSN=mydate;UID=;PWD=");
hr = con->Open(ConStr,L"",L"",-1);
command.CreateInstance(__uuidof(Command));
command->ActiveConnection = con;
command->CommandText = "select * from student";
command->CommandType=adCmdText;
_RecordsetPtr rsTemp (__uuidof(Recordset));
rsTemp = command->Execute(NULL,NULL,adCmdUnknown);
*pRs = (IDispatch *) rsTemp;
return S_OK;
}


Kevin_C_K 2002-04-26
  • 打赏
  • 举报
回复
B/S的三层结构:MIS =ASP+MTS+DATABASE
tianlinyi 2002-04-26
  • 打赏
  • 举报
回复
其实中间层只是一种逻辑的概念
client-中间层-server
客户端程序发送你想进行处理的数据和方法,通过中间层发送到server,进行后台的数据处理,然后server进行处理后经过中间层转化成client可以识别的消息,发送到client端
所以你编程序一般做server和client,中间层有用户代理完成
比如通过web浏览器(asp)提交对数据库的处理请求,---中间层(请求)---server(数据处理)---中间层(应答)----浏览器显示

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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