I have volunteered to set up and orchestrate one or two services as part of Grand Central's Early Access Program in order to help demonstrate how absurdly easy it is in the run-up to the company's Golden Spike Developers Contest. I'm no developer I'm more of a business power user, tangling with technology only when absolutely necessary to get a business result that's worth the extra effort. So although I can create an HTML page, have done the odd bit of PHP scripting and toyed with XSLT, I'm certainly a newbie when it comes to SOAP web services.
One thing that always has intrigued me is the potential for building powerful applications by assembling pre-existing services, hence my interest in test-driving Grand Central's on-demand integration network. I can leave other people to take care of making sure their services are robust, and all I have to do is cobble together the functionality they offer to create processes that suit my requirements. The Loosely Coupled website already uses this principle to a certain extent, with database functionality provided by Xara Online, search courtesy of Atomz and traffic analysis by WebSideStory. Over the next few weeks I'm going to be exploring what Grand Central can add to the mix.
As one of the judges of the Golden Spike contest, I'm not going to be eligible to submit anything I create as an entry, but I do encourage readers to sign up for a Grand Central developer account and have a go. The other incentive is Halsey Minor's On Demand Venture Fund, which he has set up specifically to fund ventures that use the Grand Central Network to assemble applications, offering an investment of up to $20 million, according to some reports. Personally I think that one of the distinguishing characteristics of applications created this way is that the entry level cost is much lower than traditional approaches, which means that startup funding can be commensurately less. So I suspect Halsey will be able to make much smaller investments and still get some handsome paybacks. Still, that's idle conjecture for now. Let's get down to the matter in hand.
I'm going to kick off today with a demonstration of just what a dork I am when it comes to learning a new technology. Here are my notes jotted down during my first encounter with the Grand Central Network yesterday. Not everything went smoothly but I did have my first 'Hello World' moment with a successful SOAP web service, created in less than half-an-hour, thanks to the short and clear Hello World Tutorial GC has put together.
First step, register. OK, now I have to decide the username, subdomain and so on. Time out for a small grouse: Why do people always put this in the signup process without any warning? It wouldn't be much effort to state upfront what names etc need to be specified. Now, potentially, I'm going to be stuck with these on-the-fly decisions for all time, unless GC lets you amend them after the fact [later update: they do]. Oh well.
Now log in, click on new process, launch Process Express. OK, new plug-in required. Firefox can't find suitable plug-in, it says, even though GC lists it as a supported browser. Must be something to do with my setup. So back to IE, once more, which manages to load the DreamFactory plug-in without tripping up over Information Bar. The information box while this loads is a nice touch, very professionally titled with the rubric, "Secure Installation Hosted by Grand Central Communications Inc", so you know exactly where you stand.
OK, start new process, and now, for the first time in my life and within just a few minutes of signing in I'm using drag-and-drop to visually design my own application process. This is fun (even if it is only "Hello World").
Now build the WSDL. Hmm, looks complicated. Ah, "copy the schema from the Developer site to your PC." There's a link in the PDF document. Click on the link, great, there's the schema. Ah, not so great, it opened in the Process Express window, and there's no 'back' button. Start again. Advice to others: download the links from the PDF manual before you start working through the example.
OK, the service is now saved, just put the reply step in again, then go to import schema oh, I should have saved it to disk, not cut-and-pasted. OK, just open notepad and save the file myself, then we're ready to roll.
Fortunately, I have the instructions to follow, because frankly I have no idea what I'm doing here in this WSDL creation step. What is the relationship between the schema and the input and output parts? Perhaps it'll all come clear later on. Meanwhile, there's a minor hiccup the buttons below the output parts window are off the edge of the window, and I can't resize it (since SP2, I've noticed this happening in quite a few web-based applications). I try to tab down to the buttons, but field tabbing isn't supported. Fortunately, there's just a sliver of button showing at the bottom edge of the window, so by carefully hovering I can click on it after all. And suddenly, without knowing what I'm doing, apparently I've managed to create my first WSDL.
Next, map inputs to the reply task, which means tell the process what to do with a request in order to produce a response. All the complicated bits of code are done for you. Then compile and save, and it's time to test it out.
Go to the message creation area, set up a message here's another bit of cut-and-paste, so more shenanigans with the browser window. Then send the message and view the response. This is the point where I start to get excited, because I see that I can schedule messages, attach MIME payloads and get reports on message traffic. Lots of potential uses for those kinds of capabilities once I start building my apps.
OK, done. The only thing is, I forgot to leave a space after 'Hello', so it's time to go back and edit the response task to put that in. Ah, how on earth do I do that? It's probably me being obtuse, but I can't see any way of opening up the input mapping dialog so that I can edit the code I created there a couple of minutes ago. That, of course, is the drawback with working through tutorials. It's a bit like using a phrasebook to speak a foreign language it only works so long as you don't get an unexpected response, but then you're lost as soon as you encounter your first undocumented event. Still, overall a successful first attempt, and lots of potential already evident from my first look at what's on offer.
In conclusion, I should state in fairness to GC that I haven't checked out any of the small glitches with them, and there may well be some straightforward explanations, which I'll update either by comments here or in future postings.
UPDATE [added Nov 4]: Grand Central is ending its Early Access Program today, a day earlier than originally planned, but it's still possible to sign up for a developer account, and from Monday 8th November, those accounts will be functioning on the fully released '05 version of the Business Services Network. The closing date for Golden Spike contest entries is 10th December. I'll be continuing to record my experiences here next week, when I'll start building some services designed to extend the functionality of the Loosely Coupled website.