13 Feb 2012
Registration and Coffee
Lars Vogel, vogella.de
Neal Ford, ThoughtWorks, Inc
John Wilander, Svenska Handelsbanken
Josh Long, SpringSource, a division of VMware and Chris Richardson
Robert Nyman, Mozilla
Paul Bakker, Luminis Technologies and Bert Ertman, Luminis Technologies
Marcus Hammarberg, Avega Group and Joakim Sundén, Spotify
Peter Lundberg, Valtech
Jumpstart to Android App developmentLars Vogel, vogella.de
Getting started with Android is simple. This session presents the basic architecture of Android, demonstrates the Android Development Tools (ADT) for Eclipse, and guides the audience through the base concepts like Activities, Services, Broadcast Receiver and ContentProvider.
During this presentation an Android application is live developed. This application demonstrates the creation of a several Android programs including a drawing program and how to track incoming phone calls. via incoming calls.
After this session the audience should feel comfortable to start developing own Android Applications.
CQRS & Event Sourcing, a crash courseGreg Young
In this tutorial we will look at Command and Query Responsibility, Segregation and how it can be applied with Event Sourcing. Subjects included will be what the patterns are, what problems they can solve, and how to apply the patterns. Attendees need bring nothing but an open mind and some experience in "enterprise" development.
A Practical Introduction To KanbanMarcus Hammarberg, Avega Group and Joakim Sundén, Spotify
Kanban is a software development methodology that implements the pull and flow elements of lean thinking. Learn how to use Kanban as a tool that can enhance other methodologies through visualisation of the workflow to highlight bottlenecks, impediments and other problems, limiting work in process to eliminate waste, and more. This talk introduces Kanban from a practitioners point of view which let you get started with Kanban and lean inspired enhancements right away, regardless of what methodology you use today. We will show the mechanics of visualisation, flow, and how to monitor the flow in order to identify bottlenecks, impediments etc, using animations of real bords created with more than 150 photographs. This method has shown to be very popular and successful when teaching the practice of Kanban to many teams. There will also be a case study of a Scrum team that adopted Kanban. This will give attendees an opportunity to learn and discuss how to apply Kanban to their own team and process.
Building a web page with HTML5Robert Nyman, Mozilla
Continuous DeliveryNeal Ford, ThoughtWorks, Inc
Getting software released to users is often a painful, risky, and time-consuming process. This workshop sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours, sometimes even minutes, no matter what the size of a project or the complexity of its code base. In this workshop we take the unique approach of moving from release back through testing to development practices, analyzing at each stage how to improve collaboration and increase feedback so as to make the delivery process as fast and efficient as possible. At the heart of the workshop is a pattern called the deployment pipeline, which involves the creation of a living system that models your organization?s value stream for delivering software. We spend the first half of the workshop introducing this pattern, and discussing how to incrementally automate the build, test and deployment process, culminating in continuous deployment. In the second half of the workshop, we introduce agile infrastructure, including the use of Puppet to automate the management of testing and production environments. We?ll discuss automating data management, including migrations. Development practices that enable incremental development and delivery will be covered at length, including a discussion of why branching is inimical to continuous delivery, and how practices such as branch by abstraction and componentization provide superior alternatives that enable large and distributed teams to deliver incrementally.
Building Next-generation Enterprise Applications in Java a.k.a. Duke's Duct Tape AdventuresPaul Bakker, Luminis Technologies and Bert Ertman, Luminis Technologies
Java EE 6 contains new APIs that revolutionary change the way you can build enterprise level applications with an even stronger focus on ease-of-development and further reducing the need of boilerplate code and configuration. The result is a strongly simplified programming model, while still keeping enterprise features such as transactions, security, load-balancing and fail-over. In this session we'll demonstrate how to use the APIs together to build a portable, full stack enterprise application and solve real-world problems. We'll not only focus on the APIs but we'll also show you how to set up a vanilla Maven build from scratch and do unit and integration testing going into almost all parts of the Java EE 6 specs. At the end we'll discuss the architectural consequences of this simplified programming model. Do we still need business delegates, transfer objects or DAOs? And what about separation of concerns? The session is fun and very interactive while still showing the technology in depth.
HANDS-ON LAB: Building an end-to-end application using Java EE 6 and NetBeansArun Gupta, Oracle
The Java EE 6 platform allows you to write enterprise Java applications using much lesser code from its earlier versions. It breaks the "one size fits all" approach with Profiles and extensively improves on the Java EE 5 developer productivity features. Several specifications like CDI, JSF 2, EJB 3.1, JAX-RS, JPA 2, Servlets 3, and Bean Validation make the platform more powerful. It also enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform. NetBeans, Eclipse, and IntelliJ provide extensive tooling for Java EE 6.
This hands-on lab builds a complete end-to-end application using all different technologies of Java EE 6 with NetBeans. You'll learn the tips and tricks to be more effective in your development and deployment cycles. And you'll also learn how to monitor your Java EE 6 applications more effectively. A quick preview of Eclipse and IntelliJ tooling will also be shown.
Please have the following software pre-installed:
JDK 1.6/1.7 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
NetBeans 7.0+ "All" or "Java EE" version (http://netbeans.org/downloads/index.html)
HANDS-ON LAB: Get started with Play! framework for web development in Java and ScalaPeter Lundberg, Valtech
Play! framework brings expressive and productive development to the Java world to match Rails, Django etc. This tutorial will teach what is great about playframework, how it differs from traditional java web development and illustrate this with live coding tutorial where participants build a small web application supported by experienced practitioners. We will also briefly touch on common pitfalls, the Scala module, the upcoming 2.0, and other back ends.
Bring a laptop with your favourite editor!
Spring into the CloudJosh Long, SpringSource, a division of VMware and Chris Richardson
Let's face it, the cloud's here to stay. Spring's always been about portability and choice, and the cloud is no different. CloudFoundry, introduced to rave reviews and massive enthusiasm in the NOSQL, Node.js, Ruby, Scala and Java communities, represents the most promising, most open cloud platform for Java and Spring applications today, and tomorrow. In this talk, Josh Long will introduce CloudFoundry, it's architecture, and how it can be used with existing Spring applications and new ones, leveraging Spring 3.