求救:三层到底是怎么回事?
服务端:winnt+oracle(server)
客户端:win98+oracle(client)
客户端通过拔号连接服务端。
开发环境:Dephi6.0+win98
问:
1.考虑到网络速度慢,是不是应该使用三层结构?
2.三层结构中有两部分。一部分是服务端,一部分是客户端吗?如果是,两端的程序各如何建立?我从来没做过三层,只做一个简单的数据库程序在客户端,通过ADO向服务端读取的修改数据。
3.我按书上写的,先建立一个工程组,然后加入一个 Remote Data Moudle ,加入相关控件(三个)然后就编译运行那个程序,叫做服务端。再在工程组中另建一个程序,做为客户端,可是如此一来岂不服务端和客户端在同一台机器上?
4.我在向服务端取数据的时候,有AdoQuery,有参数的,有怎样向服务端传递呢?
5.越详细越好,分会给足的,再说相信各位会帮小弟一把,而不仅是冲着分来的。
问题点数:100、回复次数:24Top
1 楼dschebei(风之琴)回复于 2003-06-04 08:21:39 得分 10
自己看李维的那几本书吧Top
2 楼XZHHAI(星之瀚海)回复于 2003-06-04 08:25:35 得分 20
客户端一般与用户交互
中间层一般封装业务规则
服务器存储数据和进行数据分析(大批量的)
三层是指逻辑上的概念,也可以分布在多台机子上,有多个并行的中间层Top
3 楼yzykjh(言子儿)回复于 2003-06-04 08:26:06 得分 20
数据库服务器+应用程序服务器+客户机Top
4 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 09:10:53 得分 0
详细一点呀。
李维的书我这里没得卖呀。Top
5 楼hansion3406(阿木㊣拖鞋男)回复于 2003-06-04 09:18:27 得分 20
呵呵..不懂N TierTop
6 楼ihihonline(潇潇->戒烟)回复于 2003-06-04 10:04:09 得分 0
走,咱们到聊天室里,我给你说几天几夜?Top
7 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 10:19:42 得分 0
ihihonline(小小->沉沦中..........)
不必了,我也没几天几夜时间聊呀。
随便说一些,只要能做一个能从服务端取数据回来的东西就行,我会想办法扩充的。Top
8 楼firetoucher(风焱)回复于 2003-06-04 10:45:04 得分 20
1 有必要做成三层么?你有几台客户机啊?
2 三层顾名思义,有三块:数据库服务器/应用服务器/客户端,如何建立....(作者在此省去1000000000000000000000万字)
3 按你的条件和应用似乎只能这样
4 用parameters,查看以前的帖子
5 再详细,我自己就写书了:)
Top
9 楼tpmao(想飞的猫)回复于 2003-06-04 11:01:34 得分 10
少了应用服务器环节!!!!!!!
所谓三层,是指为了减少服务器端的压力,和程序的健壮性,在两层结构的中间添加了一个应用服务程序,这样,所有的客户端的需求都要通过服务程序的解释来递交给服务器,这样服务器的一些分析处理的任务就大大的减轻,系统的整体效率就会大幅度提高!!
你可以把中间层看作是客户代表,它负责统计客户所需要的数据,然后在通知生产厂商生产响应的数据.其次三层的应用还可以达到THIN CLIENT的目的。Top
10 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 12:40:40 得分 0
原理偶清楚,就是把一个服务端程序放在跟数据库同一台机器上,然后一些其它计算机上的客户程序向服务器上那个服务程序发送请求,要查询一些数据,服务程序直接查询数据库,然后将查询好的数据集再返回给客户程序。如此则大量的数据查询只在服务端,而客户得到的只有它想要的,网络流量减少,速度提升。
可是我要怎么做才能做出一个最简单的模型来?Top
11 楼myling(不理你)回复于 2003-06-04 12:47:20 得分 0
一个最简单的模型?
应用层 Remote Data Moudle +DataSetProvider1 + ADO
客户端 DCOMConnection + ClientDataSet
加上数据库服务器 把属性一连 ,搞定
Top
12 楼KJ_Wang(Java Every Day)回复于 2003-06-04 12:48:28 得分 0
DatabaseServer+ApplicationServer+Client=ThreeTop
13 楼tlbdg(铁路扳道工)回复于 2003-06-04 12:54:20 得分 0
我觉得三层和多层结构中,应用程序服务器是最重要的!!
另外,数据库一定要单独作一层啦!!Top
14 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 13:01:05 得分 0
我要知道详细的操作方法,我想知道程序是怎样生成的。都放在哪端(服务器 or 客户机)?Top
15 楼delphimo((误入歧途))回复于 2003-06-04 13:01:28 得分 0
去看看midas的专题Top
16 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 14:12:20 得分 0
KTop
17 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-04 22:57:37 得分 0
怎么?没人帮我?Top
18 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-05 07:45:23 得分 0
帮忙呀老大。Top
19 楼microjuz(天才弟弟……》说好了和xgto看流星雨)回复于 2003-06-05 11:00:24 得分 0
三层只是逻辑上的,通常做到项目我看没人会只做三层,要不就干脆作成c/s结构了
看你怎么理解了,例如你的第三个问题,你试一下分开两个机子不就可以了吗,使用不同的连接协议都试试:)
网络速度慢的话,你说传参数到服务器端是对的,具体怎么传看你的应用服务器怎么封装了:)
--------这么多大虾偶不好意思胡扯阿,kekeTop
20 楼selfboss(黃海)回复于 2003-06-05 11:33:57 得分 0
upTop
21 楼hiflower(花)回复于 2003-06-05 12:21:26 得分 0
example:
Server:
1。新建一个应用程序。
2. 添加一个数据模块,Multitier里的Remote Data Module
3。在数据模块上放一个 Query 组件,一个 DatasetProvider 组件
4。将 DatasetProvider 组件的 DataSet 属性设置为那个 Query 组件。
5。设置 DatasetProvicer 的Options 属性,把 AllowCommandText 设置为 True。
Client:
1。新建一个应用程序(可以在网络的另一台计算机上)
2。添加一个普通数据模块
3。在数据模块上放一个 ClientDataset 组件,一个 SocketConnection 组件
4。设置好 Socketconnection 组件的相关属性
5。将 ClientDataSet 组件的 RemoteServer 属性设置为该 SocketConnection 组件
6。设置 ClientDataSet 组件的 Provider 属性(只要从下拉框中选择 Server 应用程序中放置的 DataSetProvider 的名称就可以了)
7。在主窗体中放一个 DataSource 组件,一个 DBGrid 组件。
8。将 DataSource 组件的 Dataset 属性设置为该 ClientDataSet 组件
9。将 DBGrid 组件的 DataSource 属性设置为该 DataSource 组件
10。在 ClientDataSet 的 CommandText 属性中写 SQL 语句,可带参数,由 ClientDataset.Params.ParamByName() 来提供参数。
其它的,你应该会了。
运行 SocktSrvr.exe、Server 应用程序、Client 应用程序
Top
22 楼qufo(鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒鎴戞兂娴嬭瘯涓€涓嬫樀绉板埌澶氬皯闀挎槸鏈€闀匡紒)回复于 2003-06-09 00:43:32 得分 0
upTop
23 楼nnwq(乖仔)回复于 2003-06-14 17:15:47 得分 0
upTop
24 楼older(井底蛙同样可以向往大海)回复于 2003-06-14 23:21:02 得分 0
三层包括:应用层(客户端)、中间层(应用服务器),服务器
还是下载一本李维的MIDAS/ADO书看看吧Top




