ibm-information-center/dist/eclipse/plugins/i5OS.ic.apiref_5.4.0.1/aboutapis.htm

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>