The high-tech business world used to consist of closed doors and hiding proprietary code. Each company ran their own software on their own systems and never shared anything with the competition or the public. Instead of focusing on what they did well, each company did a little bit of everything -- writing software, administering servers, running tech support, etcetera. The cost of doing business in a closed world was expensive, making an obstacle for innovation and entrepreneurship.
Now software service providers and software developers are waking up to a more open and cooperative way of doing business. It's built around something called Software as a Service (SaaS).
Web conferencing is an example of software as a service. In the past, if a company wanted to host Web conferences, it would have to invest in the software and servers to host the events itself.
Several Web conferencing companies allow users to schedule and host Web conferences using an easy Web interface. The Web conferencing company pays for the costs of administering and maintaining the hosting servers and upgrading the software. The customer only pays for the on-demand service provided by the Web-based application.
Even more powerful for businesses and developers is something called an application-programming interface (API). An API allows one software application to talk with another software application securely over the Internet.
In this HowStuffWorks article, we'll explain how developers can use APIs to integrate conferencing capabilities into new Web-based applications and existing business management systems.
We'll start by defining exactly what a conferencing API is and how it works. Then we'll outline the advantages of leveraging an API for conferencing.
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.]
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.
Let's use the same example of Web conferencing from before. Web conferencing is SaaS since it can be accessed on-demand using nothing but a Web site. With a conferencing API, that same on-demand service can be integrated into another Web-based software application, like an instant messaging program or a Web calendar.
The user can schedule a Web conference in his Web calendar program and then click a link within the same program to launch the conference. The calendar program doesn't host or run the conference itself. It uses a conferencing API to communicate behind the scenes with the remote Web conferencing service and seamlessly delivers that functionality to the user.
Now we'll explain some of the technology that makes conferencing APIs work.
How APIs Work
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 [source: TConsult, Inc.] An API is, by definition, an interface, something that defines the way in which two entities communicate [source: Thom Robbins.net Weblog].
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.
Exactly how does a software developer leverage a conferencing API? He programs new or existing software to generate the right XML messages to tap the power of remote applications. Let's take conference scheduling, for example. With the right code, he could build conference-scheduling functionality into the company's existing e-mail system. Or, perhaps he could develop an entirely new instant messaging application that has one-click instant audio conferences.
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:
- 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.
- 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.
- 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.
[source: Search SOA.com].
Now let's look at some examples of how software developers and businesses can leverage a conferencing API.
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.
Here's how it works. Let's say a company hires a new employee and needs to get the new hire set up with an e-mail account, a network password, an ID card, a health insurance policy, et cetera. A 2006 study by the Society of Human Resource Professionals found that businesses spend an average of $4,745 on each new employee [source: Internetnews.com].
With human resource management software like PeopleSoft and SAP, HR departments are able to accomplish more (and spend less) with fewer applications. By integrating conferencing functionality into these programs, the new hire process can be streamlined even further.
When a new employee is entered into the HR system, he's not only immediately signed up for an e-mail account and ID badge, but he's also automatically registered with the remote conferencing service. One of the first e-mails the new hire receives is a welcome from the conferencing company with his user ID and temporary password for scheduling and joining conferences.
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 social networking 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 [source: Facebook].
There are several advantages of leveraging a conferencing API for developers, businesses and the software providers themselves:
- Developers can speed up the application development process by easily integrating remote tools and systems.
- Companies don't have to pay for several different software applications and the hardware to make them all work.
- 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.
- 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.
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 [source: IBM]. 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 [source: IBM].
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.
For more information about leveraging a conferencing API and related topics, check out the links on the next page.