Event Details

Location

Sheraton Phoenix Sky Harbor Airport Hotel
1600 South 52nd Street
Tempe, AZ 85281
View Map
NOTE: You are viewing details about a past event. You may view our upcoming event schedule here ».

Session Descriptions

Andrew Glover - Co-author of "Continuous Integration"

Andrew Glover

Developer Component and System Testing with DbUnit

The open source DbUnit framework provides an elegant solution for controlling a database dependency within applications by allowing developers to manage the state of a database throughout a test. With DbUnit, a database can be seeded with a desired data set before a test; moreover, at the completion of the test, the database can be placed back into its pre-test state.

Introduction to TestNG, the next generation testing framework for developers

No one will argue that JUnit has positively affected the quality of thousands of Java applications around the world. JUnit’s simplicity and ease of use ushered in a whole new era of code quality; however, as many developers have found, its simplicity has also limited its use. TestNG was designed from the ground up to overcome some of JUnit’s limitations; moreover, TestNG’s features make it a great tool to complement your JUnit tests.

Using Code Metrics for Targeted Code Refactoring

The knowledge of how to effectively spot smelly code and replace it with proven patterns will ultimately lead to a more stable, maintainable and elegant code base.


Ben Galbraith - Book author, Ajaxian-at-Large, and Consultant

Ben Galbraith

AJAX: Creating Next-Generation, Highly Dynamic, Off-line Capable Web Applications with HTML and JavaScript

As recent high-profile web apps such as Google's GMail have shown, modern browsers are capable of natively rendering web apps with highly dynamic and compelling UIs - fetching server data without page refreshes, animating and manipulating page contents on-the-fly, even offline use. The line between web and "desktop" apps is blurring.

Advanced SWT and JFace

This session picks up where SWT Fundamentals leaves off. Among the advanced topics I discuss are creating custom SWT widgets and exploring tight
native integration. I combine another compelling topic with the advanced SWT material: JFace. SWT is a more akin to AWT than Swing; its concerned
more with wrapping native functionality than providing any high-level abstractions. JFace is an API on top of SWT that provides such abstractions. The
combination of SWT and JFace is comparable to Swing. My coverage of JFace includes an introduction to several of its frameworks, such as the Viewer
and Window frameworks, along with many examples. Learning JFace will enable you to write complex SWT applications much faster.

Advanced Swing: Architecture and Frameworks

Are you spending more time plumbing your Swing applications than solving business problems? Has your Swing application grown out of control? This session is for you.

Creating Killer Graphics and Professional PDFs with XML

You can do some pretty cool things with XML these days (despite what some curmudgeons in the technology world may claim). In the past few years,
XML has solidified its place as the lingua franca of data sharing and data manipulation. But XML as a data transfer language is only marginally
interesting. Things get really exciting when XML is dynamically transformed into other formats.
In this session, I focus on two XML formats which can be readily transformed into high-quality presentation-centric output formats. XSL-FO is a
typesetting format for XML that can be readily converted into PDF (or Postscript and some other formats). SVG is a vector graphics language in XML --
a sort of open-source version of the popular Macromedia Flash format. SVG files can be converted into beautiful, completely scalable -- and interactive -
- images.

Creating Polished Swing Applications

Too often, Swing applications are slow, ugly, and hard-to-maintain. It turns out that it doesn't have to be this way. Swing can be used to create highly-responsive, beautiful applications that are very maintainable. If this isn't consistent with your own experience, don't feel bad; its not very obvious how to make Swing sing.

Making the Most of XML

For many of us, XML has become a ubiquitous presence in application development, whether parsing, validating, or manipulating it. For many of us, all
that XML is coupled with pain, in the form of tedious APIs (like, say, the W3C DOM API) and confusing technologies (oh, I don't know, W3C XML
Schema?).

SWT Fundamentals

The Eclipse project's SWT GUI toolkit provides one of the only viable alternatives to Swing for creating so-called rich client applications in Java. Whereas Swing paints its own widgets and has distinguished itself with a complex (and often obtuse) API, SWT relies on the host operating system for widget rendering and sports a simple, clean API. If your goal is to create a Java application that "looks" like a normal Windows application (or OS X, or Linux), SWT will revolutionize your world. In this session, I introduce SWT from the ground up. I start at a high-level, but quickly move into the details of SWT's API. By the presentation's end, attendees will have a solid understanding of SWT.


