Here follow the Speakers and their Abstracts


Ivar Jacobson, Ivar Jacobson International
Keynote: Agile and SEMAT – Perfect Partners Keynote Abstract: Today, as always, there are many different initiatives underway to help improve the way we develop software. The most popular and prevalent of which is the Agile Movement. One of the new kids on the block is the SEMAT initiative. As with any new initiative people are struggling to see how it fits into the world and how it relates to all the other things going on. For example does it improve or replace their current ways of working. Is it something like lean that supports and furthers the aims of the Agile Movement, or is it something like waterfall planning that is in opposition to an agile approach?

The good news is that both Agile and SEMAT promote non-prescriptive value-based philosophies that encourage software development teams to select and use whatever practices best fit their context and, most importantly, continuously inspect, adapt and improve their way of working. In this keynote we will look at how these two initiatives complement one another, providing the perfect foundation for teams that want to master the art of software development.
Read more about "Ivar Jacobson"
 

Staffan Nöteberg, Rekursiv
Keynote: The Spider and the Ant: the Impact of Software Development Size Abstract: Ants are social insects that evolved from wasp-like ancestors 100 million years ago and the spiders have converted protein into webs for at least 100 million years. When 300 million ants collaborate to build one single anthill, they don't benefit from the same processes and tools as a lone' spider crocheting it's cobweb.

Is Git always preferable to CVS? Do we get more productive with Eclipse or Emacs? Are computers better tools than paper and pencil? And what about meetings---do we need them at all? The answer is: it depends. Scale-up and scale-down are two different beasts. They require different setups and different work flows.
Read more about "Staffan Nöteberg"
 

Francisco Ferreira, eBay
Title: 101 on how to structure JavaScript to be easily used across multi-disciplinary teams Abstract: Each day we are working more and more with multi disciplinary teams. The separation between what's purely a back end or a front end task is continuously blurring in as more logic is transfered into the browser. This creates the challenge of producing code that is easy to touch by anyone in the team without adding a big learning curve.

This presentation tries to show that, without overkilling with frameworks, there are simple ways to structure your code into a more familiar (oop) code structure. Thus allowing to communicate through code by have similar code bases in both back and front end.

Some basics of JavaScript will be quickly introduced for those less familiar with the language.

Read more about "Francisco Ferreira"
 

Joonas Lehtinen, Vaadin
Title: Introduction to Vaadin Abstract: Vaadin is a popular web framework that makes it possible to write rich user interfaces in server-side Java. Writing an application that lazily loads large amounts of data from the server, includes drag-and-drop, keyboard navigation and compelling visualizations would not require writing any HTML, JavaScript or resigning a REST API. While the server centric development model provides the best productivity, Vaadi n also supports client-side development though the GWT based Java to JavaScript compiler as well as JavaScript. The default looks of the application can be customized with CSS and SASS.

The presentation gives an overview to Vaadin and explain how it works. We'll also discuss on what are the latest new features of Vaadin and how the roadmap looks. The session should give you everything you need to get started building your own apps with the free Apache-licensed Vaadin.
Read more about "Joonas Lehtinen"
 

Joonas Lehtinen, Vaadin
Title: Server-Client Hybrid UI Abstract: Rich web applications can be written both on the client-side as well as on server-side. Both the these approaches have their advantages - on the client-side you have a full control over presentation and can support offline mode. On the server-side the development is sped up by reducing the number of layers developer has to build.

In this presentation we explore the ways of combining the server- and client-side development models in the context of Vaadin Framework. The goal is to be able to use the best of the both models and provide a flexible basis for building high quality user interfaces for enterprise applications. The presentation walks through an example application to demonstrate the benefits of the both models and how they could be applied in the same application.
Read more about "Joonas Lehtinen"
 

David Vujic, KnowIT
Title: Test driven JavaScript? Abstract: Write a simple test, write a simple function. Done.

