A Conversation with Nicolas Popp
A Design Retrospect from One of WebOjects' Top Developers
By Bob Kaehms
Distributed Web applications as we know them began with WebObjects. While many developers worked in similar directions, Nicolas Popp (engineering manager for WebObjects at NeXT Software, now part of Apple Computer) and Bruce Ong, (WebObjects' senior engineer) leveraged previous distributed object work at NeXT to rapidly develop the high-level, object-oriented framework that has become the model for many of today's database Web connectivity tools. Web Techniques' Bob Kaehms caught up with Nicolas to discuss the design philosophy, implementation, and framework of WebObjects. Nicolas also detailed a simple application that demonstrates the power of WebObjects in building dynamic applications and connecting to legacy databases.
What exactly is WebObjects, and where did it come from? Were you trying to solve a specific problem?
Bruce Ong and I were playing with this prototype for automatically testing GUI-based applications using NeXT distributed objects. Bruce was following the development of the Web and suggested that we do something with it to build real applications. We had already built this tool called TestKit, where the target application's UI was modeled as a graph of widgets (Windows, TextField, Buttons, and so on). Because the application was remote, the objects in the graph were actually proxies to remote objects. By sending messages to these proxies, we could manipulate the application's UI even if it existed on a different process or a different machine.<>