GemBuilder for Smalltalk/VW User's Guide

  • 1. Basic Concepts

    • 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?

      • Public and Private Classes and Methods

  • 2. Communicating with the GemStone Object Server

    • 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. Sharing Objects

    • 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. Connectors

    • 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. Managing Transactions

    • 5.1 Transaction Management: an Overview

    • 5.2 Transactions

      • Operating in a Transaction

        • Beginning a Transaction

        • Committing a Transaction

        • Aborting a Transaction

        • Avoiding or Handling Commit Failures

      • Operating Outside a Transaction

      • Being Signaled to Abort by the Stone

    • 5.3 Transaction Modes and Auto-Commit

      • Automatic Transaction Mode

      • Manual Transaction Mode

      • Transactionless

      • Auto-commit

      • Choosing Which Mode to Use

      • Methods supporting transactions

    • 5.4 Managing Concurrent Transactions

      • Setting Locks

      • Releasing Locks Upon Aborting or Committing

    • 5.5 Reduced-Conflict Classes

    • 5.6 Changed Object Notification

    • 5.7 Gem-to-Gem Notification

    • 5.8 Asynchronous Event Error Handling

  • 6. Security and Object Access

    • 6.1 GemStone Security

      • Login Authorization

        • The UserProfile

      • Controlling Visibility of Objects with SymbolLists

      • System Privileges

      • Protecting Methods

      • Object-level Security

        • Object Security Policies

    • 6.2 X509-Secured GemStone

  • 7. Exception Handling

    • 7.1 GemStone Errors and Exception Classes

    • 7.2 Handling Exceptions

      • User-Defined Errors

    • 7.3 Interrupting GemStone Execution

  • 8. Schema Modification and Coordination

    • 8.1 Schema Modification

    • 8.2 Schema Coordination

  • 9. Performance Tuning

    • 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. GemBuilder Configuration Parameters

    • 10.1 Setting Configuration Parameters

    • 10.2 GemBuilder Configuration Parameters

      • alwaysUseGemCursor

      • assertionChecks

      • autoMarkDirty

      • backupPolling

      • blockingProtocolRpc

      • blockReplicationEnabled

      • blockReplicationPolicy

      • bulkLoad

      • clampByCallback

      • clientMapCapacity

      • clientMapFinalizerPriority

      • confirm

      • connectorNilling

      • connectVerification

      • defaultFaultPolicy

      • deprecationWarnings

      • eventPollingFrequency

      • eventPriority

      • faultLevelLnk

      • faultLevelRpc

      • forwarderDebugging

      • freeSlotsOnStubbing

      • fullCompression

      • gcedObjBufferSize

      • generateClassConnectors

      • generateClientClasses

      • generateServerClasses

      • InitialDirtyPoolSize

      • libraryName

      • removeInvalidConnectors

      • replicateExceptions

      • serverMapLeafCapacity

      • stubDebugging

      • traversalBufferSize

      • useGbsMemoryPolicy

      • verbose

  • 11. The GemStone Tools: an Overview

    • 11.1 GemStone Launcher

      • Session Parameters

      • Sessions

      • Session Parameters Editor

        • Creating a new Session Parameters

        • Editing Existing Session Parameters

      • X509 Session Parameters Editor

      • Logging into and logging out of GemStone

        • Logging in to GemStone

        • Logging Out of 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 Settings Browser

      • Opening the Settings Browser

      • Buttons on the Settings Browser

        • Parameter Categorization

    • 11.4 System Workspace

  • 12. Using the GemStone Programming Tools

    • 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

      • Window 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

      • 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

      • Filein/fileout and Characters outside the ASCII range

    • 12.4 Connector Browser

      • The Group Pane

      • The Connector Pane

      • The Control Panel

      • Connector Operations

  • 13. Inspecting and Debugging in GemStone

    • 13.1 Inspectors

    • 13.2 Debugger

      • Colored contexts

      • Disabling the Debugger

    • 13.3 Breakpoints

      • Step Points

      • Breakpoints

      • Breakpoint Browser

    • 13.4 Stack Traces

    • 13.5 Call Tracing

  • 14. Using the GemStone Administration Tools

    • 14.1 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 Symbol List Browser

      • The Clipboard

      • Symbol List Browser Menus

        • File Menu

        • Mode Menu

        • Edit Menu

        • Object Menu

        • Help Menu

    • 14.3 User Account Management Tools

      • User List

      • User Editor

        • File Menu

        • User Menu

        • Help Menu

      • Privileges Dialog

  • A. Application Deployment

    • A.1 Packaging

      • Required Parcels

      • Packaging options

        • Names

        • Compiler required for replicating blocks

    • A.2 Deployment

      • Shared Libraries

  • B. Client Smalltalk and GemStone Smalltalk

    • B.1 Language Differences

      • SelectBlocks and other Indexing-related notation

      • Array Constructors

    • B.2 TimeZone Handling

Copyright 2019 GemTalk Systems