The workstation and hardware tools previously described typically have very specific uses in the analytical process. The application of information technologies to the development of integrated automation is ubiquitous to the analytical process. There have been an increasing number of automation engineers and scientists who have discovered the joys and productivity enhancements that can be realized though custom-application development. This increase is in large part due to the emergence of high-level and object-based programming environments that provide for rapid development of applications. Visual Basic (VB) has become a well-established programming language for automation due to its accessibility and ability to quickly create applications. A survey performed at the 2001 International Symposium on Laboratory Automation and Robotics (ISLAR) indicated the following breakdown for the programming environments used with automation: Visual Basic 41%, Visual Basic for Applications (VBA) 34%, Java 14%, and C++ 10%. These results are due to the fact that by and large, most laboratory workstations are programmed to operate on Microsoft Windows workstations. Data can be conveniently reported and summarized with Microsoft Office Applications, since these applications are usually readily available and support data exchanged. VB and VBA are discussed in some detail below.
The component object model (COM) has been the bread and butter of Microsoft's modular programming approaches. Essentially, each component is an encapsulated unit of code that is compiled into a binary format (i.e., .dll, .ocx, .exe). The component exposes its essential properties and methods in a simplified fashion. There is no need to understand underlying complexities during implementation of these objects. A Visual Basic (or any object-based) application essentially operates as a "glue" language and combines the functionalities of the individual components at the top level. One of the primary challenges to develop these types of applications is to have in-depth knowledge of the application or its component object model. The term object linking and embedding (OLE) automation has been around for some time and was renamed in its third generation to ActiveX® by Microsoft. This technology can be defined as the ability of an application to expose interfaces to other programming languages. This can be more specifically defined as automation clients and servers, which we will define with a brief example below. Once this is understood, it is straightforward to exchange data programmatically from one application to another.
Many mass spectrometry and automation vendors provide software development kits (SDKs) or "cookbooks" that provide the required documentation to use the vendor-specific application programming interfaces (API). The level of documentation and support provided by the vendor should be considered a high-priority criterion for selection of software if customization and component reuse are intended. If the vendor has taken the time to provide good documentation of the components and the programmer has a good working knowledge of the application and desired output, then the process to develop an application can be straightforward and rapid. Also, vendors can provide training or consulting services for the API they provide.
Was this article helpful?