JBoss, Red Hat - Arquillian project lead Aslak Knutsen is currently a
Senior Software Engineer at JBoss, by Red Hat where he is working on
projects such as Arquillian, ShrinkWrap, Weld and Seam 3, one of the
founders of the JBoss Testing initiative and a speaker at major
industry conferences including Devoxx, Jazoon, JUDCon and JBoss World.
Previously, Aslak was a Senior Consultant at Conduct AS (working with
JBoss related technologies) and Senior Developer at EDB ASA (working
with electronic billing/banking systems).
Arquillian: Real Java enterprise testing
This talk unveils the missing link in enterprise Java development: simple, portable integration tests. For many, this void has long made enterprise Java development an arduous undertaking. While development life is simple with unit tests and mocks, they only take you so far. Eventually, you need to validate how your components interact and operate in their intended environment--you need real integration tests. Yet, writing integration tests has meant assuming the burden of bootstrapping all or part of your infrastructure. That's time lost and it places a mental barrier on testing. Arquillian, a container-oriented testing framework layered atop TestNG and JUnit, tears down this barrier. It does so by bringing your test to the runtime rather than requiring you to manage the runtime from your test. Picking up where unit tests leave off, Arquillian enables you to test real components that rely on real enterprise services in a real runtime. You'll see tests that run on JBoss AS, Weld Embedded, GlassFish and more. Attend this talk to learn about the future of Java enterprise testing.
CDI extensions: Backport Java EE from the future
Java EE 6 offers significant and compelling improvements over previous versions of the platform. But regardless of how sweeping the change, it's not long before we want more. In this talk, you'll discover that you don't have to wait for Java EE 7 to get the features you crave thanks to the portable extension integration SPI introduced into the platform by JSR-299. This talk introduces JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI), the new Java standard for dependency injection and contextual lifecycle management. The talk covers the core programming model, explains its relationship to EJB 3.1 and JSF 2.0, and clarifies how it unifies and enhances the Java EE platform as a whole (extending to JPA, JAX-RS and JMS). You are then introduced to Weld, the Apache-licensed JSR-299 reference implementation, OpenWebBeans--another Apache-licensed implementation--and Resin, along with their servlet container add-ons. Most important, we look ahead at portable enhancements provided by CDI extensions that help extension writers today and will become candidates for the next spec revision. To prove that the Java EE platform is truly extensible, we'll focus on examples rather than promises. We'll go over the options you have for enhancing the application, from registering custom beans, interceptors and decorators, to customizing dependency injection points, to augmenting the annotation-metadata on registered beans, to introducing custom scopes. The talk will cover when and how you weave these enhancements into the container lifecycle using the CDI eventing system. Having looked at some standard examples, we'll unlock some shortcuts and shorthands that are provided by the portable Weld Extension library. Examples we'll be taken from the growing ecosystem of open-source portable extensions. While many of the features provided by CDI (dependency injection, contextual lifecycle, configuration, interception, event notification) are familiar, the innovative use of meta-annotations is uniquely expressive and typesafe. This talk emphasizes the value in this approach. This is a great opportunity to learn about the this new, extensible programming model that forms the foundation of a unified, extensible Java EE 6 platform.