EnterpriseSMS® Is Designed Around COTS Components And Products

EnterpriseSMS® is designed to utilize COTS products.  Within the system, edge components are the virtualization of the field devices and user roles they supports.  Thus, distinctions between field devices are compensated for by the ESMS software in the edge components that represent field devices. Technically, edge components translate device messaging into ESMS internal messaging. As an interface it implements  the commands, carries configuration data, and receives events of the devices and users.   The edge component changes to meet the requirements of the new device while maintaining the required system functionality.
In the figure, three different versions of a device are illustrated.  Each such device has a bidirectional communications protocol that exchanges data with the edge component in a format native to the device. On the other side,  it exchanges the data with the device abstraction layer, which bidirectionally translates data into information useable by the edge component.  The information used and created by the abstraction layer represent the virtualized vision of the device.

The roles performed by the different devices must not be changed.  In this approach, they are preserved by changing either or both the device abstraction and device communications layers so that the information exchanged between the application role modules and the abstraction layer is invariant.  Sometimes no changes in software are required as adjustment to configuration parameters is adequate.  Protocol and API based device interfaces are most common as well as one-of-a-kind solutions to meet odd requirements or unique devices.

All ESMS components and applications implement very specific practices that ensure their reliability and compatibility.  According to their design constraints, every component will implement certain standard capabilities and practices. Thus, substitution of an interoperable, nearly interoperable, or not so interoperable device is easy.  Typically small changes to the edge component’s abstraction and communications layers is all that is required.