There are thousands of model and data repositories that are potentially part of the digital engineering environment for organizations developing complex systems. No engineering software vendor has the resources to build and maintain integrations to even a sizeable fraction of these, especially since many are custom proprietary tools with only a small number of users. Vendors can, however, create generic interfaces that customers can adapt to their toolset using no code/low code interoperability platforms.
With the release of Syndeia 3.5 in 2022, Intercax has included the Generic RESTful API Interface as part of the standard annual subscription to this digital thread platform. With this addition, customers can add any model or data repository with a REST API to their digital threads in a simple, systematic process involving minimal code development. In order to introduce users to this new capability, Intercax has posted a series of video demonstrations for several different repositories with a range of authentication mechanisms. In the first part of this blog series, we discuss a video posted on our YouTube channel showing integration to the SpaceX Data repository, one that requires no authentication for user access. The video demonstration is also available at the end of this post.
REST is an acronym for REpresentational State Transfer. A REST or RESTful API is an API for interacting with web-based services using the REST Architectural Style:
- Clients (Consumers) send requests and receive responses from Server (Provider)
- Standard CRUD operations on data – GET (Read), POST (Create), PUT (Update), DELETE
- Stateless – All information required for the CRUD operations is contained in the
client -> server request.
- Data is communicated using JSON or XML
The RESTful API service resides on Syndeia Cloud, a digital engineering platform hosted on the customer’s server or private cloud, with its own RESTful API that provides unified access to all the integrated repositories. The video uses the Syndeia Web Dashboard, a browser-based client of Syndeia Cloud, to demonstrate how the Generic RESTful API integration works with the SpaceX Data repository. SpaceX Data is an open repository on the web, requiring no user authentication. It contains data about SpaceX launch vehicles, missions, payloads, etc., and provides a well-documented RESTful API.
After introducing the SpaceX repository, the video demonstrates how to log into Syndeia Cloud through the Syndeia Web Dashboard. The first task is to create a repository link to the SpaceX data by entering the URL of the repository and assigning a Name and Description to the link. No authentication credentials are required. If the connection is successful, the contents of the repository appear in a tree structure on the right side of the page, as in Figure 1.
With the Syndeia Generic RESTful interface, the tree structure is presented as a series of Requests, organized into Collections. The user first expands the top-level repository entry to show existing Collections. Each Collection can be expanded to show one or more Requests. When a specific Request is expanded, Syndeia executes the Request, passing it to SpaceX and displaying the JSON output from the return. In this case, the JSON response is comprised of a multilevel array of data which can be interactively expanded and viewed in the dashboard.
After demonstrating how an existing set of Requests and Collections operates, the video shows how new Requests and Collections can be created. Figure 2 shows an example of the form-based template used to create a new Request. Name, Description and the Collection that the Request will appear in are entered at the top by the user. The first part of the URL, the link to the SpaceX repository, is filled in automatically, but the remainder of the URL and the selection of method type identify the specific endpoint that comprises the Request. Depending on the endpoint selected, the Request may also require additional information, such as one or more query parameters. A Test button at the bottom sends the Request and displays the response before the user saves or updates it.
One value of the Syndeia Web Dashboard is that Request and their responses can be quickly and interactively developed and tested. However, the ultimate value of this capability is to create custom dashboards and reports using the methods available through Syndeia Cloud’s REST API to extract, connect and display the contents of these underlying data sources. In a previous blog series, Syndeia API for Open Digital Thread, we presented a series of custom scripts in the form of Jupyter notebooks that use the Syndeia API to access JIRA, DOORS NG, Teamwork Cloud and others. This same approach can now be used with any data source having a RESTful API.
Figure 3 shows an excerpt of the endpoints available with the Syndeia Generic RESTful API, also available via Python language clients. Note that the scripts developed will require some software coding, but development frameworks such as Python Jupyter notebooks provide extensive support for the parsing, analysis and visualization of the JSON or XML data returned.
The Generic RESTful API Integration introduced in Syndeia 3.5 enormously expanded the number of model and data repositories that could be added to the digital thread. Future parts of this blog series will cover additional demonstration videos with other RESTful API-based repositories and other API authentication mechanisms.
Demo: Connecting to a repository using a REST API with No Auth
Other parts in this series:
- RESTful API Integration Demos, Part 1 – No Authentication ( This Post)
- RESTful API Integration Demos, Part 2 – Basic Authentication (OpenMBEE)
- RESTful API Integration Demos, Part 3 – Static API Key (Astra DB) – To be released
- RESTful API Integration Demos, Part 4 – Static Bearer Tokens (GitLab) – To be released
- RESTful API Integration Demos, Part 5 – Dynamic Authentication Tokens (GENESYS) – To be released