三层问题,300分(200分)

说了这么多,我到现在还不明白,是不是
大家都没有遇到这样的实际问题呀!
我看了好多代码都是在局域网中运行的,已拿到internet 上就必须和java 等扯上关系!
看来,还不如我用邮件呢,做个导入(服务器)、导出(客户端)程序,也省事!
唉,水平有限,不能多说!
 
E,我试过用这种方法。我前段时间为公司写了一套软件就是用这个协议的,
但不同地方是我公司有个固定IP。
 
com+如何? 大家为什么不想想它呢?
不过本人也在学习中,还望各位多多指教!
 
高手云集,免费听课.
 
使用soap,用delphi6可编写web或Exe形式程序,所有问题解决
 
如果使用Soap的,就要考虑好速度、稳定和安全性,通过这种方法我们就可以把交换的
数据压缩和加密。我已用这种方法写了两套软件,速度也可以的。
 
COM+总分公司采用Windows的RPC调用,局域网内部采用C/S构架,把设计的组件安装入
外部服务器进行配置,供Client调用,效率和安全性还可以,至于防火墙现在可以待MS
供应商的解决方案。希望和大家讨论!
--------------------
浮云无聊,携酒照夕阳,梦中醉醒
 
晕,如果你实在想用SOAP的话,其实是个非常不错的选择,我现在就用SOAP,安全性的问题
要自己写加密算法了,他的速度其实并不慢,我在本机上测试过,用SOAP与DCOM,SOCKET取数据的
时间相差无几,所以说用SOAP关键看你的网络速度了,最好用专线。另外,我建议你不要用
微软的IIS,太烂了,用APACHE吧,免费的,而且最新的版本至今还未发现BUG。
楼上有个兄弟好像说SOAP绝对不能用,晕倒........
 
补充一下,现在用Delphi7+axis(Apache Soap 3.0)联合使用真的很爽,强烈推荐,
具体配置方法可以上IBM 的 Develop网站上找或者问偶(嘿嘿),
axis据说比Apache soap 2.0快很多,我在用tomcat4.01和weblogic7.0上调通了
(weblogic 6.0不行,它的xml读写接口有问题),wsdl文件自动生成,
在delphi7下无缝倒入使用.
 
你这个问题其实挺好解决的,因为现在你的几个地点已经有了动态的公网IP,所以建议
采用TSocketConnection方式,配置方便、简单易用,至于传输过程中的加解密和压缩,参
考Delphi的Demo做一COM组件就可以了。你可到新网等提供动态域名的服务商处申请一个动
态域名,在TSocketConnection的Host属性填上申请到的动态域名即可。
如果你有的地点在小区宽带范围内,由于没有公网IP,可以采用新网现在提供的DNS2PC
服务,通过它的服务器转发,也可实现你的要求。由于这项业务是新网新推出的,所以我原
来有个项目是采用综艺达公司的iNows服务,原理同上,如果不加他们的XC服务,普通的
TCP/IP就走不通,所以当时我用的是TWebConnection连接,跟TSocketConnection差不多,
也很好使,比哪个TDCOMConnection简单多了,至于TCorbaConnection我没用过,不敢胡说。
 
TO yunye:能详细介绍一下您的方案吗?
 
to_yunye,:
您说得我心动。我去看看!!!有DEMO。也可以给我发一个呀?
bill.robin@263.net
 
简单的说
Dcom 在客户端第一次请求连接时会和很慢
socket 就比较快,但在应用时比Dcom要慢些(增删改查时),但好配置,运行个程序就行
Corba 就是能跨平台,我没事过呀但我想速度可能不老太快的呀 (好事他不可能占了)
dcom连接时的servername在此时应如何设置?
//
delphi有个控件 simpleobjectbroker 他能提供 负载平衡与容错
 
