Thursday, March 17, 2011

What is API (APPLICATION PROGRAMMING INTERFACE)


2.1 What is an API?
An application-programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company releases its API to the public so that other software developers can design products that are powered by its service.
For example, Amazon.com released its API so that Web site developers could more easily access Amazon's product information. Using the Amazon API, a third party Web site can post direct links to Amazon products with updated prices and an option to "buy now."
An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy movie tickets online and enter your credit card information, the movie ticket Web site uses an API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the movie ticket Web site saying it's OK to issue the tickets.
As a user, you only see one interface -- the movie ticket Web site -- but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one application to another [source: TConsult, Inc.[2]
An API resembles Software as a Service (SaaS), since software developers don't have to start from scratch every time they write a program. Instead of building one core application that tries to do everything -- e-mail, billing, tracking, etcetera -- the same application can contract out certain responsibilities to remote software that does it better.
  1. How APIs Work
Fig 2
Image courtesy of GoogleGoogle maps is an example of an API.
A conferencing API -- or any API for that matter -- allows a software application to communicate with a remote application over the Internet through a series of calls An API is, by definition, an interface, something that defines the way in which two entities communicate
With APIs, the calls back and forth between applications are managed through something called Web services. Web services are a collection of technological standards and protocols, including XML(Extensible Markup Language), the programming language by which applications communicate over the Internet.
The API itself is a chunk of software code written as a series of XML messages. Each XML message corresponds to a different function of the remote service. For example, in a conferencing API, there are XML messages that correspond with each element required to schedule a new Web conference. Those elements include the conference time, the organizer's name and contact information, who's invited to the conference, the duration of the conference, et cetera.
Companies who release their API often do so as part of a larger software development kit (SDK) that includes the API, programming tools and other instructional documents to make the developer's job easier.
APIs and Web services are completely invisible to Web site surfers and software users. Their job is to run silently in the background, providing a way for applications to work with each other to get the user the information or functionality he needs.
Along with XML, the following technological standards, protocols and programming languages are what make Web services work:
  1. SOAP (Simple Object Access Protocol): SOAP is responsible for encoding XML messages so that they can be received and understood by any operating system over any type of network protocol.
  2. UDDI (Universal Description, Discovery and Integration): Described as a "yellow pages for the Internet," UDDI is an XML-based directory that allows businesses to list themselves, find each other and collaborate using Web services.
  3. WSDL (Web Services Description Language): WDSL is the SOAP of the UDDI (enough acronyms for you?). Basically, WDSL is the XML-based language that businesses use to describe their services in the UDDI.
2.3  Advantages of API
One of the chief advantages of leveraging a conferencing API is to integrate conferencing functionalities into existing business software. An example of this is to integrate conferencing account setup capabilities into a company's existing human resources (HR) software.
Another example of leveraging a conferencing API is to add VoIP (Voice over Internet Protocol) audio conferencing functionality into different Web-based applications. One example could be a socialnetworking application like Facebook. Facebook released its API so that developers could create widgets or small applications that add fun, new functionality to the popular site. Savvy developers are already creating widgets that allows Facebook "friends" to easily set up audio chat and VoIP conference calls with each other
There are several advantages of leveraging a conferencing API for developers, businesses and the software providers themselves:
  1. Developers can speed up the application development process by easily integrating remote tools and systems.
  2. Companies don't have to pay for several different software applications and the hardware to make them all work.
  3. By integrating conferencing functionality into existing applications, companies don't have to train IT staff and employees on how to administer and use new software.
  4. The company who releases the API allows its customers to access their conferencing services in new, more efficient ways, increasing brand recognition and customer loyalty.
  5. Absolute minimum barrier to use — By not using encryption or special authentication methods, anyone with access to the Internet should be able to begin working with your API quickly.
  6. Easily distributed code — Login accounts or developer key programs that make use of your API can be widely distributed and used right out of the box.
  7. Less to worry about — If you aren't managing user accounts or development keys, it's one less thing to keep track of, and your code efforts can concentrate solely on developing the API itself.
  8. Can contact developers for further help in using in case of any difficulty in using them or to discuss any problem occurred. — Because anyone anywhere can access the API without any prior registration, you are left without any method of directly engaging developers using the API. You may want to contact developers in situations where their application is being abusive, when changes are being made to the API that will affect their application, or to seek suggestions on how to improve the API itself.
The future of conferencing APIs is the mashup. A mashup is a Web-based application that draws on the functionality of two or more other Web applications .Software mashups get their name from musical mashups, which are skillful mixes of two unrelated pop songs.
A popular source of Web software mashups has been the Google Maps API, which spawned mashups with photo sharing sites to map out where each digital photo was taken. The Web site  ChicagoCrime.org mashes Google Maps with the crime database of the Chicago Police Department to map crimes by street, neighborhood, type of crime and date
By opening their APIs to the world, it's likely that we'll see conferencing functionality -- especially inexpensive audio and video conferencing -- mashed up into all sorts of disparate Web applications.

No comments:

Post a Comment