[LWN Logo]

From: Martin Chilvers <martin@dstc.edu.au>
Subject: Announce: New release of Fnorb - the Python CORBA ORB
Date: Fri, 19 Feb 1999 06:04:23 GMT

Announcing the new, release (version 1.0b1) of 'Fnorb' the Python
CORBA ORB.

This release is quite a large step-up from the previous version (0.8)
as it now supports multi-threaded clients and servers. To allow the
reactive (ie. single threaded) and multi-threaded models to co-exist
cleanly, there has been a fair amount of re-organisation of the Fnorb
internals, and hence we have decided to make this a beta release. The
reactive model is still used by default, and so if you do not use
threads. and do not wish to use threads then you will not be effected.

Mutli-threaded mode is extremely useful and allows you (in addition to
the usual benefits of multi-threading of course!) to run servers from
within an interactive Python session by starting the Fnorb event loop
in a thread.

Other highlights of this release include handling of 'CloseConnection'
messages, the ability to use URLs as stringified 'object references',
and the capability to set ORB options via a configuration file.

Thanks once again to all those that have reported bugs/supplied
patches/made suggestions, espcially Tim Docker and Martin von Loewis.

Here is a more detailed list of the changes since the last release as
found in the CHANGES file:-


Fnorb 1.0b1
-----------

1) Fnorb now (OPTIONALLY) supports multi-threaded applications, with a thread
pool servicing operation requests on the server-side (for details on how to
configure the ORB to use threads, see the user guide).

2) Fnorb UOL's can now be:-

	- a standard CORBA IOR: ('IOR:...')
	- the name of a file containing a UOL ('file:...')
	- the URL of a document containing a UOL (http://...) **** New ****
        - a naming service name ('name:...')

3) ORB configuration options can now be specified via:-

	- a configuration file **** New ****
	- environment variables
	- the command line

   See the user guide for more details.

4) CORBA 'nil' object references are now represented in Python as 'None'.

5) Addition of '_narrow' method on CORBA.Object to allow you to
convert an object reference into a reference to a derived type.

6) 'CloseConnection' messages are now handled a little more sensibly ;^)

7) Implementation of '_is_a' changed to allow implementations to inherit from
classes that are not Fnorb skeletons.

8) Added '_non_existent' to the Object interface.

9) Types that are generated automagically by Fnorb for structs, exceptions and
unions are now added to the type manager and therefore available to the
programmer (this only occurs if an 'any' type is unmarshalled and no stub has
been loaded for the struct, exception or union).

10) When sequences and arrays are unmarshalled, a Python list of the
appropriate size is now created and filled in.  In previous versions of Fnorb,
an empty list was created, and then appended to!

11) Bug in Object_skel re: the __initialised attribute fixed.

12) Bug in 'create_union_tc' fixed.

13) Bug in the interface repository 'lookup_id' method fixed.

14) New Fnorb logo ;^)

Things on the TODO RSN list:-

1) Implement the POA
2) Implement CORBA 2.1 datatypes
3) Move documentation to PDF format.

Get more details and download Fnorb from:-

	http://www.dstc.edu.au/Fnorb

The Fnorb Development Team

c/o

Martin

 _--_|\  Martin Chilvers,                           Voice: +61-7-3365-4310
/      * Research Scientist, Architectures Unit,    Fax:   +61-7-3365-4311
\_.--._/ DSTC, Level 7, GP South, Staff House Road, Email: martin@dstc.edu.au
      v  The University of Queensland, QLD 4072.

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

What is Fnorb?

Fnorb is a CORBA 2.0 ORB written in Python (with just the eensiest-teensiest
bit of C code for marshalling and parsing ;^). Python is a mature,
interpreted, object-oriented programming language with powerful high-level
datatypes that make it ideally suited as a scripting language for CORBA.
Best of all Python is free so check it out!

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 which makes it simple, light-weight, and easy
to install and use.

Using Fnorb, you no longer have to use <insert 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 prototyping
complex CORBA architectures, for use as a scripting tool, and for building
test harnesses for all your CORBA development projects.

The Python language mapping used by Fnorb is based on the 'living' document
that is being prepared by members of the DO-SIG.  One 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.

Fnorb is being developed as part of the Hector project at the CRC for
Distributed Systems Technology based at the University of Queensland in
Brisbane, Australia.