用DELPHI做的多层分布式开发的应用程序服务器组件能与其它语言共享吗?(200分)

  • 主题发起人 主题发起人 jfsoft
  • 开始时间 开始时间
J

jfsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
我们公司最近要开发一个分布式多层系统,我做其中的应用程序服务器层。我打算用
DELPHI+MIDAS+DCOM 开发,问题是:
1.我做的这个应用程序服务器能被其它语言开发的客户端程序
调用吗?(我们公司大多数程序员用VC++或VB,不懂DELPHI)
2.假设能调用,MIDAS向客户端传递的数据是特殊的格式,用其它语言如何读取.
请各位帮我想一个两全的方法,既能用我熟悉的DELPHI开发应用程序服务器,又能让其它
语言编的客户端访问和更新数据.
 
Delphi的中间层Midas中的数据是用Packet进行了特殊包装,所以其他程序(VC/VB)无法
使用,但是它有个选项,Provider可以传送XML格式的数据集,倒是可以被(VC/VB)使用,
但是比较烦,如果是多种语言混杂编程,最好不要用Midas技术。
 
XML倒是很有用的,很适合你的使用。
对于大多数人来说用BDE不如用ADO
那Midas呢,会不会被取代呢?
 
(1)同志,当然可以了!我也前也有过这种需求!
(2)首先,你得要处理TDataSetProvider提供的xml文件,在Delphi中,Midas的数据是被打包成
xml格式的,而它提供的TClientDataSet是可以处理这种类型的数据的,所以你只要将TClientDataSet
包装成一个COM对象,然后在VB与VC中使用即可了.
假设你生成的COM对象为CoClientDataSet,它支持的接口必须提供TClientDataSet的方法,然后将
更新后的数据传给TDataSetProvider就可以了(通过DCOM调用,TClientDataSet的大多数数据据操作
最后都是由TDataSetProvider做的!)   
 
感谢各位的热心帮助,我考虑这个问题也有好久了,有时真恨不得让全公司的人都用
Borland公司的产品,(呵!呵!这个想法不是很现实)DELPHI做分布式开发很有效
率,也很方便。这都是VB与VC不能比的。目前我的想法也只能将ClientDataSet组件
做成COM给VB、VC使用,Mypine与我不谋而合(不过假如在其它操作系统上这也
不是最终的解决办法)。
请各位详细讲讲解决方案。稍候再给分
 
XML?我晕,没仔细研究过这个东东,用它能更新数据吗?它支持多个表的操作吗?
 
好主意好想法。
 
那用Delphi6,.Net的SOAP吧,肯定没有问题,不过要花点时间去研究一下。
 
能与C++Builder共享
 
假如服务端不用MIDAS而改用MTS,这样是否能被其它语言做的客户端访问呢?
 
如果在MTS中不用MIDAS技术被其它语言的客户程序调用是一点问题都没有的。
 
可以,其实就是COM/COM+组件的调用.
 
用MTS效率会不会很低?而且全用MTS真得可以被其它语言的客户程序调用吗?
谁有过这种方式的实践经验?
 
MTS/COM+只要设计的好(比如使用Object Pooling和数据库pooling)效率只会好,不会低。
用MTS做的中间件可以被其它语言的客户程序调用。
如果你想中间件可以跨平台跨语言使用你还可以使用CORBA,不过开发难度会成倍增加。
而且DELPHI对CORBA的支持不行(包括D6)不如CB和JB。
 
谢谢各位!
 
多人接受答案了。
 
后退
顶部