Enablers Framework: an approach to develop applications using FIWARE
vf-OS targets at developing an Open Operating System for Virtual Factories, responsible for managing factory related computer hardware and software resources and providing common services for factory computational programs. Following this concept, vf-OS has developed a component called Enablers Framework (EF) that interfaces the manufacturing applications (vApps) and the services they require. Such a component allows to integrate the necessary tools, without the user needing to experience the associated installation complexity.
EF is the component that acts as a bridge between service providers and service consumers. It provides a solution for integration, exposition of and uniform access to functionalities of the different enablers in a single service-based component. The enablers can expose heterogeneous sets of service interfaces that could be used by vApp developers posing a need to understand and implement them. EF component acts as a wrapper engine for the different enablers and the vApps consume its services.
It contains a Docker-based solution allowing to instantiate enablers, presenting an alternative to actual Virtual Machines. Using such approach, it allows any enabler to be packaged into isolated containers with necessary code, runtime environment, system tools, system libraries and settings bundled all together.
After an instance is created, a user can access the enabler instance he wants through the EF. Between the applications and EF exists a Process Executor that orchestrates what the application will need. Communication between enablers and the framework is performed using IoT protocols such as REST and NGSI. To perform the enablers integration, EF uses two main modules: Request Handler (RH) and Enabler Registry Lookup Services (ERLS).
The RH abstracts and implements all necessary functionalities for translating requests to/from vApps and enablers that are served by the EF. This module uses the technical details of the enablers from the ERLS and relies on suitable proxies to invoke the method requested by vApp. ERLS abstracts all the data models corresponding to registrations details and provides functionalities for performing Create, Read, Upgrade and Delete (CRUD) operations on them. This module is also responsible for providing service details of the enabler to the RH.
The two presented modules interactions grant the enablers integration. After receiving a service request from an application, the RH contacts ERLS to verify if such enabler is registered in the framework. Upon verifying it, ERLS informs RH about the target enabler’s services, this information is then used to exchange information between the framework and the enabler. The framework informs then the vApp on the service’s response or delivers an error if the target enabler or service are unreachable.
With a practical scenario its probably easier to explains how the vApps can consume the enabler’s services they need. The implementation scenario uses the EF’s components presented in Components functionalities, along with the Process Enabler (PE).
The PE is a tool used to orchestrate the different tasks that a vApp will carry out. When developing a vApp (Design Time), the Process Designer (the designer side of the Process Enabler) will be used to define the different sub-tasks (e.g. call an analytics algorithm) and/or sub-processes (e.g. persist data in the storage) that will be necessary for executing the vApp and assign the necessary EF libraries to achieve integration. This process model, in the form of a BPMN, will be then incorporated to the vApp source code so vf-OS is able to execute the different process steps. Thus, when it is time to call the services offered by an enabler, the PE will call the EF that will be on charge of relaying the call to the enabler specified.
Enablers Framework business opportunities
vf-OS aims to become a business multi-side platform enabling value by creating interactions between external producers and consumers. This approach provides an open, participative infrastructure for these interactions and sets governance conditions for them. The EF and its underlying enablers are a significant part of the added value of vf-OS, which business value relates to:
1) End user enablers that could be directly utilised in the development of vApps (design time), or solely to facilitate an easy plug and play of other resources (CPS, APIs etc.);
2) Scalable Services through enablers that can provide services, which vApps or other components can consume;
3) The vf-OS Ecosystem where the EF as the bridge between service providers and consumers facilitates their integration with the vf-OS platform and its associated services.
Being developed under FIWARE guidelines Enablers must follow an open source approach, but this doesn’t exactly mean that the enabler services execution through the EF should be taken for free. On top of this free approach, enablers developers could sell support contracts on top of enablers deployment for continuous maintenance, specially customization. Thus, it is expected that all these transactions occur through vf-OS Store, being the platform the main sponsor of the marketing and selling activities of all its vApps and enablers specific services.
For more information please visit the vf-OS Website