Wiki source code of The WebObjects Beginner Book

Version 7.1 by Pascal Robert on 2011/05/04 12:06

Hide last authors
Pascal Robert 6.1 1 1. History and Introduction
Pascal Robert 2.1 2 1*. Overview of WebObjects and EOF (what is it)
3 1*. History of WebObjects and EOF (NeXT, Objective-C, Java)
4 1*. Getting to Know Eclipse and WOLips
5 1*. Project Wonder
6 1*. Your First Application
Pascal Robert 6.1 7 1. Planning for a Maintainable Application
Pascal Robert 2.1 8 1*. Importance of MVC separation
9 1*. Unit Testing WebObjects with Eclipse
10 1*. Logging from the Start, Using log4j
11 1*. Using Frameworks for Organization and Code Reuse
12 1*. The Hello World Scaffold Application
13 1*. RAD: Rapid Turnaround and Hot Code Replace
Pascal Robert 6.1 14 1. Thinking About Design with WebObjects
Pascal Robert 2.1 15 1*. How a WebObjects Developer Thinks
16 1*. Relationships not Queries
Pascal Robert 6.1 17 Good chance that you are already using another Web development tool, and good chance that you have to fetch and update your data with plain-old SQL calls. While knowing SQL calls is helpful in a WebObjects context, you must not think about them. With EOF, you fetch and update your data with Java methods and EOF will take care of translating your code to the corresponding SQL calls for your RDBMS system. What you do need is good database design concepts, since EOF can be very picky if your database model is not done right.
Pascal Robert 2.1 18 1*. Qualifiers
19 1*. Fetch Specifications
20 1*. Business Logic for Business Objects
21 1*. Components are for View Not Process
22 1*. Object Design
23 1*. The Request - Response Loop
24 1*. Why Defer Optimization Concerns
25 1*. Key Value Coding and WOGNL Extensions
26 1*. Description of the Application to be Built (blog)
Pascal Robert 6.1 27 1. The EOModel
Pascal Robert 2.1 28 1*. Entities
29 1*. Attributes
30 1*. Value Types
31 1*. Prototypes
32 1*. To 1 Relations
33 1*. To Many Relations
34 1*. Many to Many Join Tables
35 1*. Flattened Relations
36 1*. Using Multiple Models
37 1*. Relationships Across Models
38 1*. Fetch Specs in Model
39 1*. EO Inheritance
40 1*. EOGenerator
41 1*. Handling Blob Data
42 1*. Connection Dictionary
43 1*. Runtime Selection of the Connection Dictionary and Prototypes
44 1*. Debugging JDBC Connections and Jdbc2info
Pascal Robert 6.1 45 1. Leveraging the Power of EOF
Pascal Robert 2.1 46 1*. Fetching Objects
47 1*. Locking
48 1*. Data Freshness
49 1*. Using SQL when needed
50 1*. Raw Rows
51 1*. Fetch Efficiency (pre and batch fetching)
52 1*. Optimistic Locking Failures
53 1*. Constraint Failures
Pascal Robert 6.1 54 1. Basics of Page Construction
Pascal Robert 2.1 55 1*. Strings and Formatting
56 1*. Loops
57 1*. Conditionals
58 1*. Forms
59 1*. Switch Component
60 1*. Action methods
61 1*. Bindings
Pascal Robert 6.1 62 1. Advanced Page Construction
Pascal Robert 2.1 63 1*. Localization (standard and Wonder)
64 1*. WOComponentContent
65 1*. CSS (standard and Wonder, including localization)
66 1*. JavaScript (standard and Wonder, including localization)
67 1*. Returning to Previous Page
68 1*. RR Loop and Phases
69 1*. Common Super Class
Pascal Robert 6.1 70 1. Deployment
Pascal Robert 2.1 71 1*. Using Apache: Develop Like you Deploy
72 1*. Why Deployment at the Beginning?
73 1*. Structure of .framework and .woa Build Products
74 1*. WebObjects and Classpaths
75 1*. Organizing Deployments
76 1*. Apache Configuration
77 1*. SSL Configuration
78 1*. Deployment Components: JavaMonitor, Wotaskd and javawoservice
79 1*. Setting up JavaMonitor
80 1*. Editing spawnofwotaskd.sh
81 1*. Configuring an Application
82 1*. Logging and Permissions
83 1*. Optimization: Adjusting Timeouts, Memory Usage, and Number of Instances
84 1*. Trouble Shooting: Where to look when things go wrong
85 1*. Deployment alternatives (servlet, mod//proxy)//
86 1*. Wonder versions of wotaskd and JavaMonitor
87 1*. Handling Transitions between http and https
Pascal Robert 6.1 88 1. Creating and Using Reusable Components
Pascal Robert 2.1 89 1*. Design
90 1*. Caret Notation
91 1*. Synchronization
92 1*. Stateless
93 1*. Refactoring Pages into Reusable Components
Pascal Robert 6.1 94 1. Validation
Pascal Robert 2.1 95 1*. Basics from Practical WebObjects
96 1*. Using Page to Store exceptions
97 1*. Using form inputs which handle their own validation
98 1*. JavaScript Client Side Validation (maybe with components)
Pascal Robert 6.1 99 1. Web Services and WebObjects
Pascal Robert 2.1 100 1*. Using Direct2WebServices
101 1*. Using WebServices Directly
102 1*. The Lower Levels
Pascal Robert 6.1 103 1. D2W
104 1. JavaClient
105 1. Ajax
106 1. WO and other clients
Pascal Robert 2.1 107 11. Cocoa
108 11. ERRest/Dojo or other