From Red Hat
Arun Gupta is Director of Developer Advocacy at Red Hat and focuses on JBoss Middleware. As a founding member of the Java EE team at Sun Microsystems, he spread the love for technology all around the world. At Oracle, he led a cross-functional team to drive the global launch of the Java EE 7 platform through strategy, planning, and execution of content, marketing campaigns, and program. Arun has extensive speaking experience in about 40 countries on myriad topics and is a JavaOne Rockstar. An author of a best-selling book, an avid runner, a globe trotter, a Java Champion, he is easily accessible at @arungupta.
Techniques such as automated testing, continuous integration and continuous deployment allow software to be developed to a high standard and easily packaged and deployed to test environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. What container-agnostic tools are available for testing, continuous integration and deployment of a Java EE application ?
This talk will provide a quick overview of Arquillian and how it helps in testing across multiple containers. Separate approaches for greenfield and brownfield applications will be shown. Configuring Jenkins for Continuous Integration will be shown. Setting up multiple WildFly containers on OpenShift for testing and production will be shown in detail. At the end of this session, attendees would have converted their development environment to leverage the power of Jenkins, Arquillian, and OpenShift to setup an automated Continuous Delivery pipeline for Java EE application.
Concurrent programming in Java has been a hot topic long before Java 5. But could easily get you into trouble . Since then the Executor Framework and java.util.concurrent provide some more convenience but unfortunately not for Java EE developers. Up until Java EE7 introduced JSR236: Concurrency Utilities for Java EE. This session will introduce the benefits and gotchas of concurrent programming in Java EE by showing different scenarios we can make use of the new functionality in JSR236. This covers the topics of ContextualProxies, RxJava, ListenableFuture (Guava) and Java 8 Streams.