Developing Component Software with CORBA
Contents
Contents
Copyright and Trademarks
Preface
Product
Parts
Audience
Standards compliance
Further reading
1
- About Functional Developer CORBA
1.1
- About CORBA
1.2
- About the Functional Developer ORB
1.3
- Features of Functional Developer CORBA
1.4
- CORBA examples
2
- Quick Start Tutorial
2.1
- About this chapter
2.2
- A CORBA-based Hello World
2.3
- Creating the projects
2.4
- Defining the interface
2.4.1
- Generating stub, skeleton, protocol code from IDL
2.4.2
- A browsing detour
2.5
- Implementing the client
2.5.1
- Initializing the ORB
2.5.2
- Obtaining an object reference
2.5.3
- Invoking an operation
2.5.4
- Complete code for the client
2.6
- Implementing the server
2.6.1
- A note on terminology
2.6.2
- Implementing the server's CORBA objects
2.6.3
- ORB and object initialization
2.6.4
- Complete code for the server
2.7
- Building and testing the application
3
- Setting up the Bank Example
3.1
- About the bank example
3.2
- Where to find the example code
3.3
- ODBC requirements
3.4
- Registering the database with ODBC
3.4.1
- Registering the database on Windows 95 and 98
3.4.2
- Registering the database on Windows NT 4
3.5
- Building the Bank client and server
3.6
- Running the server and client
4
- Writing and Compiling IDL
4.1
- Writing IDL for a CORBA application
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.2.1
- Libraries created by compiling IDL
4.2.2
- IDL files in Dylan projects
4.2.3
- Compilation steps
4.3
- Mapping IDL to Dylan
4.3.1
- Mapping for interfaces
4.3.2
- Mapping for basic types
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 bank client
5.2
- The client's perspective
5.3
- Requirements for implementing the bank client
5.4
- Implementing the bank client's GUI
5.5
- Implementing CORBA initialization for the bank client
6
- The Bank Server
6.1
- The server
6.2
- The ODBC database
6.3
- Overview of the Functional Developer SQL-ODBC library
6.4
- Implementing CORBA objects in a server
6.4.1
- Object adapters
6.4.2
- The server's perspective
6.5
- Requirements for implementing the bank server
6.5.1
- The bank server GUI
6.5.2
- The bank server library and module
6.5.3
- Implementing the servant classes
6.5.4
- Implementing the servant methods
6.6
- Implementing CORBA initialization for the bank server
7
- Creating CORBA Projects
7.1
- About CORBA projects
7.2
- Creating CORBA projects
7.3
- Setting ORB options
7.4
- The role of spec files in IDL compilation
7.4.1
- How the spec file affects IDL compilation
7.4.2
- Header information for CORBA spec files
7.4.3
- Server keywords for CORBA spec files
7.4.4
- Client keywords for CORBA spec files
7.4.5
- Other keywords for CORBA spec files
7.5
- Using IDL for non-CORBA work
8
- Running and Debugging CORBA Applications
8.1
- Debugging client/server applications in the IDE
8.2
- Browsing for supported CORBA operations
8.3
- ORB runtime
8.3.1
- Implicit activation
8.3.2
- Port assignment
8.3.3
- POA threading
8.3.4
- ORB runtime switches
9
- Using the Dylan IDL Compiler
9.1
- Introduction
9.2
- General usage
9.3
- Code generation options
9.4
- Preprocessor options
9.5
- Misc options
9.6
- Examples
A
- An IDL Binding for Dylan
A.1
- Introduction
A.1.1
- Document conventions
A.1.2
- Bibliography
A.2
- Design rationale
A.2.1
- Glossary of terms
A.2.2
- Design philosophy
A.2.2.1
- Linguistic requirements
A.2.2.2
- Engineering requirements
A.2.2.3
- Miscellaneous requirements
A.2.3
- Mapping summary
A.3
- Lexical mapping
A.3.1
- Identifiers
A.3.1.1
- Background
A.3.1.2
- Specification
A.3.1.3
- Examples
A.3.2
- Literals
A.3.2.1
- Integers
A.3.2.2
- Floating point numbers
A.3.2.3
- Characters
A.3.3
- Fixed point decimals
A.3.3.1
- Background
A.3.3.2
- Specification
A.3.4
- Constant expressions
A.3.4.1
- Operators
A.4
- The mapping of IDL to Dylan
A.4.1
- Names
A.4.1.1
- Identifiers
A.4.1.2
- Scoped names
A.4.2
- IDL Files
A.4.3
- The DYLAN-ORB library
A.4.4
- Mapping modules
A.4.4.1
- Background
A.4.4.2
- Specification
A.4.4.3
- Rationale
A.4.4.4
- Examples
A.4.5
- Mapping for interfaces
A.4.5.1
- Background
A.4.5.2
- Specification
A.4.5.3
- Rationale
A.4.5.4
- Examples
A.4.6
- Mapping for interface inheritance
A.4.6.1
- Background
A.4.6.2
- Specification
A.4.6.3
- Rationale
A.4.6.4
- Examples
A.4.7
- Mapping for constants
A.4.7.1
- Specification
A.4.7.2
- Examples
A.4.8
- Mapping for basic types
A.4.8.1
- Overall
A.4.8.2
- Integers
A.4.8.3
- Floating-point numbers
A.4.8.4
- Fixed-point decimals
A.4.8.5
- Characters
A.4.9
- Wide characters
A.4.9.1
- Background
A.4.9.2
- Specification
A.4.9.3
- Rationale
A.4.9.4
- Examples
A.4.9.5
- Boolean values
A.4.9.6
- Octets
A.4.9.7
- The "any" type
A.4.10
- Mapping for constructed types
A.4.10.1
- Mapping for typedefs
A.4.10.2
- Mapping for enumeration type
A.4.10.3
- Mapping for structure type
A.4.10.4
- Mapping for discriminated union type
A.4.10.5
- Mapping for sequence type
A.4.10.6
- Mapping for string type
A.4.10.7
- Mapping for wide string type
A.4.10.8
- Mapping for array type
A.4.11
- Mapping for exceptions
A.4.11.1
- Background
A.4.11.2
- Specification
A.4.11.3
- Rationale
A.4.11.4
- Examples
A.4.12
- Mapping for operations
A.4.12.1
- Background
A.4.12.2
- Specification
A.4.12.3
- Rationale
A.4.12.4
- Examples
A.4.13
- Mapping for attributes
A.4.13.1
- Background
A.4.13.2
- Specification
A.4.13.3
- Rationale
A.4.13.4
- Examples
A.4.14
- Memory management considerations
A.4.15
- Multi-threading considerations
A.5
- The mapping of pseudo-objects to Dylan
A.5.1
- Introduction
A.5.1.1
- Background
A.5.1.2
- Specification
A.5.1.3
- Rationale
A.5.2
- ORB Interface
A.5.2.1
- Object references
A.5.2.2
- Object reference equality
A.5.2.3
- Nil object references
A.5.3
- Dynamic Invocation Interface
A.5.3.1
- NVList
A.5.4
- Dynamic Skeleton Interface
A.5.4.1
- Dynamic Implementation Routine
A.5.5
- The Portable Object Adapter
A.5.5.1
- Servants
Index
Developing Component Software with CORBA - 26 May 1999