Brian Sam-Bodden - Java author, Ruby geek and Open Source Advocate

Brian Sam-Bodden

Advanced Object-Relational Mapping with Hibernate

Hibernate is rapidly becoming the tool of choice when it comes to Object-Relational Mapping in Java. For simple applications with fairly simple object models and database schemas, using Hibernate is fairly straight forward. Unfortunately for most of us real applications have complex object-models that need to be wired to sometimes ancient and convoluted database schemas.

Beginning Drools - Rule Engines in Java

Drools is an open source pure-Java implementation of a forward chaining rules engine. Drools can be used in a J2SE or J2EE application and allows you to express rules programatically or by building domain specific rule languages. Learn how Business Rules with Drools can make your Java applications more flexible and robust.


Complex Builds with Ant

Ant has revolutionized the way we build applications in Java and it has become a de facto standard in the Java world. As applications grow in complexity some developers are finding themselves dealing with ever growing and complex builds. Complex builds have to deal with Multiple Operating System, multiple Application Servers, multiple APIs and multiple stages of development.

XML made easy with XOM

XML is quickly becoming the common ground for disparate systems to exchange information and most Java developers deal with XML almost on a daily basis, whether is in deployment descriptors and configuration files or as the data format at the center of their applications.


Bruce Tate - Author of 3 JavaOne best sellers

Bruce Tate

Beyond Java

All programming languages have a limited life span, and Java is no different. This is a philosophical session rather than a programming session. Sooner or later, Java will lose its leadership position. This session will explore Java's strengths and weaknesses. We'll try to understand whether conditions are ripe for alternatives to emerge, and what those alternatives may be.

Introduction to Spring

This session, for the Spring beginner, helps you:
• Understand dependency injection and inversion of control
• Know the meaning of lightweight containers and Spring
• Understand the basic pieces of Spring
• See core Spring modules in action, including Persistence, AOP, transactions.

Attendees need not know anything about Spring. This session does talk about integration with core J2EE frameworks like JDBC and transactions.

Politics of Persistence

This session will help a Java developer choose a persistence framework. After the session, you will
• Understand the core strengths and weaknesses of the main persistence frameworks in the Java space
• Understand where marketing influences can impact persistence
• Know what’s going on behind the scenes to impact the persistence pictures
• Answer questions about persistence frameworks that might not be mainstream


Dave Thomas - Pragmatic Programmer, Ruby, Rails, Process Improvement

Dave Thomas

Herding Racehorses and Racing Sheep

Are you frustrated by experts who can't tell you what to do, or by junior team members who refuse to see the big picture? How can you best develop careers: both yours and those of your teammates and managers? How can we learn to apply experience more effectively, and why do the many approaches designed to tame complexity actually end up increasing it?

Ruby for Java Programmers

Ruby recently enjoyed its tenth birthday. Instead of cake and candles, the community celebrated by releasing a wave of new libraries and frameworks that make Ruby programming even easier. This talk features some of the best of these, as we explore Ruby.

Ruby on Rails

The Ruby on Rails framework has exploded onto the scene over the last few months. Propelled by some genuine benefits, and fueled by a whole lot of controversy, Rails seems here to stay. So, is it a Java killer? (No.) Is it a great way to develop certain classes of web application? (Yes.) Does it really deliver the 10-fold increase in developer productivity that some have claimed? (It depends...)



David Geary - Author of Graphic Java and co-author of Core JSF

David Geary

Felix: A bag of Tricks for Java Server Faces

Okay, so you know a little about JSF. You understand managed beans, action outcomes and how to attach standard JSF validators to components in a JSP page.

But there is a great deal of functionality that the average web application supports that JSF doesn't provide out of the box. For example, wouldn't you like to have JSF automatically place asteriks in front of labels for required fields? You are going to implement client-side validation, which JSF does not support out of the box, aren't you? Of course, you're going to test your application, right? And don't forget to trap unauthorized use of the back button.

Killer Web UIs

User interfaces are usually the most turbulent aspect of an application during development. Constant tinkering with the UI means constant changes to your code, so as a UI developer, you want to minimize the scope and effects of those code changes.

