Application programming interface (API)
In computer programming, an application programming interface (API) specifies how some software components should interact with each other.
In addition to accessing databases or computer
hardware, such as hard disk
drives or video cards, an API
can be used to ease the work of programming graphical user interface components.
In
practice, many times an API comes in the form of a library that
includes specifications for routines, data
structures, object classes, and variables. In
some other cases, notably for SOAP and REST services, an API
comes as just a specification of remote calls exposed to
the API consumers.
An API specification can take many forms such as,
including an International Standard such as POSIX, vendor
documentation such as the Microsoft Windows API, the libraries of a programming language, e.g., Standard Template Library in C++ or Java API.
Web
APIs are also a vital component of today's web fabric. An API differs from an application binary interface (ABI) in that an API is source code based
while an ABI is a binary interface. For instance POSIX is an API, while the Linux Standard Base is an ABI.
Java Applications Programming Interface
(API)
Ø First, the official core Java API, contained in the JDK or JRE, of one of the editions of the Java Platform.
Ø Secondly, optional official APIs that can be
downloaded separately.
The specification
of these APIs are defined according to a Java Specification Request (JSR), and sometimes some of
these APIs are later included in the core APIs of the platform (the most
notable example of this kind is Swing).
Ø And third one, unofficial APIs, developed by third parties, but not
related to any JSRs.
Third parties can
freely implement any JSR specifications for an official API (even for the core
API of the language), providing that they conform to the Technology Compatibility Kit (TCK) for
this JSR (the TCK is a suite of tests that checks conformance of
implementations for a JSR). The result of this freedom is that many official
APIs have more implementations than the Sun's Reference implementation (RI).
The following is a partial list of Application Programming Interfaces (APIs) for
the Java Programming Language.
Official APIs
Java Platform, Standard Edition (Java SE)
Name
|
Description and
Version History
|
||
JAI
|
A set of interfaces
that support a high-level programming model allowing to manipulate images easily.
|
||
JDO
|
|||
A full-featured,
extensible help system that enables you to incorporate online help in
applets, components, applications, operating systems, and devices.
|
|||
JMF
|
An API that enables
audio, video and other time-based media to be added to Java applications and
applets.
|
||
JNDI
|
|||
JSAPI
|
|||
J3D
|
|||
JOGL
|
|||
Java USB for
Windows
|
(none)
|
A USB communication
of Java applications
|
Java Platform, Enterprise Edition (Java EE)
Bundled APIs (part of standard download)
Name
|
Java package(s) that contain
the API
|
|
JAF
|
javax.activation
|
|
(none)
|
javax.mail
|
|
JMS
|
javax.jms
|
|
JSF
|
javax.faces
|
Optional APIs (downloaded separately)
Name
|
Available from
|
|
JAX-RPC
|
||
XQJ
|
Java Platform, Micro Edition (Java ME)
Name
|
Acronym
|
Available from
|
CLDC
|
||
Unofficial APIs (Released by third
parties)
This list is very incomplete, as the
number of APIs available for the Java platform is overwhelming.
Rich Client Platforms
Office_compliant libraries
Compression
Game engines
Real-time libraries
Windowing libraries
Physics Libraries
·
JBox2D
·
JBullet
FOOT
NOTE
The three editions of the Java Platform are
What is SOAP?
- SOAP stands for Simple Object Access Protocol
- SOAP is a communication protocol
- SOAP is for communication between applications
- SOAP is a format for sending messages
- SOAP communicates via Internet
- SOAP is platform independent
- SOAP is language independent
- SOAP is based on XML
- SOAP is simple and extensible
- SOAP allows you to get around firewalls
REST services
Representational state transfer (REST) is an abstraction of the architecture of the World Wide Web. More precisely, REST is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements.
The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation at UC Irvine. REST has been applied to describe desired web architecture, to identify existing problems, to compare alternative solutions and to ensure that protocol extensions would not violate the core constraints that make the web successful. Fielding used REST to design HTTP 1.1 and Uniform Resource Identifiers (URI).
No comments:
Post a Comment