Okay, that was the twitter version. The presentation version will focus on how test driven development can be done with JavaScript and I will try to write the code with simplicity in mind, i.e. avoid the common JavaScript language gotchas, like prototype inheritance and pseudo classes with the "new" or "this" keywords. In this presentation I will use only one tool for unit testing (QUnit).
Read more about "David Vujic"
 

Ivar Grimstad, Cybercom
Title: From Spring Framework to Java EE 7 Abstract: Building Enterprise Applications using Spring Framework has been more or less the industry standard for several years. The introduction of Java EE 6 made it easier to develop enterprise applications based on standards without the need to rely on proprietary frameworks. With Java EE 7 this becomes even more evident.

This session will highlight the advantages of using a standards-based approach and step-by-step migrate an existing application based on Spring Framework to a full-fledged Java EE 7 application.

The demo will be performed using NetBeans, Glassfish and MySQL.
Read more about "Ivar Grimstad"
 

Ivar Grimstad, Cybercom
Title: Designing for Continuous Delivery Abstract: When implementing a Build Pipeline based on the principles of Continuous Delivery a conflict often arises between those in favor of feature branches and those who regards branching as evil.

This session will go through a few techniques and design guidelines that will help keep the build pipeline intact and take away the need for excessive branching. The session will also contain a live demo illustrating the techniques.
Read more about "Ivar Grimstad"
 

Masoud Kalali, Oracle
Title: How to avoid top 10 security risks in Java EE applications Abstract: If you want to learn what are the top ten security risks that a software engineer requires to pay attention to and you want to know how to address them in your Java EE software, this session is for you. The Open Web Application Security Project (OWASP) publishes the top 10 security risks and concerns of software development periodically and the new list is published in 2013.

Developers can use Java EE provided features and functionalities to address or mitigate these risks. This presentation covers how to spot these risks in the code, how to avoid them, what are the best practices around each one of them. During the session, when application server or configuration is involved GlassFish is discussed as one of the Java EE 7 App server.
Read more about "Masoud Kalali"
 
 
Masoud Kalali, Oracle
Title: Java EE 7 Platform Overview and Highlights Abstract: The Java EE 7 specification has evolved quite a lot since the early days of the specification. One one hand, Java EE 7 continues the ease of development push that characterized prior releases by bringing further simplification to enterprise development. On the other hand, Java EE 7 tackle new emerging requirements such as HTML 5 support.

Last but not least, Java EE 7 also adds new, APIs such as the REST client API in JAX-RS 2.0, WebSockets, JSON-P, JMS 2, Batch Processing, etc.

This session will give an technical overview of the Java EE 7 platform. GlassFish 4.0, the world first Java EE 7 Application Server, will be used to demonstrate some of the Java EE 7 features.
.
Read more about "Masoud Kalali"
 

Josh Long, SpringSource
Title: Have You Seen Spring Lately Abstract: It's been an amazing year for Spring! 2013 saw the Spring family join Pivotal where - along with Cloud Foundry and our data driven technologies (the Pivotal HD Hadoop distribution, the GemFire data grid, and the RabbitMQ message broker) - Spring supports today's application workloads and profiles. Today's Spring embraces Java 8, Scala, Groovy, provides a best-in-class REST stack, supports the open web, mobile applications, big-data applications and batch workloads. Today's Spring is easy to get started with, easy to learn, and embraces conventions over configuration. Today's Spring is part of the Spring.IO platform. Today's Spring is...Pivotal. Join Spring developer advocate Josh Long as he re-introduces you to today's Spring, a Spring you may not have seen yet.

Read more about "Josh Long"
 
 
Josh Long, SpringSource
Title: Building REST Services with Spring Abstract: 

Today's applications don't exist in isolation. REST applications and web services are a great way to connect applications together. REST is a design principle that imposes no constraints on the client except basic HTTP support, which all platforms provide. Designing REST services, however, is still as much art as it is science, as standards are emerging. Join Spring Developer Advocate Josh Long as he introduces some of the ins-and-outs of REST API design with Spring, building on Spring MVC, Spring HATEOAS and answers some commonly- asked questions like how to secure REST-ful services, and how to tailor payload serialization to your specific use cases.

