From: Martin Chilvers <>
Subject: ANNOUNCE: Fnorb Version 0.4
Date: Fri, 30 Jan 1998 04:00:33 GMT

Greetings Python Friends!

Announcing version 0.4 of 'Fnorb' the Python CORBA ORB.  There are
quite a few changes in this release - hopefully all for the better!
Unfortunately, the documentation is still sparse but this *will* be
fixed in the next release which will hopefully be complete enough to
earn the 1.0 tag!

Fnorb 0.4 is built with Python 1.4, but also works with Python 1.5
although you will get warnings about the API mismatch (you will need
to recompile the 'cdr' extension module to get rid of those - see the
Makefile in the 'src' directory for the appropriate changes).  The
next release will come with a complete 'configure' script so that
these kind of build problems will go away.

The changes/fixes from 0.3 are:-

1) Quite a few bug fixes - thanks to everybody that sent them in!
2) Fnorb no longer requires the 'thread' module.
3) The built-in module 'new' *is* now required (and IMHO is so useful it should
   be included at Python build-time by default!).
4) Fnorb now uses the Reactor pattern (from Douglas Schmidt) to dispatch
   events.  Amongst other things this means that:-

   - Fnorb now supports nested invocations!

   - Using the TkReactor (see the 'examples/tkinter' directory) Fnorb can
     now co-exist with Tkinter!!!!!

   - All Fnorb programs must call the '_fnorb_mainloop()' method on the BOA
     to start dispatching events (see any of the examples in the, err, 
     'examples' directory ;^).

5) The IDL/Python language mapping is now up to date with the current draft
   of the document that is to be presented to the OMG.  This means that:-

   - IDL modules are now mapped to Python *packages* (previously top
     level modules were mapped to Python modules, and nested modules mapped
     to Python classes).

   - IDL unions are now mapped to a Python class with two member variables;
     'd' for the discriminator, and 'v' for the value (previously unions
     were mapped to tuples in the form (discriminator, value)).	

Get more details and download Fnorb from:-

The Fnorb Development Team



 _--_|\  Martin Chilvers,                        Voice: +61-7-3365-4310
/      * Research Scientist, Architectures Unit, Fax:   +61-7-3365-4311
\_.--._/ DSTC, Level 7, Gehrmann Laboratories,   Email:
      v  The University of Queensland, QLD 4072.

---- From the Fnorb README ----

What is Fnorb?

Fnorb is an experimental CORBA ORB written in Python (with just the
eensiest-teensiest bit of C code for marshalling ;^).

Like ILU from Xerox PARC, Fnorb gives the Python programmer access to
the wonderful world of CORBA. It supports all CORBA 2.0 datatypes
(including Any's) and provides a full implementation of IIOP.  Unlike
ILU, Fnorb is Python and CORBA/IDL specific and hopefully this will
make it simple, light-weight, and easy to install and use (eventually ;^).

Using Fnorb, you no longer have to use <<your least favourite
language here - who said C++ ;^)>> to write CORBA clients and servers
- you can now use, yep you guessed it, Python!  This makes Fnorb ideal
for use as a CORBA scripting tool and for building test harnesses for
all your CORBA development projects.  It also makes prototyping of
CORBA systems a whole lot easier!

The Python language mapping used by Fnorb is based on the 'living'
document that is being prepared by members of the DO-SIG.  The primary
goal of Fnorb is to allow the Python community to experiment with the
mapping before we attempt to set it in stone via the OMG
standardisation process.

**** WARNING ****

This is an alpha release and documentation is sparse (to say the least)!
It is being released now because we believe that it is sufficiently stable to
be useful - but more importantly, my Boss wants me doing other things ;^)

Amongst the things missing in this release are:-

	- Requires a 3rd party Interface Repository (see installation guide
	  for an easy solution to this one!).
	- No Implementation Repository (ie. only transient servers)
	- lots of other stuff!

The next release will hopefully address these deficiencies, and will come with
decent documentation!