Difference between Interface and API
An API (Application Programming Interface) is inbuilt program through which data’s can be transferred
to Oracle base tables directly without writing the program for validating or inserting in Interface tables.
But through User Interface, we have to write codes for validation and insertion of data’s in
Interface tables and then in Oracle base tables
Oracle defines an API as "A set of public programmatic interface that consist of a language and message
format to communicate with an operating system or other programmatic environment, such as databases,
Web servers, JVMs, and so forth. These messages typically call functions and methods available
for application development."
I guess that there is no such thing as an interface to Oracle=2 there are only "open" interfaces.
These are a group of published and supported inbound and outbound Interface objects (talk about them
more in a second) that Oracle has developed for your use=2 these objects may be, a table or group of tables,
a concurrent program that references a PL*SQL or Pro*C/C++ package o library.
Oracle's policy over the years is that if you post data directly to an application table, then you are
invalidating your support agreement, and if you are bored enough, you can see the
clause in the agreement sure enough.
But these published interfaces are quite often not enough to d what you need to do. Take the
case of Payables suppliersfor example. That has been a pain for everyone
Right from the beginning.
So in answer to your question. An open interface is a group of objects that Oracle supports
and licenses with the software that allow inbound and outbound data transactions in Oracle'
Approved format. You put data into the tables and oracle import it or you run a concurrent request
and oracle outputs data into that table. Batch processing. You need to put your data into the right
pre-validated format before inserting into the interface table or the data will be rejected.
An API is programmatic hooks or coding blocks that you can "call that allow you to perform
some function or other to achieve par of your goal. For example, Oracle Projects there is
PA_INTERFACE_UTILS_PUB.CREATE_PROJECT API that takes a list o input variables that you assign
to the called API (these can b in a table or passed directly) for example;
l_project_in.created_from_project_id := '1001';
-- Project id from template
l_project_in.project_name :='C, AMG TEST PROJECT';
l_project_in.pm_project_reference := 'C, AMG TEST PROJECT';
and if the package passes validation on all these data points your project will be inserted as a result.
So finally, you can insert data into an open interface table then use a concurrent program that CALLS
an API to process that information.
In the case of real-time processing or OLTP, once you save record in PeopleSoft HR, you want it to appear in Oracle H
immediately, you would write PeopleSoft code that copies those data items to memory, submit the list of required
variable (PeopleSoft data)to the Oracle API as inputs. The API o completion posts your employee into the
Oracle database=2 (ideally you would provide a function then back to PeopleSoft t confirm that oracle received
the transaction correctly and i wasn't rejected by the API). All this was achieved without the use of an open "interface".
The nail in the coffin however and where you may be confused, i that many people think that any exchange of
data from one table to another is an "interface". A "link".
And I guess that it i in a way.
Just remember that
An interface is the pool,
An open interface table is the lanes and
An API is the swimmer.
The term Open Interfaces actually refers to table driven interfaces, where you put data in
a table that sits between your external application and the Oracle module you are interfacing with.
The term API refers to stored procedure driven interfaces, where you call a stored procedure
to perform an action within an Oracle Module, and the data from your external application is
passed through the stored procedure’s parameters. Historically, there were only table driven
interfaces and they were called Open Interfaces. Later, stored procedures were added and were called APIs.