Frontier 5 and XML: RPC via HTTP
We've reached one of the milestones in our exploration of XML, the
panacea that cures all compatibility ills, using the Internet to
transport our commands across vast distances, or right next door!
Hey now we have a server running on the scripting.com LAN that responds
to remote procedure calls. It's exciting!
Some facts about this protocol:
RPC is a three-letter acronym for Remote Procedure Calling.
It's built on top of HTTP. We send a standard GET request. The first
line of the request must be "GET /xmlGateway HTTP/1.0" followed by two
CR-LFs then the XML text.
We don't have a DTD yet, we will soon.
For Frontier users, here's an example of a script that calls our test
case. It only works on Frontier 5/Win since it calls the TCP verbs, but
it can easily be modified to build on NetEvents for the Mac, or be coded
in Tcl or Visual Basic or Perl, or C or Java.
The beauty of this protocol is that you can call it from any programming
language or operating system or platform that supports HTTP. You don't
need to know anything about what's running on the server.
We're working with other people on the Frontier connection to the net
via XML, so we've released the source code for the server. Have fun!
Only text string parameters are supported currently. We're working with
others on defining text representations of binary formats. Examples
include dates, floating point numbers, and non-scalar types such as
outlines and object database tables. We expect some of this work to be
visible in the next few weeks.
We're coordinating with our new friends at DataChannel. Our protocols
are slightly different, but we're going to get them into agreement. We
were very close to completing this work when we found out they're
barking up the same tree.
These are very exciting times! XML is a panic attack. It's going to
happen. The walls come down. No more barriers between platforms. Thanks
to everyone for all the positive energy.We're having fun! Not bad, good!
Come in and try not to ruin everything by being you.
-- As Good As It Gets