External Service Provision
An important component in Service Oriented Architecture (SOA) implementations is the Service Provisioning module. Provisioning in this context is the preparation of services and clients to enable usage of such an external service within the local application environment.
Given the current approach to SOA, and microservices, typically modern services are already accessible and available, through simple, documented, web-enabled, REST services, with their own authentication and authorisation mechanisms. However, to provide a standardised way to access such services, and to facilitate the localisation and lookup of services, support libraries, wrappers, and documentation effort is needed.
Thus, the i4FS External Service Provision component provides repositories for support libraries, wrapper libraries and documentation. The library repositories will be provided with reference implementations of libraries for existing services playing a role in the i4FS pilots.
The ESP framework is composed of the following modules:
The ESP framework is composed of the following modules:
- Support Library Repository: This module, in the form of libraries, has two functions. Firstly, it provides compatibility layers for services. These make sure that i4 Apps can use different versions of the same external service without running into compatibility problems. Secondly, it provides additional convenience classes and helper methods, or even additional services that are not provided by an external service directly.
- Wrapper Library Repository: Wrapper libraries turn existing interfaces of external services into i4FS compatible interfaces. They are often lightweight, since the external services will typically not be very adaptable, and should not introduce too much overhead. Wrapper libraries are usually implemented by applying well-known design patterns like adapters, proxies and façades. Interfacing and packaging are similar to the support libraries.
- Documentation Repository: This repository contains additional documentation about the support and wrapper libraries, such as design guides, best practices, and code samples.
The OPC UA driver provides certificate security mechanisms and admits the configuration with properly configured own certificates . The OPC UA driver is based on node-opc ua javascript library. Proprietary parameters can be changed when editing the device or sensors using the Driver Manager UI.