Read more about "Josh Long"
 

Tomás Pérez , Spotify
Title: Cross-platform application development using web technologies at Spotify Abstract: This talk presents how Spotify uses web technologies to develop and maintain key features in the different platforms that compose the Spotify experience: desktop client, mobile apps and the Web Player.

I will explain how our architecture abstracts a web developer from the platform, making it possible to share code across multiple devices.

In addition, I will talk about how we communicate with the Spotify clients, using web technologies such as local storage to communicate between different tabs and post messages to achieve cross domain communication.
Read more about "Tomás Pérez"
 

Nicola Paolucci, Atlassian
Title: Git Workflows A-la-carte Abstract: While Git is established in the Open Source world, we're only just seeing the emergence of DVCS in our daily jobs. How can DVCS enable us to collaborate in an a traditional "enterprise" setting.

Atlassian has fully embraced DVCS and has started to build features into their suite of products, like JIRA and Stash, to take advantage of this new and exciting paradigm.

The talk will dive deep into the successful git workflows used inside Atlassian. There is no size fit all for this topic and various effective processes can be devised and are in active used at our company. The talk will also cover tools, plugins and techniques used to reduce friction during the development of features and bugfix releases like for example advanced merge checks, pre/post receive hooks and automatic merges. It will also parade various Continuous Integration approaches that work well with git and are also used internally with great success.
Read more about "Nicola Paolucci"
 

Victor Grazi, JPMorgan Chase
Title: Java Concurrent Animated Abstract: This presentation consists of a series of animations that visualize the functionality of the components in the java.util.concurrent library.

Each animation features buttons that correspond to the method calls in that component. Each click of a button shows how the threads interact in real time. The animations are controlled by the actual Java concurrent component they are illustrating, so the animation is not only a visual demonstration, it's also a code sample.

Key points covered will be
- An explanation of the use case for each java.util.concurrent component.
- Description of the design pattern handled by the component
- How the concurrent component handles the use case
- Visualization through animation of the use case.
Components covered include,
- Executors (non-fair & fair)
- Runnable/Callable
- Semaphore
- Future
- Reentrant Lock
- ReadWriteLock
- Condition
- BlockingQueue
- CyclicBarrier
- CountDownLatch
- CompletionService
- ConcurrentHashMap
- Fork & join
- Compare & Swap

If you're still using constructs like Thread.start() or wait/notify, you'll want to attend this meeting.

The presentation is packaged as a self-executable Java Archive (JAR) file and is available for download at http://sourceforge.net/projects/javaconcurrenta. It will serve as a valuable reference for any Java practitioner.
Read more about "Victor Grazi"
 

Jimmy Mårdell, Spotify
Title: Playlists at Spotify Abstract: Playlists are a central part of Spotify. To date, our users have created over 1 billion playlists! This means a lot of data that needs to be stored and accessed on a regular basis. Users can subscribe to other users playlists, create and update playlists in offline mode and receive real-time updates when playlists are changed.

This presentation will go into detail about some of the techncial challenges involved in the playlist system, and how they were solved. The system is written in Java using Apache Cassandra as the backend storage solution.
Read more about "Jimmy Mårdell"
 

Tomas Riha, VGT/Wireless Car, Volvo IT
Title: Continuous Delivery it's not about the technology it's about the people. Abstract: Two and a half years ago we started building our continuous delivery process. We where in desperate need of continuous regression testing and figured how hard can it be to continuously build deploy and regression test an application?

Well it proved to be quite hard but not at all in the areas we expected. Continuous delivery requires people to change, a lot, this presentation focuses on these changes.
Read more about "Tomas Riha"
 

Claus Ibsen, Red Hat
Title: Getting Started with Apache Camel Abstract: This session will teach you how to get a good start with Apache Camel. We will introduce you to Apache Camel and how Camel its related to Enterprise Integration Patterns. And how you go about using these patterns in Camel routes, written in Java code or XML files.

We will then discuss how you can get started developing with Camel, and how to setup new projects from scratch using Maven and Eclipse tooling.

