WebObjects Enterprise Objects Programming Guide
PDF
Introduction
Enterprise Objects Overview
What Does Enterprise Objects Do?
Why Enterprise Objects?
What Is an Enterprise Object?
Core Layers
Key Concepts of Object-Oriented Programming
Principal Methods of Enterprise Objects
Business Objects
Reference Entity
Designing a Schema
Defining the Model
Which Enterprise Object Class?
Choosing Class Properties
Relationships With Other Enterprise Objects
Referential Integrity
Implementing an Enterprise Object
Accessing an Enterprise Object’s Data
Common Programming Errors
Synchronizing Model Changes to Class Files
Instantiating Enterprise Objects
Business Logic
Custom Classes
Providing Initial Values
Adding Validation
Writing Business Methods
Manipulating Relationships
Building a Reusable Framework
Core Framework Stack
Roles
Important Objects
How It Stacks Up
The Access-Control Divide
Object Store Coordinator
When to Use Multiple Object Store Coordinators
Why So Many Object Stores?
Providing Separate Stacks
Accessing Lower-Level Objects
Fetching Data
Objects Involved in Fetching
Flow of Data During a Fetch
Enterprise Object Initialization
Faulting and Relationship Resolution
Data Integrity Mechanisms
Ensuring Fresh Data
Advanced Faulting
Advanced Fetching
Common Delegate Usage
Constructing Fetch Specifications
Filtering Fetch Results in Memory
Sorting Fetch Results in Memory
Accessing Database Keys
Working With the Object Graph
Objects Involved in Managing the Object Graph
Getting Information About Changed Objects
Undoing Changes
Discarding Changes
Discarding Cached Objects
Refreshing Cached Data
Working With Objects in Multiple Editing Contexts
Memory Management
Saving Data
Objects Involved in Saving
Phases of Saving
Flow of Data During a Save
Key Generation
Common Delegate Usage
Generating Custom Primary Keys
Using Compound Primary Keys
Update Strategies
Choosing a Strategy
Inside Optimistic Locking
Multiple Coordinators and Optimistic Locking
Using Optimistic Locking
Prevention
Recovery
Recovering and Refaulting
Recovering and Last Write Wins
Connecting to a Database
Objects Involved in a Database Connection
When Database Connections Are Opened
When Database Connections Are Closed
Connection Dictionary
Connecting to Multiple Data Stores
Database Channels
Providing a Connection Dictionary in Code
Providing Multiple Database Channels
Closing Database Channels
Concurrency
Determining Requirements
Maintaining Thread Integrity
Appendix A: Enterprise Objects in WebObjects
Accessing WebObjects in Enterprise Objects
Enterprise Objects in WebObjects Builder
Appendix B: Principal Methods
Creating and Initializing Objects
Fetching and Accessing Data
Identifying and Tracking Objects
Working With Fetch Results
Manipulating and Changing Objects
Revision History
Glossary