| |
| |
Acknowledgments | |
| |
| |
Preface | |
| |
| |
| |
Welcome to WebObjects | |
| |
| |
| |
WebObjects and OpenBase | |
| |
| |
WebObjects History | |
| |
| |
WebObjects: The Big Picture | |
| |
| |
WebObjects: The Details | |
| |
| |
OpenBase | |
| |
| |
Before You Start: Two Cautions | |
| |
| |
| |
The World of Application Servers | |
| |
| |
Internet and Web Basics | |
| |
| |
Multi-Tier Application Design | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
Object-Oriented Programming Defined | |
| |
| |
Object-Oriented Programming Terms and Concepts | |
| |
| |
Advantages of Object-Oriented Programming | |
| |
| |
Components and Frameworks | |
| |
| |
| |
Databases Today | |
| |
| |
Overview | |
| |
| |
Terminology | |
| |
| |
Database Design | |
| |
| |
Aspects of Database Programming | |
| |
| |
| |
Building a Database with OpenBase | |
| |
| |
| |
Creating and Using a Database | |
| |
| |
The SiteDemo Database | |
| |
| |
Working with OpenBaseManager Schema Editor | |
| |
| |
Building Relationships | |
| |
| |
Modifying Data with OpenBase | |
| |
| |
Creating and Running Queries in OpenBase | |
| |
| |
| |
Using SQL | |
| |
| |
SQL Overview | |
| |
| |
Retrieving Data with SELECT Statements | |
| |
| |
Subqueries | |
| |
| |
Adding Data to the Database | |
| |
| |
Updating Data | |
| |
| |
Deleting Data | |
| |
| |
SQL Functions | |
| |
| |
Creating and Altering Tables | |
| |
| |
Creating Views | |
| |
| |
Using Indexes | |
| |
| |
| |
Running and Maintaining the Database | |
| |
| |
Where Are the Databases? | |
| |
| |
Using OpenBaseManager | |
| |
| |
Configuring the Database | |
| |
| |
OpenBase Preferences | |
| |
| |
Backing Up Databases | |
| |
| |
Restoring from Backups | |
| |
| |
Importing from Spreadsheets | |
| |
| |
Replicating Databases | |
| |
| |
| |
Interacting with Databases Using Enterprise Objects | |
| |
| |
| |
Introduction to Enterprise Objects Framework | |
| |
| |
Databases, Objects, and Enterprise Objects Framework | |
| |
| |
Factoring Applications and Data | |
| |
| |
Factoring Logic and Data | |
| |
| |
Design Strategies: Which End to Start From | |
| |
| |
How Enterprise Objects Framework Works with WebObjects | |
| |
| |
| |
Enterprise Objects Framework Design Issues | |
| |
| |
The WebObjects Application | |
| |
| |
Start Page | |
| |
| |
Entry Page | |
| |
| |
Search Page | |
| |
| |
Summary Display Page | |
| |
| |
| |
Persistent Objects | |
| |
| |
Issues of Persistence | |
| |
| |
Faulting | |
| |
| |
Fetching Data with an Editing Context | |
| |
| |
Fetching Data with a Display Group | |
| |
| |
| |
Using EOModeler | |
| |
| |
Getting Started with EOModeler | |
| |
| |
Creating a Model Automatically from OpenBase Tables | |
| |
| |
Creating Database Tables from Your Model | |
| |
| |
| |
Working with the Model and the Database | |
| |
| |
Creating Java Classes from EOModeler | |
| |
| |
Using EOGenericRecord | |
| |
| |
EOEnterpriseObject | |
| |
| |
| |
Creating Dynamic Web Sites with WebObjects | |
| |
| |
| |
WebObjects at Work | |
| |
| |
Looking at a WebObjects Site | |
| |
| |
What Happens | |
| |
| |
How It Happens | |
| |
| |
| |
Using WebObjects Builder | |
| |
| |
Using WebObjects Builder | |
| |
| |
Binding Keys and Actions to Properties | |
| |
| |
Creating New Bindings | |
| |
| |
| |
Using Project Builder | |
| |
| |
Creating Projects | |
| |
| |
Editing Projects | |
| |
| |
Editing Components | |
| |
| |
Building and Launching WebObjects Applications | |
| |
| |
| |
Using Dynamic Elements | |
| |
| |
How Dynamic Elements Work | |
| |
| |
Syntax for WebObjects Dynamic Elements | |
| |
| |
| |
Implementing the Request-Response Loop | |
| |
| |
Classes that Implement the Request-Reponse Loop | |
| |
| |
The Request-Response Cycle in Action | |
| |
| |
| |
Using Direct and Component Actions | |
| |
| |
WebObjects URLs | |
| |
| |
WOApplication | |
| |
| |
WOAdaptor | |
| |
| |
WORequestHandler | |
| |
| |
WOComponent and Component Actions | |
| |
| |
WODirectAction and Direct Actions | |
| |
| |
| |
State and Session Management | |
| |
| |
Identity, State, Persistence, and Transactions: An Introduction | |
| |
| |
Where State Happens | |
| |
| |
Designing for State | |
| |
| |
Using Sessions Effectively | |
| |
| |
| |
XML and WebObjects | |
| |
| |
XML Basics | |
| |
| |
Using XML with WebObjects | |
| |
| |
| |
Advanced WebObjects Topics | |
| |
| |
Debugging Tips and Tools | |
| |
| |
Database Performance | |
| |
| |
Handling Errors | |
| |
| |
| |
Jump-Starting WebObjects and OpenBase | |
| |
| |
| |
Direct to Web | |
| |
| |
What Is Direct to Web? | |
| |
| |
Creating a Direct to Web Project | |
| |
| |
Direct to Web Looks | |
| |
| |
Customizing Direct to Web | |
| |
| |
Using WebAssistant | |
| |
| |
Using Direct to Web in Other WebObjects Applications | |
| |
| |
| |
Java Client | |
| |
| |
What Is a WebObjects Java Client? | |
| |
| |
Direct to Java Client | |
| |
| |
Creating a Java Client Project | |
| |
| |
Writing Java Client Applications | |
| |
| |
Running a Java Client | |
| |
| |
| |
Reusable Components in WebObjects | |
| |
| |
Using the Palette | |
| |
| |
WOExtensions Palette | |
| |
| |
Premade Elements Palette | |
| |
| |
Direct to Web Palette | |
| |
| |
JavaScript Palette | |
| |
| |
JavaClient Palette | |
| |
| |
WOSMIL Palette | |
| |
| |
Creating a New Palette | |
| |
| |
Creating Reusable WebObjects Component Objects | |
| |
| |
| |
Reusable Databases and Frameworks in OpenBase and WebObjects | |
| |
| |
Frameworks in WebObjects | |
| |
| |
Reusing Databases | |
| |
| |
Reusing Models | |
| |
| |
Reuse Considerations | |
| |
| |
| |
Deployment Issues | |
| |
| |
| |
Running a Database on a Network | |
| |
| |
Preparing for Deployment | |
| |
| |
Moving the Database to Production | |
| |
| |
Location: Where Is the Database? | |
| |
| |
Time: Keeping It Running | |
| |
| |
Issues for Small-Scale Networks | |
| |
| |
| |
Security | |
| |
| |
Database Security | |
| |
| |
Web Security | |
| |
| |
WebObjects Security | |
| |
| |
Other Security Concerns | |
| |
| |
| |
Deploying WebObjects Applications | |
| |
| |
The WebObjects Deployment Environment | |
| |
| |
Managing Hosts | |
| |
| |
Managing Applications | |
| |
| |
Managing Instances | |
| |
| |
Index | |