Dan Allen

Principal Software Engineer at Red Hat, Author and Open Source Advocate

As Principal Software Engineer at Red Hat, Dan serves as the JBoss Community liaison, leads the JBoss Testing Initiative and is a member of the Arquillian, ShrinkWrap and JBoss Forge projects. He authored Seam in Action (Manning), served as a representative for Red Hat on the JSR-314 Expert Group (JSF 2.0), writes for IBM developerWorks and NFJS magazine and is an internationally recognized speaker. He's appeared at major industry conferences including JavaOne, Devoxx, NFJS, JAX and Jazoon and has received recognition as a JavaOne Rock Star, a JBossWorld Top Presenter and a JAX Hall of Fame speaker.

To colleagues, Dan's known for his hard work and passion for Open Source technologies. His technical expertise includes Java frameworks (Seam, CDI, Weld, JSF, EJB 3, JPA, Hibernate, Spring), testing frameworks (Arquillian, JUnit, TestNG, Selenium), build tools (Maven 2, Gradle, Ant) and web development (Ajax, JavaScript, CSS) and more.

You can keep up with Dan's discoveries by reading his blogs at http://mojavelinux.com and http://community.jboss.org/people/dan.j.allen/blog or tracking what he's currently up to by following him on Twitter at http://twitter.com/mojavelinux.



Presentations

The Future of Java Enterprise Testing

This talk unveils the missing link in enterprise Java development: simple, portable integration tests. While development life is simple with unit tests and mocks, they only take you so far.

Arquillian, a container-oriented testing framework layered atop TestNG and JUnit, tears down this barrier. It brings your test to the runtime rather than requiring you to manage the runtime from your test. That means you can test real components that rely on real enterprise services in a real runtime.

Attend this talk to explore what the future holds for Java enterprise testing!

Continuous Enterprise Development in Java

Are you confident enough to push your application to production right now? Will it deploy? Integrate all the components? Keep the fail whale at bay? Confidence comes from tests. Real tests.

Discover how to use Arquillian to develop tests that execute inside a container, use BDD and ATDD for integration and acceptance tests that your stakeholders can grok and gain the confidence you need to continue developing, knowing your application will remain standing when faced with the real world.

Forge Ahead with Java Development

How many times have you wanted to start a new project in Java, but struggled with copying and pasting all the pieces together? Has the Maven archetype syntax left you with your eyes crossed? Everyone else is talking about Rails, Grails, and Roo, and you're left thinking, "I wish it were that easy for Java EE." Well, it is!

JBoss Forge can take you from 0 to Java web application in few swift keystrokes. Forge helps streamline application development, eases the pain of setting up enterprise testing and integration, and utilizes the full power of JBoss Tools for development, Arquillian for testing, and JBoss AS 7 for local deployment and OpenShift for cloud deployment. You can even switch seamlessly between Forge and the Eclipse-based JBoss Developer Studio. Together, let's build a real application, test it, extend it, and deploy it locally and to the cloud!

Drop the angled brackets. Discover the zen of writing (Ascii)Docs.

Writing documentation is already hard enough. Why do we make it harder by burying the content in an XML schema like DocBook or wrestling with finicky WSYWIG editors? Come learn how to find the zen of writing documentation using AsciiDoc and still be able to produce beautiful HTML 5, DocBook and PDF documents--or even a slide deck like the one in this presentation!

Writing documentation is already hard enough. Why do we make it harder by burying the content in an XML schema like DocBook or wrestling with finicky WSYWIG editors?

What if you could write documentation like you write an email? Forget about the layout and styling and just let the thoughts flow? That's the idea behind the lightweight markup languages such as AsciiDoc. AsciiDoc is designed for humans, yet can meet even the most advanced publishing requirements.

In AsciiDoc, the bulk of document is the content, embellished with mild and intuitive semantic markup. Need to insert code? Just reference the location of the source you want to include. Document getting too long? Break it up into parts. Need to merge changes from another author? Easy! It's just plain text.

Come learn how to find the zen of writing documentation using AsciiDoc and still be able to produce beautiful HTML 5, DocBook and PDF documents--or even a slide deck like the one in this presentation!

Bake better websites together on GitHub

Did you know GitHub can be a publishing platform? That a blog entry can be posted via a pull request?

Static is the new dynamic and git is the new way to collaborate. Learn how to use site-baking tools such as Awestruct and Jekyll to build and publish static websites and leverage the ever increasing capabilities of HTML5-based browsers to make your site more dynamic than ever before.

Static is the new dynamic. With the ever increasing capabilities of HTML5-based browsers, we can give the server a rest and put security problems behind us by publishing static HTML5 documents and shifting the dynamic behavior to the client. Not only does that let you blog out of static hosting sites like github pages, it also means you can put more processing power into the author tools.