Open-source Java provides two powerful software packages that help you manage UI complexity: Tiles and Sitemesh. Tiles composes webpages from discrete regions of your user interface known as tiles. A tile contains a JSP page for layout and one or more JSP pages for content. Sitemesh decorates webpages with decorators that can be associated with URL patterns. Once you set up your decorators, you can decorate pages that match a decorator's URL pattern.

Shale: Turbo-charge your JSF Apps

JavaServer Faces is a well designed user interface framework, but it lacks a number of features you might otherwise expect out of the box; for example, JSF does not explicitly provide support for client-side validation.

So, from the folks that brought you Struts, comes Shale, a collection of useful enhancements to JSF. A top-level Apache Software Foundation project, Shale adds some really cool features to vanilla JSF, including:

Web flow: script dialog flow
Remote Method Calls: easily call JavaBean methods from JavaScript
Tapestry-like views: code views in pure HTML
Use Apache Commons Validator validators on the client or server, or both
JSF testing framework: mocks for easy JSF testing

There's a lot of cool stuff in Shale that makes JSF a much more compelling proposition. Come see what it's all about.


Jason Hunter - Author of Java Servlet Programming

Jason Hunter

An Introduction to XQuery

XQuery is a new language from the W3C that lets you query and manipulate XML -- or anything that can be represented as XML, such as relational databases. As a Java developer -- especially a server-side Java developer -- XQuery is key to searching and manipulating large XML repositories or performing any XML-centric task.

This talk introduces XQuery. I'll explain the XQuery language; I'll show how to call XQuery from Java; and as the creator of JDOM, I'll also explain when to use XQuery instead of JDOM, and when to use both.

Extreme Web Caching

Web Caching is very important for high traffic, high performance web site but few people know all the professional-level strategies. In this talk I'll share some of the tricks of the trade, including advanced tips from Yahoo's Mike Radwin.

We'll start with the basics: using client-side caches, conditional get, and proxies. Then we'll talk about more advanced features: how best to handle personalized content, setting up an image caching server, using a cookie-free domain for static content, and using randomization in URLs for accurate hit metering or sensitive content.

Forgotten Algorithms

There are many interesting and useful algorithms that people just don't remember or never learned. The Boyer-Moore string search algorithm is one prime example. The randomized skip list is another. Both solve common problems with wonderful flair and finesse -- and performance-wise
they blow the pants off brute force solutions. This session covers these two algorithms plus several others. It's like your college algorithms course but with a practical bent and absolutely zero proofs. Extra bonus: The Google PageRank algorithm.

Java Metadata

