Meta-Programmng Java with Tapestry 5



Why code when you can meta-code? Learn how you can leverage Tapestry's built-in aspect oriented technologies to eliminate cut-and-paste coding (and ugly inheritance hierarchies) with simple declarative annotations.


At multiple levels, the Tapestry web framework includes features that allow you to meta-program Java: that is, let the framework write a lot of your code for you. We’ll do a quick survey of these approaches, and show how you can use annotations instead of inheritance or complex inheritance to accomplish cross-cutting concerns such as logging, transaction support and security checks.

Speaking experience


  • Howard basement hands folded square


    Howard Lewis Ship cut his teeth writing customer support software in
    PL/1. He made the jump to Object Oriented programming via NeXTSTEP
    and Objective-C before transitioning to Java. He created the initial version of
    Tapestry in early 2000, and is currently working on Apache Tapestry 5.2.

    Howard is respected in the Java community as an expert on web application development, dependency injection, Java meta-programming, and developer productivity. He is a frequent speaker at JavaOne, NoFluffJustStuff, ApacheCon and other conferences, and the author of “Tapestry in Action” for Manning (covering Tapestry 3.0).

    Howard was elected a Java Champion in February 2010.

    Howard is an independent consultant, specializing in Tapestry and Clojure training, mentoring and project work. He lives in Portland, Oregon with his wife Suzanne, a novelist, and his son Jacob.