WebWork in Action

Patrick Lightbody and Jason Carreira Foreword by Rickard Öberg

September, 2005 | 400 pages
ISBN: 1932394532

$44.95 Softbound print + PDF ebook  
$35.99 PDF ebook  

RESOURCES

Look Inside Resources Downloads

Updated 2005-10-05: updated/improved build file and fixed calendar.vm template.

DESCRIPTION

"My developers love it! We have already improved a couple of applications because of this book."
- Rickard Öberg, Software Architect, Senselogic, Founder of XDoclet and WebWork OpenSource projects.

"Well organized and covers all the bases!"
- Anoop Ranganath, Senior Architect, Green Bar Software

"Wow! People developing web apps need this. It's very, very good!"
- Berndt Hamboeck, Senior Architect, Sybase

The WebWork framework implements a simple command/ business-logic and MVC design. It provides out-of-the-box functionality developers need to build well-designed applications that are modular and reusable. Written by its two primary developers, WebWork in Action is the first book to focus entirely on WebWork. Like a true "In Action" book, it is both a tutorial on WebWork and a sourcebook for its use in demanding, real-world applications.

Starting with "Hello World" the Webwork way, the book immerses the reader in practical, how-to material. You will soon know how to configure WebWork and gradually and incrementally master the robust and powerful uses of the framework. WebWork in Action uses the same basic, continuing example used in Manning's Hibernate in Action to show how to integrate WebWork with the popular Hibernate persistence framework.

What's Inside

ABOUT THE AUTHORS...

Patrick Lightbody has worked for various technology companies, from Cisco Systems to tiny Silicon Valley startups, and currently leads Jive Software's Professional Services organization. In his spare time he contributes to several OpenSymphony projects. Patrick lives in Portland, Oregon.

A developer and J2EE architect, Jason Carreira has lately designed and built enterprise financial software products. He currently works for ePlus on next generation eProcurement solutions. He is a core developer of the XWork command pattern framework and WebWork MVC web framework at OpenSymphony. Jason lives in Rochester, New York.

Foreword

Building a framework is difficult. On the one hand, the framework needs to be flexible enough to cater to a wide variety of needs; on the other hand, it needs to be solid enough that it doesn't fall prey to the beast of complexity - the urge to make it the solution to conquer all other solutions. In today's development environment, a multitude of frameworks are available to help you deal with various aspects of creating complex and useful enterprise software. Each framework provides something unique that makes it cover its particular field of application in a (more or less) human-friendly manner; in addition, each framework must know its boundaries and how it relates to other frameworks in a software ecology that is constantly changing as our needs and requirements change.

In order to accomplish this seemingly impossible task, it is necessary to acknowledge and study past efforts that a framework is supposed to replace and/or extend. In the case of WebWork, there were, and still are, a number of different approaches and frameworks that I looked at before I set to work. The idea was to create a new framework that allowed developers to get their job done with as little work as possible and perform each task efficiently without needing an unnecessarily complex framework to work against. Simple things should be simple to do while allowing complex things to be possible.

Another important aspect of WebWork is that it should allow developers as much freedom as possible to use other technologies - for example, to render output. A number of rendering alternative are available, and it's impossible - and futile - to determine which one is the best in all situations; such an alternative simply doesn't, and can't, exist. Being open minded in this regard is therefore crucial, and it has paid off: WebWork has now been successfully integrated with a wide variety of rendering technologies, including some that don't target HTML or the Web. It has grown beyond its initial purpose, which is always gratifying for a parent.

WebWork started as an itch that I needed to personally scratch. However, with its second generation it has expanded into a fully grown community project, where developers add and improve WebWork by leveraging the structure provided by the framework. No framework of this kind, in today's competitive environment, can be successful without the input and ideas of a multitude of developers, because it's important that it be able to handle the real issues that people face in their daily work. As a result, WebWork now has a life of its own and is growing steadily as a community effort.

A book covering such a framework needs to be able to deal with all the intricacies of framework construction and convey the reasoning behind why it works the way it does; it must also demonstrate in action how all the theoretical stuff works in practice. Theory has no point if it ain't practically applicable. This book explains in reasonable detail the rationale for how WebWork is constructed, but it's mainly focused on showing you in practical terms how to use WebWork, from the simple to the complex. Time is always of the essence, and this book is a great investment if you're interested in learning about web framework construction, or if you want to make a killer web app that blows everyone's mind. Anything is possible!

Rickard Öberg