呵呵,看来问题复杂了,
先说负载均衡问题:
解决办法:
A.操作系统的群集
B.数据库的群集
C.中间件的负载均衡(可采用MTS,Com+,Corba,J2EE等技术,但要记住,负载均衡是指服务器)
再说客户端连接服务器:
如果在局域网内,我就不说了,用什么都行,在广域网存在的问题,最主要的是分发价格和穿越防火墙,
前者限定了Corba的使用,穿越防火墙的意思简单来说,你尽量只用80端口,所以soap是是最好的,soap只是
提供了客户端与中间件的连接方式(也就是能进行过程调用,当然HIOP也可以,不过应该是比较贵),至于中间件
你用什么我就不管了,服务器还是推荐用J2EE体系(当然你也可以不用EJB,直接用Java的类也可以啊),
毕竟可移植性比较好,
最后说客户端:
A.可以用存的Web(也就是没有插件或Activex),这样的好处我不说,但问题是,我要用一个excel似的报表就好象有问题
B.Web+插件,这样,插件或Activex最好使用Soap技术,我个人认为这比较好
C.存的应用程序(Exe的或java的),其实这种技术也要用soap,与用插件是一样的,但要自己做一个版本更新的功能
如果客户端要用Delphi(当然这我比较熟悉),那就要在中间层实现一个TProvider类的对象,这偶就要批评一下Borland了,
JBuilder出来这么久了,就是不出一个累似TProvider的Java实现的类,只有自己做了,其实也很简单,大家可以观察以下
ClientDataSet存出来的Xml文件,就是log = 1,2,4等等不同状态,自己实现完全easy,大约7天工作日/1人就可以搞定,
我称此工作为溶解,这步实现了,你在客户端用ClientDataSet想干什么就干什么(嘿嘿,别想歪了哦)....
 
關注,收藏.up
 
大家好,我这个菜鸟也来两句
一、动态IP 的问题就是找个类似DNS2GO的软件就可以实现,这类软件很多的
二、个人认为用VPN是个很好的选择,建立VPN以后就等于是局网了,想搞什么还不简单吗
 
A、Dcom(Tcomconection):
B、Socket(Tsocketconnection):
C、Corba(tcorbaconnection)
D、Http (twebconnection)
E、Soap( Tsoapconnection )
我也说说吧。
a,b,e的程序我都作过。
有一些看法,
a来说
dcom是架构在协议之上的协议,也就说底层可以是ipx/spx;tcp/ip
但是,有时候它自己在选择协议的时候,会出现一些错误。
速度上面来说,初始连接速度慢,连上后快--相比b来说
同时,服务端的的发布有一些问题。
b
来说,对你的项目来说是好比较好的选择。
有人说可以在分公司局域网用dcom
分公司中间件到总公司中间件用socket,对,可以这样。
但是,你要开发两次中间件,所以,简单一点,直接用socket就行了。
缺点是,如果你公司之间有放火墙连接,那么开发程序后之间的通信问题需要注意。
e
e是非常非常好的一个想法;
它不用太多考虑放火墙,因为它可以使用http作连接协议,
soap之间使用的xml交换,
用wsdl发布服务,便于以后后续开发的进行。
最关键一点是e的速度,
我曾经作过一个邮件群发程序(三层的,主要是练手,不要问我是不是吃撑了,:)))
数据库(客户邮件地址,邮件内容,)-soap的web service 服务器- 瘦客户端(用ini定义了一些参数)
如果我直接作成socket,很快。
但是作成soap 的web service速度就有点慢了。
而且并没有传送什么大的数据,(我只用客户端传送一些参数而已)
45封邮件(一份一份发),用了23妙。(当然,这个跟邮件服务器本身也有关还包括sql的读取)
soap对传送一些大的数据有一些问题,这个网上已经有人说了。
事实上,soap的出现是基于不同的服务之间无法交换而出现的一种标准。
(!!!!不同服务之间的交换!!!!!!!!,这个概念,厉害喔。
以前大家关注是数据之间的交换!!!
现在发展到服务的交换了,如果有人读了soap没有理解到这个概念,
那么,我觉得对soap是没有理解透彻(个人认为)
如果你的网络连接用了vpn,那么中间件之间的数据加密就可以不要。
所以,最好你使用vpn连接。(上两次课去听听vpn就可以理解了和动手布置。)
决定你自己拿吧。
我只说我知道的。


 
顶部