Jfokus 2011

Scrum & XP - beyond the trenches

Scrum & XP - beyond the trenches

Henrik Kniberg, Crisp

4 years have passed since I wrote "Scrum and XP from the Trenches". What have I learned since then, and what would I have done differently if I could go back in time? During the past few years I've mostly been "trench-hopping", i.e. helping lots of different organizations implement agile software development in practice, and talking to other people that do the same. Consequently there are now several things in the book that I don't agree with any more, so this talk is the first step towards a followup article :o)

To be relational, or not to be relational? That's NOT the question!

To be relational, or not to be relational? That's NOT the question!

Alex Snaps and Sergio Bossa, Terracotta Inc. / Bwin Italy

This session aims at guiding you on the journey from using a single relational database server, to making it as scalable as possible and choosing proper alternative solutions: explaining pros and cons of tools available depending on your needs, their impact on your architecture, the concepts and algorithms under the hood, and when NoSQL should really be Not Only SQL. This session should be attended by developers and architects that plan on delivering applications in the next couple of years, as the future is now and you can't get struggled with hamletic questions!

Top SOA Tips - A Road to a Successful SOA Implementation

Top SOA Tips - A Road to a Successful SOA Implementation

Jeff Genender, Savoir Technologies

In this session Jeff Genender explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way through his own trial and error experiences as an architect. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project.

The Future Java Developer

The Future Java Developer

Bruno Souza, SouJava

New languages, work environments, technologies, and devices. Clouds roll in bringing new rules. The future is now, what comes later? Java developers thread on a fine line between working standards and bleeding edge science-fiction experiments. What are the possibilities for the future? Can new languages available for the JVM warp the realities of software development? Will Java really be part of the new flock of devices? Cloud computing is changing the game, how Java is a fundamental part of it? New enviroments affect our code and skills we must have, how does our experience count? Are we prepared? This session will explore possibilities for the future of development, sharing insights on what's coming up in the future of Java.

Java EE 6 Toolshow

Java EE 6 Toolshow

Arun Gupta, Oracle

The Java EE 6 platform improves on the Java EE 5 developer productivity features. The true potential of this platform can be unleashed using tools and IDEs to quickly create Java EE 6 compliant applications. It will demonstrate how NetBeans, Eclipse, IntelliJ, JDeveloper, and Maven makes developers life easy in creating Java EE 6 applications. The attendees will learn several tips & tricks for each IDE to boost their productivity.

Git Going with DVCS

Git Going with DVCS

Matthew McCullough, Ambient Ideas

Get on board with Git, a distributed version control system. Jump ahead of the masses staying on Subversion, and increase your team's productivity, debugging effectiveness, flexibility in cutting releases, and repository and connectivity redundancy (at $0 cost).

Folding Together DDD and Agile

Folding Together DDD and Agile

Eric Evans, Domain Language

This talk will consider ways of incorporating modeling and design into the iterative process in a lightweight way that increases communication with stakeholders and decreases the likelihood of painting ourselves into corners, without returning to the deadñhand of the analysis phase.

Abstraction distractions

Abstraction distractions

Neal Ford, ThoughtWorks

Computer science is built on a shaky tower of abstractions, but we've been distracted by other things until we believe it is reality. This Keynote teases apart some of the tangled abstractions that have become so common they are invisible yet impact important decisions. It will cover languages, tools, platforms, and burrow all the way down to fundamental concepts.

Designing RESTful Domain Application Protocols

Designing RESTful Domain Application Protocols

Ian Robinson, ThoughtWorks

REST is ready for the enterprise. Imagine an information platform that is open and available to systems throughout the enterprise estate. A platform that eschews integration in favour of composition, connected data over siloed databases. In this session I show how to design and implement RESTful domain application protocols for complex business processes.

Binary patching of Java classes for fun (and profit).

Binary patching of Java classes for fun (and profit).

Anton Arhipov, ZeroTurnaround

The what/why/how of runtime binary patching of JAVA applications, frameworks and application servers to provide custom integration. We will follow the JRebel integration story from dirty bytecode insertions to readable Java code patches. The session is intended for advanced Java developers interested in patching or integrating with binary java applications.

Cloud Computing with Scala

Cloud Computing with Scala

Nikita Ivanov, GridGain Systems

