MTS/COM+问题: 如何避免远程客户端安装/升级MTS/COM+的代理,有没有解决方案?(300分)

W

wen

Unregistered / Unconfirmed
GUEST, unregistred user!
1 可以安装一次,但不能每次APPSERVER升级,如加入新的组件或方法都要升级客户端.
2 客户端用activeX Form+html界面,又要与APPSERVER上组件通讯,
有没有办法避免在客户端安装Proxy,或有什幺变通方法 ??
3 有没有可能自己写程序实现代理??
(想给500,但只支持300分,没办法)
请各位大侠多多指教.
 
我想不好办,但你可以做成升级包啊!
 
做升级包吧.
 
我手上有一erp產品,確實只要安裝一次,其後該系統做過幾次大變更都不要再安裝客戶端了.
運行方式是:activeX/html/asp/crystal report+mts+sql server7.0(不是大陸寫的)
應該可以實現的.(模擬代理過程??)
 
再加入一层WebService,客户端访问WebService,WebService通过proxy访问COM+服务。COM+组件访问DataBase。
所有的都在你的服务端控制,升级,只需要加入Web服务器,不需要客户端参与。
WebService中的服务只需要和COM+中服务形式一样就行,只为进行数据转发,避免客户端分发COM+proxy。
(好像和WebService的原意不大符 :-))
不过不知道你的数据量如何?太大的话速度成问题。
 
客户端直接用Httprio取相应的web服务接口调用服务就行了。
就和调用COM+组件服务差不多。
工作量是肯定要增加的,不过只是经过WebService转接数据,接口函数定义和和COM+组件
提供的方法相同就行了,在里面调用COM+组件服务,转接参数。
倒是速度是个问题,不知道你数据量大不大?
 
to GanQuan:
我正在着手做一个基于WEB的三层系统,要求从数据库读出数据后能在浏览器上绘出曲线图,
数据量比较大,大概每次要传上万条记录吧,我也打算应用MTS/COM+中间件在实现业务逻辑,
不知这样系统的效率如何?不知你有何高见。盼望你的答复,有时间可以请教你吗?
我的QQ:79097161。zyq_helen@21cn.com.
 
GanQuan:
目標是建一強固的web版erp系統.
數據量會比較大的,站點分佈廣(國內國外都有,主要業務集中一地).但應該沒關系,
基本上都有專線,沒有拉一條也不是問題,服務器端要求是否比較高??
我對WebService及websnap方面了解得不多,能否提供點資料及示例給我?非常感謝!
email:wen@ceccoils.com
 
to zyqhelen:
我没有做过那么大数据量的系统,也不知道具体效率如何,让你失望了。
还要考虑你的客户端有多少,大量数据传递最好配合MIDAS。最好不要仓促动手,
要根据你的实际情况模拟一些试验,找出效率最好的方案。
坛子里高手很多,你可以另开帖征集方案。
to wen:
有专线,那不相当是局域网,你真幸福!:-)
WebService:你会发现用Delphi很简单
http://www.51delphi.com/showwz.asp?no=1
还有看看yysun的解释,很有启发
http://www.delphibbs.com/delphibbs/dispq.asp?lid=595773
WebSnap:
http://delphi.mychangshu.com/dispdoc.asp?id=301
 
wen,你又来钻牛角尖了。不管是在COM+还是在J2EE里面,客户端和服务器端之间的
Interface的稳定是最先要考虑的。如果你的客户端和服务器端之间的接口经常需要
变更的话,你就得考虑你的设计是否合理了。你手上的erp產品可以在加入其他MTS
组件时不用变更你的客户端,这本身就说明了它在设计时就已经考虑了这方面问题。
只要你不把追加的MTS组件的接口暴露给客户端,你的客户端就不用改。我觉的你更
应该在你的系统架构上下功夫,而不只是去绕过proxy/stub的问题。即使你用webservice
你也一样会有其他的问题的。不过呢,我可以告诉你,你可以用late binding的方法
来绕过proxy的问题,但是在编程时会稍微比较痛苦。你得用Invoke来调用你的方法。
 
sorry,我说错了,late binding只能使你编译时不用注册你的组件,运行时还是要用到。
 
GanQuan:
1 我在試做一個WebService時,不能啟動server界面,也不能產生wsdl文件
如下: http://localHost/soap/soaptest.exe/wsdl
在客戶端設置:url=http://localHost/soap/soaptest.exe/wsdl
執行時死在那里,請問為什麼?
2 是不是每一客戶端執行後,都會啟動一WebService實例??
能否給我一個例子??
多謝!

 
上面1)的問題已經解決;也不用例子了.
===================================
從開發電腦移webservice(.dll)到別的服務器時,是否要安裝什麼dll,
在開發電腦運得好好的,在新的服務器上能產生wsdl,但在跑接口方法時,產生如下錯誤;
"服務器傳回不正確或無法識別的回應"
請問為什么??
 
不需要什么特殊的Dll,它底层使用wininet.dll,是windows的。
你的接口参数使用的什么类型?
服务有什么特别的地方吗?
 
有關連接問題基本搞定,是mts的問題引起.
多謝各位,特別是:GanQuan,Hongjiang,
=================================
現在是webservice的效率問題:
1)最多支持多少客戶端訪問?webservice服務的穩定性,那位能提供點資料.
2)現階段有沒有那個大系統是用soap搞定的?
 
1.我想客户端数量应该不是问题,实际就是HTTP访问吗! 如果你的访问量实在太大还可以做负载平衡。
实际上开发的就是ISAPI。稳定性需要你自己测试了,因为每个实际应用的要求都不一样。
2。不是很清楚了,毕竟D6和dotNet推出时间都不长。
 
多人接受答案了。
 
GanQuan,客戶端如何與WebService通訊?是再通過dcomconnection或socketconnection,
不行吧,工作量增加不少啊,也難保證速度.
各位大俠:
能不能用在啟動主界面時動態安裝代理,只要客戶端不要人手干涉就可.
步驟:
appserver內動態檢查升級過的組件-->打包生成(.MSI及CAB)文件包-->客戶端取得包
-->內部安裝-->啟動目標程式.
是否可行?
那位能給一點相關的資料我,
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
445
import
I
D
回复
0
查看
960
DelphiTeacher的专栏
D
I
回复
0
查看
580
import
I
顶部