This session includes live demos that show how to build Camel applications in Java, Spring, OSGi Blueprint and alternative languages such as Scala and Groovy. You will also hear what other features Camel provides out of the box, which can make integration much easier for you.

We also take a moment to look at web console tooling that allows you to get insight into your running Apache Camel applications, which has among others visual route diagrams with tracing/debgugging and profiing capabilities.

Before opening up for QA, we will share useful links where you can dive into learning more about Camel.
Read more about "Claus Ibsen"
 

Simone Bordet, Intalio
Title: Applied Mechanical Sympathy (co-speaking with Thomas Becker) Abstract: This session will present how concepts of "mechanical sympathy" have been applied to Jetty 9 in order to improve its performance over Jetty 8.

After an introduction to modern processors, the session will present real code cases taken from Jetty 9, the tools used to measure the performance, from false sharing to parallel slowdown, to branchless code and lockless code.

The session concludes with an eye to the pitfalls that you may encounter while trying to apply these optimizations, and the JVM support for these class of optimizations
Read more about "Simone Bordet"
 

Simone Bordet, Intalio
Title: HTTP 2.0 / SPDY: Optimize the Web for Java and Dynamic Languages (co-speaking with Thomas Becker) Abstract: The SPDY protocol, chosen as the basis for HTTP 2.0, is already widely supported by browsers (including mobile browsers) and servers, and brings the promise of a faster web.

This session will present how both JEE web applications and PHP/Python/Ruby web applications (for example based on WordPress/Django/Rails) can take advantage of SPDY's performance when deployed to a pure Java, SPDY-enabled, web server such as Jetty 9, finally bridging the gap between the JEE web ecosystem and PHP/Python/Ruby web ecosystem.
Read more about "Simone Bordet"
 

Thomas Becker
Title: Applied Mechanical Sympathy (co-speaking with Simone Bordet) Abstract: This session will present how concepts of "mechanical sympathy" have been applied to Jetty 9 in order to improve its performance over Jetty 8.

After an introduction to modern processors, the session will present real code cases taken from Jetty 9, the tools used to measure the performance, from false sharing to parallel slowdown, to branchless code and lockless code.

The session concludes with an eye to the pitfalls that you may encounter while trying to apply these optimizations, and the JVM support for these class of optimizations
Read more about "Thomas Becker"
 

Thomas Becker
Title: HTTP 2.0 / SPDY: Optimize the Web for Java and Dynamic Languages (co-speaking with Simone Bordet) Abstract: The SPDY protocol, chosen as the basis for HTTP 2.0, is already widely supported by browsers (including mobile browsers) and servers, and brings the promise of a faster web.

This session will present how both JEE web applications and PHP/Python/Ruby web applications (for example based on WordPress/Django/Rails) can take advantage of SPDY's performance when deployed to a pure Java, SPDY-enabled, web server such as Jetty 9, finally bridging the gap between the JEE web ecosystem and PHP/Python/Ruby web ecosystem.
Read more about "Thomas Becker"
 

Konrad Malawski, eBay
Title: Scala your Android Abstract: Many of us are aware that it's possible, and quite easy, to use some other language than Java on Android's DVM, but still not many have actually tried it. As it turns out, one of the best languages fit to do Android development is... Scala.

Remember how you had to override methods to create menus, and sharing those was quite hard due to Java's inheritance model?

Well, Scala's traits solve that problem for you. Or how much boilerplate (with explicit type casting) you had to write to find a view by id? Say hello to Typed Resource! And there's even more pain to be relieved by using some of Scala's features - which, oddly enough, seem to be a perfect `match` for `lazy` Android development... And I assume you're already on the Scala Collections drug? If not - be prepared to get addicted. During this session we'll explore those, and some more techniques that you can use to Develop your Android apps with Scala as well as problems you might encounter.
Read more about "Konrad Malawski"
 

Konrad Malawski, eBay
Title: Scalding A.K.A. "Writing Hadoop jobs, but without the pain" Abstract: Hadoop and all it's eco system has settled down for good in our hearts and / or minds. It's quite old and has proven to be quite reliable for certain kinds of tasks. Yet one problem still remains - writing Map Reduce jobs in plain Java is really a pain.

