MIDAS Open API
The web environment has become all over the place in our daily lives. For a better vision and preparation for the future, MIDAS adopted a web-based API, not a conventional API.
API vs. Web API
The conventional API and the web API have different features, as follows.
Feature | API | Web API |
Access Method | Mainly called within programming languages | Web requests through the HTTP Protocol |
Communication Protocol | Available various protocols | Mainly use HTTP/HTTPS |
Request and Response Format | Available various data formats | Mainly use JSON or XML |
Purpose of usage | Mainly used for integration among programs or utilizing libraries | Mainly used for sharing the data among web applications or exposing the service to external developers |
Security | Available customizing about certification and authorization |
Certification using OAuth 2.0 and API key and authorization |
Access control | Mainly access in a local network or on a computer | Access through the internet for remote control |
Platform dependencies | Viably have dependency-dependent on the language or platform | Can be used platform-independently through a web browser or an HTTP client |
Above the lists can be a feature of each method, and they can be pros and cons simultaneously.
Structure
MIDAS CIVIL NX Open API is the integration results of web and network API technologies. It can provide a much more effective and stable service.
MIDAS CIVIL NX does not interface with applications directly.
Other applications, including users (clients), communicate with the server over the web using the REST API and finally interact with the connected MIDAS CIVIL NX using WebSocket technology. In other words, the server (AWS) acts as an intermediary between MIDAS products and applications.
The users will likely interact with the system in the following method.
The server can handle multiple WebSocket clients (MIDAS Products) simultaneously. These various products are identified through the “MAPI-Key.” Therefore, the clients (applications) must include the “MAPI-Key” on the header when they request REST API to specify the product.
This operational model implies that if a single client has information for multiple MAPI-Keys, it can manage various products in one place.
Just take care of your “MAPI-Key” security; however, “MAPI-Key” operates as a temporary key. If you desire, you can change at any time. It comprises a lengthy combination of characters and numbers, making random guessing nearly impossible.
Operation
Let’s illustrate the basic operation of the MIDAS Open API with a conceptual example.
- The client requests the REST API from the server as follows:
- HTTP Method: “GET”
- URL: “/db/node”
- Header: “MAPI-Key”: “######”
- The server that gets a request finds a product and requests node information.
- The product sends node information to the server.
- The server that gets node information re-sends it to the client.
Due to these operating characteristics, the user can be confused about everything that happens on the local PC. MIDAS CIVIL NX does not interface with applications; as I mentioned before, API operating goes through the server, as in the above example.
Features
MIDAS CIVIL NX Open API, being a web API, comes with several features.
Here are some key characteristics:
- Platform/Language independence:
- It is available on any application using HTTP Request (C, C++, C#, VB, VBA, Java, JavaScript, Typescript, Python, etc.).
- It allows the formation of applications with various characteristics of applications.
- Limited data format:
- It exclusively uses JSON formatted data, and each application parses and utilizes JSON.
- Most applications provide basic libraries or user libraries to handle JSON.
- Scalability:
- It exhibits scalability for remote access, multiple client connections, and control through web-based connections.
- This enables efficient communication and collaboration between servers and multiple clients.