Delphi中MIDAS应用程序COM服务器实例化模型种类
(1)Internal Instance
创建一个In-Process的COM程序,即DLL服务器.
(2)Single Instance
如果每个客户程序都运行服务器程序的一个实例,则使用该模型.就是每个连上线的前台程序,在服务器上都会有一个对应的应用程序服务器被运行.因此每个前台发出来的查询都会有各自
独立Process的应用程序来处理,根本无所谓排队的问题.但是它会比较占用系统资源,影响服务器整体的运行效率.
(3)Multiple Instance
如果客户程序共享服务器程序,则使用该模型.就是一个应用程序服务器可以同时处理好几个前台程序的链接,以技术的层面来解释就是所有前台程序可以共享单一Process的应用程序服务
器.该模式的最大好处是,激活及运行的效率较快,比较不会耗用服务器太多系统资源,而且管理上比较方便.但是它隐藏着一个不具备多任务处理的问题,如果一个前台用户发出了一个查询
请求,而且这个查询要求产生的结果可能多大数MB,这时候,其他在线前台用户发出的查询要求都必须等待之前的查询要求运行完并得到相应之后,才得以继续运行.这可能会耗用许多时间,
而且,如果一旦某个前台程序的查询发生错误,那么其他在后面排队的查询请求将会跟着死掉.
注:那么到底采用哪种模式来创建应用程序服务器?答案是:按系统需求而定.简单的说就是,你可以创建两组应用程序服务器,一组是采用Multiple Instance模式,另一组采用Single
Instance模式,而你必须把程序的类型分为两种,一种是查询数据量较小或是比较不重要的写入操作,另一种查询数据量较大或是重要数据的写入操作.如此一来,你的前台程序就可以放置
两个TDCOMConection来各自连上两个不同模式的应用程序服务器,进行不同性质的工作.