The API is clunky and does it's best to hide the actual algorithm beneath tons of boilerplate. Throughout the years many tools and aproaches have shown up - Hadoop's own Streaming API or the great Cascading library. In this talk though we'll focus on Scalding - a library, developed at Twitter, but used by many others - including eBay - to simplify and bring back the joy to Big Data by using a thin layer of Scala on top of Cascading to build-up data processing "as if it was a simple map { transformation } in plain Scala!

We'll dive into code examples as well as look into how Scalding actually works, so you can try it out on your cluster when you come back to work on Monday (and smile a bit more when asked to write a Job next time!)
Read more about "Konrad Malawski"
 

Nigel Runnels-Moss, Agile Environment
Title: Code Dojo (evening session, Nov 26th) Abstract: A code dojo is an event in which programmers come together to 'learn-by-doing' by solving puzzles called 'code katas'. After introductions over some food and drink, we introduce the kata and people team up with their own laptops to do pair-programming. We work in short 25-minute bursts called 'pomodoros' and use the principles of Object-Orientation, Test-Driven Development, Refactoring and Simple Design to arrive at a solution.

After several cycles the group comes together for reflection and a discussion of the task, the process, and what they learned; pairs share their code with the group on-screen, the group sees how the problem was solved differently by others, and gives constructive feedback on how they might do things differently next time.

The Dojo format allows developers to practice and improve good programming practices in a safe, friendly learning environment.
Read more about "Nigel Runnels-Moss"
 

Nigel Runnels-Moss, Agile Environment
Title: Software Metrics Abstract: Most everyone who has worked in a large organisation and has seen Metrics programmes implemented has experienced the strange organisational (mis)behaviour that these programmes seem to engender.

Why does this happen, and what can we do about it? What does it make sense to measure on a software project, and how can we ensure that measurement reflects reality? In this talk @sleepyfox takes us on a journey of what software quality means, how we might measure it, and how this influences our lives as software professionals.
Read more about "Nigel Runnels-Moss"
 

Ole-Martin Mørk, Bekk Consulting
Title: Facebook Graph Search Abstract: Facebook Graph Search is a fascinating solution. This talk will go through the architecture behind their search, and how you can recreate the solution with your own data. We will look into neo4j, and go through the qualities it has that makes it great for these kind of searches. Some of the queries we will run would never be finished if we ran it with a traditional relational database.

We will also look into how Elastic Search would solve this problem with creating a user friendly approach to searching through big data. Another really important element of Facebook Graph Search is how you use natural language in order to perform the search. In the talk we will go through some techniques and tools that will help us to translate natural language to effective graph queries.

After the talk you will have a good understanding of the technology and what is necessary to recreate a similar search in your own application. All source code will be made available online after the talk.
Read more about "Ole-Martin Mørk"
 

Mats Bryntse, Bryntum
Title: Testing Sencha Applications with Siesta Abstract: Testing the UI of a component or an application can be a little tricky. Siesta can be used to do both unit testing and functional testing of your JavaScript applications, and we'll also show how we use Siesta to test our own components, and how it is used to test Siesta itself. Read more about "Mats Bryntse"
 

Murat Yener, Eteration
Title: Paranoid Android Abstract: Android had great functionality and capabilities since from day 1 but lacked the fluid design and user experience. A lot has changed since from Froyo and Google took its part for delivering better apps.

Now its the developers turn to get paranoid on how to get the best design, implement the best practices in develop and how to stay rating friendly in distribution. The talk focuses getting the best out of Design, Develop. Distribute cycle for an Android app.
Read more about "Murat Yener"
 

Murat Yener, Eteration
Title: Mobile Java with GWT, Still "Write Once Run Everywhere" Abstract: This talk has been accepted to JavaOne 2013.
Once JavaME had ruled the mobile world. Times have changed and JavaME is not really preferred on any modern device today. Android rise pretty fast thanks to large developer community of Java.

