Today software applications need to provide a high degree of customization as most customers are looking for individual applications matching their needs. To be able to efficiently manage the variabilities as well as being able to automate the software generation process the paradigm of generative programming gets introduced. Dive in head first and learn about software system families, domain engineering and feature modeling. Learn techniques to build a software generator application from the scratch, followed by some tips and guidelines how to continuously extend the functionality of the software generator and the resulting products. Additionally the participants will learn how to convert an existing project into a software generator.
by Dale Lane
In February 2011, IBM demonstrated it's latest Research breakthroughs in natural language processing and deep question answering. Named Watson, it made history when it was entered into the famously complex US television quiz-show 'Jeopardy!' where it comfortably beat two of the greatest human players ever to appear on the show. Since then, work has focused on bringing these breakthroughs to real-world problems. Dale will talk about the work that has been happening since Jeopardy! and some of the plans for Watson's future.
by Ross Lawley
The NoSQL phenomenon has been attracting a lot of attention in the past few years. Driven by their need to accommodate high volumes of real-time data, major internet companies have popularized the use of data storage solutions that differ from traditional RDBMS. One example of such a solution is the Apache Cassandra distributed database management system. Originally developed by Facebook to power their inbox search, Cassandra combines a schema-flexible data model (borrowed from Google's BigTable) with a fully distributed, shared-nothing design (borrowed from Amazon's Dynamo). This allows Cassandra to offer high availability, linear scalability and high performance while relaxing some consistency guarantees. This talk will give developers and software architects an overview of the fundamentals of Apache Cassandra. We will discuss the core concepts of the system, such as its data model, its query language and its cluster architecture. We will also review data replication and consistency and look at a real-world application built upon Cassandra, as it is used at Scandit to manage millions of products and barcode scans. The goal of this session is that attendees know the main concepts behind Cassandra and their implications. This will let them understand both the benefits and limitations of the system, and it will help them to quickly get started with their own deployment.
It’s great to have a solid base of unit and integration tests; this gives us confidence about overall system integrity. But at the end of the day it all amounts to whether our end users are happy using our application. So how can we keep the fail whale at bay and communicate with the stakeholders that the requirements are being met?
During this talk we will see that the Arquillian ecosystem is way more than just integration testing. We will dive into the concept of Acceptance Test Driven Development (ATDD) and demonstrate how to build higher-level, end-to-end functional tests; we willl be emulating user interactions using the Arquillian Drone extension together with the open source browser automation tool WebDriver. Reusable web testing components called Page Objects will make our tests cleaner and easier to maintain. Eventually we will sugar coat them with a Groovy DSL for Behaviour Driven Development to achieve testing nirvana.
If you care about quality of your software you definitely shouldn't miss this talk! Expect to see lots of live demos!
Domain driven design has become a ubiquitous approach to tackle complex problem domains and build a rich object model. Furthermore JPA has become the standard and widely accepted way of object persistence in the Java world. The talk introduces the the Spring Data project in general with a focus on the JPA module that allows developers to easily implement JPA based repositories in a sophisticated way. We start with a brief analysis of a plain JPA based repository implementation and outline pain points esp. regarding the domain driven approach (lack of abstraction, tediousness of executing queries, pagination and so on). The main part of the talk then takes a look at how Spring Data JPA provides solutions to those problems. The presentation is 80% hands on - less slides, more code :).
One of the most rewarding change opportunities for organization exist at the management level by innovations. This opportunity is often wasted during the introduction of Agile or Lean methods. In this session I’ll introduce the concept of Agile Management Innovations, give plenty of real world examples, some of them learned the hard way, i.e. in my own company.