The topic of this presentation is about using Scala programming language as a part of a simple and productive cloud computing platform. Scala is a hybrid function and object-oriented language that is rapidly gaining traction in becoming the next Java in JVM-based language evolution. GridGain is one of the cloud development platforms for JVM-based languages.

JDK7 Update

JDK7 Update

Tomas Nilsson , Oracle

This session will look at a number of the new features in development in JDK 7 and how they affect developers. We'll take a close look at the current status of JDK 7 development, and learn how you can keep up to date, get your hands dirty with the code & provide useful feedback on planned features.

Ubiquitous Language

Ubiquitous Language

Dan Bergh Johnsson, Omegapoint

Apart from being hard to say, ubiquitous language seem to be the hardest part of Domain Driven Design to grasp. We dive into what is meant with a "language" in this context, and how it is linked to domain modeling. Of course there will be philosophy, but the focus will be on how to make the practice valuable to our development effort.

HTML5 APIs - The New Frontier

HTML5 APIs - The New Frontier

Robert Nyman, Valtech AB

HTML5 is upon us and it offers a wide range of exciting possibilities when it comes to developing rich web interfaces. This talk will introduce you to a number of them and hopefully inspire you to create amazing things!

Visualizations for Code Metrics

Visualizations for Code Metrics

Neal Ford, ThoughtWorks

Judicious use of metrics improves the quality of your code. But interpreting metrics presents a challenge. You have a list of numbers for a project - what does it mean? And what does it tell me about the health of the project overall? This sessions shows how to produce visualizations for software metrics, making them easier to understand.

Architecture remakes with DDD, true stories from the wild

Architecture remakes with DDD, true stories from the wild

Jimmy Nilsson, factor10

Applications have a tendency of becoming harder and harder to maintain over time. In my experience, DDD is often used for describing the new target architecture. In this presentation we have distilled a set of common key possibilities in such situations, both how they can be achieved and what benefit they will give.

JRuby + Rails = Awesome Java Web Framework!

JRuby + Rails = Awesome Java Web Framework!

Nick Sieger, Engine Yard

When looking for a productive, innovative web framework for a Java environment, who says it has to use Java the language? Rails is the framework that sparked a new wave of innovation in web development, and it's available on the JVM, via JRuby. With Rails 3 allows you to mix and match components, making it easier to use existing Java code.

An interactive approach to load testing with JavaFX, Groovy and OSGi

An interactive approach to load testing with JavaFX, Groovy and OSGi

Ole Lensmar, eviware software ab

This presentation will start with a short demo of a novel distributed load-testing tool, loadUI, that makes load-testing into something interactive and fun by providing an extremely "playful" javaFX interface on top of a groovy-centered component framework. The demo will be followed by an overview of utilized technologies and of the groovy DSL used for creating components.

NoSQL consistency models and transactional semantics

NoSQL consistency models and transactional semantics

Roger Bodamer, 10gen

NoSQL technologies often use different models for failover, high availability, and multi-data center support than traditional databases. In this session we will review how traditional database and how NoSQL sometimes offers a different approach to these problems.

Future-proofing collections: from mutable to persistent to parallel

Future-proofing collections: from mutable to persistent to parallel

Martin Odersky Typesafe

In this talk I will describe the new Scala collections framework, and show how it allows a seamless migration from traditional mutable collections to persistent collections, and from there to parallel collections. I show how the same vocabulary of methods can be used for either type of collection

Overview of NoSQL

Overview of NoSQL

Emil Eifrem Neo Technology

This talk is an overview of the four main categories of NoSQL databases: Key-Value Stores, ColumnFamily implementations, Document and Graph databases. We'll compare and contrast the major players of each type. You will take a way a better understanding of what your choices are, and what scenarios each database type is meant to solve.

Terrastore: document database for developers

Terrastore: document database for developers

Sergio Bossa Bwin Italy

This is a rundown on the Terrastore "NOSQL" store, providing a quick introduction to its most important features and how it will boost your productivity in developing data-centric applications.

Domain Driven Security Code Kata

Domain Driven Security Code Kata

Dan Bergh Johnsson Omegapoint

The top two risks for applications where Injection Flaws and Cross-Site Scripting (XSS) according to OWASP as well 2007 as 2010. Time to do something about it. In this code kata we address both Injection Flaw as well as XSS by applying techniques from Domain Driven Design - thus Domain Driven Security.

