关于多层分布式系统技术层次的探讨,望大家都来看看啊!在此先行谢谢了!!!(200分)

F

fjw

Unregistered / Unconfirmed
GUEST, unregistred user!
我们准备做一个多层分布式系统,在具体的设计上陷入困扰,希望大家能多多帮助我!谢谢。
看了相关的书,知道用Delphi做分布式多层可以有以下技术:
数据库为MS SQL Server 2000, 中间层用COM+
1、客户端直接用CreateRemote(服务器名)来创建中间层服务器实例(使用RPC)。
2、客房端通过DComConnection连接中间层服务器(使用DCOM协议)。
3、服务器端再加一个WebService层,客户端通过HTTP协议访问服务器的IIS层。
4、还有一个技术Midas(DataSnap),但配置DCom对用户来说太麻烦了。
困扰:a、采取第1、2种方法做时服务端的配置比较烦琐,必须配置客户访问许可权限(如Guest帐户并设密码为空或新建一个与客户机相同名称的帐号),否则总是出现“Interface not Support”。
b、采取第1、2种方法时客户端必须注册相关的服务组件(安装Com+客户包或注册TLB文件),实际上这一个问题也不是问题,只是比较麻烦。
c、采取第3种方法,在编程时又得多写一层ISAPI程序,是不是比较麻烦,但相对于第1、2种方法在客户使用时却比较简单,因为使用HTTP协议连接,所以服务端不需要什么连接权限,只需要设置好IIS就好了。但Win2000的IIS却非常脆弱,所以维护量却比较大。
d、这几种技术,到底哪一种方法的速度,效率更快呢?还请大家多多地帮助俺啊!
在此先谢谢各位了!!!!!!
当然还有一种技术:采用Corba,但它的使用却是需要授权使用的,所以先不考虑了!
 
你的系统是局域网还是internet上使用,如果是局域网用主域控制器的域用户管理
就可以避免DCOM在配置上的一些麻烦了。
 
可以使用socketconnection来连接应用服务器啊
 
用第二种的话,把DComConnection改为SocketConnection;能解决身份验证的问题,只是服务端要启动一个Socket服务,客户端使用方法与DComConnection没有区别
 
还不如用 ASP+ COM+(ASP对象+MTS对象)
 
谢谢大家的帮助。
说明一点:我们的软件是运行在一个广域网上的,服务器分为三层:省市县三级服务器,但网速还是挺快的。用SocktConnection是好,但服务端却还要启动一个附加软件,感觉很不好。
用ASP如何做成C/S结构呢?况且有此业务功能不好实现(如客户端登录到省级服务器请求全省的汇总数据,这时省级服务器要从各个县市服务器中汇总数据后传给客户端)。
 
如果服务端不想启动一个附加软件,可以象我那样,把scktsrv.exe
和你的程序合到一起,不就行了
 
而且SocketConnection还支持对象回调,服务器端可以回调客户端的对象
 
lich:你好,把scktsrv.exe怎么合并到一起啊,可以说说原理吗?或者把你的示例程序发给俺也行啊,在此先行谢谢了!
我的信箱:fjwzd@163.com
 
我的应用类似于楼主的。。。我也很想知道好的解决方案是怎样的。。。
我加200分求答案。
 
既然是广域网,为什么不用 Web Service,Saop 通过 Http不怕防火墙.
 
我们以前有个应用就是用WebService,Soap做的,但应用起来时维护量太大了。最主要的是速度不是太快,太多的客户端能不能支持,好多高手说这种技术不太成熟,我现在真不知用什么技术好一点了。还请各位GGJJ们多多指教啊!
 
如果是做這種程序.我建議采用ASP.NET
不在呼計算機的好壞,486也沒有所謂,只要能上網就行!
在我的思想里,如果是C/S的數據庫編寫,DELPHI真的是省寫好多代碼!
但是開發這種多層應用系統,除了在WEB上下功夫外還要考濾計算機的性能,但是不能排除現在公司(包括分公司)里所有的計算機都是686.像我們現在的規模,180多台計算機,就有40%的是以前香港不要的又拿到大鹿來,是486機,這樣,ASP.NET的優勢就發揮了!
 
ASP.net 行吗?那我又得学.net了,其实我挺想继续用Delphi的,因为我真的好喜欢它。
 
是呀,用ASP.NET实现不难的,而且也可以调用COM+的,你可以用DELPHI写COM+
 
其实,最好的办法还是用DELPHI来做这样的结构的系统:
1、COM+对象连接数据库
2、WEBSERVICE找COM+对象取数据
3、客户端通过WEB SERVICE连接到服务器取数据。
这样的系统绝对可以支持巨多人的访问的。效率很高的。
 
paplayer:
你好,我们以前也是采取这种方法做的,但我感觉层次太多了,是不是速度有些影响啊,但这样做有一个好处,那就是通过HTTP协议可以突破防火墙,这是它的优点,但也有一个很大的BUG,如我们通过它传送一个稍大一点的文件,如128K的话,那么就得好长时间,不知是不是我们设计的问题,还请你多多指点一二,不知你有没有这方面的源码,我的信箱:fjwzd@163.com,在此先行谢谢啦!
 
用web service主要是感觉传送效率低...不知borland的janeva是否能解决这个问题
不过,如果用delphi来写web service的话,数据库操作可以直接在web service上实现,加多个com+好像更影响效率和增加维护难度
 
顶一下可以吗?
 
顶部