自动化服务器是一个应用程序(COM 服务器的一个类型),它通过 COM 接口向其他应用程序(称为自动化客户端)公开其功能。功能的公开使自动化客户端能够通过直接访问对象并使用对象提供的服务自动执行某些函数。
自动化服务器和客户端使用总是从 IDispatch 派生的 COM 接口获取并返回一组称为自动化的特定数据类型。可以使任何公开自动化接口的对象自动化,提供可从其他应用程序访问的方法和属性。自动化对 OLE 和 COM 对象都可用。自动化对象可能是本地的或远程的(在另一台可通过网络访问的计算机上);因此存在两种类别的自动化:
自动化(本地)。
远程自动化(通过网络,使用分布式 COM 或 DCOM)。
如果应用程序提供的功能对其他应用程序有用,公开对象是有益处的。例如,ActiveX 控件是一个自动化服务器类型;而承载 ActiveX 控件的应用程序是该控件的自动化客户端。
又如,字处理器可能向其他程序公开其拼写检查功能。对象的公开使供应商能够通过使用其他应用程序的现成功能来增强他们的应用程序。这样,自动化在应用程序本身的级别上应用了面向对象编程的某些原则(如重用性和封装)。
更为重要的是自动化为用户和解决方案提供程序所提供的支持。自动化通过通用的、定义完善的接口公开应用程序的功能,使得能够用一种常规的编程语言(如 Microsoft Visual Basic)生成强大的解决方案,而不是使用不同的、应用程序特定的宏语言。
许多商业应用程序(如 Microsoft Excel 和 Microsoft Visual C )允许将它们的许多功能自动化。例如,在 Visual C 中可以编写 VBScript 宏,使生成、代码编辑的各个方面和调试任务自动化。2100433B