If you’ve seen any of our other posts on TOP Server V6 and its new capabilities, you may have seen us mention the Configuration API. Unless you’re a developer, you may have been wondering what is that and why would I care? We’ve been pleasantly surprised by how many of our users have had an interest in this new feature.
So, first, what is an API? The term API stands for Application Programming Interface. In simple terms in the context of what we’ve released, an API provides a set of building blocks for a developer to write software that connects to another software program and lets your software interact with the TOP server. Technically speaking, the OPC interfaces in TOP Server used for getting real time data could be considered API’s.
Whether this matters to you or not really depends on how you use TOP Server, who your users are that might need to interact with the product’s configuration interface, what other software applications that are part of your automation stack, the size of your projects, and how often they change.
What we’ve heard over the years from our users, integrators, partners, and OEMs is they had situations where they didn’t want to provide the full configuration user experience to their users, or the scale of their applications was so large, that they needed alternative ways to configure and integrate the offering into their software stack. Our large community of Wonderware System Platform power users and integrators have expressed a desire for a way to configure TOP Server from within their offering.
Heard enough and ready to talk to somebody about your needs?
Some examples that might get you thinking about your applications include:
For you developers out there, yes, this means full CRUD operations! For you non-developers, CRUD stands for CReate Update Delete. The TOP Server V6.0 Configuration API allows you to read, create, update, and delete channels, devices, groups, meter groups, and tags. Over time, the various optional plug-ins will also be configurable via the API.
This means you could write a program in the programming language of your choice, on the platform of your choice, and use that to configure your TOP Server. This may sound scary, but that’s also why security is baked into the offering as you’ll see a little further below.
The standard Configuration API is implemented as a RESTful web service that is built into TOP Server Version 6.0 and higher and is included in all license purchases. Experienced developers will automatically know what that means but I like to make my posts include helpful learning for all audiences as well.
So for non-developers reading today, don’t let the term “web service” scare you. The word “web” does NOT mean that you have to expose your TOP Server to the internet to take advantage of the Configuration API! It’s just the term that someone out there in the software industry came up with to describe the technology. Think of a web service as a way to connect to the TOP Server using http: or https: secure connections, and make function calls to do the configuration work.
Example: https://localhost:57418/config/v1/project/channels
The above is an example of a web service endpoint that, when called while including the appropriate authentication, will return a list of all the channels in your TOP server project. Note that you could replace “localhost” with the IP address of a TOP Server on your internal network and remotely configure a TOP Server!
The developer’s code actually points at the web service like it’s calling up a web page! For them it’s easy to understand, works well across many platforms, and doesn’t involve any complicated networking.
Tired of reading? Ready to talk to someone about your application?
Just like powerful woodworking tools, you need to wear your safety gear and not remove the safeties on your tools. To that end, out of the box, it was important for the Configuration API to be secure and to integrate with other security features built into the product such as the user manager that lets you setup user logins and control what they can do, even blocking them from deleting anything.
Here’s a short list of features that address security:
Coming soon. Recognizing that many of our users are .NET developers, especially our Wonderware System Platform users, Software Toolbox will be offering an object-oriented .NET wrapper for the RESTful API for users who develop in Visual Studio.NET and do not want to have to handle the management of the calls to the RESTful web service and serializing and de-serializing of the JSON packets.
The goal is to provide these developers a rapid development environment that allows them to focus on the configuration tasks, not the plumbing of implementation of the API.
We are currently working to get to an early Beta on this offering. If you’re interested in learning more, please contact us to discuss your application and to be considered for our beta program.