However in real world Android is not alone! Many mobile devices running iOS and Blackberry are also exist in mobile universe.

HTML5+phonegap apps promised a magic silverbullet for write once run on all devices approach via several frameworks which in the end offered painful javascript and css development. While GWT offers a great Java to JS compiler and debugger, MGWT introduces native looking widgets both on ios, android and even blackberry. Also with the addition of gwt-phonegap projects, now you can code native looking html apps which can use native apis only with regular Java without coding a single line of html+JS.

This talk had been highly rated at Android Dev Days Istanbul and Ankara and selected for JavaOne 2013
Read more about "Murat Yener"
 

Murat Yener, Eteration
Title: The Zodiac of OSGi; Meet Eclipse Libra, Virgo and Gemini Abstract: This session had been presented on EclipseCon 2010, JavaOne 2011, EclipseCon 2012, JavaOne 2012 as OSGi for the earthlings and selected as a top talk for Javaone 2013, updated with the integration of Virgo and Gemini Libra is an open source project under the Eclipse Web Tools Platform Container Project.

It provides standard tools for OSGi Enterprise application development and in particular tools that integrate the existing WTP and PDE tooling so that OSGi Enterprise applications can be developed with both tooling at the same time.

Libra also will enable users to work with tools for better experience in the Server-Side Equinox scenario. Today with Virgo, Libra offers an out of box simple use of OSGi for regular developers

The goals of the project are: http://www.eclipse.org/libra/
Read more about "Murat Yener"
 

Justin Lee, 10gen
Title: MongoDB for Hibernate/JPA Developers Abstract: NoSQL is making inroads everywhere we look these days, but for those of us who have spent years in Java EE, that transition can feel daunting.

This presentation begins with a basic introduction to MongoDB and how data is organized. It covers several options for getting data in and out of MongoDB and then walks through an example JPA application to show how it looks with different mapping options in MongoDB.

It also explores how MongoDB's paradigm can affect not only your object model but how you interact with the data as well.
Read more about "Justin Lee"
 

Angelika Langer, Angelika Langer Training&Consulting
Title: Programming with Lambda Expressions in Java Abstract: The next major language extension (after generics in Java 5) will be lambda expressions in Java 8. They add elements of functional programming to Java and have the potential to change the way we express ourselves in Java.

They were designed primarily for use with the JDK's overhauled collection framework and its new stream API.

In this session, however, we want to explore how we can benefit from using lambdas in other situations (independently of streams) as well. Lambda expressions can help expressing idioms that were clumsy to use in lambda-less Java. We will use a couple of examples to illustrate the benefits and limitations of Lambda expressions in Java 8.
Read more about "Angelika Langer"
 

Angelika Langer, Angelika Langer Training&Consulting
Title: A Lambdas & Streams Hack Session Abstract: Java developers who enjoy experimenting with new features and APIs are invited to join this hack session. After a brief introduction to lambdas and streams we will try to solve a couple of common problems using lambdas and streams, both of which are new features in Java 8.

The idea is that you bring your computer, try solving the problems, and share your experience (epiphanies and frustations alike) with the group. It is a chance to familiarize yourself with the new features and gain first insights in the new Java 8 features.

NOTE: This session is not meant as a regular workshop with a major presentation part and some guided hand-on labs. Instead the idea is to experiment, share the ideas, and discuss the insights. Duration: ca. 60-70 min presentation, 2+ hours of hacking (open end)
Read more about "Angelika Langer"
 

Nilay Coşkun, Eteration
Title: Mobile Compatibility Testing of Websites Abstract: With the increasing usage of mobile devices, consumers are using mobile devices for many purposes such as playing games, checking e-mails or whether forecasts. In addition to this usage, mobile device users visit websites on mobile device browsers since they can access the Internet at any time. So websites should look and function properly on these devices, which means mobile browser compatibility testing has become important than ever.

