The SDK core APIs provide infrastructure to invoke any API on a server. The SDK Core APIs provide the client side interfaces to set up connection with the server, package or unpackage messages in XML format, query any API on the server, determine the queried result, and so on.
The data structures used for sending requests and for receiving responses are called Input Output (I/O) elements. XML encoding is used to package these I/O elements. Each element has a name and content, and might have one or more child elements within. The content type is a string, integer, array of elements, or a NetApp-defined data type.
The SDK Core APIs internally convert any API to be invoked and the I/O elements, to XML format. The mechanism is as follows:
The client code uses a small set of primitive data types to create a request.
The only primitive data types available in the SDK Core APIs are integer, string, and boolean. Nested structures and arrays are also available, which contain integer, string, and boolean, in turn.
An API name is associated with it.
Named parameters are added to the request.
On the server side, a similar set of primitives extracts the parameters from the request for processing, and packages the reply. At the client side, the response data is extracted using the SDK Core APIs.
The transport mechanism used for the API communication is either HTTP, HTTPS, or DCE/RPC for Windows. HTTP and HTTPS are important while managing devices residing outside the corporate firewall. HTTPS provides secure communication by encrypting the API requests and responses.
This section provides information about the Core APIs in four different languages:
C and C++ Core APIs
Java Core APIs
Perl Core APIs
Microsoft .NET Core APIs
Python Core APIs
Related Topic