Creating an ActiveX Automation interface to Host OnDemand using Host Access Class Libraries and TCP/IP Sockets
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-18
There is not currently available an Application Programming Interface (API) that will allow access to the Host On-Demand (HOD) applet running in a web browser. In order to do any automation with HOD, one must create their own program using the HOD JavaBeans, or use the Host Access Class Library (HACL), and expose their own API. This tool will allow a developer to communicate with the HOD applet in a more traditional sense. They will be able to load a standard operating system specific DLL or create an ActiveX automation object to interact with the session. Disclosed is a platform independent Java HACL Applet and a procedure to create the native DLL, that when used together create an API that can be used for screen scraping and automation of the HOD applet . The HACL Applet will be run in the HOD session. This applet can be set as the “Auto Start” Applet so that it will always run when the session is instantiated or it can be started from the HOD session manually when automation is needed. The applet starts two threads that listen for events. Thread 1, connection listener, implements the HACL interface ECLCommNotify. The thread will listen for connection events from the session and set flags based on the current state of the HOD Connection status. Thread 2, request listener, extends the Java Class, Thread and handles all of the communication between the HOD Session and the Native DLL. The request listener creates a ServerSocket object with the port ID based on the HOD Session ID. It requests permissions from the browser so that it can complete its tasks using the PrivledgeManager class for Netscape and the PolicyEngine class for Internet Explorer. It then enters a loop that executes the following algorithm. While Not Done Wait for a request to come in. Verify that request is from our DLL to ensure security. Open the Input and Output streams. Read in Parameters. Determine the function requested and make appropriate HACL Call.