The current blog series reviewing the RESTful API demo videos is organized around each of five methods authenticating access to an external RESTful API-based repository: no authentication required, basic authentication, and bearer, API key, and dynamic token-based authentication. It also provides an opportunity to show the ways in which five different RESTful repositories can be made part of a digital thread and the kinds of information that can be extracted from them. In this blog post, we will introduce the second of these videos involving basic authentication (user name and password) and the OpenMBEE Model Management System (MMS). The video demonstration is also available at the end of this post.
OpenMBEE is an open-source collaborative engineering environment, which is used by many organizations to publish models, e.g. SysML-based systems architectural models, as editable digital documents in a web browser. Intercax has previously presented examples at INCOSE IW where OpenMBEE accessed connectivity data as a client of the Syndeia Cloud REST API, as shown in Figure 1. In this video, the opposite use case is discussed; the OpenMBEE MMS is the data source accessed through its own API by Syndeia.
MMS is a configuration-managed collection of Documents. The top level of the data model accessible through the MMS RESTful API is a set of Orgs, organizations that might be sharing the MMS repository. An Org may contain one or more Projects. Each Project may contain one or more References, where a Reference may be a Branch (a sequence of configurations of documents) or a Tag (a specific configuration of documents).
The video begins with creating a repository link in the Syndeia Web Dashboard to a specific MMS repository. After entering the URL, the user chooses Basic Authentication from the pull-down menu and adds their user name and password.
Figure 2 shows a set of Requests organized by Collection that have been created for this example:
- A Request for all Orgs in this MMS repository,
- A Request for all Projects for a specific Org,
- A Request for all References for a specific Project
- A Request for al Documents in the latest version in a specific Branch of this Project.
The remainder of the video repeats many of the tasks introduced in the first video in this series, creating and executing requests, now applied to this repository. In this example, the process emphasizes the use of cloning and editing Requests, as opposed to creating each from scratch. This is particularly efficient when drilling down from Org to Project to Reference to Document. Figure 3 shows the second step in this sequence.
Similar to the discussion in Part 1 in this series, the JSON response to each Request can make it difficult to find the specific information required out of a more extensive data dump. Figure 4 illustrates the response to the request for all Project belonging to the SST Org. There are 14 Projects, each of which has at least 13 attributes and references. It is in such cases that a data science platform, such as Jupyter notebooks with Python analysis and visualization libraries, may make a more efficient front-end than the web dashboard.
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 – Integrating RESTful Repositories with Basic Auth
Other parts in this series:
- RESTful API Integration Demos, Part 1 – No Auth
- RESTful API Integration Demos, Part 2 – Basic Auth (OpenMBEE) – (This Post)
- 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)