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.