Java's new Metadata facility introduced in J2SE 5.0 defines a way to attach decorations to classes, fields, methods, and even packages that can be extracted by the compiler or runtime tools to provide advanced functionality. Think of metadata as an extended @deprecated flag, or think of XDoclet++. In this tutorial session you'll learn how Metadata fits in the Java platform (and how it compares to the C# platform). We'll cover how to use the metadata attributes provided in the core J2SE libraries and how to write your own. We'll also show a bit of what's coming in JSR-181, tasked to define standard metadata attributes for web services.

New Features in Java 5

The new Java 5 release introduces a number of significant Java language enhancements: generics, typesafe enums, autoboxing, an enhanced "for" loop, a static import facility, and a general-purpose metadata facility. This talk gives an overview of the changes and helps you understand what all the funny new syntax means.


Ramnivas Laddad - Author of AspectJ in Action, Principal at SpringSource

Ramnivas Laddad

Aspect-oriented Refactoring: Taking Refactoring to a New Level

Refactoring allows reorganizing code while preserving the external behavior, while AOP facilitates modularizing crosscutting concerns in a system through use of a new unit of modularity called aspect. Aspect-oriented refactoring synergistically combines these two techniques to refactor crosscutting elements. Individually, refactoring and AOP both share the high-level goal of creating systems that are easier to understand and maintain without requiring huge upfront design effort. A combination of the two -- aspect-oriented refactoring -- helps in reorganizing code corresponding to crosscutting concerns to further improve modularization that is easy to understand, highly consistent, and simple to change.

Design Pattern Modularization with AOP

Design patterns -- object oriented, concurrency control, and J2EE -- all have certain crosscutting elements present. The obvious result of conventional implementation is unclear implementation that is tedious to implement and tough to change. Aspect-oriented programming (AOP) offers a way to simplify implementation of these design patterns. Further, AOP offers new design patterns of its own that allow for new ways of implementing functionalities. This session shows how the use of AOP can simplify implementation of design pattern.

Introduction to Aspect-oriented Programming with AspectJ

Aspect Oriented Programming (AOP) enables modularizing implementation of crosscutting concerns that abound in practice: logging, tracing, dynamic profiling, error handling, service-level agreement, policy enforcement, pooling, caching, concurrency control, security, transaction management, business rules, and so forth. Traditional implementation of these concerns requires you to fuse their implementation with the core concern of a module. With AOP, you can implement each of the concerns in a separate module called aspect. The result of such modular implementation is simplified design, improved understandability, improved quality, reduced time to market, and expedited response to system requirement changes. Come to this session and learn all about how AOP can help you simplify developing complex systems.

Introduction to Aspect-oriented Programming with AspectJ

Aspect Oriented Programming (AOP) enables modularizing implementation of crosscutting concerns that abound in practice: logging, tracing, dynamic profiling, error handling, service-level agreement, policy enforcement, pooling, caching, concurrency control, security, transaction management, business rules, and so forth. Traditional implementation of these concerns requires you to fuse their implementation with the core concern of a module. With AOP, you can implement each of the concerns in a separate module called aspect. The result of such modular implementation is simplified design, improved understandability, improved quality, reduced time to market, and expedited response to system requirement changes. Come to this session and learn all about how AOP can help you simplify developing complex systems.

Java Generics in Depth

The Java generics facility in Java 5.0, similar in spirit to C++ templates, enables implementing parameterized types. Using this facility, you can get more help from the compiler to write type-safe code and avoid many ugly casts. While Java generic facility is simpler than C++, make no mistake; it brings its own set of intricacies! Find out all about this important feature in Java 5.0.

Performance Monitoring in J2EE Applications

J2EE has become the main new platform for enterprise application deployment. Good performance is an important business requirement. Supporting this requirement needs application profiling during the development phases and performance monitoring after application deployment. Come to this session to understand challenges and choices in monitoring J2EE applications.


Stuart Halloway - CEO of Relevance

Stuart Halloway

Class Loading in Java: Building Dynamic Systems Without Pain

(3 Hour Session)
One of Java's greatest strengths is its flexible deployment model. In this session you will learn how Class Loaders facilitate deployment, and how to troubleshoot Java and J2EE Class Loading problems.

Class Loading in Java: Building Dynamic Systems Without Pain

(3 Hour Session)
One of Java's greatest strengths is its flexible deployment model. In this session you will learn how Class Loaders facilitate deployment, and how to troubleshoot Java and J2EE Class Loading problems.

Cryptography for Programmers

For centuries people have used crypto to build (and break) secure systems. Computers have only raised the pitch of conflict, providing enormous cryptographic power at commodity prices. Most programmers do not write their own crypto libraries, instead relying on the services of an operating system or virtual machine. But even with all this support, building secure systems is a daunting task.

Introduction to Java Reflection

Reflection is writing code that manipulates itself. Well-written reflective code automates a broad class of repetitive, error-prone programming tasks. Poorly-written reflective code obfuscates programs and destroys the benefits of the type system. We'll focus on the former.

Java Platform Security and JAAS

The Java platform is built from the ground up with security in mind. This talk will introduce the security features of the J2SE, building quickly from the basic classes to realistic examples.

Programming Java Concurrency

Java has always provided a model for concurrency and threads. With Java 1.5, this model received a major facelift. Learn how to use the new concurrency utilities to build responsive, scalable, and correct concurrent applications.

Unit Testing Java with Jython and JRuby

JUnit is great. Jython and JRuby are even better. Unit testing libraries look the same everywhere, so why not use the one that lets you get your job done faster?


Ted Neward - Enterprise, Virtual Machine and Language Wonk

Ted Neward

Effective Enterprise Architecture

Bring all of your enterprise Java questions to this open forum discussion hosted by the author of “Effective Enterprise Java”, Ted Neward.

Effective Enterprise Java: Security

Security's become a hot topic among enterprise developers in recent years, but to many developers, security is still the white elephant in the middle of the room. Discussions about security usually begin with, "Uh, we'll worry about that later", or, "Start with two really large prime numbers.....". Security isn't as hard as developers make it out to be, but it is something that developers need to face and recognize.

The Fallacies of Enterprise Systems

There's a set of fallacies that every enterprise developer has fallen for at some point in their enterprise development lives, and unless they've come to realize it early enough, all cause big trouble and painful learning experiences in the long run.




Andrew Glover

close

Andrew Glover Co-author of "Continuous Integration"
Andrew was the founder of Vanward Technologies, which was acquired by JNetDirect in 2005. Subsequently, he served as President of Stelligent Incorporated.

Andrew is the founder of the easyb BDD framework and the co-author of Addison Wesley's "Continuous Integration", Manning's "Groovy in Action" and "Java Testing Patterns". He is an author for multiple online publications including IBM's developerWorks and Oreilly's ONJava and ONLamp portals. He actively blogs about software at thediscoblog.com.


Ben Galbraith

close

Ben Galbraith Book author, Ajaxian-at-Large, and Consultant
Ben Galbraith is a frequent technical speaker, occasional consultant, and author of several Java-related books. He is a co-founder of Ajaxian.com, an experienced CTO and Java Architect, and is presently a consultant specializing in Java Swing and Ajax development. Ben wrote his first computer program when he was six years old, started his first business at ten, and entered the IT workforce just after turning twelve. For the past few years, he’s been professionally coding in Java. Ben has delivered hundreds of technical presentations world-wide at venues including JavaOne, The Ajax Experience, JavaPolis, and the No Fluff Just Stuff Java Symposium series; he was the top-rated speaker at JavaOne 2006.


Brian Sam-Bodden

close

Brian Sam-Bodden Java author, Ruby geek and Open Source Advocate
Brian Sam-Bodden is an author and recognized international speaker that has spent over twelve years working with object technologies, with an emphasis on the Java platform and in recent times falling in love with Ruby. He holds dual bachelor degrees from Ohio Wesleyan University in computer science and physics and is the president and chief software architect for Integrallis http://www.integrallis.com, where he focuses on building great applications with Java and Ruby. Brian has worked as an architect, developer, mentor, and trainer for several Fortune 500 companies in the tax, insurance, retail sciences, telecommunications, distribution, banking, finance, aviation, and scientific data management industries. As an independent consultant, he has promoted the use of open source in the industry by educating his clients on the cost benefits and productivity gains they can achieve. He is a frequent speaker at user groups and conferences nationally and abroad. Brian is the author of "Beginning POJOs: Spring, Hibernate, JBoss and Tapestry" and has also co-authored the Apress Java title "Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies".



Bruce Tate

close

Bruce Tate Author of 3 JavaOne best sellers
Bruce Tate is a father, kayaker, author and independent consultant in Austin, Tx. He worked for 13 years at IBM, in roles ranging from a database systems programmer to Java consultant. He left IBM to work for several startups in roles ranging from director to CTO. He now is building his own consulting practice, with emphasis on lightweight development in Java and Ruby, and persistence strategies. He is the author of nine books, including Rails Up and Running, From Java to Ruby, Beyond Java, the best selling Bitter series, the Jolt-winning Better, Faster, Lighter Java, and the Spring Developer's Notebook.


Dave Thomas

close

Dave Thomas Pragmatic Programmer, Ruby, Rails, Process Improvement
Dave Thomas is recognized internationally as an expert who develops high-quality software--accurate and highly flexible systems. He helped write the now-famous Agile Manifesto, and regularly speak on new ways of producing software. He is the author of six books, including the best selling The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley) and Programming Ruby: A Pragmatic Programmer's Guide (Pragmatic Bookshelf).


