Thursday, April 02, 1998 at 12:19:41 PM Pacific
Simple Cross-Network Scripting
I want to start telling the story about how XML and Betty will connect up in Frontier 5.0.2.First, the goals
Our goal is to raise the level of net scripting in the Frontier environment.
- It should be as easy to call a script residing on another machine as it is to call a script in your own database.
- It should be easy to call code written in Java, running on a Java Virtual Machine, to move information into and out of the Frontier object database; again, across the network or on a single machine.
- It should be easy to connect thru other networking protocols such as DCOM and CORBA, with little or no change to the structure of a script call.
The top level
Here's a call to a script that lives on our Betty server:
betty = "betty.userland.com:80" [betty].guestbook.add (user.prefs.mailAddress, user.prefs.homePage, "Hello!")Lifting the hood
Behind the scenes, in the Frontier kernel, that call is converted to XML, then an HTTP request is made to the Frontier web server running on betty.userland.com. Thru the Betty responder interface, a script is called on the server that lives in a special table. Only scripts in this table can be called thru the XML interface. The returned value of the script is encoded in XML on the server, then passed back as the result of the HTTP call. Before the client script regains control, the value is converted into a native Frontier data type.
So XML is central to the implementation, but is hidden from the script writer. That gives us the freedom to change the protocol without breaking scripts.This is important because there is sure to be a standards process around this mechanism, and we have to be prepared for change. But we're reasonably sure of the top-level functionality we want to deliver to script writers. We can move forward even though the standards process hasn't even begun yet.
We will publish the spec for the XML we use, but not yet. We want to work with others in the software industry on this, and at the same time stay focused on our goal to provide a simple and powerful interface for Frontier users.
Our role in the standards process
We're a small company with a large code and user base. A kernel and lots of applications. As president of the company I think our energy is best focused on improving our software and working with others to set up powerful networked systems.
We may play a role in guiding a standard, it depends on how the process goes, how the various large industry players proceed and how the press covers it.
Whew! I can't wait until we ship this software.
Stay tuned...
Dave Winer
April 2, 1998
![]()
This page was last built on 4/2/98; 3:48:09 PM by David Winer. dave@scripting.com