Wilcox Development Solutions Blog

A Look Into The Labs: CallHelix Webservices API

March 17, 2005

Late in 2004 the CallHelix team discovered that communications between OS 9 and OS X machines over remote AppleEvents (“eppc://” protocol) were flakey at best. They would work fine for me in the testing lab in the office, but would fail sporadically at one client’s install. Earlier this year I was installing a script at a client’s location, we ran across the same issue. We decided to try the following script and see if that worked:`

tell application “Finder” of machine “eppc://111.111.111.111” beep end tell

`

(IP address changed to protect the innocent)

To our amazement, this simple script failed: it timed out without finding the machine, and the targeted machine would eventually crash after some time had passed.

Now, seeing remote AppleEvents fail at one install is an oddity, twice is a pattern. Obviously I can’t saddle my clients with a solution that’s not reliable and expect them to use it to build important systems (websites, automated tasks) with. At least, not with a product like CallHelix.

I also started thinking about providing other languages the ability to use CallHelix. Right now, if you want your app to interact with data inside of Helix, you have to implement the entire protocol yourself - a non-trivial task. What if you could call CallHelix from any language?

So I started writing a XML-RPC interface, taking information from the XML-RPC request, feeding it through the back-end of CallHelix.

What does this provide?

The API will feel very familiar to current users of CallHelix.

The CallHelix WebServices (server) will run on the same machine as the Helix Server itself, and will come in both OS 9 and OS X varieties.

This is pretty high up on my priority list, as it “fixes” a reproducable bug with no work around and no planned vendor support (OS 9 is dead). We haven’t thought about pricing information, but we may give a deal to current CallHelix owners.

If you’re interested in testing this application, or even just reading the documentation (when it’s done), contact me or leave a comment here.


Written by Ryan Wilcox Chief Developer, Wilcox Development Solutions... and other things