| |
| |
Special Notices | |
| |
| |
Preface | |
| |
| |
How This Book Is Organized | |
| |
| |
Related Publications | |
| |
| |
International Technical Support Organization Publications | |
| |
| |
International Technical Support Organization | |
| |
| |
About the Authors | |
| |
| |
Acknowledgments | |
| |
| |
| |
Introduction | |
| |
| |
| |
Introduction to Distributed Systems | |
| |
| |
Distributed Systems | |
| |
| |
The Client/Server Computing Model | |
| |
| |
Client/Server Styles | |
| |
| |
Challenges in Building Distributed Systems | |
| |
| |
Approaches to Building Distributed Systems | |
| |
| |
Examples of Distributed Systems | |
| |
| |
Data and Function Placement | |
| |
| |
Data Distribution | |
| |
| |
Function Distribution | |
| |
| |
| |
Distributed Object Applications | |
| |
| |
Distributed Object Computing | |
| |
| |
Distributed Objects | |
| |
| |
Evolution of Client/Server Implementation with Objects | |
| |
| |
Applicability of Distributed Objects | |
| |
| |
Object Server | |
| |
| |
Active Server | |
| |
| |
Peer-to-Peer | |
| |
| |
| |
Industry Standards | |
| |
| |
The Object Management Group (OMG) | |
| |
| |
Object Management Architecture (OMA) | |
| |
| |
OMA Reference Model | |
| |
| |
OMA Components | |
| |
| |
The OMG Object Model | |
| |
| |
Common Object Request Broker Architecture (CORBA) | |
| |
| |
Structure of an Object Request Broker (ORB) | |
| |
| |
CORBA 2.0 Specification | |
| |
| |
| |
The System Object Model | |
| |
| |
Problems with Today's Object Models | |
| |
| |
A Solution | |
| |
| |
The Object Model | |
| |
| |
Interface Definition Language | |
| |
| |
Language-independence | |
| |
| |
Release-to- Release Binary Compatibility | |
| |
| |
Packaging Technology | |
| |
| |
Relationship Between CORBA and SOM | |
| |
| |
Distributed Objects | |
| |
| |
IBM SOMobjects Developer Toolkit Version 2.1 | |
| |
| |
Distributed SOM Framework | |
| |
| |
Replication Framework | |
| |
| |
Persistence Framework | |
| |
| |
Event Manager Framework | |
| |
| |
Interface Repository Framework | |
| |
| |
Emitter Framework | |
| |
| |
Collection Classes | |
| |
| |
Outlook: SOMobjects Developer Toolkit Version 3.0 | |
| |
| |
Object Request Broker Interoperability | |
| |
| |
Programming Model | |
| |
| |
Object Services | |
| |
| |
| |
IBM Distributed Smalltalk Technology | |
| |
| |
VisualAge SOMsupport | |
| |
| |
New in VisualAge Version 3.0 SOMsupport | |
| |
| |
Expected Benefits | |
| |
| |
VisualAge Distributed Feature | |
| |
| |
Distributed Object Space | |
| |
| |
Distributed Object Space Run-time Environment | |
| |
| |
Distribution Toolkit | |
| |
| |
| |
Implementation Alternatives for SOM Objects | |
| |
| |
Interface Definition Language Approach | |
| |
| |
Server Development | |
| |
| |
Client Development | |
| |
| |
Direct-To-SOM Approach | |
| |
| |
Relationship of Direct-To-SOM to Distributed SOM | |
| |
| |
Relationship to C++ | |
| |
| |
Direct-To-SOM C++ Compilers | |
| |
| |
Direct-To-SOM Programming | |
| |
| |
Accessing SOM Objects Using VisualAge Smalltalk | |
| |
| |
Constructing SOM Wrapper Classes | |
| |
| |
Using Wrapper Classes | |
| |
| |
| |
A Quick Tour through the Distributed SOM Object Land | |
| |
| |
The Celsius/Fahrenheit converter | |
| |
| |
Developing the SOMThermometer class | |
| |
| |
Installing the Required Products | |
| |
| |
Setting Up the Environment | |
| |
| |
Creating the IDL for SOMThermometer | |
| |
| |
Generating Binding Files and Updating the Interface Repository | |
| |
| |
Creating the SOMThermometer DLL | |
| |
| |
Registering the DSOM Alias for SOMThermometer Class | |
| |
| |
Creating a Test Program | |
| |
| |
Testing the SOMThermometer Class | |
| |
| |
Generating SOM Wrapper for SOMThermometer | |
| |
| |
Developing the SOMThermometerView | |
| |
| |
Experiences | |
| |
| |
| |
Developing A Distributed Object Application | |
| |
| |
| |
The Foreign Currency Exchange (FCE) Case Study | |
| |
| |
Requirements Specifications | |
| |
| |
The Solution Prototype | |
| |
| |
Project Objectives | |
| |
| |
Project Iterations | |
| |
| |
Incremental Development | |
| |
| |
Distributed FCE | |
| |
| |
Application Scenarios | |
| |
| |
Customer Management: Object Server | |
| |
| |
Exchange Rate Management: Active Server | |
| |
| |
Currency Trading Between Banks: Peer-to-Peer | |
| |
| |
| |
Analyzing the FCE System | |
| |
| |
Object-Oriented Analysis | |
| |
| |
Studying the Requirements for our Case Study | |
| |
| |
Reviewing the Existing Case Study | |
| |
| |
Use Cases | |
| |
| |
User Interface | |
| |
| |
Object Model | |
| |
| |
Dynamic Model | |
| |
| |
| |
Designing the FCE Application with Distributed Objects | |
| |
| |
Designing Distributed Object Applications | |
| |
| |
System Design | |
| |
| |
Choosing the Implementation Technology | |
| |
| |
Subsystem Design and Placement | |
| |
| |
Function Placement (Fat Client or Fat Server?) | |
| |
| |
Data Placement | |
| |
| |
Other Considerations | |
| |
| |
Object Design | |
| |
| |
Designing the Solution Domain Classes | |
| |
| |
Object Design for the Server | |
| |
| |
Object Design for the Client | |
| |
| |
Designing with VisualAge SOMsupport | |
| |
| |
Object Persistence Design | |
| |
| |
SOM Support for Persistence | |
| |
| |
Object to Database Mapping | |
| |
| |
Performance Considerations | |
| |
| |
Data Storage and Management | |
| |
| |
| |
Implementing the Distributed FCE Application | |
| |
| |
Server Implementation | |
| |
| |
Write Class Description in IDL | |
| |
| |
Register Classes in SOM Interface Repository | |
| |
| |
Generate Language Bindings for C++ | |
| |
| |
Generate C++ Program Skeleton Code from IDL | |
| |
| |
Creating Stub DLLs | |
| |
| |
Generate Data Access (DAX) Objects | |
| |
| |
Adding Business Logic | |
| |
| |
SOMAccount Makefile | |
| |
| |
Register Server Objects | |
| |
| |
Client Implementation | |
| |
| |
Generating VisualAge SOM Wrapper Classes for the Client | |
| |
| |
Modifying the FCE Application To Use SOM Objects | |
| |
| |
Visual Parts | |
| |
| |
Script | |
| |
| |
Considerations for Using VisualAge SOMsupport | |
| |
| |
Support of SOM Data Types | |
| |
| |
Memory Management | |
| |
| |
Exception Handling | |
| |
| |
Redirecting SOM Character Output to Smalltalk | |
| |
| |
Setting Up an Individual Test Environment | |
| |
| |
Additional Considerations | |
| |
| |
| |
Looking Ahead | |
| |
| |
Appendixes | |
| |
| |
| |
Requirement Specifications | |
| |
| |
Branch Functions | |
| |
| |
Center Functions | |
| |
| |
| |
Setting Up the Implementation Platform | |
| |
| |
Recommended Hardware | |
| |
| |
Required System Software | |
| |
| |
Setting Up the Server System | |
| |
| |
Setting Up the Client System | |
| |
| |
| |
FCE Database Definitions | |
| |
| |
Data Definition Language for Relational Tables | |
| |
| |
Data Definition Language for Relational Tables of Server | |
| |
| |
| |
SOM IDL Interface Listings | |
| |
| |
SOMAccount Interface | |
| |
| |
SOMBank Interface | |
| |
| |
SOMCustomer Interface | |
| |
| |
| |
SOM Objects Implementation Files | |
| |
| |
SOMAccount Implementation | |
| |
| |
SOMBank Implementation | |
| |
| |
SOMCustomer Implementation | |
| |
| |
List of Abbreviations | |
| |
| |
Bibliography | |
| |
| |
Index | |