This example is modeled after the Black Widow bank example with
the following IDL:

// Bank.idl

module Bank {
  interface Account {
    float balance();
  };
  interface AccountManager {
    Account open(in string name);
  };
};
		  
Or, in ISL:

INTERFACE Bank;

TYPE Account = OBJECT
  METHODS
    balance () : SHORT REAL
  END;

TYPE AccountManager = OBJECT
  METHODS
    open (name : ilu.CString) : Account
  END;

To use, first stub the ISL file with the Python stubber:

    % python-stubber Bank.isl
    client stubs for interface "Bank" to Bank.py ...
    server stubs for interface "Bank" to Bank__skel.py ...
    % 

Then run the server:

    % python bankServer.py &
    [2] 15873
    % IOR:000000000000001C49444...6E6B2F00
    %

To try it, run the client:

    % python bankClient.py IOR:000000000000001C49444...6E6B2F00 myname
    The balance for <Bank.Account:bankserver.somedept.somecompany.com/Post-Modern Bank - myname> is $865.81.
    %

Also provided for your convenience are the two files Server2.java and
Client2.java, which are versions of the Client.java and Server.java
programs in the Black Widow 2.0beta example "bank".  The are different
in that Server2.java prints out an IOR when it's initialized, and
Client2.java will accept two arguments:  the IOR of the server, and
the name of an account to check the balance of (just like the Python
client).