David Geary

close

David Geary Author of Graphic Java and co-author of Core JSF
David Geary is the president of Clarity Training, Inc. (corewebdevelopment.com), where he teaches developers to implement web applications using JavaServer Faces and the Google Web Toolkit.

A prominent author, speaker, and consultant, David holds a unique qualification as a Java expert: He wrote the best-selling books on both Java component frameworks: Swing and JavaServer Faces (JSF). David's Graphic Java Swing was one of the best-selling Java books of all-time and Core JSF, which David wrote with Cay Horstman, is the best-selling book on JavaServer Faces.

David was one of a handful of experts on the JSF 1.0 Expert Group (EG) that actively defined the standard Java-based web application framework, and he's currently helping to define the next version of JSF on the JSF 2.0 EG.

Besides serving on the JSF and JSTL Expert Groups, David has contributed to open-source projects and co-authored Sun's Web Developer Certification Exam. He invented the Struts Template library which was the precursor to Tiles, a popular framework for composing web pages from JSP fragments, was the 2nd Struts committer and contributed to Shale.

A regular on the NFJS tour, David also speaks at other conferences such as JavaOne and JavaPolis. David has taught at Java University and was twice voted a JavaOne rock star, for presentations in 2005 and 2007.



Jason Hunter

close

Jason Hunter Author of Java Servlet Programming
Jason Hunter is Principal Technologist with Mark Logic, specializing in large-scale XML content manipulation using XQuery. He's probably best known as the author of "Java Servlet Programming" (O'Reilly Media). He's also an Apache Member and as Apache's representative on the Java Community Process Executive Committee he established a landmark agreement allowing open source Java. He's publisher of Servlets.com and XQuery.com, an original contributer to Apache Tomcat (and Apache Ant committer), the creator of the JDOM open source project, a member of the expert groups responsible for Servlet, JSP, JAXP, and XQJ API development, and was recently appointed Sun Java Champion. In 2003, he received the Oracle Magazine Author of the Year award, and in both 2005 and 2006, the JavaOne Outstanding Talk award. His largest audience was 15,000 at a JavaOne conference keynote.