There are hundreds of mobile devices with different screen sizes and resolutions. Consumers are using different operating systems on these different devices such as Android, iOs, Blackberry, Windows Mobile, Symbian. And every operating system has many kinds of browsers. This talk aims to present our best practices and the tools for mobile compatibility test techniques of the websites across all these devices.
Read more about " Nilay Coşkun"
 

Gustaf Nilsson Kotte, Jayway
Title: HTML Hypermedia APIs and Adaptive Web Design Abstract: Hypermedia APIs are receiving increased attention. First, I will show you why and when HTML is a good choice as a media type for your API. A hypermedia API should expose use cases. If these are specific enough (and if you choose HTML as the media type), you are close to the "mobile first" web strategy. And, correspondingly, "mobile first" is close to the idea of HTML hypermedia APIs - your API can be your web site and vice versa!

But the mobile experience by itself is often not enough. Adaptive Web Design is a set of patterns that adhere to the Progressive Enhancement principle and we can use AWD to get better experiences for more capable devices. The "conditional lazy loading" pattern is especially interesting for our purposes.
Read more about "Gustaf Nilsson Kotte"
 

Lars Sjödin, King
Title: Design for times 10 or times 100: How to handle hundreds of millions played games per day. Abstract: Without buzzwords, a hands on overview of the entire communication, storage and analysis systems that serve over 50 million players daily.

How does King handle all traffic and game play data for Candy Crush Saga and all other King games on a tight ship with a less than 500 servers? Spoiler: Keep It Simple …
Read more about "Lars Sjödin"
 

Axel Fontaine
Title: Inspiration over Perspiration: Java App Deployment for the 21st century Abstract: Java App deployment is a complex and time-consuming process requiring OS installers, package management tools, configuration management tools, configuration recipes, install scripts, deployment scripts, server tuning, server hardening and more. Is this necessary? Are we trapped in a mindset of doing it this way just because we've always done it this way?

What if you could radically simplify all this? What if you could deliver your app with a single click, right from your IDE, in under 30 seconds?

This talk challenges the status quo and proposes a radical rethinking of Java App deployment. If you believe in simplicity and efficiency over complexity and brute force; if you aren't afraid to look forward with fresh thinking, then this talk is for you.
Read more about "Axel Fontaine"
 

Johan Vos, LodgON
Title: Java EE 7's Java API for WebSocket - JSR 356 Abstract:This session will examine the Java API for WebSocket, a key new Java API in Java EE 7. You will understand how to use the API in web applications and also how to use the client API to write rich clients in addition to browser clients.

Finally efficient server-push of web data is here, no more long polling or AJAX. Find out about this foundation piece of HTML 5 and this new API in Java EE 7.
Read more about "Johan Vos"
 

Alan Parkinsson, Hindsight
Title: Cross-browser unit testing JavaScript Abstract: People often run their browser based functional test suites across multiple browser combinations with the aim to test cross-browser compatibility. You can't test browser rendering for compatibility so you are really testing focusing on JavaScript compatibly across many browsers.

Is the best way to achieve JavaScript compatibility testing? No, functional tests can be significantly slower and will provide long feedback loops to developers. They also provide poor coverage and are likely to leave areas of JavaScript untested. The simple and fast answer is to unit test JavaScript code and run these tests in all the different browser combinations.

This session will demonstrate how you can reuse your existing JavaScript unit tests with Karma and a Selenium WebDriver test infrastructure (Optional) for providing fast cross-browser JavaScript compatibility testing. You can even test your JavaScript on mobile devices with this technique. If you're not already doing JavaScript TDD then the additional benefits highlighted in this session will encourage you!
Read more about "Alan Parkinsson"
 

Lennart Jörelid, jGuru
Title: Introduction to OSGi Abstract: OSGi is a dynamic module system for Java, which defines packaging, services and injection.

While OSGi has been around for 10+ years, and is a central component in most application servers, it is seldom used in project development. OSGi provides considerable power to dynamically swap or update parts/services in a running java system - which is often desirable in large-scale enterprise applications. Yet, OSGi has been perceived as overly complex and time-consuming in some situations.

