An alpha release of ILU 2.0, alpha13, is now available. ILU is an ORB
which officially supports Common Lisp, along with C, Python, and Java.
Unofficial support for C++, Perl, and Modula-5 is also available. It
talks CORBA IIOP, but also supports Sun RPC and HTTP, and the new
HTTP-NG protocol. See ftp://ftp.parc.xerox.com/pub/ilu/ilu.html to
download the sources for UNIX or Windows.
Changes from 2.0alpha12 to 2.0alpha13
-------------------------------------
* Clarified copyright. We have clarified the terms of the ILU
copyright to make it clear that it conforms to the requirements of
free software.
* Java support more robust. Support for different java environments
more robust. Added JDK1.2betaX. Added support for native threads
on unix. On NT, supports developping ilu applications from within
a few commercial IDE's. Many bug fixes.
* GSS security transport. This provides the ability to wrap
arbitrary security contexts around communication between two
address spaces. It includes the ability to identify callers by
arbitrary GSS namespaces schemes. A generic GSS *shell* (into
which various mechanisms can be plugged) is included. See the
security chapter of the ILU manual for more information.
* More CORBA-ization of the C runtime. The pseudo-ORB
initialization functions are now present for the C runtime.
* Conforming implementations of the HTTP-NG wire protocol and MUX
transport. Implementations of the HTTP-NG wire protocol and
webmux transport now conform to the Internet drafts for these
protocols. Note that the mux transport only works in threaded
mode (both client and server).
* Proper sending of clean shutdown messages. It is now possible for
RPC and transport protocols to send clean shutdown messages.
Currently only the HTTP-NG wire protocol, `w3ng', does so.
* Reaping idle incoming connections on multi-threaded servers. It
used to be the case that incoming connections to multi-threaded
servers would not be closed when the server was trying to reduce
its FD (File Descriptor, an OS-level resource) usage; this has now
been fixed.
* XML parser. This release includes an early version of a C-based
validating XML parser. It is a general-purpose XML parser that
may be used in future releases of ILU for various purposes.
Information on the use of the parser and its current (known)
limitations is found in `ILUSRC/stubbers/XML-parser/README'.
* Optimized marshalling of data structures from C. The C
marshalling code for ILU now matches data structures in memory
against their marshalled representation in the particular wire
protocol selected. If they match, the data structure is written
directly to the wire, instead of having each element manipulated
independently. This can speed up the I/O processing of a large
array of floating-point values, say, by over 2000 percent.
* Bug fixes in Python and Java stubbers may cause type UID changes.
If you stub multiple files on the same command line with the Java
and Python stubbers, past releases of ILU may have given different
type UIDs to the resulting types than if you stubbed each file
separately. This bug has been fixed, and the Python and Java
stubbers now always give the same type UID as the other stubbers
produce.
* Better configuration support for Linux. ILU should configure `out
of the box' properly for Red Hat 5.1 Linux. In general, updates
to the configuration machinery should make Linux configuration
easier.
The Inter-Language Unification system (ILU) is a multi-language object
interface system. The object interfaces provided by ILU hide
implementation distinctions between different languages, between
different address spaces, and between operating system types. ILU can
be used to build multi-lingual object-oriented libraries ("class
libraries") with well-specified language-independent interfaces. It
can also be used to implement distributed systems. It can also be
used to define and document interfaces between the modules of
non-distributed programs. ILU interfaces can be specified in either
the OMG's IDL language, or in ILU's Interface Specification Language,
which allows extensions to the CORBA spec. Programming languages
supported in 2.0alpha13 are ANSI C, Common Lisp, Java, and Python;
rough Guile Scheme and C++ support is also present. Additional ILU
support for Perl is freely available from outside sources. Operating
systems supported in 2.0alpha13 are all Windows platforms with Win32
and WinSock, and all UNIX platforms with BSD sockets and minimal POSIX
compliance. 2.0alpha13 supports interoperability with ONC RPC
services, OMG CORBA services, World Wide Web HTTP services, and W3C
HTTP-NG services. ``Plug-in'' extensibility is provided for RPC
message formats, message transport schemes, URL schemes, accounting
and authorization identity types, threading and event loop processing,
and various other things. An implementation of the IETF's Common
Authentication Technology working group's Generic Security Service
(GSS) is provided, and can be used to wrap client-server connections
in a security context. An XML parser is provided. ILU is provided
free for unrestricted use.
Known bugs are listed in the README file. Despite being an alpha
release, 2.0alpha13 is very stable along a number of dimensions.
Principal areas still under development, and hence unstable, are: the
C++ mapping, the specific algorithm for automatic generation of type
UID fingerprints, the HTTP-NG protocols, and the specific contents of
the ILU profile in the OMG CORBA IOR.
Patches will be appearing in the file
ftp://ftp.parc.xerox.com/pub/ilu/2.0a13/patches.html. Please fetch
this file and apply the patches before attempting to build ILU. See
the beginning of the patch file for information on how to apply
patches.
--
Bill Janssen <·······@parc.xerox.com> (650) 812-4763 FAX: (650) 812-4777
Xerox Palo Alto Research Center, 3333 Coyote Hill Rd, Palo Alto, CA 94304
URL: ftp://ftp.parc.xerox.com/pub/ilu/misc/janssen.html