服务器自动化:从桌面宏到FANG平台
绝大多数当今桌面应用程序设计为用户执行特定操作:文档创建、计算、数据分析等。
这些应用程序通常内置宏语言以创建使用这些服务的代码,例如重复操作序列。换言之,此类应用程序是可编程的。
服务器自动化可在客户端地址空间运行。这种情况下称为内部(进程内)服务器,作为库(DLL)实现。
此外,自动化服务器可在自己的地址空间运行,不同于控制器的地址空间。这种情况下称为进程外服务器。将讨论此类服务器。
如果自动化服务器在控制器运行的计算机以外的计算机上执行,称为远程。注意许多本地自动化服务器可远程运行。它是如何达到FANG的?
FANG代表美国最大科技公司:
F – Facebook
A – Amazon
N – Netflix
G – Google
它们已成为美国最知名公司之一。服务器自动化对它们尤为重要,因为当我们谈论自动化流程时,如此大规模公司最需要它们。
正是过去十年真正确立了FANG的服务器自动化。开发人员参与引入运行良好的系统。
值得一提的是,较小非科技公司也开始使用,尤其是外汇经纪商现在允许服务器自动化向客户提供完美体验所需的MT5指标信息。
金融科技慢慢成为此类技术真正重要的领域,越来越多公司期待这一趋势。
服务器自动化背后的概念是什么?
如果客户端和服务器在不同地址空间(无论同一台计算机还是不同计算机),客户端必须引用不同地址空间中对象的方法来管理服务器。为此使用LRPC(本地远程过程调用)技术。
如前所述,每个SOM服务器(即服务器自动化)和每个SOM对象类都有唯一128位GUID(全局唯一标识符)。
访问SOM对象类时,有时称为CLSID(类ID)。创建SOM服务器(包括自动化服务器)时,可借助GUID和CLSID自动生成IT,尽管必要时可调用标准Windows API coCreateGUID生成。
所有SOM服务器和SOM对象类信息存储在系统注册表中,允许客户端“不知道”SOM服务器在哪个目录(或本地网络哪台计算机),并从注册表获取相关信息。
一般而言,SOM服务器是创建SOM对象并使其可供其他程序使用的应用程序。自动化服务器为其客户提供特殊类型对象以供访问——分派对象。
同时,控制服务器的应用程序控制器地址空间中有一个可选变量,包含接口IDispatch,使其能访问SOM服务器上的此对象。
控制器可通过启动执行、创建文档和其他对象控制服务器。也可更改服务器窗口大小、位置和可见性。控制器还通过将服务器对象复制到剪贴板、向服务器创建的文档添加数据等操作。
某些服务器管理能力的可用性取决于服务器开发者为外部应用自动化提供的对象、属性和方法。
自动化控制系统