ajay


{ City }
< Country > india
* Profession *
User No # 11446
Total Questions Posted # 0
Total Answers Posted # 1

Total Answers Posted for My Questions # 0
Total Views for My Questions # 0

Users Marked my Answers as Correct # 16
Users Marked my Answers as Wrong # 11
Questions / { ajay }
Questions Answers Category Views Company eMail




Answers / { ajay }

Question { Infogain, 57796 }

what is difference between API and Interface?


Answer

Hi there. This seems like a simple question but it can b
complicated depending on the specific API that you are
talkin about.

Oracle defines an API as "A set of public programmatic
interface that consist of a language and message format to
communicat with an operating system or other programmatic
environment, suc as databases, Web servers, JVMs, and so
forth. These message typically call functions and methods
available for applicatio 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 publishe and supported inbound and outbound
interface objects (talk abou them more in a second) that
Oracle has developed for your use=2 these objects may be, a
table or group of tables, a concurren 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
directl to an application table, then you are invalidating
your suppor agreement, and if you are bored enough, you can
see the claus 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
suppliers fo example. That has been a pain for everyone
right from th begining.

So in answer to your question. An open interface is a group
o objects that Oracle supports and licences with the
software tha 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 int that table. Batch processing. You
need to put your data into th right pre-validated format
before inserting into the interfac table or the data will
be rejected.

An API is programatic 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
datapoints 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 tha 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
thos 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 th 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 tabl 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.

Is This Answer Correct ?    16 Yes 11 No