Developing Component Software with CORBA




1 Common Lisp and CORBA

1.1 About CORBA

1.2 About the LispWorks ORB

1.3 Features of the LispWorks ORB

1.4 CORBA examples

2 Quick Start Tutorial

2.1 A CORBA-based Hello World

2.1.1 Defining the interface

2.1.2 Generating the stub and skeleton code from IDL

2.1.3 Defining utilities for sharing an object reference

2.1.4 Implementing the client

2.1.5 Implementing the server

2.1.6 Building and testing the application

2.2 Complete source code for the Hello World example

2.2.1 The complete interface source code

2.2.2 The complete defsystem source code

2.2.3 The complete source code for the file transfer of the IOR

2.2.4 The complete Hello World client source code

2.2.5 The complete Hello World server source code

3 Setting up the Bank Example

3.1 About the bank example

3.2 Where to find the example code

3.3 Building the bank client and server

3.4 Running the server and client

4 Writing and Compiling IDL

4.1 Designing the IDL

4.1.1 IDL for the account interface

4.1.2 IDL for the checkingAccount interface

4.1.3 IDL for the bank interface

4.2 Compiling IDL for a CORBA application

4.3 Mapping IDL to Common Lisp

4.3.1 Mapping for basic types

4.3.2 Mapping for interfaces

4.3.3 Mapping for attributes

4.3.4 Mapping for operations

4.3.5 Mapping for exceptions

5 The Bank Client

5.1 The client

5.2 The client's perspective

5.3 Implementing the bank client's GUI

5.4 Defining the interfaces

5.4.1 Initializing and exiting account frames

5.4.2 Defining the callbacks

5.4.3 Initializing the ORB and obtaining the first object reference

6 The Bank Server

6.1 The server

6.2 Implementing CORBA objects on the server

6.3 The server's perspective

6.4 Implementing the bank server

6.4.1 Implementing the servant classes

6.4.2 Implementing the servant methods

6.4.3 Obtaining the initial POA object and registering the first object reference

7 The LispWorks ORB

7.1 The CORBA modules

7.2 Parsing IDL into stubs and skeletons

7.3 Configuring a name service and an interface repository

7.3.1 Configuring via initial references

7.3.2 Persistent configuration

7.4 Error handling in user code called by the server

7.5 Multi-threading

7.6 Object URLs

7.7 Specifying the port

7.8 Specifying the host name in IORs

Appendix A Common Lisp IDL Binding

Introduction to IDL

How IDL is used

Mapping summary

Mapping in more detail

Mapping pseudo-objects to Lisp

The mapping of IDL into Common Lisp servants


Developing Component Software with CORBA - 22 Dec 2009