|
Video Demonstrations |
|
|
This video demonstration walks through a simple example of using SimpleIPC to mitigate a problem with intermittent application crashes. In this case, the application is a classic ASP web application. The steps illustrated would be similar for many other applications of SimpleIPC, so this is a good overview of the implementation process. |
|
|
This video demonstration walks through a simple example of using SimpleIPC to add a multithreaded "listener" to a Microsoft Excel spreadsheet application. In this case, we want to keep a set of spreadsheet cells in sync with certain data in a database. We want to poll the database continuously, but we want the spreadsheet to remain responsive to the interactive user. |
|
User Guides |
|
|
The SimpleIPC User Guide provides detailed explanations of all features of the product and APIs. The guide includes step-by-step instructions for configuration, deployment, and server monitoring. The guide also includes a generous volume of sample code as well as step-by-step practical exercises for coding applications that perform simple tasks like connecting to databases, through intermediate tasks like exposing an application to the network via web services. The documentation is a must-have companion to the product. |
|
|
The Messaging Peer For PHP User Guide provides detailed explanations and instructions on installing, deploying and configuring the Messaging Peer infrastructure. It also specifies the relevant APIs and provides coding examples for exchanging requests and responses between the Linux server and the Windows machine. The documentation is a must-have companion to the product. |
|
Practical Exercises |
|
|
This exercise walks the user through the construction of an application where session variables are used to cache object instances between routine calls. In this example, a database connection is made and it remains connected for the life of the client session. |
|
|
This exercise walks the user through the construction of an application in which input and output arguments are manipulated by custom code before and after the routine invocation. This is conceptually similar to implementing a SOAP extension. |
|
|
This exercise walks the user through the construction of an application in which a set of objects is instantiated, and objects are dispensed to clients as they obtain and release sessions. Each client gets its own dedicated object instance, but when the client releases its session, the same object instance is re-dispensed to the next client. |
|
|
This exercise walks the user through the construction of an application in which concurrent access to external resources is controlled via configuration. This protects the external resources from being overwhelmed by concurrent requests, and the configuration approach is more expedient than implementing semaphores in code. |
|
|
This exercise walks the user through the deployment of the web service that ships with SimpleIPC for IIS. Routines that are normally accessible only on the local machine via the IPC channel may be exposed to the network via web services. |
|
|
This document provides sample code and practical guidance on interacting with SimpleIPC from a .NET application. |
|
|
This document provides sample code and practical guidance on interacting with SimpleIPC from a Java application. |
|
|
This document provides sample code and practical guidance on interacting with SimpleIPC from an application which uses the COM interface, such as VBScript or VBA. |
|
HOW TO Articles |
|
|
This article describes implementing the Siebel COM Data Control in "thick client" mode (bypassing the Object Manager) in an ASP page. The article describes the process of configuring the web application to accommodate concurrent access. A load test is performed to estimate the scalability of the architecture. |
|
|
This article illustrates Java to .NET interop and MS Office automation in a concurrent user environment. Web users visit a web page hosted by a Tomcat web server and provide some form input. The form is submitted to a Java servlet which creates an MS Word document with the form input incorporated and returns that document to the user. A load test is performed to estimate the scalability of the architecture. |
|
|
This article illustrates the use of the Messaging Peer For PHP in conjunction with SimpleIPC to delegate work from a hosted Linux server to a private Windows machine. Firewall limitations are overcome, and the breadth of functionality offered via the Linux-hosted PHP web application can be greatly expanded. In this example, the web visitor signs a guest book on the public Linux server, the Linux server sends a request to the private Windows machine, the Windows machine creates a Word document with the form input, and the Word document is returned through the browser to the web visitor.
|
|
|
This article illustrates implementing multithreaded behavior in an MS Office automation project. An MS Excel spreadsheet is populated from Siebel, and SimpleIPC polls Siebel to refresh the data every few minutes. The processing happens outside of MS Excel, so the spreadsheet remains responsive to the user during the processing. Also, CPU and memory utilization for the Excel application remains low because the polling happens in a separate process. |
|
White Papers |
|
|
This white paper describes the general approach to preventing unstable COM components from impacting the host application. |
|
|
This white paper describes the benefits of implementing web services with SimpleIPC. The web service code may be scripted, and the client proxy need only be distributed once - even if additional server routines are added later. A comprehensive sample exercise of hosting SimpleIPC web services in IIS, and accessing the web services from a Java client is provided. |
|
|
This white paper describes the general advantages of out-of-process vs. in-process COM components. It is possible to create in-process COM-visible components in .NET, but there is not a mechanism for creating out-of-process COM components in .NET. The SimpleIPC product can be used to overcome this limitation. |