Programming__WebObjects
WebObjects is a an integrated suite of freely available Java frameworks and tools that helps a developer to develop scalable, sophisticated applications for the Internet on most computers with Java support.
It is the most mature platform available for enterprise level web server development, providing object oriented framework support for relational database object persistence (in any JDBC compliant database), Ajax, Web Services, streaming media, Java Client, Rapid Application Development, file upload/download and many other popular web technologies.
Originally developed by and for NeXT computers in the mid 1990's, it was ported by Apple to Mac OS X and Mac OS X Server under Objective C and then completely translated to Java. It is the technology on which Apple's own iTunes Music Store was developed.
It has a very active and helpful developer community with mailing list support at the WO Developer Mailing List.
Introduction
- What is WebObjects?
- History
- Naming Conventions
- The naming convention for objects in WebObjects is that names are written in what is called "camel case".
- The various prefixes are not hard to explain. "NS" stands for "NextStep", "EO" for "EnterpriseObject", "WO" for WebObjects.
- Foundation
- Objective-C to Java Transition
- Hands On Hello World - Your First WebObjects Application
- Recent Changes
- WebObjects for Database Developers
License
As of WebObjects 5.3, the deployment of WebObjects-based server applications is now permitted on any platform. The Xcode 3.1 license (The last that included any reference to WebObjects) stated this:
D. WebObjects Software. Subject to the terms and conditions of this License, you may incorporate the WebObjects Software included in the Developer Software into application programs (both client and server) that you develop on an Apple-branded computer. You may also reproduce and distribute the WebObjects Software unmodified, in binary form only, on any platform but solely as incorporated into such application programs and only for use by end-users under terms that are at least as restrictive of those set forth in this License (including, without limitation, Sections 2, 6 and 7 of this License).For avoidance of doubt, you may not distribute the WebObjects Software on a stand-alone basis, and you may not develop application programs using the WebObjects Software (or any portion thereof) on any non-Apple branded computer.
Foundation
Enterprise Object Framework (EOF)
Introduction
Modeling
Using EOF
- Overview
- Required Reading
- Advanced
- EOGenerator
- Logging
- EOF Performance Tuning
- Primary Keys
- Compound Primary Keys
- Concurrency
- Validation
- Database Adaptors and Plugins
- Undo and Redo
- EO's and Multiple Editing Contexts
- EOSharedEditingContext
- Raw Rows
- Batch Fetching
- Fetch Limits
- Bulk Operations
- Schema Changes
- Delegates and Notifications
- Multiple Stacks or Instances
- Custom Qualifiers
- Localization and Internationalization
- Default Values
- Custom EOAdaptor
- EOF Traces
- Problems
- Tips and Tricks
- Examples
- HelpEOFisDoingStrangeThings
Web Applications
Introduction
Development
- Overview
- Required Reading
- Apache
- WO Adaptor
- WO Application
- WO Session
- WO Component
- Component Actions
- Direct Actions
- Request-Response Loop
- Using EOF in a WOA
- Authentication and Security
- General Best Practices
- WOForm Best Practices
- WODisplayGroupProgrammingWebObjects-Web Applications-Development-WODisplayGroup
- Debugging Techniques
- Direct Connect
- Frameworks
- Ajax
- CSS
- Sending Emails
- The Build Products
- Errors and Explanations
- Common Pitfalls and Troubleshooting
- Advanced
- Audit Trails
- BacktrackingProgrammingWebObjects-Web Applications-Development-Backtracking
- Concurrency
- Image Thumbnailing
- Database vs Filesystem (aka Images in the Database?)
- WOLongResponsePage
- Stateless Components
- Non-HTML WO's
- WOEvents and Logging
- PDF Generation
- Excel Generation
- SSL
- Localization and Internationalization
- Testing and JUnit
- Custom Error Handling
- Custom Request Handlers
- Custom Templates
- Calling Commandline Applications
- High Performance WOA's and WO's
- Profiling WO Apps
- J2EE Integration
- WebObjects and Subversion
- Third Party Jars
- Generating Static Pages
- Cocoa EO Applications
- Custom Resource Manager
- Persistent Sessions
- How Forms Work
- Development on Windows
- Tips and Tricks
- Examples
Deployment
- Overview
- Required Reading
- Advanced
- Platform Specifics
- Helpful Tools & Shellscripts
Web Services
- Overview
- Required Reading
- General Info
- Advanced
Complementary Frameworks
Project WONDER
- Overview
- Required Reading
- Installing
- Quickstart
- History
- Frameworks
- Ajax
- DynaReporting
- ERCalendar
- ERChangeNotificationJMS
- ERCoreBusinessLogic
- ERDirectToWeb
- ERExtensions
- ERIMAdaptorProgrammingWebObjects-Project WONDER-Frameworks-ERIMAdaptor
- ERJavaMail
- ERPlot
- ERPrototypes
- ERSelenium
- ExcelGeneration
- JavaWOExtensions
- PostgresqlPlugin
- SVGObjects
- Validity
- WOOgnl
- WOPaypal
- Adaptors
- PlugInsProgrammingWebObjects-Project WONDER-PlugIns
- Advanced
- Examples
WireHose
- Overview
- Basic Concepts
- Content Management
- PersonalizationProgrammingWebObjects-Wirehose-Personalization
- Access Control
- Dynamic Layouts
- Rapid Development
- Reference
- InstallationProgrammingWebObjects-Wirehose-Installation
- Online Reference Library
- Recently Deployed Sites
LEWOStuff
GVC Frameworks and GVC.SiteMaker
Development Tools
Direct-To
Case Studies
- iTunes Music Store
- .Mac
- Apple Store
- Original Dell Store
- Radar
- ShopToIt.ca
- EverLearn
- WebObjects Showcase
- WebObjects Sites
Java Client
- Overview
- Required ReadingProgrammingWebObjects-Java Client-Required Reading
- AdvancedProgrammingWebObjects-Java Client-Advanced
- Interface Builder
- svn
- Examples
Testing
Database Compatibility / Comparisons
Alternative Technologies Pros / Cons
- ASP.NET
- ASP.NET + Monorail
- JSP and Taglibs
- EJB
- Hibernate
- Core Data
- Cayenne
- Tapestry
- Ruby on Rails
- Struts
- WebWork
- SOPE
Additional Resources
Category:Programming
Category:WebObjects