136 lines
9.0 KiB
HTML
136 lines
9.0 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE html
|
||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html lang="en-us" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow" />
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<meta name="DC.Type" content="concept" />
|
||
|
<meta name="DC.Title" content="About application programming interfaces (APIs)" />
|
||
|
<meta name="abstract" content="Describes most of the iSeries application programming interfaces (APIs), as well as some APIs for related products that can be used on iSeries servers." />
|
||
|
<meta name="description" content="Describes most of the iSeries application programming interfaces (APIs), as well as some APIs for related products that can be used on iSeries servers." />
|
||
|
<meta name="DC.Relation" scheme="URI" content="concept.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="exdqdetermine.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="ExTaskDataque.htm" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Format" content="XHTML" />
|
||
|
<meta name="DC.Identifier" content="aboutapis" />
|
||
|
<meta name="DC.Language" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
|
<title>About application programming interfaces (APIs)</title>
|
||
|
</head>
|
||
|
<body id="aboutapis"><a name="aboutapis"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">About application programming interfaces (APIs)</h1>
|
||
|
<div><p>Describes most of the iSeries™ application programming interfaces
|
||
|
(APIs), as well as some APIs for related products that can be used on iSeries servers.</p>
|
||
|
<p>Before using APIs, you should be familiar with the API concepts discussed
|
||
|
in this topic. On occasion, you may need to refer to other IBM<sup>®</sup> books or topics
|
||
|
for more specific information about a particular topic. Information for specific
|
||
|
APIs or categories of APIs often provide links to additional information that
|
||
|
may be useful to you.</p>
|
||
|
<div class="section" id="aboutapis__who"><a name="aboutapis__who"><!-- --></a><h4 class="sectiontitle">Who should use APIs</h4><p>The APIs are intended
|
||
|
for experienced application programmers who are developing system-level and
|
||
|
other <span class="keyword">i5/OS™</span> applications.
|
||
|
This topic provides reference information only; it is neither an introduction
|
||
|
to the <span class="keyword">i5/OS</span> licensed program
|
||
|
nor a guide to writing <span class="keyword">i5/OS</span> applications.</p>
|
||
|
</div>
|
||
|
<div class="section" id="aboutapis__how"><a name="aboutapis__how"><!-- --></a><h4 class="sectiontitle">How this information is organized</h4><p>In the
|
||
|
API finder, you can search for APIs by category, by API name, by descriptive
|
||
|
name, or by part of the name. You also can search for new APIs, changed APIs,
|
||
|
and exit programs.</p>
|
||
|
<p>The API categories are major functional categories,
|
||
|
such as backup and recovery, objects, and work management. Within the individual
|
||
|
categories, the APIs are organized in alphabetical order as follows:</p>
|
||
|
<ul><li>By the spelled-out name for the original program model (OPM), the Integrated
|
||
|
Language Environment<sup>®</sup> (ILE), and the ILE CEE APIs.</li>
|
||
|
<li>By the function name for the UNIX-type APIs.</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="section" id="aboutapis__compat"><a name="aboutapis__compat"><!-- --></a><h4 class="sectiontitle">Compatibility with future releases</h4><p>In
|
||
|
future releases, IBM intends that one of the following will be true:</p>
|
||
|
<ul><li>If additional input or output parameters are provided for any of the APIs,
|
||
|
the new parameters will be placed after the current parameters and will be
|
||
|
optional parameters. The existing APIs will continue to work without any changes.</li>
|
||
|
<li>If an additional data structure is provided, a new format (layout of that
|
||
|
data structure) will be created.</li>
|
||
|
<li>New information may be added to the end of an existing format.</li>
|
||
|
</ul>
|
||
|
<p>It is IBM's intention that the APIs will continue to work as they
|
||
|
originally worked and any existing applications that use the APIs will continue
|
||
|
to work without changes. Significant architectural changes, however, may necessitate
|
||
|
incompatible changes. Additionally, some API definitions, for example the UNIX<sup>®</sup> type
|
||
|
of API definitions, are established by industry standards organizations where
|
||
|
the degree of compatibility is determined by the organizations. </p>
|
||
|
<p>To
|
||
|
ensure better compatibility with future releases, you should retrieve and
|
||
|
use all of the following when you work with user spaces generated by list
|
||
|
APIs:</p>
|
||
|
<ul><li>Offset values to the list data section</li>
|
||
|
<li>Size of the list data section</li>
|
||
|
<li>Number of list entries</li>
|
||
|
<li>Size of each entry</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="section" id="aboutapis__whenapi"><a name="aboutapis__whenapi"><!-- --></a><h4 class="sectiontitle">System APIs or CL commands--when to use each</h4><p>Before
|
||
|
system APIs were offered on the system, you had to either code separate CL
|
||
|
programs to perform the needed functions using the appropriate CL commands
|
||
|
or code a call to the<span class="apiname"> Execute Command (QCMDEXC)</span> API in
|
||
|
your program. Both methods made coding an application on the system more cumbersome
|
||
|
(less straightforward and not as fast as possible).</p>
|
||
|
<p>CL commands will
|
||
|
always be needed; they are ideal for the interactive user and for CL applications
|
||
|
that are performing basic tasks. They provide a complete set of functions
|
||
|
on the system.</p>
|
||
|
<p>APIs are not provided as a replacement for CL commands,
|
||
|
although in many cases there may be both an API and a CL command that perform
|
||
|
the same function. If a CL command and an API provide the same function, at
|
||
|
times the API provides more flexibility and information. The CL command is
|
||
|
intended to be entered either interactively or in a CL program, and the API
|
||
|
is designed as a programming interface.</p>
|
||
|
<p>Some APIs have no equivalent
|
||
|
CL command. These APIs have been provided in areas where customers and business
|
||
|
partners have indicated that they need high-level language (HLL) access.</p>
|
||
|
</div>
|
||
|
<div class="section" id="aboutapis__act"><a name="aboutapis__act"><!-- --></a><h4 class="sectiontitle">Actions and system functions of APIs</h4><p>An
|
||
|
API can be categorized by the type of action it performs and by the system
|
||
|
function that it relates to.</p>
|
||
|
<p>Following are some of the types of APIs
|
||
|
that perform actions; several examples of these APIs are discussed in more
|
||
|
detail in later chapters of this book.</p>
|
||
|
<ul><li>List APIs, which return lists of information about something on the system.</li>
|
||
|
<li>Retrieve APIs, which return information to the application program.</li>
|
||
|
<li>Create, change, and delete APIs, which work with objects of a specified
|
||
|
type on the system.</li>
|
||
|
<li>Other APIs, which perform a variety of actions on the system.</li>
|
||
|
</ul>
|
||
|
<p>While many APIs are used alone, some can be used together to perform
|
||
|
a task or function. The following is a list of a few functions:</p>
|
||
|
<ul><li>Defining, creating, distributing, and maintaining your own software products.</li>
|
||
|
<li>Controlling systems and networks, which can include configuration, spooled
|
||
|
files, network management, problem management, and so forth.</li>
|
||
|
<li>Handling objects, which includes creating, changing, copying, deleting,
|
||
|
moving, and renaming objects on the system.</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div>
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="concept.htm" title="Describes the underlying concepts that you need to understand to work effectively with APIs. Among the concepts covered are basic concepts, programming considerations, and terminology.">API concepts</a></div>
|
||
|
</div>
|
||
|
<div class="relref"><strong>Related reference</strong><br />
|
||
|
<div><a href="exdqdetermine.htm" title="If user queues and data queues supply the same function, which one should you choose for your implementation? The following is a comparison of the two and an insight into when you should use one queue rather than the other.">Determining whether to use data queues or user queues</a></div>
|
||
|
<div><a href="ExTaskDataque.htm" title="Data queues and user queues both provide a means for one or more processes to communicate asynchronously. The queues can be processed FIFO (first-in first-out), LIFO (last-in first-out), or by key.">Examples: Using data queues or user queues</a></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|