Test-driven Regex Development

Test-driven Regex Development

Staffan Nöteberg Rekursiv

There are many popular myths concerning regular expressions (Regex). First, it's exceptionally hard to master Regex. Second, a normal programmer rarely needs Regex. Third, Regex are tricky to read and hence can't be maintained. That is all wrong!

The Java EE 6 Programming Model Explained

The Java EE 6 Programming Model Explained

Alexis Moussine-Pouchkine Oracle

In this session, we'll look at the Java EE 6 programming model as a whole, then dive into the different layers of a typical Java EE Web application and show how to implement them using the latest Java EE features with the help of a modern IDE.

Scala, from newbie to ninja in less then one hour

Scala, from newbie to ninja in less then one hour

Karianne Berg and Nina Heitmann

We started learning Scala in spring 2010, and have probably encountered about every pitfall the language has to offer by now. And that's a lot. In this talk, we'll demonstrate some of them in way that's fun and easy to follow, present solutions to common problems and give you a head start to learning Scala.

Programming in pain

Programming in pain

Enno Runne, Transmode

Achieving programming concepts you have at hand with Scala in pure Java does rarely bear its weight. In this talk we'll go through some of the things a Scala-trained programmer will start to use in Java. We'll look at the things you can achieve easily and show examples for when you'll miss Scala.

A new dimension for Android

A new dimension for Android

Erik Hellman, Sony Ericsson

With the new year we have a new version of Android available. There is also new hardware coming on the new devices that will enable developers to do some really exciting things. Come listen to what Sony Ericsson is doing with Android and see what makes the most entertaining smartphone to date.

Google Cloud Computing for Java Developers: Platform and Monetization

Google Cloud Computing for Java Developers: Platform and Monetization

Patrick Chanezon, Google

This session will provide developers with an overview of Google Cloud computing services and monetization opportunities: Google App Engine Java: Developers can leverage Google's cloud infrastructure to run their Java applications at scale, leveraging Java standards such as Java Servlet, Java Data Objects, and Java Persistence API.

What's New in Google Web Toolkit

What's New in Google Web Toolkit

David Chandler, Google

Google Web Toolkit (GWT) lets you build and optimize rich browser-based apps without having to be an expert in browser quirks, XMLHttpRequest, or JavaScript. In this talk, we'll look at powerful new capabilities in GWT 2.1 including MVP architecture with Activities and Places, client-server communication with RequestFactory, visual layout with GWT Designer for Eclipse.

The Secrets of Concurrency

The Secrets of Concurrency

Dr. Heinz Kabutz, JavaSpecialists.EU

The talk does have something for everybody, but is mainly aimed at the intermediate to advanced developer. What you will get out of the talk: You will learn several tips that will help you in writing correct threaded code in Java.

Running your Java EE applications in the clouds

Running your Java EE applications in the clouds

Arun Gupta, Oracle

GlassFish, the Reference Implementation of Java EE 6, can easily run on multiple cloud infrastructures. This talk will provide a brief introduction to Java EE 6 and GlassFish v3

Emergent Design

Emergent Design

Neal Ford, ThoughtWorks

The talk does have something for everybody, but is mainly aimed at the intermediate to advanced developer. What you will get out of the talk: You will learn several tips that will help you in writing correct threaded code in Java.

Top reasons why you should switch to Maven 3

Top reasons why you should switch to Maven 3

Dennis Lundberg, Devoteam Quaint

This session will be a countdown of the top ten reasons why you should switch to Apache Maven 3.0, as well as pointers to a few changes that could break your project and how to deal with them.

What a crazy year it has been

What a crazy year it has been

Henrik Ståhl, Oracle

The 12 months following this have arguably been among the most eventful, at least in the public eye, in the history of Java. We will do a year in review, comparing press coverage with actual events and tell you what has happened in 2010 to make the Java ecosystem stronger than ever. In what direction is Java heading? What are Oracles plans?

Yet more performance tuning

Yet more performance tuning

Kirk Pepperdine, Kodewerk Ltd

The session will further demonstrate a performance tuning methodology that has been presented at previous Jfokus sessions. Following the methodology allows one to progress from diagnostic to diagnostic to a diagnosis in a matter of minutes.

Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors & STM

Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors & STM

Jonas Bonér, Scalable Solutions

We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that!