paint-brush
4 Data Management APIs for Better and Faster Innovationby@shane_barker
1,203 reads
1,203 reads

4 Data Management APIs for Better and Faster Innovation

by Shane BarkerMay 14th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Application Programming Interfaces, or APIs, have revolutionized the way we do programming. Through them, we’re able to get two applications to communicate with each other without any need to intervene manually. Using them, you can also easily implement and maintain your software solution. There are a variety of APIs out there based on the type of system you use. They could be for web-based systems, database systems, operating systems, computer hardware, or other systems. The Data Management API (DMAPI) is one of the most useful ones.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 4 Data Management APIs for Better and Faster Innovation
Shane Barker HackerNoon profile picture

Application Programming Interfaces, or APIs, have revolutionized the way we do programming. Through them, we’re able to get two applications to communicate with each other without any need to intervene manually. 

APIs also come in handy when you’re developing graphical user interface (GUI) components. Using them, you can also easily implement and maintain your software solution. 

There are a variety of APIs out there based on the type of system you use. They could be for web-based systems, database systems, operating systems, computer hardware, or other systems. Now that you know what an API is, let’s look at their common types. 

Types of APIs

Here are some of the most common types of APIs: 

  • SOAP (Simple Object Access Protocol): This protocol uses XML to transfer data. Its primary function is to define the message structure and the communication method.
  • JSON-RPC: This protocol uses JSON to transfer data instead of XML. 
  • XML-RPC: This protocol uses a specific XML format for data transfer, while SOAP uses proprietary XML formats. However, it’s simpler and uses less bandwidth than SOAP.  
  • REST (Representational State Transfer): REST is a set of architectural principles and not a protocol. It needs certain characteristics, such as simple interfaces.

Of the numerous APIs, the Data Management API (DMAPI) is one of the most useful ones. Let’s try to understand what it helps you achieve. 

What is a Data Management API (DMAPI)? 

A Data Management API is an interface that’s used by eXtended Design Structure Matrix (XDSM) specification. It allows you to get special interfaces for files. This interface is file system independent, i.e.; it can be used on any file system once it’s created. 

Initially, the Data Management API allowed file systems to transfer data from one storage unit to another. The first storage unit was the primary unit, which was online, and was usually the hard disk, while the second unit was an offline one, which would be a backup device. While this wasn’t special, the transfer was transparent. 

Additionally, the Data Management API was also used to store unused files offline until they were requested. Once the files were requested, they were retrieved for the user. This method helped make the file system larger than the hard disk (physical storage device). As a result, in some cases, it was also called the “bottomless” disk. 

In server environments, it can be used for the following functions: 

  • Watching out for events related to reading, writing, mounting, low space, etc. 
  • Free up space on the hard disk by keeping only the first block available and punching a hole in the file (storing it offline)
  • Reading files from the offline storage without the need to back them up as they’re already on the tape
  • Invisible reads and writes without having to update the file’s timestamp

Lastly, a Data Management API is also used by the XDSM API to find out events and accordingly give actions to the Data Management application. 

Now that you understand what a Data Management API is and what it does, let’s look at some of the best Data Management APIs out there. 

Best Data Management APIs

Here are the best Data Management APIs: 

1. Autodesk Forge (Data Management API v2)

Autodesk Forge’s Data Management API provides a great way to get data across a variety of applications. You can access data from BIM 360 Team, BIM 360 Docs, Fusion Team (also known as A360 Team), Object Storage Device, and A360 Personal. 

Using this API, you can design numerous workflows. Some of the workflows you can accomplish are: 

  • Superimpose Fusion models and building models in the Viewer
  • Get an ordered structure of items, IDs, and more from Fusion Team by accessing a Fusion model for generating a bill of materials (BoM) in a third-party process.

This Data Management API has the following services:   

1. Project Service

This service allows you to navigate to a project one of the BIM 360 Team hubs, A360 Personal hubs, Fusion Team hubs, or even a BIM 360 Docs account. In this, your project works as an “anchor” for your APIs data. 

2. Data Service

