An alternative approach to generalized fieldbus interfaces would be to deploy certain fieldbus applications on the Internet/fieldbus gateway which provide selected fieldbus data in a descriptive and easy to access way. For instance, there would be an application that can be used to switch on all lights in a building and another one to open a garage door. Such an application could provide an operation ``switch_lights'' which can be called with one or more parameters which specify the location of the lights that should be switched on. In case of a generalized interface, such functionality would be implemented by utilizing a generic ``write'' operation to change certain fieldbus data points.
Application-specific interfaces may be seen as a top-down approach, where the client first specifies which information or functionality of the underlying fieldbus it is interested in. These requirements are then implemented by a number of applications on the Internet/fieldbus gateway. Such gateway applications may range from simple wrappers, collecting and presenting fieldbus data in a certain way, to real applications, which combine fieldbus data and logic to implement complex operations. On the other hand, generalized fieldbus interfaces resemble a bottom-up approach, where an Internet/fieldbus gateway exposes all available fieldbus data and lets the client decide which data it is interested in.
From the perspective of the client, application-specific interfaces have the following advantages:
Developers who implement client applications will often lack fieldbus knowledge. In case of application-specific interfaces, the underlying fieldbus technology may be totally hidden, which allows easy retrieval of fieldbus data.
Applied to the example above, limiting access to light switches in a building can be easily done by allowing/denying access to a ``switch_light'' operation.
SOAP Web Services seem to be an ideal approach for application-specific interfaces on Internet/fieldbus gateways, as they are descriptive, easy to access and standardized.
A huge drawback of gateway applications is that they have to be programmed, installed and maintained. Generalized interfaces simply provide access to the underlying fieldbus, and so changes in the underlying fieldbus are immediately reflected by the interface. Moreover, the installation procedure is easy and maintenance minimal. The client side of gateway applications also has to be developed, while generalized, standardized fieldbus interfaces may be accessed by any client that complies to this standard.
Deciding between generalized and application-specific interfaces will most often depend on the information the client has to retrieve from the underlying fieldbus system. If the client needs in-depth fieldbus data and access rights are no issue, generalized interfaces will be the best choice. If the client has to gather statistical information, has to control certain aspects of the fieldbus, or the access to the fieldbus has to be strictly limited, gateway applications may prove the better solution.
However, a gateway will most often not be limited to one interface, hence it would also be possible to both provide one or more generalized interfaces and several gateway applications on the same gateway device.