Made in USA: Enterprise Application Services
Before the advent of web application development and today’s virtual machine based languages, device integration with your software application was rather straight forward: you study the pin diagram of your Serial / RS-232 port device and figure out which pin sequences trigger the action you want, then have your application send that sequence as needed or listen to the events and responds as needed. However, with the latest RIA (Rich Internet Application) frameworks, web browsers, and virtual-machine environments your software application is often very limited in terms of what hardware it can access, if any at all. There are, of course, several solutions and workarounds available, yet each one has its own pitfalls and makes sense only in a certain environment. To come up with a reliable device integration solution there are several items we look into:
1. What types of platforms does this hardware integration component need to work on?
As you can imagine, software development at the hardware level differs drastically from one operating system to another. In fact, that is one of the main reasons that cross-platform languages and frameworks usually avoid providing default services at the hardware level, there is simply too much variety to provide a consistent interface across all of them.
2. Does the hardware communicate with the server directly or through the client?
In many cases, if the hardware can be accessed directly from the server in a client/server environment this provides for a more stable software application as the server does not need to rely on an intermediary client to communicate with the hardware. This is not always possible of course, however in some cases adding a USB-to-ethernet converter, then accessing the USB device like any other network device (over a socket) might be a much better solution than having to plug the device into a client machine and communicate through it.