Using this service, you can both navigate and manage a variety of applications. These include the BIM 360 Team, BIM 360 Docs, A360 Personal metadata, and even the Fusion Team. You can manage them in terms of folders, versions, items, and even the relationships between them. It’s also possible to have multiple versions of each item. 

3. Schema Service 

Schema service helps your application understand the semantics and structure of the extended data types. For instance, your application can recognize Fusion designs through this service. 

4. Object Storage Service (OSS)

The Object Storage Service allows your application to work with raw files such as PDF, RVT, DWG, and XLS that are managed by the Data Service. Your application can download and upload these raw files using this service. You can use online availble smart PDF tools to convert and edit documents and files esaily.

The best part about this Data Management API is that you can have numerous logically separated apps that utilize one or more of these services. Additionally, all of these apps are interoperable with all the other APIs on the Forge platform.

Image via Autodesk Forge

2. Microsoft (Data Management Package REST API)

Microsoft has also come up with one of the best Data Management APIs out there. They provide a Representational State Transfer (REST) API that comes with Microsoft Dynamics 365. This package API lets you integrate things through data packages. The best part about this Data Management API is that it can be used with both cloud and on-premises deployments. 

However, the on-premises version of the API is only available in the Microsoft Dynamics for Finance and Operations (Enterprise edition with update 12). What makes this API easy to implement is that it’s a single API that can be used for both the deployments (cloud and on-premises). 

Here are some cases where it can be used: 

  1. Scheduling: Scheduling outside Finance and Operations apps.
  2. Format: It doesn’t have file formats but only data packages. 
  3. Transformation: This package supports transformations that are external to the system. 
  4. Service Type: The only service type that’s available in this is the Open Data Protocol (OData). 

3. Oracle (REST API for Oracle Enterprise Data Management Cloud Service)

Oracle Enterprise Data Management Cloud Service has one of the best Data Management APIs out there, and it’s a REST API as well. This API helps you perform user tasks in an automated fashion. The RESP API makes it simple to exchange data via HTTP (HyperText Transfer Protocol) requests from a client to a server. 

Oracle’s REST API has resources, which are essentially objects with associated data, type, and relationships with other sources. 

These resources are organized in a hierarchical structure such that: 

  • They lead to a better organization through the grouping of related data. This can help you customize your resources efficiently. 
  • They can improve the performance of the service. This is done by using a single HTTP request, which, in turn, can handle multiple resources.

There are various HTTP methods that you can use to access each resource. Some of the supported methods are: 

  1. GET: In this method, you can retrieve a single or multiple records of the resource. 
  2. POST: Using this HTTP method, you can create a resource or perform an operation. 
  3. DELETE: The DELETE HTTP method helps you delete a REST API resource or one of its related components. 

4. IBM Spectrum Scale Data Management API

IBM has one of the finest Data Management APIs out there. Its Data Management API is designed specifically for the IBM General Parallel File System (GPFS). 

This API is based on the Open Group’s System Management: Data Storage Management (XDSM) API Common Applications Environment (CAE) Specification C429. It’s also based on The Open Group and ISBN 1-85912-190-X specification. 

This feature is mainly intended to be used for single-node environments. Additionally, some of the important concepts like sessions, recovery, and event delivery have been enhanced for multi-node environments like GPFS. 

This Data Management API has three main GPFS-specific events: 

  1. Events that are implemented in Data Management API for GPFS
  2. Optional events that aren’t implemented in Data Management API for GPFS
  3. GPFS-specific attribute events that aren’t a part of the Data Management API standard

Additionally, this Data Management API has some restrictions for GPFS as well. They must be called from the cluster’s nodes from where the file system is created. Additionally, the Data Management API may not be invoked from remote clusters.

Final Thoughts

APIs can make it simple for you to get two files to communicate with each other. Their usage has expanded so rapidly that some of the best chatbot platforms use APIs to make it easy for you to create your very own chatbots. 

Data Management APIs can help you get special interfaces to files, and this can make it easy for you to access data across a variety of apps and services. 

What are the other best Data Management APIs that you know of? Let us know in the comments.