Ramnivas Laddad

close

Ramnivas Laddad Author of AspectJ in Action, Principal at SpringSource
Ramnivas Laddad is an Interface21 Principal. He has over a decade of experience in applying his enterprise Java and aspect-oriented programming (AOP) expertise to middleware, design automation, networking, web application, user interface, and security projects.

Ramnivas is a well-known expert in enterprise Java, especially in the area of AOP. He is the author of AspectJ in Action, the best-selling book on AOP and AspectJ. His book is highly recommended by leading industry experts for its practical and innovative applications of AOP solving a wide range of real-world problems. Ramnivas is also one of the industry's leading conference speakers, who has given over one hundred talks at conferences such as JavaOne, No Fluff Just Stuff, JavaPolis, and EclipseCon. Ramnivas hosts the Aspectivity blog, where he shares his thoughts on AOP and related topics. He is an active member of the AspectJ community and has been involved with AOP since its early form.

Ramnivas’ role at SpringSource includes working with the Spring community and SpringSource clients to help them leverage the power of AOP. He is currently involved in interesting work combining ideas in domain-driven design with AOP and DI. He is also working on creating reusable aspects to simplify development of typical Spring-based projects. His work at SpringSource is expected to drive major new innovations atop the Spring 2.0 platform.

Ramnivas lives in Princeton, New Jersey.


Stuart Halloway

close

Stuart Halloway CEO of Relevance
Stuart Halloway is the CEO of Relevance, Inc. (www.thinkrelevance.com). With co-founder Justin Gehtland, Stuart helps enterprises adopt emerging best practices such as Ruby on Rails. Justin and Stuart founded the Streamlined Framework (www.streamlinedframework.org), and authored Rails for Java Developers. Stuart is also the author of Component Development for the Java Platform. Prior to founding Relevance, Stuart was the Chief Architect at Near-Time, and the Chief Technical Officer at DevelopMentor.


Ted Neward

close

Ted Neward Enterprise, Virtual Machine and Language Wonk
Ted Neward is an independent consultant specializing in high-scale enterprise systems, working with clients ranging in size from Fortune 500 corporations to small 20-person shops. He speaks on the conference circuit, including the No Fluff Just Stuff Symposium tour, discussing Java, .NET and XML service technologies, focusing on Java-.NET interoperability. He has written several widely-recognized books in both the Java and .NET space, including the recently-released "Effective Enterprise Java". He lives in the Pacific Northwest with his wife, two sons, four video-game consoles, thousands of books (on programming and otherwise), and eight PCs.