Begin main content
Search · Index
No registered users in community xorb-doc
in last 10 minutes

Index Page

doc code
faq bugs

1 What is xorb (and its like)?

xorb, the XO(Tcl) R(equest) B(roker), is an infrastructure package for the web development toolkit OpenACS  and OpenACS -based frameworks that provides for generic means of call abstraction.  Call abstraction, hereby, refers to both distributed and non-distributed scenarios. In a non-distributed scenario, xorb is an object-oriented refinement of the well established OpenACS facilities also referred to as 'service contracts'. In a distributed scenario, xorb provides a remoting infrastructure for OpenACS. xorb was designed in a protocol-agnostic manner, i.e. our primary intention is to provide support for a variety of remoting protocols. Protocol support is, therefore, realised in terms of protocol plug-ins for xorb. So far, we have realised a feature-rich SOAP protocol plug-in referred to as xosoap, XO(Tcl) SOAP.

The resource collection, in its current shape, aims at providing the fundamentals of using call abstractions in a distributed scenario. We restrict ourselves, for the moment, to the remoting capabilities and therefore introduce the reader to xosoap. We strive to steadily extend this resource collection.

2 Getting started ...

For the impatient, there is a beginner tutorial available for the XOTcl SOAP protocol plug-in (xosoap). It was originally prepared for the 6th International Conference and Workshops on Community Based Environment aka OpenACS and .LRN Guatemala Conference . It is kept up-to-date to reflect the most recent state of xosoap and xorb. It equally serves as a ready-to-take skeleton for your own development work. The tutorial consists of the following material:

You are invited to get the set of materials, browse through the slide set, and get acquainted with the sample code in the package. It might also serve as starting point for your own, xosoap-enabled OpenACS application.

For a general reading, installation instructions and first examples you might want to consult the manual . For specific questions, you might want to consider a look at the FAQ section  provided. For a more conversational interaction, may we direct you to the OpenACS developer forum  and, finally, email.

To obtain the source code, you have the following options:

// xorb //

// xosoap //

3 Features

// xorb 0.4.4 //

  • Generic infrastructure for call abstractions, based on XOTcl  and xotcl-core.
  • Allows for plugging-in protocol extensions: currently SOAP support by xosoap (see below).
  • Based upon an object-oriented layer and extension to OpenACS service contracts, allowing for a more agile use of contracts and implementations
  • Allows for publishing existing Tcl and XOTcl code as remoting, e.g. SOAP, services
  • Support for legacy code through "interface adapters"
  • Generic extension mechanism through "interceptors"
  • Several levels of publishing services through "invocation access policies"
  • Tight integration with XOTcl idioms (objects and classes)

// xosoap 0.4.4 //

  • SOAP  consumer and provider infrastructure
  • SOAP 1.1  compliance (SOAP 1.2  is work-in-progress); SOAP marshaler / demarshaler on top of tdom.
  • Auto-generation of WSDL 1.1  and, optionally, WS-I  compliant interface descriptions
  • Support for various WSDL 1.1  marshaling styles: Rpc/Encoded, Rpc/Literal, Document/Literal (provider-side only)
  • Support for primitive and composite types based on an extensible type infrastructure.
  • Framework interoperability: Designed to be compliant to SOAPBuilder Interoperability Lab  test suites, currently A + B.

4 Acknowledgements

I want to express my gratitude to contributors to my efforts invested in xorb and its like. In particular, I want to thank Gustaf Neumann for his continued support and mentorship. A great number of early adopters helped to "in-form" xorb as it is today and I owe insights and ideas to Neophytos Demetriou, Jorge Granado, Emmanuelle Raffenne, Christian J. Tomaschitz and Michael Totschnig.

5 Copyright terms

The XOTcl Request Broker (xorb) and all protocol plug-in packages, i.e. currently XoSOAP (xosoap), are provided under the provisions of the Lesser General Public License (LGPL) 1.1. All accompanying and documentary work comes under Creative Commons standard "Attributation and Share-alike" (by-sa).