Overall Architecture Of The DotGNU Webservices Platform

DGEE

DGEE, the DotGNU Execution Environment provides the core webservice component
of DotGNU and provides the functionality of accepting, validating and
satisfying web service requests.

VMs

DGEE will be capable of executing multiple different bytecode formats
in appropriate Virtual Machine implementations (VMs). The dotgnu-pnet
is building (among many other things, which include compilers and system
libraries) a VM implementation for IL.
For Java bytecode, we will use one of the existing available Free
JVM implementations, possibly
SableVM.

Support for other popular Free Software bytecode systems is also considered
desirable, such as in particular Python bytecode and
Parrot, the bytecode
system of Perl6. (In fact Parrot aims to become the bytecode
language of choice for a whole range of dynamic languages.)

In addition, DotGNU would like to be the platform of choice for computer
science research projects on innovative new bytecode systems. (Some early
discussion of such ideas has occurred on the
arch mailing list
but this has not led to concrete development efforts yet.

Webservice protocols

All components of DotGNU will support the standard webservice protocols for
synchronous webservice interactions such as XML-RPC and SOAP, and in addition
asynchronous webservice interactions via Jabber will be supported.

DotGNU's native authentication and authorization subsystem will probably
be founded on a FOAF-based virtual identities system. In addition,
MACS, the Modular Access Control
System will be available for integrating DotGNU with other auth systems, as
well as making DotGNU's authentication and authorization subsystem available
to non-DotGNU-based applications.

Webservice applications

In addition to the components of a Webservice platform, and development tools,
there are also a few (currently two) development projects for webservice
applications which are part of DotGNU: phpGroupWare and Forum.

DotGNU webservice applications export their functionality via webservice
protocols such as XML-RPC , while they can at the same time also be used
as browser-based "web applications". When the needed infrastructure (SEE)
is available, downloadable user interfaces will be added as a third option
for accessing the webservice applications.