How can we leverage the power of OSGi without falling victims to its dark side? This session presents OSGi to developers, and suggests patterns for how to quickly introduce it into an existing codebase in a painless manner.
Read more about "Lennart Jörelid"
 

Lennart Jörelid, jGuru
Title: Preparing for Java Modularity (OSGi, Jigsaw, Penrose, JBoss Modules, ...) Abstract: Modularity and loose coupling are important concepts in building maintainable enterprise applications in Java. OSGi, Jigsaw, Penrose, JBoss Modules are just a few of the projects created to handle modularity in applications, class libraries and the JDK. OSGi has been around for over 10 years, whereas Jigsaw is still on a project basis - slated for inclusion in a future JDK.

It is possible - and desirable - to start developing code using patterns of modularity to reduce tanglements and generate a smoother transition to OSGi/Jigsaw. Modularity is also essential to producing simpler systems with 100% uptime. How can we develop code today, compliant with upcoming and existing modularity systems?
Read more about "Lennart Jörelid"
 

Jonas Estberger, Bespokecode
Title: Android Unit Testing Abstract: Test Driven Development is fun and helps you create awesome code and refactor less phenomenal code. Unit testing is a vital part in TDD and this talk will focus on the tools available to set up and measure your testing using Eclipse, ant, JUnit, EMMA and instrumentation.

You will be shown how to set up a unit test in Eclipse, stubbing/mocking, blackbox techniques such as boundary value analysis and test measuring through code coverage.
Read more about "Jonas Estberger"
 

Jaromir Hamala, c2b2
Title: Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the Memory Abstract: Cheap RAM means we can use more memory than an average disk size was not that long time ago. It's very tempting to increase size of our JVM heap and store more data in-memory. As always, there is a trade-off: Large heaps lead to higher latencies due to Garbage Collector overhead.

This session will show different strategies for accessing off-heap memory and using the advantage of large RAM without paying the performance penalty.The presentation will briefly introduce problems with latency connected to JVM heaps.

It will show different approaches to how to use the off-heap memory. I will discuss pros and cons for each approach, and show the considerations for using the off-heap memory. The code examples will be based on the Apache DirectMemory project.
Read more about "Jaromir Hamala"
 

Mark Addy, c2b2
Title: Non-functional benefits of scaling your web tier using Data Grids Abstract: Many developers and architects avoid application clustering of web sessions as they perceive it to be "heavy weight", preferring their customers to reauthenticate and restart transactions than clustering their web sessions.

In this session we will explore how to change this archaic practice by using In-memory Data Grids to give you highly scalable, highly available web session state with the benefits of multi-application sessions sharing, as well as operational improvements without annoying your users.
Read more about "Mark Addy"
 

Kim Joar Bekkelund, Bekk Consulting
Title: Patterns of Large-Scale JavaScript Applications Abstract: JavaScript has come a long way in few years. As we no longer need to battle DOM differences we can focus on building our applications instead.

Now, however, as more and more application logic move from the server to the client our main problem is that we need to unlearn our earlier DOM-centric approach to JavaScript. Tools such as Backbone and Angular help, but before we are able to use the effectively we have to change some of our neural pathways.

In this talk I will look at a couple of patterns that will help you move away from jQuery spaghetti and get you started on a foundation for building large-scale JavaScript applications.
Read more about "Kim Joar Bekkelund"
 

Tom Bujok, SBB Switzerland
Title: 33 things you want to do better Abstract: 
Business project are intensive and tiring. Tight deadlines often make developers produce the infamous "enterprise" code, the quality of which is the least important factor. "We are what we repeatedly do.

 


Excellence, therefore, is not an act, but a habit" Aristotle used to say. Deploying our skills, however, is almost mutually exclusive from mastering them…

 


In this session we will cover 33 things you want to do better, quicker and simpler applying the best of Lombok, Guava, LambdaJ, Mockito, Spock, Byteman, Groovy, Gradle, Logback and others! Using some real-life examples we will have a peek at the code, analyze the flaw and propose a suitable solution. Not only will we learn how to code better, but also how to raise the bar on a daily basis!

 

Read more about "Tom Bujok"