Monday, July 30, 2007

WITA : An Architecture Standard for Telco Mashups

One big difference between the Web world and the telecom world are standards. I don't mean that they use different standards (although they do), they have a different approach the standards entirely.  Other than the two worlds of standards represented by the Telco and Web world, there's a third sort of standard - an implementation standard.   A "this is how we tend to do this sort of stuff" standard.  For instance, there's really no one PSTN standard - it's just how we have put together many other standards to make something that works.  We need to establish a standard for Telco Mashups; a set of conventions as to how we tend to write these applications.  Since I've been at this, I've noticed a standard pattern I'll call the Web Integrated Telco Architecture - WITA.   From where I sit, the an application written to the WITA standard is more scalable, more reliable and easier to write than anything else I have seen put forward for telephony enabled services. As I put together my telco mashup applications, and see companies like Gaboogie and Twitter do the same, I see that we all use approximately the same approach. If we can standardize it, give it a name, we can build the community quicker. 
The telco world has organizations such as the ITU and ANSI; indispensable tools in creating standards that telephony vendors need to design their equipment.  An ITU standard takes several years to  ratify and formalize, and a typical vendor cycle of development lasts around eighteen months. The Internet community runs off of the IETF, and creates nearly all the web standards used in networking, such as TCP, HTTP and FTP.  The IETF is a bit different than the ITU, in that the IETF documents stuff that's already working, so that the standards lag the availability of a product.  IETF standards take much less time to appear as drafts, and Internet application development lasts three to six months. 

Another sort of standard is an architecture standard.  Strictly speaking, IMS is an architecture standard, not an implementation standard.  In the Web world, AJAX is an architecture (or web development technique) that uses Asynchronous Java and XML to make rich, interactive web sites.  Ajax is a standard because that's how people normally them together - there is no committee and there are no plenary sessions.  What is the telco mashup standard? What is an application that uses WITA? I'll define it today, and we can delve into it over the next week. I use WITA for nearly all my telephony mashups, and I've seen many others do the same.

Web Integrated Telco Architectures use the following standard components:
  1. Voice XML: WITA uses VXML to handle inbound interactions with human beings, and most outbound voice messaging applications use VoiceXML to make those messages rich an interesting.    The VXML scripts are delivered by a web services application, and post the inputs the collect to a web services application.
  2. Ruby on Rails : WITA uses Ruby on Rails to implement the web services application. It's responsible for putting the logic on top of the database, and for rendering views to the user in the form of VxML scripts, Web Services APIs and graphically intensive web pages. 
  3. Telco Web Services : WITA uses telco web services to deliver telephony features such as outbound messaging, conference calling, click to dial and SMS messaging.   These web services are called from the Ruby on Rails frame work, and provide the scaling and reliability components of the architecture.
VxML + Rails + Telco Web Services == WITA.

No comments: