Designing a vApp using Process Enabler, Frontend & SDK
Helping manufacturing industries to solve their Industry 4.0 challenge is a cumbersome task. This, usually involves CPS, IoT and other novel technologies that industrial players are not used to deal with in their everyday activities. Furthermore, with the connected world we are living and working in, software solutions already in-place or of-the-shelf aren’t usually the best ones to be deployed. Despite being quite comprehensive and complete, they are not focused in a single problem and attack different fronts, sometimes at the cost of interoperability. There is always an open gap that eventually will result in future problems, meaning that the development, deployment, and execution of industrial software applications for the Industry 4.0 is not an easy task.
vApps (Smart Manufacturing Applications) are targeted applications that are being created with the help of the vf-OS environment to solve specific problems of an industrial organisation within the manufacturing domain. Generally speaking, vApps are designed to be interoperable in an industry 4.0 environment. They follow a logic of modules and use a composition of vf-OS Assets, libraries or components developed to expose specific functionality - as an example, a driver to access a given machine.
vf-OS provides an environment to easily develop vApps, namely the vf-OS Open Applications Development Kit (OAK). The vf-OS OAK is composed of several components covering different needs:
vf-OS Process Enabler: graphical environment for the developer to design vApps by connecting different vf-OS assets;
vf-OS Frontend Environment: graphical framework that facilitates the rapid composition of stylesheets vApps’ frontends;
vf-OS Service Development Kit (SDK): the kernel and heart of the vf-OS Framework, putting all needed vf-OS resources at the tip of the developers’ fingers by means of libraries;
vf-OS Studio: vf-OS development IDE, which provides the necessary tools and means to develop, publish, and deploy vApps on the marketplace
vf-OS IO Toolkit: helps developers in integrating and developing connectors to devices (drivers) and other software (APIs)
vf-OS Data Mapping: enables to design ETLs to support data integration activities between different document schemas
vf-OS Data Analytics: allows developing and deploying models for solving analytics manufacturing problems and needs
vf-OS Enablers Framework: used to facilitate the usage of FIWARE, Manufacturing and vf-OS Specific Enablers which encapsulate repetitive operations.
This article addresses the first three items of the above list.
vf-OS Process Enabler
The vf-OS Process Enabler or Designer is a component embedded within the vf-OS Studio, which allows the developer to design the initial version of a vApp by wiring the different internal functionalities and features. These internal features of a vApp (the vApp skeleton) may have been initially published in the vf-Store (e.g. as Assets), hence the developer has the possibility of re-using any of them and accelerate the development process.
vf-OS Assets will form part of the vApp skeleton by dragging and dropping from the vf-Store. Then the developer can interactively define the inputs and outputs of the chain of vf-OS Assets that will form the process implemented by the vApp.
Ultimately, the Process Designer generates NodeJS source code forming the initial skeleton of the vApp. This source code is accessible inside the tabs of the vf-OS Studio for a final fine-tuning, connection with Frontend UIs, and bug-fixing.
vf-OS Frontend Environment
The OAK-Frontend Environment offers a GUI-Editor to allow vApp developers the implementation of end-user interfaces. Like the Process Designer it is accessible from the vf-OS Studio and consumes external microservices, which provide large ranges of visual templates implemented in HTML5 + CSS3.
Developers can combine these templates within the GUI editor to achieve enclosed vApp visualisations at the end. The templates can stand for themselves (e.g. customised GUI elements) or contain additional behaviour and logic (e.g. registration forms or error representation). vApp developers thus will have a high degree of flexibility and power as there are barely any restrictions in merging templates.
vf-OS Service Development Kit (SDK)
The vf-OAK SDK is a software component that implements a services integrator, able to provide and concentrate libraries for all vf-OS functionalities and resources, hence centralising the access to all the artefacts that are necessary for a developer to build a vApp.
It not only provides access to all the vf-OS Assets, but also to other types of design data such as documentation, templates, samples of models, patterns, and guidelines, helping the users to be able to build vApps in a faster and more consistent way.
The SDK is, like the previous two components, accessible through vf-Studio.