There are two main kinds of web services

Doc:  XML -> XML

URL can be encoded as a string.

The key problem is how to encode XML. We propose to use records.

One problem is that there are at least two different ways to interpret XML.


Must preserve order, allow arbitrary interleaving of strings and tags. Does not normally need to support direct/indexed access to sub-tags.

One good way to do this is: XML(tag, attributes, content)

- tag is a string - attributes is a record - content is a list of anything (strings or XML)

Database style#

This should provide access to the attributes or indexed names.

Question: what should it do if there is a conflict between named sub-tags and an attribute. Proposal: give the sub-tag. To get the attribute it should require explicit access to the attribute record.

Access to web services#

We need two web service creation applications.

Calendar = REST.create("")

Calendar = WebService.create("")

Normal web services need a WSDL which is interpreted on the fly.


Here is a made-up example.

Calendar = REST.create("")

Items = Calendar.get("/user/wcook/main/today") -- just made up URL

Each(Items) >item> 
    print(item.Date) >> print(item.Subject)

Orc Web Services Enhancement Activities#

Goal of Subproject#

To enhance Orc to treat arbitrary Web services as ordinary Orc sites.

Open Activities#

  • Update REST site to operate asynchronously
  • Re-write all existing Orc demos to run without using Java helper classes to invoke Web services
  • Enhance Orc (engine or library) so that Orc programs can provide REST-style Web services
  • Add capability to easily request and provide Web services using SOAP messages

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-5) was last changed on 19-Nov-2010 19:37 by JohnThywissen