The Vorto Plugin SDK currently supports the following plugin types
- Generator Plugin type, to convert Vorto models to platform specific code
- Importer Plugin type, to convert a 3rd party semantic description to Vorto models.
Vorto Generator plugins are meant to help you to ease integration of devices into your application. Generators are used to generate source code from Vorto Information Models. An example of a generator could be generating a piece of device firmware that connects to the AWS cloud and send device data in such a way, that the AWS cloud expects it.
Each Generator must make sure to provide two endpoints, that are called by the Vorto Repository upon code generation:
Generator Info | Gives meta information about the generator plugin, such as description, vendor, logos, etc. This meta - information is displayed in the plugins overview of the repository. |
---|---|
Generator Execution | Performs the actual code generation for a given Vorto model and returns the generated file(s). |
It is totally up to you, which language you choose to implement a generator, either Java, Go, Node.js etc.
Checkout our hello world generator, that is implemented and deployed as a serverless AWS Lambda service.
The Vorto Repository manages Vorto Information Models and provides elegant ways to search these models as well as transform these models into runnable source code via Code Generators. But how can existing (standardized) device descriptions be integreated into the Vorto eco-system, so that they can benefit from the Repository features? It is just as easy as provide an Importer that manages the validation and conversion into Vorto Information Models.
The import process begins with a pre-validation check on the file which is to be imported. Here the importer plugin reports back to the repository, if it accepts the file and a file conversion can take place safely.
Once the file was accepted by the importer plugin, the repository invokes this endpoint, whereby the importer converts the file to Vorto models and returns them as a ZIP archive.
It is totally up to you, which language you choose to implement an importer, either Java, Go, Node.js etc.
Check out our importer example, that is implemented and deployed as serverless AWS Lambda functions.
Please send us an email([email protected]), with the details of your plugin and we will get in touch with you.