Saturday, April 28, 2007

Exposing the Wildcat! API with REST

Lately, I've been hearing more or seeing references to something called REST in relationship to WEB 2.0, a buzz word for creating Web Services using HTML and Asynchronous Javascript (AJAX).

Like most of the near daily supply of the "next best thing," I just blew off REST as just another hyped up buzz word, and worst, another way to "connect" you to someone's new web service offering, i.e, Google's new "web service" of the day! Gawd, these guys are inventing something old as new every friggin day. But I guess when you got everyone using their favorite search tool, it opens the door to all kinds of "connectivity" potential - that is what scaring Microsoft to frigging death! They (Microsoft) are slowly and surely losing the developer mindset to folks like Google and Adobe with its nearly 90% Flash coverage.

Well, just a moment ago, I finally found out what REST with a very straight forward reading for its genesis.

What's funny is that I found myself being both pissed off and yet, extremly very happy that I now know what the "buzz" is all about with REST. Don't get me wrong, being both pissed off, yet happy are very positive feelings as I will explain.

Why pissed off?

Well, let me explain why I am happy about REST!

I'm happy because we can actually use REST with Wildcat! API system just like many companies are beginning to use it, and do so almost immediately.

So why am I pissed off?

Because for the longest of time, we were stuck in this time warp of having a very powerful API client/server development system. Wildcat! is one of the original systems that put integrated services together and it has a powerful API supporting all the major languages. But we were watching an industry move on to a non RPC/DCOM method called SOAP which is just XML on steroids. SOAP was a different way of defining your "API" and using them to create Web Services.

I had planned to incorporate SOAP but I found it difficult with this XML thing. I also ran into the problem of how do expose the Wildcat! API. A converter was attempted but never finished. I had some early SOAP/XML examples of Wildcat to allowed you to dynamically display your mail and file conferences without redisplaying the web page.

But it was never done, finished probably because it was too complex, and we didn't have the resources to hire a SOAP/XML to convert our API. In some way, we just didn't need it yet.

So what I did over the last 7 years, where it applied, I used a "fake version of SOAP" without the XML baloney for input, but maybe created XML output by simply using an URL with arguments.

A good example is our Wildcat! Sender Authentication Protocol where we developed an WCX (compiled Wildcat BASIC application) to authenticate SMTP based parameters.

You can run WCSAP in terminal mode from a command line:

wcrun -run html-wcsap?
cip=ip_address&
from=return_path&
cdn=client_domain

or you can run it with a HTTP URL

http://wildcat_site_domain/public/code/html-wcsap?
cip=ip_address&
from=return_path&
cdn=client_domain

To see a example of this WCSAP web service protocol in action, click this wcsap test site.

So why am I pissed?

Because REST is exactly what we did with WCSAP!!

As it turns out, Santronics wasn't the only company with a powerful client/server API framework and suffered like other companies in not exposing our API using the very complex SOAP model. Now you are seeing all these companies, such as Yahoo, Ebay, Google, Microsoft and others beginning to expose their legacy API using the more simplistic REST model to create new Web Services.

In short, I have been using REST like ideas all along since at least 2001, and felt bad that I wasn't with the SOAP crowd by not implementiong it with Wildcat! over these many years.

So I am pissed and very happy to know that we can use this REST idea for Wildcat! because we were been doing it already - The "Web Service" applications like WCSAP is a class example of what REST is all about!

The Wildcat! API is unlike anything else in this world. I truly believe that. But I felt that we were quickly falling behind but not keeping up with the Jones.

With REST, Wildcat! will be revitalize. We will be able to once again, with confidence, market the powerful Wildcat! system and its unique API system, its unique social and intranet networking features, and do so without any quilt that its old technology.

Stay tune... There is more to come into this area with REST and how it will be used to revitalize the Wildcat! brand name.

No comments: