2020/11/26 08:14:09 System development

About API cooperation

About API cooperation

Our patent system can be linked by API. By linking with API, it is possible to link with systems in all industries. What is the API like this time? I will introduce the article.

[Application Programming Interface]

Alias: Application programming interface

An API is a convention that defines the procedure and data format for calling and using the functions of a certain computer program (software) and the data to be managed from another external program.

Since it is difficult and wasteful for individual software developers to develop all functions from scratch each time, the functions commonly used by many software are provided together in the form of OS and middleware.

The API defines the procedure for calling and using such general-purpose functions, and each developer simply writes a short code that calls the function according to the API, and describes the processing content from scratch. You can create software that uses that function without it.

In a broad sense, it may include the functions provided by the programming language and the rules for calling the functions of the standard library attached to the language processing system (Java API, etc.).

In addition, by configuring the program in the form of calling the function via the API, it is a great advantage that if the same API is implemented, it can be operated as it is on another software. In fact, many OS products have expanded their functions by taking over the API provided in the old version of the same product and adding a new API, and it is possible to operate the software developed for the old version as it is. it can.

API format
The API defines what kind of description should be made on the source code, which is a program in a format that is easy for humans to write and understand, and is defined for each programming language in principle.

Data types of arguments and return values ​​of functions and procedures, meanings and definitions of possible values, related variables and constants, specifications of complex data structures, classes and properties in the case of object-oriented languages, method specifications, etc. Including.

In a structure that is called remotely through a communication line, specifications defined in the form of packets sent and received, the format of messages, the communication protocol (communication protocol), etc. are sometimes called APIs.

In recent years, the number of software that defines APIs that can be called from the outside through a network is increasing, and it is possible to develop software that captures and uses functions and data provided by computers in remote locations.

In the past, APIs that make calls via communication were often defined individually for each product or environment based on RPC (remote procedure call) specifications, but in the case of API calls on the Internet, HTTP is used for communication. However, Web APIs that use XML or JSON as the data format are becoming mainstream.

Until the early 2000s, attempts were made to popularize SOAP, which has huge specifications and abundant functions as a standard for Web APIs, but since the mid-2000s, lightweight and simple RESTful APIs have become common, and not only Web applications in a narrow sense It has come to be widely used for cooperation and connection between various types of software and network services.

API and implementation
The API itself is just a rule that defines how to call it from the outside, and the functions listed in the API can be used only when there are libraries and modules that implement the functions to be called.

If the API of a certain software is open to the public, it is possible to develop compatible software that can be called by the same API. However, if the program that uses the API is binary code (native code) (not a script, etc.), it is generally not possible to operate it as it is, and for compatible environments based on the same source code. You need to compile and build again (sole level compatible).

Also, since the API itself does not define the details of the operation in the standard implementation, just because the API is the same compatible software does not mean that the operation and behavior are exactly the same. In the case of commercial software, the API is often private or not all public, and it is difficult to create an API compatible product using only public information.

API and intellectual property rights
Traditionally, unless protected by a patent, the general view is that the API itself has no copyright or other intellectual property rights, and in fact, it does not copy the original software code and is entirely independent. Many API compatible software have been developed by implementing it.

However, regarding the Java language and its processing system that Oracle (Oracle) has the right to, Google (Google) has implemented an execution environment (Dalvik VM) that implements the Java API for Android smartphones without the permission of the company. A trial was filed that it was a copyright infringement that was being developed and provided, and the US court ruled that the complaint was granted. In the future, the conventional situation regarding API rights may change.