1.1 The GemStone Object Server
1.2 GemBuilder for Smalltalk
The Programming Interface
Transparent access to GemStone
GemStone’s Smalltalk Language
The GemBuilder Tools
1.3 Designing a GemStone Application: an Overview
Which objects should be stored and shared?
Which objects should be secured?
Which objects should be connected?
How should transactions be handled?
How can performance be improved?
1.4 Delivery and Deployment
Public and Private Classes and Methods
2.1 Client Libraries
2.2 GemStone Sessions
RPC and Linked Sessions
2.3 Session Control in GemBuilder
Session Parameters
Defining Session Parameters Programmatically
2.4 Logging In to and Logging Out of GemStone
Logging In to GemStone
The Current Session
Logging Out of GemStone
2.5 Session Dependents
3.1 Which Objects to Share?
3.2 Class Mapping
Automatic Class Generation and Mapping
Schema Mapping
Behavior Mapping
Mapping and Class Versions
3.3 Forwarders
Sending Messages
Arguments
Results
Defunct Forwarders
3.4 Replicates
Synchronizing State
Faulting
Flushing
Marking Modified Objects Dirty Automatically
Marking Modified Objects Dirty Manually
Minimizing Replication Cost
Instance Variable Mapping
Stubbing
Replication Specifications
Forwarding Messages to Server Objects Through Replicates and Stubs
Customized Flushing and Faulting
Modifying Instance Variables During Faulting
Modifying Instance Variables During Flushing
Mapping Classes With Different Formats
Limits on Replication
Replicating Client Smalltalk BlockClosures
Block Callbacks
Replicating Collections with Instance Variables
3.5 Precedence of Replication Controls
3.6 Evaluating Smalltalk Code on the GemStone server
3.7 Converting Between Forms
4.1 Connecting Root Objects
Scope
Verifying Connections
Initializing
Updating Class Definitions
4.2 Connecting and Disconnecting
4.3 Kinds of Connectors
Connection Order
Lookup
Connecting by Name
Connecting by Identity: Fast Connectors
4.4 Making and Managing Connectors
Making Connectors Programmatically
Creating Connectors
Setting the Postconnect Action
Adding Connectors to a Connector List
Session Control
5.1 Transaction Management: an Overview
5.2 Operating Inside a Transaction
Committing a Transaction
Aborting a Transaction
Avoiding or Handling Commit Failures
5.3 Operating Outside a Transaction
Being Signaled to Abort
5.4 Transaction Modes
Automatic Transaction Mode
Manual Transaction Mode
Choosing Which Mode to Use
Switching Between Modes
Auto-commit
5.5 Managing Concurrent Transactions
Setting Locks
Releasing Locks Upon Aborting or Committing
5.6 Reduced-Conflict Classes
5.7 Changed Object Notification
5.8 Gem-to-Gem Notification
5.9 Asynchronous Event Error Handling
6.1 GemStone Security
Login Authorization
The UserProfile
Controlling Visibility of Objects with SymbolLists
System Privileges
Protecting Methods
Object-level Security
Object Security Policies
7.1 GemStone Errors and Exception Classes
7.2 Handling Exceptions
User-Defined Errors
7.3 Interrupting GemStone Execution
8.1 Schema Modification
8.2 Schema Coordination
9.1 Profiling
Profiling Client Smalltalk Execution
Main Statistics
Cache Inventory Statistics
The VSD tool
9.2 Selecting the Locus of Control
Locus of Execution
Relative Platform Speeds
Cost of Data Management
GemStone Optimization
9.3 Replication Tuning
Controlling the Fault Level
Preventing Transient Stubs
Setting the Traversal Buffer Size
9.4 Optimizing Space Management
Explicit Stubbing
Using Forwarders
9.5 Using Primitives
9.6 Multiprocess Applications
Blocking and Nonblocking Protocol
One Process per Session
Multiple Processes per Session
Coordinating Transaction Boundaries
Coordinating Flushing
Coordinating Faulting
10.1 Setting Configuration Parameters
10.2 GemBuilder Configuration Parameters
alwaysUseGemCursor
assertionChecks
autoMarkDirty
blockingProtocolRpc
blockReplicationEnabled
blockReplicationPolicy
bulkLoad
clientMapCapacity
clientMapFinalizerPriority
confirm
connectorNilling
connectVerification
defaultFaultPolicy
deprecationWarnings
eventPollingFrequency
eventPriority
faultLevelLnk
faultLevelRpc
forwarderDebugging
freeSlotsOnStubbing
fullCompression
gcedObjBufferSize
generateClassConnectors
generateClientClasses
generateServerClasses
InitialDirtyPoolSize
libraryName
pollForAsynchronousEvents
pollForRpcResponse
removeInvalidConnectors
replicateExceptions
rpcSocketWaitTimeoutMs
serverMapLeafCapacity
stubDebugging
traversalBufferSize
verbose
11.1 GemStone Launcher
Sessions
The Session Parameters Editor
Creating a new Session Parameters
Editing Existing Session Parameters
Logging into and logging out of GemStone
Logging in to GemStone
11.2 GemStone Launcher Menus and Toolbar shortcuts
Browse Menu
Session Parameters Buttons and Parameters Menu
Sessions Buttons and Sessions Menu
Tools Menu
Window Menu
About Menu
11.3 The Settings Browser
Opening the Settings Browser
The Settings Browser
Buttons on the Settings Browser
Parameter Categorization
11.4 The System Workspace
12.1 Browsing Code
System Browser
Find Menu
Symbol Dictionaries Pane and the Dictionary menu
Classes Pane and the Class menu
Categories Pane and the Category Menu
Methods Pane and the Method Menu
Text Pane
Text View Tabs
Session Menu
Status Bar
SymbolDictionary Browser
Hierarchy Browser
Class Browser
Category Browser
Method Browser
12.2 Adding and Modifying Classes and Methods
Classes in GemStone Smalltalk
Defining a New Class
Modifying an Existing Class: Class Versions
The Class Version Browser
Adding and Modifying Methods
Public and Private Methods
Reserved and Optimized Selectors
12.3 Fileout and Filein of Class and Method Definitions
File Out
File In
Handling Errors While Filing In
Fileout text format
12.4 The Connector Browser
The Group Pane
The Connector Pane
The Control Panel
Connector Operations
13.1 Inspectors
13.2 Debugger
Disabling the Debugger
13.3 Breakpoints
Step Points
Breakpoints
The Breakpoint Browser
13.4 Stack Traces
14.1 The Security Policy Browser
Security Policy Pane
Security Policy Menu
Group Pane
Group menu
Member Pane
Member Menu
Security Policy Tool Menus
The File Menu
Reports Menu
Help Menu
Using the Security Policy Browser
Checking Security Policy Authorization
Changing Security Policy Authorization
Controlling Group Access to a Security Policy
14.2 The Symbol List Browser
The Clipboard
Symbol List Browser Menus
File Menu
Mode Menu
Edit Menu
Object Menu
14.3 User Account Management Tools
User List
User Editor
User Menu
Privileges Dialog
A.1 Prerequisites
Names
Replicating Blocks
Defunct Stubs and Forwarders
Shared Libraries
A.2 Packaging
B.1 Language Differences
Selection Blocks
Array Constructors
B.2 TimeZone handling