Skip to content

The Plugin SDK

New capability reaches VirtualForge as a plugin: a Category Manager and its Tools, added without changing the platform's core. The plugin SDK is what a plugin is built with. It handles the plugin's side of every conversation with the platform, so the author's work is the capability itself rather than the plumbing around it.

How plugins fit the platform, and why it is built that way, is on Plugin Architecture. This page describes the SDK.

What it handles

What it means for a plugin author
The platform protocol Plugins talk to the VirtualForge hub over a messaging protocol (built on NATS, an open-source messaging system): named subjects, defined messages, jobs and streamed results. The SDK speaks it, so a plugin does not implement it
Configuration One way to receive and read configuration, the same for every plugin
Credentials Access to the credentials a plugin needs through the SDK, rather than through code of its own
Logging One logging approach, so every plugin can be operated and diagnosed the same way
Seeq helpers Common work against Seeq, for plugins that read from or write to it

One protocol, several languages

The contract every implementation shares is the hub protocol, not any one language's code. Each language's SDK must speak it identically, and shared test cases check that it does. A plugin written in one language therefore works with the platform exactly as one written in another.

Internal first, then open

The plugin SDK is how EEI builds its own VirtualForge Tools today. It is being proven there first, on real tools, before it is opened to anyone else.

It is the first EEI SDK intended for outside developers: partners and third parties who want to build their own Tools and Category Managers, and offer them on VirtualForge. That opening comes with the rest of the contribution path described on Plugin Architecture, much of which is still planned. The SDK is not yet available outside EEI, and developer documentation will appear here when it is. If you own an algorithm or method you would like to offer this way, Bring Your Algorithm to the Forge is the place to start.

About this SDK

What it is The library a VirtualForge Category Manager or Tool is built with
Languages Python, used to build EEI's own Tools. Java and .NET are planned
Availability Used to build EEI's own Tools. Intended to open to partners and third parties as VirtualForge opens; not yet available outside EEI

See the SDK inventory for the rest of the family.