Real-World WebObjects Bootcamp
Whether you just want to learn WebObjects for a new project or you want to expand your knowledge, the Real-World WebObjects course taught by Guido Neitzer is the perfect opportunity for it.
Prerequisites
The class assumes that you have at least basic knowledge about object-oriented programming in Java, have some HTML and CSS skills and find your way around basic database design and usage. The class is taught in English.
In addition to the syllabus as shown below the following topics can be added on request, if there is interest in using Project WONDER:
- Get a short introduction to Project WONDER, on why to use it, find and install it first from the build server then from source.
- Learn about what Wonder does and does not with your application.
- Explore page navigation with ERXNavigation.
- Understand the problems of changing the data model in enterprise applications, write migrations using ERXMigration.
- Use ERXLocalizer and ERXLocalizableString and the ERXLocalizationEditor to localize even better, use localized attributes in your database model.
- See some of the Direct To Web components in action. Use them in your own application.
Syllabus
| Section | Contents |
|---|---|
| Why am I here? | An introduction to WebObjects, the instructor, and the course. |
| Get started | Install WebObjects, install Eclipse and WOLips. Build a Hello WOrld application with some dynamic content. |
| Eclipse | Find your way through the project structure, find sources, resources, frameworks, settings, and launch configurations. |
| Development hints | Use the tools - see where Eclipse can help you improve your coding style with code completion, comment creation, and refactoring. Use WebServer connect with the build in Apache in Mac OS X in favour of direct connect. |
| Concepts | Get the big picture about the "Model-View-Controller" paradigm and how it is used in WebObjects. |
| Components | Take advantage from the component model, build your own components, create a PageWrapper to standardize look and feel. |
| User Input | Build a component with a form, get information from the user into local Java variables. |
| Application cleanup | Create subcomponents for commonly used elements, clean up the code using the tools, incorporate CSS for the design, create a navigation component. |
| The Request-Response-Loop | Acquire a good understanding of the request-response loop, use inheritance to see what's going on. |
| Database installation | Install FrontBase or PostgreSQL with the graphical installer on the local machine. Learn how to access it from your application through the Enterprise Objects Framework. |
| EOF | Generate Java classes for your model entities with EOGenerator, insert, select, update and delete data from the database. |
| Advanced EOF | Use model based validation, Java based validation, fetch specifications, sort orderings, editing contexts, relationships, locking. |
| Data freshness | Caching and its problems - ensuring fresh data from the database, refaulting, invalidating objects. |
| Frameworks | Learn why and how to create frameworks for business logic and commonly used elements. |
| Make your code better | Install WOUnitTest / JUnit to write tests for your business logic framework. |
| Changing the model | Understand the problems of changing the data model in enterprise applications, generate scripts to change the database model. |
| Session management | When, why and how to avoid session creation, use direct actions to create a sessionless application. Learn about the potential problems and how to avoid them. |
| Re-visiting the RR loop | Page caching, the context, how to handle backtracking and client side caching. |
| Localization | Localize your application to a new language. |
| AJAX | Meet the AJAX framework from Project WONDER, explore some of the components and use them to make your application "Web 2.0 compliant". |
| Deployment | Activate JavaMonitor and wotaskd on the local machine, understand what they do and how to use them to deploy your application. |
| Trouble shooting | Find the right application instance on the commandline, debug deadlocks from a hung application, find and resolve performance problems. |
| Wrap up | Bring everything together, add graphics and finishing touches to your application, do a local deployment. |
What's Included
Class price includes all class materials, a luxury room, three delicious meals a day, a stylish Big Nerd Ranch t-shirt, and ground transportation to and from the airport. Plan to arrive the afternoon or evening before your class begins and depart on the last day of your class after 4 PM.