background image

Delphi 中编制分布式多层应用系统服务资源浏览器

本文详细介绍了在

Delphi7 中如何利用 TSocketConnection 控件设计开发一个通用的分布式

多层应用系统客户端辅助开发工具

——分布式多层应用系统服务资源浏览器。 

在用

Delphi 开发分布式多层应用系统过程中,对于开发客户端程序的人员来说,了解分布

式多层架构应用服务器所提供的资源(如:服务名称、提供者名称等)是一项经常遇到的工
作。利用这些参数,客户端才能够正确地与服务器端程序连接并工作。

 

然而,在实际工作过程中,这些资源名称大都是以口头或

E-Mail 的方式,告知客户端开发

人员;而一旦这些资源名称被改或者此类名称在一个开发服务器上较多时,就会发生程序
不能与服务器正确连接的情况,或者造成服务名资源管理上的混乱。

 

另外,客户端开发人员只有在开发出客户端程序之后,才能够与服务器端程序进行连接并
进行测试,没有前期通用的辅助工具与服务器进行交互,无形中增加了通信的开销,降低
了开发工作的效率。

 

那么,有没有好的实现方法能够做到自动列出指定服务器上的开发资源名称,并能够与之
进行动态地连接和交互呢?这就是笔者开发多层应用系统服务资源浏览器的原始初衷。

关键技术
对于分布式多层应用系统来说,客户端程序可通过

DCOMConnection 和 SocketConnection

控件与服务器端程序进行连接,这里我们使用

SocketConnection 进行连接工作。因为,

SocketConnection 控件不但可以通过 IP 地址来连接 COM 服务器,而且也可以主机名方式来
连接

COM 服务器。 

关于分布式多层应用系统服务资源浏览器实现的关键技术如下:

 

1.如何取得指定 IP 地址或主机名称上的服务资源名称列表 
利用

SocketConnection 控件的 GetServerList 方法可取得服务器上的服务名称列表。详细信息

见程序。

 

2.如何取得指定 IP 地址计算机,指定服务资源名称的提供者名称列表 
利用

SocketConnection 的 GetServer.AS_GetProviderNames 来取得提供者名称列表。详细信息

见程序。

 

通过以上方法,我们可以取得指定

IP 地址计算机上的服务名称列表和提供者名称列表,客

户端就可以利用这些信息与服务器动态进行连接了。

 

程序具体实现

1. 界面制作