June 22, 23 and 24 2013 ...Montréal ...Hilton Bonaventure

Last updated: June 19 2013.

D2W Stateful Controllers

Speaker : Daniel Roy

In this presentation we will explore the benefits and pitfalls of using standard D2W versus Project Wonder D2W, and then see how Fuego developed a way to reuse branch delegates for multi-page flows in D2W applications in the name of efficiency and clarity.

Fixing problems in the core WebObjects frameworks

Speaker : Helmut Tschemernjak

This will explore how problems in the core WebObjects frameworks can be fixed by replacing, extending, or fixing WO classes. In this way we replaced a few classes without breaking any compatibility – it is easier than expected. As developers heavily depend on the Apple WebObjects runtime, problems must be resolved and fixes should be shared between developers.

Network and process tracing

Speaker : Helmut Tschemernjak

We will explore how to isolate problems using Linux, UNIX, Mac OS X, and Windows tracing tools. This also includes cmd line tools that are essential for every developer to inspect health, resource usage and performance of servers and to do network tracing with exploration of network traffic using Wireshark.

Covered tools: top, topas, lsof, gdb, truss, dtruss, sc_usage, fs_usage, pstack, dtrace, ...

Tracing: Wireshark, tcpdump

How to run RabbitMQ with WebObjects

Speaker : Philippe Rabier

You will learn how to use RabbitMQ as a message bus between applications. There are many scenarios where you could use a message broker like RabbitMQ:

  • cleaner architecture
  • load balancing
  • peak absorption
and so much more!

After a presentation of RabbitMQ, we will show you some pieces of code and will terminate the session with a demo.

Deploying WebObjects apps on Windows

Speaker : Markus Stoll

Even if it's not the most common deployment platform in the community, deploying WebObjects on Windows is demanded by some customers. This talk will show that WebObjects on Windows is as stable and easy to handle as on other platforms. The presentation will cover all aspects of Windows deployment. It will include basic setup, starting WO Apps using the new WOStart utility, compiling and configuring WOAdaptor for IIS and Apache. The presentation will also treat 32bit / 64bit issues and Windows pitfalls.

Chaining the Beast - Testing Wonder Applications

Speaker : Ray Kiddy

Many tools will help you test your applications. Some will hurt you. How can you know what will help and what will not? You want to build your applications without worrying about tests. You can start your work so that the testing you need to do later will be easier. This presentation will help you decide which testing methods and tools may be best for your projects.

iOS Applications with WebObjects REST Servers

Speaker : Paul Lynch

Using ERREST we can build or convert WebObjects applications for any client. This presentation looks at building a common API layer for iOS applications to communicate with WebObjects (and other) REST servers, which has been used to build several apps released through the App Store, as well as with some non-WebObjects servers.

Unit Testing with WOUnit

Speaker : Henrique Prange

The WOUnit framework contains a set of utilities for testing WebObjects applications using JUnit 4.7 or later. In this presentation, you'll be introduced to basic and advanced features of WOUnit and how to use them to write unit tests to your WebObjects applications.

ERGroupware

Speaker : Pascal Robert

ERGroupware is a brand-new framework to connect to CalDAV, CardDAV, MS Exchange and Zimbra services. Pascal will show you how to use it to get and put data into calendaring and address book services from your Project Wonder applications.

WOdka framework

Speaker : Ken ISHIMOTO and David Holt

Ken and David will do a showcase of the features of the WOdka framework, including how to create a WOdka App, feature sets, navigation handling, next generation D2W, Notification center and more.

Localizing your apps for multibyte languages

Speaker : Ken ISHIMOTO

Thinking that simply make your application UTF-8 compliant is enough? That's not the case if you need to support multibyte languages like Japanese! Ken will explain how Japanese works, and where you can get bitten.

Migrating existing projects to Wonder

Speaker : Maik Musall

Wonder looks nice, and it's relatively easy to get started, but what about using Wonder's features with projects that already live and have been growing for years without it? This talk summarizes lessons learned while migrating a 700,000+ lines project to Wonder: what you should do to prepare your codebase before starting the integration, how to manage your codebase during the integration without losing the ability to make releases, and what steps are necessary for the actual integration, with many code examples.

Deployment setups and failover techniques

Speaker : Maik Musall

Once you have a working application, the question arises how to set up the production environment. This talk presents a few possible ways to make this happen and covers topics like failover, hardware management, operating systems, storage and database setups, and discusses the tradeoffs between performance, availability and cost. As there are a whole lot of alternatives how to do all this, this is expected to result in an open discussion.

Introduction to Ponder

Speaker : Ramsey Gurley

In this presentation, you will be introduced to a set of frameworks outside of Project Wonder called Ponder. These frameworks extend wonder to add functionality not available in wonder or make improvements that would be too radical to introduce directly to existing wonder frameworks. Included are frameworks for D2W, authentication, authorization, user management, and more.

15 minutes presentations

Want to present something to the community, like a small component or a trick? On June 22, we will have a two hours block where you can do a 15 minutes presentation.

Topics we have so far:

  • Why use the "framework principal" pattern? What are the advantages?
  • The mechanisms to filter data a user is allowed to see. Typically, an application that hosts several client data set must not let any user see all data.

State of the Community

Now that the association is a real organization, let's discuss how we can go forward as a community.

Community Working Group

Comment on issues, ideas and code to improve the frameworks and tools.

Labs

Come join other WO developers in the labs so that everyone can share tips and tricks. Don't forget to bring your laptop and code!