In this session, you'll be introduced to Awestruct and Jekyll, Ruby-based tools for building and publishing static websites. You'll discover how you can leverage a wide range of lightweight markups languages and DSLs such as HAML, AsciiDoc, Markdown, SASS and CoffeeScript to keep your source terse and DRY. We'll use an extension pipeline to setup a blog, add comments to your site or add analytic tracking scripts to your pages, then build and publish the site to GitHub pages in a single command. Just because the pages are static doesn't mean they can't be dynamic too.

Continuous Enterprise Development in Java Workshop

How many times have you wanted to start a new project in Java EE, but struggled with copying and pasting all the pieces together? Forge can take you from 0 to Java EE, Spring, GWT and more in few swift keystrokes.

But, are you confident enough to push your application to production right now? Will it deploy? Integrate all the components? Keep the fail whale at bay? Confidence comes from tests. Real tests written with Arquillian.

In this workshop, you'll learn how to achieve continuous development using Forge to automate mundane tasks and Arquillian to write real tests. Together, let's build an application, test it, and deploy it both locally and to the cloud! Let's learn to use tools to make us more confident developers.

How many times have you wanted to start a new project, but struggled with copying and pasting all the pieces together? Has the Maven archetype syntax left you with your eyes crossed? Everyone else is talking about Rails, Grails, and Roo, and you're left thinking, "I wish it were that easy for Java." Well, it is!

Forge can take you from 0 to Java EE, Spring, GWT and more in few swift keystrokes. Forge helps streamline application development, eases the pain of setting up enterprise testing and integration, and utilizes the full power of JBoss AS 7 for development, testing, and deployment. You can even switch seamlessly between Forge and the Eclipse-based JBoss Developer Studio.

But, are you confident enough to push your application to production right now? Will it deploy? Integrate all the components? Keep the fail whale at bay? Confidence comes from tests. Real tests.

Discover how to use Arquillian to develop tests that execute inside a container, use BDD and ATDD for integration and acceptance tests that your stakeholders can grok and gain the confidence you need to continue developing, knowing your application will remain standing when faced with the real world.

In this workshop, you'll learn how to achieve continuous development using Forge to automate mundane tasks and Arquillian to write real tests. Together, let's build an application, test it, extend it, and deploy it both locally and to the cloud! Let's learn to use tools to make us more confident developers.

Get real with BDD: Know what you're developing, and why

Stakeholders are often criticized for not knowing what they want. If they don't know what they want, how do you know what to develop? It's a two way street and you both need to be on it.

In this session, we'll explore agile development tools that help achieve cleaner, clearer tests that show real results. We'll explore the concepts of BDD and ATDD through the use of tools from the Arquillian Universe such as Arquillian Drone, WebDriver (and Page Objects), Thucydides and Spock. Testing features and behaviors has never been so easy, and so real! If you care about quality of your software you definitely shouldn't miss this talk!

There's no better way to communicate about the software you're developing--no way more real--than by using tests, real tests. Tests tell the story of how the software is expected to behave and the purpose it serves. They also demonstrate the software does what is expected. If either half of the equation is broken, you have something tangible to fix and a basis for conversation.

In this session, we'll explore agile development tools that help create real tests that show real results and collect real feedback. We'll explore the concepts of BDD and ATDD through use of tools from the Arquillian Universe such as Arquillian Drone, Thucydides and Spock.

Testing features and behaviors has never been so clear and so real! You have a way to communicate with stakeholders about the software in which you're both investing.


Books

by Dan Allen

Seam in Action Buy from Amazon
List Price: $44.99
Price: $30.13
You Save: $14.86 (33%)
  • JBoss Seam is an exciting new application framework based on the Java EE platform that is used to build rich, web-based business applications. Seam is rapidly capturing the interest of Java enterprise developers because of its focus on simplicity, ease of use, transparent integration, and scalability.

    Seam in Action offers a practical and in-depth look at JBoss Seam. The book puts Seam head-to-head with the complexities in the Java EE architecture. The author presents an unbiased view of Seam from outside the walls of RedHat/JBoss, focusing on such topics as Spring integration and deployment to alternative application servers to steer clear of vendor lock-in. By the end of the book, you should expect to not only gain a deep understanding of Seam, but also come away with the confidence to teach the material to others.

    To start off, you will see a working Java EE-compliant application come together by the end of the second chapter. As you progress through the book, you will discover how Seam eliminates unnecessary layers and configurations, solves the most common JSF pain points, and establishes the missing link between JSF, EJB 3 and JavaBean components. The author also shows you how Seam opens doors for you to incorporate technologies you previously have not had time to learn, such as business processes and stateful page flows (jBPM), Ajax remoting, PDF generation, asynchronous tasks, and more.

    All too often, developers spend a majority of their time integrating disparate technologies, manually tracking state, struggling to understand JSF, wrestling with Hibernate exceptions, and constantly redeploying applications, rather than on the logic pertaining to the business at hand. Seam in Action dives deep into thorough explanations of how Seam eliminates these non-core tasks by leveraging configuration by exception, Java 5 annotations, and aspect-oriented programming.

    Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.