26:e Januari

Tid

Salong 8

Salong 10

Salong 12

Salong 14

08.00

Registrering och kaffe

9.00

The Java EE 6 Platform
Alexis Moussine-Pouchkine, Sun Microsystems
(PDF)  
GOOD: Good Object-Oriented Development
Kevlin Henney, Curbralan
(PDF)  

12.30

Lunch

13.30

Enterprise Integration Patterns i praktiken
Torbjörn Stavenek, bwin Games
Advanced Maven Techniques
Anders Hammar, Devoteam Quaint
(PDF)  
The Groovy Ecosystem
Guillaume Laforge, SpringSource Inc

17.00

Tack för idag... hoppas vi ses imorgon

EnglishGOOD: Good Object-Oriented Development

Kevlin Henney, Curbralan

Given that object orientation underpins modern programming languages, it would be expected that anyone using languages such as Java would also know about OO. In one sense this is true, but there is more to effective modern object-oriented development than just creating a few objects and calling a few methods. Many developers have not had the exposure to effective object-oriented practice that would allow them to avoid common pitfalls.

Although OO is far from being a new approach (think Sergeant Pepper), and it's also far from being obscure, its mainstream adoption by programmers and programming languages alike is not always as effective as it could be. This session puts a number of key concepts on a firmer footing, highlighting common pitfalls in OO practice — such as abuse of inheritance, simplistic getter/setter interfaces, patternitis, overuse of singleton objects, weak use of value objects — and emphasising techniques that promote an easier life — such as loose coupling, unit testability, pattern-based design thinking, the identification and use of value objects, incremental and sufficient design.

EnglishThe Groovy Ecosystem

Guillaume Laforge, SpringSource Inc

Groovy is currently known as the most popular and successful alternative language for the Java Virtual Machine. When you hear about this dynamic language, you may also think about Grails, the highly acclaimed web development stack. But Groovy and Grails are just the visible part of the iceberg of the Groovy Ecosystem.
Wait, there's more!

In this session, after a brief introduction to Groovy and some of its useful and cool features, we'll discover other aspects of the ecosystem, such as a hike into the land of Domain-Specific Languages, or examples of handy and powerful Groovy-based projects like HttpBuilder for taming the RESTful web, Spock for advanced Behaviour-Driven Development, Gant and Gradle for building your applications, and more. 
Get a chance to discover more about this exciting and rich Groovy Ecosystem!

SwedishEnterprise Integration Patterns i praktiken

Torbjörn Stavenek, bwin Games

Enterprise Integration Patterns (EIP) beskrevs allra första gången på ett utförligt och standardiserat sätt i boken med samma namn av Hohpe/Woolf. EIP är en uppsättning designmönster för att integrera system på ett meddelandeorienterat sätt. Dessa mönster är baserade på praktisk erfarenhet av integration och varje mönster erbjuder en lösning på ett specifikt designproblem. EIP är i sin grund teknologioberoende och kan implementeras med olika teknologier såsom SOAP, JavaEE eller .NET. Denna presentation kommer att ge en introduktion till EIP, dvs bakgrund, motivering och grundläggande designmönster. Därefter tittar vi närmre på två olika EIP-implementationer, nämligen öppenkällkodsramverken Apache Camel och Spring Integration. Kodexempel för de tidigare presenterade EIP-mönsterna kommer att gås igenom för båda implementationerna.

Slutligen kommer vi att titta närmre på en applikation från bwin som baserats på EIP och som används för att bearbeta pokerinformation i realtid och distribuera denna till 30 mottagare. Vi kommer att gå igenom applikationens krav, arkitektur och implementation med hjälp av EIP för *både* Camel och Spring Integration. Båda dessa EIP-implementationerna har nämligen använts i applikationen - nu får du reda på både hur och varför!

SwedishKanban - A Lean Approach to Agile Software Development

Henrik Kniberg, Crisp AB

Kanban is an approach to agile software development that focuses on visualizing the workflow and increasing flow by limiting work in progress. Although Scrum is still the most popular agile method, Kanban has quickly proven to be an excellent complement or replacement in cases where Scrum is too difficult or simply not suitable. Kanban is highly flexible and strongly emphasizes evolution over revolution.

In this tutorial Henrik will go through the basics of Kanban, using many pictures and examples. He will also illustrate the similarities and differences between Kanban and Scrum, and how these techniques can be combined to get the best of both.

EnglishBehaviour-Driven Development: Writing Software that Matters

Dan North, DRW Trading

Behavior-driven development (BDD) is an evolution of the ideas behindagile software delivery. With its roots in test-driven development,domain-driven design, and automated acceptance testing, BDD focuses onthe ways an application is expected to work - its behaviour. Byconstantly reflecting on the varied points of view of differentstakeholders, BDD helps ensure that product owners and the developmentteam are in sync on what is really needed and what to work on next.

In this highly-interactive session, Dan North introduces theprinciples behind BDD and describes how it works in practice. He provides an overview of the methodology of BDD: understanding yourdomain and who your stakeholders are, identifying and exploring requirements, automating acceptance criteria, and delivering workingand tested software. Dan then looks at the nature of change and describes how to implement BDD in different contexts, including applying it to an in-flight project, managing distributed orlarge-scale development, and working with legacy systems. Dan encourages both experienced and novice agile managers and practitioners to join this session and bring with them their current challenges - and war stories.

SwedishFrom Zero To Amazon Cloud in less then 3,5 Hours

Adam Skogman, Jayway

A walkthrough for Cloud beginners. Starts with an introduction to the services offered by Amazon, to give all a good understanding of what a Cloud really is. Then it's an all-out Cloud cookalong! We start with nothing and set up a cloud hosted infrastructure for a typical Java server application.

First: Getting it to the Cloud.
Second: Using Amazon Cloud services.
Third: Getting production ready!

SwedishAdvanced Maven Techniques

Anders Hammar, Devoteam Quaint

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. The theme of Maven is to standardize the build process and has successfully done so, leading to it being close to de facto standard in the open source world and within the enterprises. This session will focus on advanced dependency management, plugin management and lifecycle customization. All topics will be explained in theory and also shown in practice. Targeted audience is developers with knowledge and understanding of Maven basics such as the pom, artifact coordinates (GAV), the lifecycle concept, and Maven plugins and goals.

EnglishThe Java EE 6 Platform

Alexis Moussine-Pouchkine, Sun Microsystems

J2EE was reliable and scalable but somewhat verbose and sometimes inflexible. Java EE 5 adopted new principles (POJOs, annotations, default behavior) to ease the development paradigm and was certainly the biggest release ever. Java EE 6 also has a lot in store for server-side development - some more ease of development, a web profile, unified injection, lighter-weight components, RESTful integration, and major enhancements to the EJB, JPA and JSF specifications.

This tutorial presentation will offer an overview of Java EE 6 through a run-down of the many new features. We will build an application from scratch via incremental steps. This will translate into a dozen demos each illustrating new features : managed beans, EJB 3.1 packaging and testing, JPA improvements, JSF with facelets, composite components and Ajax, exposing RESTful resources, and more.