谁真正用midas开发过系统,请提点建议。(300分)

  • 主题发起人 liqunxin
  • 开始时间
L

liqunxin

Unregistered / Unconfirmed
GUEST, unregistred user!
本人总觉得borland的midas有点不伦不类。很怕会出问题。
遗憾的是现在经理坚持要用这个。
请回答如下几个问题
1.性能,使用了midas后对程序速度的影响?
2.开发速度。使用midas开发,与传统c/s相比,会减速多少?
3.二次开发。便于二次开发吗?组件化程度怎么样?
4.可移植性。java的3层程序,基本可以很方便地更换数据库,而不需要改什么程序。
midas呢?delphi是否有自己的应用服务程序。
 
我正在做一个小的
我的邮件tingweb@wx88.net
1。程序速度有很多,不知道怎么比较
2。C/S开发就能飞快?结构差不多,熟练后就没什么区别
3。当然可以,健全的文档(已经敲了N天WORD了)
4。JAVA我不懂,KYLIX还没机会装。。。
 
1、性能不错,适合于远程运用。以前的C/S很多情况下必须先手动建立客户机和服务器的信任,
方可进行操作,但是使用MIDAS,应用程序服务器和数据库服务器可以始终保持信任。所以客
户端可以更加省事。
2、熟能生巧
3、你的程序如果提供二次开发功能,他当然就可以进行二次开发。尤其有一个好处是,
很多情况下你可以不用修改客户端,只要重新定义应用程序服务器的运行方式就行了。
4、如果你使用MTS处理核心事务,这些COM控件可以被网页或者其他程序调用。
要更换数据库的话当然要做一些调整,看你改动的幅度有多大。反正在关系数据库中,
改数据库结构都是牵一发而动全身的事情。
 
最好不要用midas,因为开发三层应用最好是使用无状态的对象,而Midas是使用IProvider
是状态对象,不能提供事务服务,Database pooling和object pooling等,建议使用mts作
为中间服务器,因为我做过类似的项目。
 
我也看了一些相关文章
很多人抱怨速度变慢不少。
开发速度肯定会受影响,影响多少我不知道
现在二次开发的难点在于有没有一个好的组件模型,不过我看delphi的组件是建立在
datamodule基础上的,我个人觉得这比较难将对象和数据库隔离开.也很难将更换数据库
,比如说从oracle数据库换到sqlserver。
 
TO zejun_yao
Tdatasetprovider 是 无状态的
 
1.性能
由于使用MIDAS必须尽可能降低网络传输量,如果你指的性能也受传输量影响的话,
这种性能会好,当然这是由MIDAS强制你优化了设计.换而言之,根本在你,而不在MIDAS.
2.开发速度
如果你没有面向对象设计的经验(如果你不想搞成伪三层应用,你就必须全面转向面
向对象),你的小组将难以组织,速度自然会慢;反之,大大加快.换而言之,此问题与是
否使用MIDAS无关.
3.二次开发。便于二次开发吗?组件化程度怎么样?
方便,前提是你的设计中是否考虑了如何将数据结构、企业对象及其接口安全地
开放给第三方。这个问题似乎仍与MIDAS无关。

4.可移植性。java的3层程序,基本可以很方便地更换数据库,而不需要改什么程序。
midas呢?delphi是否有自己的应用服务程序。
完全取决于你的应用程序服务器对数据库特性的依赖,这个问题无论对任何应用
都是一样的,还是与MIDAS无关。
 
D5中的Tdatasetprovider是无状态的。
 
补充:关于zejun_yao的IProvider是状态对象,不能提供事务服务,Database pooling和
object pooling的认识。
在某些情况下没有这么悲观:
D5支持无状态对象,但无论是否有此支持,都不应允许事务被客户端干预,而只能
被应用程序服务器中的控制对象包装起来,这样一来事务就与你是否使用了无状态对象这
一前提脱离了干系.我也作过类似应用,但成功地提交了庞大的事务(上千条记录的修改),
而且没有使用MTS.
如果你使用的是CORBA,VisiBroker天然提供了Object pooling.
如果你使用的是ORACLE(其它我不了解),则它天然地提供的连接的pooling.
 
你们实践下来的感觉呢?我不喜欢谈理论。
 
我實踐發現﹐應用程式伺服器無端的死機.Dcom,只開了几十個Client端,sign
下一步搞Mts
 
性能不错,适合于远程运用。
你提供二次开发功能,他就可以进行二次开发
 
我收集到的一些三层的优点。各位有没有发现缺点?
三层结构的优点:
l 安全性。由于中间层将数据库和客户端隔离开了。可以有效地保障数据库的安全。这对于internet应用最具优势。
l 组件化设计,具有良好的二次开发性;
l 强大的扩展性和伸缩性,使用于各种规模的商业企业;
通过挂接第三方产品,可以使企业真正实现集业务处理和事务处理为一体的完整企业管理信息系统。 由于有许多第3方的应用服务软件可以帮助处理大量的事务、冲突、资源等问题,使得程序具有极大的可扩展性。在架构大型的并发系统时最具优势。
l 多用户时,由于减少了客户端的计算,减少了网络流量,使用了连接池,性能更好。
l 可维护性。可减少客户端的维护工作量。
l 由于将和商业层和表现层隔离开了。可以比较方便转换成b/s结构的程序。
 
kylix没有想象中的那么强
 
关于应用程序无端死掉的一点经验:
在我使用CORBA时也曾经常死机,当时的配置是:
数据库服务器主机:HP LH3 双CPU,Windows NT 4.0 Server, Oracle 8.05
应用程序服务器是D4写的CORBA应用
理论上是不应有问题的,但是应用程序服务器与数据库在同一主机上运行,常莫名死机.
后来我的同事无意间发现这样一个事实:当使用一台主机单独运行应用程序服务器
时会非常稳定,从此之后我们就分开主机运行数据库和应用程序服务器,至于其中原因
我现在也不知道。猜想可能是WINDOWS NT的任务或线程调度可能不像M$吹嘘得那样好,
只不过两百多个线程就经受不住了。
以上供大家参考。
 
1 midas的生产效率是很高的,只要你掌握好;
2 速度上可能不及主/从结构,但数据量较小时,如果调整的较好,
速度上几乎没有差别;
3 中间最好用mts作为中介软件,并结合midas的强大功能,会有很
好的效果;
4 我公司正采用3中结构作三层医院系统。
 
你们公司的3层是怎么做的?
我发现一种方法可以简单实现3层,只要将以前的数据模块放到应用服务层就行了。
还有一种方法,就得进行uml建模。
你们公司用什么方法?
 
顶部