Ever since the second computer program was successfully run, users have asked the question "How can I connect them together?" Not surprisingly, the connectivity question is still asked today by Alpha's customers and prospective customers. The history of interconnected programming is long and storied. Don't worry! This story has a happy ending.
At first we connected programs together by reading and writing files. Don't laugh, but I remember using a separate program to sort the data for the next one! Later it was possible to connect the two programs together without explicitly using a file.
Larger programs were soon composed from compiled libraries. Microsoft Windows™ made dynamic link libraries (DLL™s) central to the process of creating large and re-usable programming components. Later Microsoft introduced Object Linking and Embedding (OLE™ and OLE/2™); though it was later renamed ActiveX™. This technology made it possible for users to embed charts and spreadsheets in word processing documents, but (though not as well-known) also made it possible to dynamically create and execute objects written independently. Open Database Connectivity (ODBC™) and Active Data Objects™ (ADO™) made it possible to connect to various databases without writing a special connector for each client program.
With the introduction of Microsoft .NET™, a whole new set of languages could be used to create reusable components called assemblies. These assemblies can be discovered at run time and loaded and executed as needed. Microsoft includes a vast set of pre-written libraries that are installed with the .NET runtime.
With the advent of networking and the internet, the original question was now rephrased as "How can my program on this computer talk to my program on this other computer?" With networking protocols such as TCP/IP and sockets, one program can connect to another, quite literally anywhere in the world! In order to structure the conversation a little better, protocols were introduced that we now refer to as "web services". Services have made it possible to "call a function" and have all the complexity of the network conversation hidden in reusable components.
By now you should be asking, "Can I do any of this with Alpha Five?" The answer is pretty simple: Yes. In fact you can do all of it with Alpha Five!
- Execute standalone programs
- Load DLLs and execute functions
- Load and execute OLE/ActiveX components
- Connect to various databases using Alpha's own DAO or with ADO or ADO.Net
- Load and execute .NET assemblies you or others have written
- Connect to TCP/IP sockets, or even create a server
- Access and execute remote web services