Loading…
This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Wednesday, January 27
 

09:00

Introduction to Big Data and Apache Spark

Apache Spark (http://spark.apache.org) is currently the fastest growing project in Big Data environment. It allows processing Big Data sets faster and easier than in the existing solutions. This workshop will jump-start you into working with Spark and help in transition from analyst or developer to Big Data engineer.

  • Introduction to Big Data

    • Definition

    • What is Big Data?

    • History of Big Data

    • Big Data problems

  • Apache Spark

    • Introduction

    • History

    • Spark vs Hadoop

    • Resilient Distributed Datasets (RDDs)

    • Architecture

    • Operation variants

    • Administration

  • Spark Core

    • Introduction

    • Java vs Spark vs Python

    • Connecting to cluster

    • Dataset distribution

    • RDD operations

    • Shared variables

    • Execution and testing

  • Spark SQL

    • Introduction

    • Spark SQL vs Hive

    • Basic operation

    • Data and schema

    • Queries

    • Hive integration

    • Execution and testing

Register here for just 100 EUR.

Speakers
JN

Jakub Nowacki

Jakub is University of Bristol graduate where he obtained PhD in Engineering Mathematics. On the daily basis he utilizes his analytical and development skill working in software development. He is mostly interested in distributed processing and analysis of big data sets. Jakub originally has C/C++ background but currently works mostly in JVM and Python world.



 
Thursday, January 28
 

09:00

Evolutionary Software Architectures
For many years, software architecture was described as the “parts that are hard to change later”. But software architecture is the balancing of capabilities versus constraints. If build changeability one of your prime capabilites, evolutionary change becomes easier. The microservice architectural style is quite popular, but it is only one in a family ofevolutionary architectures. This session defines the characteristics this family of architectural styles, along with engineering and DevOps practices necessary for implementation. I cover the principles behind evolutionary architectures, the practices needed for success, how organization and team structure affects these architectures, and specific engineer practices that facilitate evolutionary architectures. I also discuss migration strategies from common existing architectural types towards move evolutionary architectures.

Speakers

Thursday January 28, 2016 09:00 - 10:00
Kosmos - Room 10

10:20

Make your tests fail
How randomisation adds a whole new dimension to finding bugs in your code

It's easy as pie: before checking in, your test suite should always be green. Or should it? What if your tests are all green but you forgot to check one important edge case? What if your underlying system environment lets you down, but only under rare conditions that you didn't cover in your tests?

This talk introduces randomised testing as used by projects like Apache Lucene and Elasticsearch based on the Carrotsearch Randomised Testing framework. It has helped uncover (and ultimately fix) a huge number of bugs not only in these project’s source code, but also in the JVM itself which those projects rely on.

Writing unit and integration tests can be tricky: assumptions about your code may not always be true as any number of "this should never happen" log entries in production systems show. When implementing a system that will be integrated in all sorts of expected, unexpected, and outright weird ways by downstream users, testing all possible code paths, configurations and deployment environments gets complicated.

With the Carrotsearch Randomised Testing framework, projects like Apache Lucene and Elasticsearch have introduced a new level to their unit and integration tests. Input values are no longer statically pre-defined but are generated based on developer defined constraints, meaning The test suite is no longer re-run with a static set of input data each time. Instead, every continuous integration run adds to the search space covered. Though generated at random, tests are still reproducible as all configurations are based on specific test seeds that can be used to re-run the test with the exact same configuration.

Add to this randomising the runtime environment by executing tests with various JVM versions and configurations,and you are bound to find cases where your application runs into limitations and bugs in the JVM.

This talk introduces randomised testing as a concept, shows examples of how the Carrotsearch Randomised Testing framework helps with making your test cases more interesting, and provides some insight into how randomising your execution environment can help save downstream users from surprises. All without putting too much strain on your continuous integration resources.

Speakers
avatar for Isabel Drost-Fromm

Isabel Drost-Fromm

Isabel Drost-Fromm is member of the Apache Software Foundation, co-founder of Apache Mahout and mentored several incubating projects. Interested in all things search and text mining with a decent machine learning background she is working for Elasticsearc


Thursday January 28, 2016 10:20 - 11:10
Kosmos - Room 06

10:20

Modern Java Component Design with Spring 4.3
Spring's programming and configuration model has a strong design philosophy with respect to application components and configuration artifacts. Spring's annotation-based component story is fine-tuned for source code readability as well as consistency across an entire application's codebase. This session presents selected Spring Framework 4 component model highlights, with a focus on the upcoming Spring Framework 4.3 and a selection of Java 8 enabled features, illustrated with many code examples and noteworthy design considerations.

Speakers
avatar for Juergen Hoeller

Juergen Hoeller

Pivotal
Juergen Hoeller is co-founder of the Spring Framework open source project and has been serving as the project lead and release manager for the core framework since 2003. Juergen is an experienced software architect and consultant with outstanding expertise in code organization, transaction management and enterprise messaging.


Thursday January 28, 2016 10:20 - 11:10
Kosmos - Room 10

10:20

The Internet of (Lego) Trains
We wanted to find out if we could use the same languages and tools on IoT hardware. We used Lego trains and Raspberry Pi’s as a sample project.

The Lego trains are equipped with a Raspberry Pi, camera, wireless dongle, infrared transmitter, speaker, RFID reader and battery pack. Next to that we have automated switch tracks and camera's again with the help of Raspberry Pi's. We also build some lightning effects with LEDs controlled by Particle Photon’s. On top of that we also automated a Lego ferris wheel.  To control the trains and other parts we built a Java application based on Jersey and Tomcat together with an AngularJS application.

Speakers
avatar for Johan Janssen

Johan Janssen

Architect, Info Support
Johan is working as a Java architect and competence center Java lead at Info Support. He has been working for various demanding companies where rapidly delivering quality software was very important. Currently he is working in a DevOps team in a big financial institution in The Netherlands as Java architect. He likes sharing his knowledge about Java, continuous delivery, DevOps, software quality and numerous other subjects. Johan regularly writes... Read More →
avatar for Martin Kanters

Martin Kanters

Software Engineer, Info Support b.v.
Martin is working as Java consultant at Info Support. He is working at a large financial institution where delivering high quality software is essential. Martin likes sharing his knowledge for instance at conferences like J-Fall. He also likes keeping himself up to date with the newest technologies. Currently he’s especially focusing on Scala and Akka.


Thursday January 28, 2016 10:20 - 11:10
Kosmos - Room 02

11:30

Building Microservice Architectures with Go
Traditionally applications have been built as monoliths; single applications which become larger and more complex over time, which limit our ability to react to change. An example of this is the banking industry where mergers and acquisitions between banks have lead to a patchwork of different systems & technologies that cost billions of dollars per year to maintain. As a result, the pace of innovation in the banking industry has slowed to a crawl.

At Mondo we're building a new kind of bank, a smart bank that belongs in the 21st century, and we’re building it almost entirely in Go. This talk will cover how we’re developing new core banking systems from scratch backed by a microservice platform written in Go, running across multiple data centres using open source frameworks and tools including Docker and Mesos. We'll look at why Go is perfectly suited to this, our architectural decisions, common pitfalls to avoid, and how microservice architectures can vastly increase both the velocity of development teams and the scalability and fault tolerance of our systems.

Speakers
avatar for Matt Heath

Matt Heath

Matt Heath is an engineer at Mondo, a new kind of digital bank. Having previously worked as the Technical Lead of Hailo's global platform, Matt has an unhealthy obsession for scaling fault tolerant, high volume, distributed systems, and spends his spare time working on open source projects such as Phosphor, a distributed tracing system.


Thursday January 28, 2016 11:30 - 12:20
Kosmos - Room 10

11:30

Isomorphic JavaScript apps (same code on client&server) with Nashorn and React
Isomorphic (greek: "isos" = equal, "morph" = shape) JavaScript apps are applications that can run the same code on both client-side and server-side. Isomorphism describes that if you look at the same entity in two different contexts, you should get the same thing. Here the contexts are server and client. Although the term has been mostly used in mathematics until now, it's an apt term to describe a web programing pattern where the code is shared by the front-end and back-end. Just take an MVC-based Java framework, integrate it with Nashorn and use a famous JavaScript templating engine like React - that's it. Now you can render templates on the server- as also on the client side - or start rendering serverside, send them to the client and finish there! Nothing is impossible - even Netflix uses it.

Speakers
avatar for Niko Köbler

Niko Köbler

Niko works as an independant and self-employed software architect, developer and trainer for Java and JavaScript enterprise solutions, integrations and web development. | He advises and supports clients across industries, conducts workshops, trainings and architecture reviews. Niko is a co-lead of a local Java User Group, writes articles and speaks regularly at international tech conferences. He is tweeting at @dasniko.


Thursday January 28, 2016 11:30 - 12:20
Kosmos - Room 06

11:30

Recommendation system on Spark- follow your own way
“Recommendation system on Spark- follow your own way” is a technical description of building a recommendation solution for a large media company based on Spark. The presentation compares the developed solution to default recommendations provided by Spark MLlib and shows pros and cons of both. The presentation describes problems of processing performance using medium-size data hundred thousands items, million users) on MlLib and a detailed comparison of scalability, performance and resource allocation to the developed system. The presentation also contains tips on how to find bottlenecks of the presented solution, as well as general aspects of optimization a recommendation system according to Spark architecture and business needs.

Latency is an important factor of any system interacting with a user, e.g. websites. Therefore, the first stage of the presentation explains why at least a subset of recommendations has to be precalculated and saved in a high-availability database. The presentation highlights that this requirement does not fit into the MLLib solution. The presentation shows the overview of an architecture design of Agora’s recommendation system and explanations of particular architecture decision, not only related to latency.

Agora is one of the largest media companies in Poland listed on Warsaw Stock Exchange since 1999. Its portfolio includes newspapers, outdoor advertising, a network of cinemas, Internet and radio operations, magazines and an on-line bookstore.

The following part of the presentation focuses on algorithm design. At first, the presentation explains how the algorithm solves the business need and how to elegantly combine a processing of item-to-item and user-to-item recommendations. The presentation also hints which Spark functions will be helpful while producing a recommendation algorithm’s implementation. Afterwards, the presentation scrutinizes algorithm’s internals. It focuses on explaining an optimization process of an item-to-item collaborative filtering algorithm in order to perform fast and efficient data-processing without breaking business requirements. The presentation shows how to monitor Spark to maintain proper resource allocation on Hadoop YARN as well as reveal bottlenecks of stages of the algorithm.

The final part of the presentation contains detailed results achieved by the Agora’s solution compared to the MLLib (accommodated to the chosen architecture). The comparison concerns scalability according to data set size, processing time and resource allocation.
The presentation is a solid case study on how to design and create a scalable recommendation system, using proper components. An chosen solution has to be monitored and optimized, so the presentation also contains hints and advice how to do this.

Speakers
avatar for Wojciech Indyk

Wojciech Indyk

Big Data Engineer / Data Scientist, Agora S.A.
My professional interests are massive datasets processing (DAG, mapReduce, Bulk Synchronous Parallel), relational machine learning, graph structures and algorithms data mining, software architecture in big data ecosystem and distributed databases. | | SUMMARY of experience: | 4 years of experience with Hadoop ecosystem | 4,5 years of data science experience (Machine Learning, Data Mining) | 3 years of scientific research on... Read More →


Thursday January 28, 2016 11:30 - 12:20
Kosmos - Room 02

13:20

Hacking Java
Code Generation, Policy Enforcement and Byte Code Manipulation. Enhancing Java at build, compile and runtime.

You know Java—but do you really know Java? As a Java engineer for the last 18 years, I continue to be amazed by how much one can do with this powerful yet sometimes-annoying language. As we all know, Java is very verbose. Sometimes this verbosity is a good thing, but sometimes you just wished you could simplify things a lot.

In this talk, I want to share a collection of hacks that I’ve picked up over the years that have saved me time and anguish. Whether you’re looking to do meta programming or static code analysis, address cross-cutting concerns, add language features, or simply reduce boilerplate, I will show you some tricks you can use to get the job done. I’ll also explore annotation processing, dynamic proxying, compiler plugins and several other powerful mechanisms that will empower you to go beyond what plain Java can do.

These tips and topics are usually not taught, at least not in one place—only by their respective communities. What they have in common is that they can help you to avoid repetitive work, potential runtime problems at build time, and/or implementing the same (or almost the same, which is worse) code in separate places. With great power comes great responsibility, so I’ll also go into how much of this is actually a good idea and why.

Speakers
avatar for Sean Floyd

Sean Floyd

Zalando
Sean Floyd is a Delivery Lead for Zalando's Shop team, which creates the Zalando store and its many components: CMS, tracking, etc. As Delivery Lead, Sean coordinates four autonomous teams of engineers in their efforts to break legacy Java systems apart into microservices and migrate them to Scala. He's also the technical lead for Zalando's ongoing public API project and helps to lead our architectural guidelines development.


Thursday January 28, 2016 13:20 - 14:10
Kosmos - Room 02

13:20

Innovation & Value with Scala, not because
Every person's dream in the software industry: A green field project! Starting from scratch, without any legacy that drags you down! Finally you can do everything the Right Way™ and use all those tools that you've been dreaming about all along.

Not so long ago, I was able to live that dream.

Turns out, in the real world a green field project is not so easy and shiny as one might be inclined to think. Even if you can choose from all those shiny and new toys, I mean tools, making all those choices may not be so straightforward.

In this talk I'll share how and why we, a now medium sized Fintech Startup, made the choice for Scala and the JVM. I'll talk about how this choice affected our ability to continuously deliver innovation and value to our business. We'll touch on what innovation even means for us and also explicitly cover how our choice of programming language & technology contributes to our ability to innovate.

Speakers
avatar for Benjamin Reitzammer

Benjamin Reitzammer

CTO, Vaamo Finanz AG
Benjamin has been in the software industry for over 10 years now and has held different kind of roles during that time. Currently he's CTO for vaamo, where, together with his team, he's responsible for developing and operating modern financial services. Beyond that he initiated the Frankfurt-local Software Craftsmanship community and organized the SoCraTes conference in 2014 and 2015. He's furthermore involved in other communities in his region... Read More →


Thursday January 28, 2016 13:20 - 14:10
Kosmos - Room 06

13:20

Microservices with Java, Spring Boot and Spring Cloud
Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

Speakers
avatar for Eberhard Wolff

Eberhard Wolff

Eberhard Wolff has 15+ years of experience as an architect and consultant - often on the intersection of business and technology. He is a Fellow at innoQ in Germany and a Java Champion. As a speaker, he has given talks at international conferences and as an author, he has written more than 100 articles and books e.g. about Microservices. His technological focus is on modern architectures – often involving Cloud, Continuous Delivery, DevOps... Read More →


Thursday January 28, 2016 13:20 - 14:10
Kosmos - Room 10

14:30

Making Java more dynamic
While Java's strict type system is a great help for avoiding programming errors, it also takes away some of the flexibility that developers appreciate when using dynamic languages. By using runtime code generation, it is possible to bring back some of this flexibility back to the Java virtual machine. For this reason, runtime code generation is used by many state-of-the-art Java frameworks for implementing POJO-centric APIs but it also opens the door for assembling more modular applications. This presentation offers an introduction to the complex of runtime code generation and its use on the Java platform. Furthermore, it discusses the up- and downsides of several code generation libraries such as ASM, Javassist, cglib and Byte Buddy.

Speakers
avatar for Rafael Winterhalter

Rafael Winterhalter

software engineer, Scienta
Rafael works as a software engineer in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interests in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a Java One Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library... Read More →


Thursday January 28, 2016 14:30 - 15:20
Kosmos - Room 10

14:30

See how easy it is to do IoT in the Cloud (with flying Drones)!
During this fun and entertaining session, you will learn about the building blocks needed for visualizing your real-time IoT data in the Cloud. Just for the fun of it, we’ll use a flying drone to get some real-time data! We’ll put up a full stack IoT foundation and demonstrate two-way communications with MQTT messaging, without forgetting social media. And everything is visualized with a beautiful monitoring web app. How does this all come together? Come and see, it will be fun and you’ll learn quite a few things along the way. Technologies used: Vaadin Framework for UI, IBM Bluemix for Cloud, Eclipse Paho for MQTT messaging.

Speakers
avatar for Ville Ingman

Ville Ingman

Ville Ingman is a JavaEE guy since year 2000. Joined the Vaadin team over 10 years ago and has concentrated since on Java based web application development. Currently working as a developer advocate for the Vaadin framework.


Thursday January 28, 2016 14:30 - 15:20
Kosmos - Room 06

14:30

Winning JavaEE back
People are stuck to JavaEE not because they love it, but because it was in their work place, it is still there and will be there long after they leave. While many engineers think about going reactive, functional (or any other fashionable buzzword), some are still struggling how to migrate weblogic9 to weblogic12 and move from Java not supported for past 8 years (like Java 1.4) to the one not supported only just for a year (Java7).

While their live can be miserable - there are means for them to win JavaEE back, have fun again. It still won't be a super duper modern framework, it won't have all the latest pre-summer goodies, won't be a sweet language (full of syntactic sugar candies), but a solid set of tools that can make development pleasure again (kind of).

In the modern JavaEE you are no logger limited to the 'standard' but you can take advantage of limitless set tools and libraries. For some people it will still be the bad and ugly JavaEE, "feels like Spring but n-years ago", "Spring wannabe in the poor's man land" - that's true. But if you can't win Them (and let's be honest - in most enterprise'ish environments you can't win Them), join them! And have you JavaEE the way You like it.

This presentation will walk through multiple libraries that can help you change your project from "This is The Standard Even If It Doesn't Fit" way to a something far more approachable, where your tools doesn't feel like the Maslow's Hammer. I'll be sharing some experience from multiple trainings, projects and refactorings of old-but-still-in-production JavaEE applications and tools we used to get away The Standard.

Speakers
avatar for Jakub Marchwicki

Jakub Marchwicki

Jakub has been around software development for past 10 years, wearing multiple hats, getting hands dirty in multiple environments, securing both technical as well as the business side of The Thing. “An engineer with a human friendly interface?”. Some languages, some frameworks, blah blah blah - doesn’t matter. Architect, programmer, manager, technical trainer, tech lead, wannabe entrepreneur, JUG member. There is a fair chance... Read More →


Thursday January 28, 2016 14:30 - 15:20
Kosmos - Room 02

15:40

Building Microservice Architectures
Inspired by success stories from companies such as Amazon and Netflix, many organizations are moving towards microservice architectures at a brisk pace. This style of architecture is important because it’s the first architecture to fully embrace the Continuous Delivery and DevOps revolutions. In this session, I cover the motivations for building a microservice architecture (including making the distinction between “regular SOA” and microservices), some considerations you must make before starting (such as transactions versus eventual consistency), how to determine service partition boundaries, and ten tips to dowse you towards success. I also discuss the role of polyglot development, enterprise governance, how data and databases fit into this new world, and tooling to help ensure consistency between core services like logging and monitoring. This session provides a thorough overview of the pros and cons for microservice architectures, when it is applicable, and some nascent best practices.

Speakers

Thursday January 28, 2016 15:40 - 16:30
Kosmos - Room 10

15:40

NoSQL doesn't mean 'No Schema' - Has data modeling changed if you are working with cassandra?
If you want to use Cassandra, picking the right data model is maybe the hardest decision. Because your performance scale's better when you add nodes to the cluster, if you have choosen the right model. If you are familiar with relational databases then CQL will look pretty easy. But the way you use it can be very different from things you already know. The goal of this session is to explain some of the basic rules you should focus on when designing your scheme for Apache Cassandra. With these hints, you’ll get pretty good performance just out of the box.

Speakers
avatar for Alexandra Klimova

Alexandra Klimova

Senior IT Consultant, codecentric AG
Alexandra has 10 years experience in both programing and operations. For the last 4 years she focuses on design and integration of Big Data Systems into enterprise platforms.  She is working on data processing pipelines, distributed systems,realtime processing and data science. Alexandra holds a degree in Computer Science from the Technical University Munich. She is certified Hortonworks Hadoop Trainer, Senior IT Consultant  at... Read More →
avatar for Dominique Rondé

Dominique Rondé

Senior IT Consultant, codecentric AG
Dominique Rondé is Senior IT-Consultant at codecentric and focused on big data technologies. He also enjoys the part of data analytics. As a real java nerd since 2002 he is familiar with the programming part, too. He enables the clients to work with Horto


Thursday January 28, 2016 15:40 - 16:30
Kosmos - Room 02

15:40

Orchestrating Docker Containers - An overview
Microservices can be packed with and shipped pretty easy in Docker containers.
The real challenge is when a large, distributed application has to be built up consisting of several containers which have to communicate with each other. The complexity of the infrastructure when these containers have to be deployed distributed across multiple servers is not to be underestimated.
To achieve this there are different approaches. From the self-made hackish networking way up to using one of the ‘runs out of the box, batteries included’ solutions there is a broad spectrum of possible setups.
In this session I’ll show you an overview of the current state of Docker Orchestration solutions and which of them are applicable for which project situation.

Speakers
avatar for Halil-Cem Gürsoy

Halil-Cem Gürsoy

Principal Architect, adesso AG
Dr. Halil Cem Gürsoy is a Principal Software Architect at adesso AG (http://www.adesso.de) in Dortmund. He focuses on distributed Java Enterprise applications (even he has wrote more productive Python and Go code then Java last year), preferably in "the cloud", and the challenges regarding the persistence in such applications and the build and deployment of them.


Thursday January 28, 2016 15:40 - 16:30
Kosmos - Room 06

16:50

10 Java Idioms Stomped with Xtend
Xtend is an emerging, object oriented language on the JVM that encourages functional programming and comes with state of the art IDE support for Eclipse *and* IntelliJ IDEA. This session is going to show how Xtend is applied in 10 practical use cases. We will focus on common Java idioms and the integration with popular Java APIs like Android, JavaFX and more.

You will see how literally any given Java library is even easier to be used and consumed from Xtend than from Java itself. That’s what we call Java-Interop! Xtend code is more concise and readable due to greatly improved signal to noise ratio. Even the simplest tasks become a breeze and powerful language features like the superior annotation processing infrastructure help to automate repetitive coding styles. At the same time all language features are carefully designed to leverage known Java concepts. Java developers get productive in a couple of hours. Xtend will not force you into an entirely new ecosystem but complements Java and allows to stick to all your beloved libraries and tools.

Speakers
avatar for Sven Efftinge

Sven Efftinge

Sven Efftinge is the founder of the Xtext project (xtext.org) and the Xtend programming language (xtend-lang.org). He has recently co-founded the start up TypeFox that is all about language engineering and delivers support services around Xtext and Xtend.


Thursday January 28, 2016 16:50 - 17:40
Kosmos - Room 06

16:50

Do you need to process more data?
Netflix, Twitter and Amazon have been on everyone's lips in the developer community for their challenges in handling huge data volumes. Non-IT companies like car manufacturers, energy providers or production industries weren't demanded with these requirements until the near past. In the last years they began to understand that  processing tons of measurement or production control data requires new technological approaches. And this even applies to companies who want to track and analyse user behaviour.
The session will provide a closer look to the architectural design challenges and solutions from several customer projects.

Speakers
avatar for Arne Limburg

Arne Limburg

Arne Limburg is Enterprise Architect at open knowledge GmbH in Oldenburg, Germany. He has years of experience as Developer, Architect and Coach in enterprise computing (Java EE and Spring Framework) and from the beginning in Android. He is a regularly spe


Thursday January 28, 2016 16:50 - 17:40
Kosmos - Room 02

16:50

Size does matter – How to cut (micro-) services correctly
The idea of cutting one’s application into minimal pieces – a.k.a. (micro-) sercives- which communicate with each other has some merit. Theoretically this sounds quite easy but it is actually a challenge.

The trick is to find the correct size for the  single services. But how can we cut the services correctly? How can we manage not to pick the business logic to pieces and lose sight of the whole entity? And what does the communication between the sercives look like?

Based on an experience report, this session shows how Domain Driven Design can help answering these – and even some more -  questions.

Speakers
avatar for Lars Roewekamp

Lars Roewekamp

CIO New Technologies, open knowledge GmbH
Lars Röwekamp is the founder and CEO of open knowledge GmbH and has been advising customers on international projects for more than ten years around the theme of enterprise and mobile computing. You can find him on Twitter at @mobileLarson.


Thursday January 28, 2016 16:50 - 17:40
Kosmos - Room 10
 
Friday, January 29
 

09:00

Higher order infrastructure: from Docker basics to cluster management
The container abstraction hit the collective developer mind with great force the past two years and created a space of innovation for the distribution, configuration and deployment of cloud based applications. Now that this new model has established itself, work is moving towards orchestration and coordination of loosely coupled network services. There is an explosion of tools in this arena at different degrees of stability but the momentum is huge. In this session we'll cover an overview of the orchestration landscape - Kubernetes, Mesos, etc. -, give an introduction to Docker's own orchestration tools - machine, swarm and compose - and show a (semi)live demo of how they work in practice.

Speakers
avatar for Nicola Paolucci

Nicola Paolucci

Nicola is an all-round hacker who loves exploring and teaching bleeding | edge technologies. He writes and talks about Docker, Git, development workflows and code collaboration. | | Prior to his current role as Developer Instigator at Atlassian he lead software teams, built crowd sourcing applications for geo-spacial data, worked on huge e-commerce deployments. | | Little known facts about Nicola: he gesticulates a lot while... Read More →


Friday January 29, 2016 09:00 - 09:50
Kosmos - Room 06

09:00

Tabular data analysis in Apache Spark using DataFrames
The concept of DataFrames, a convenient way to work with tabular data, has been around for a while, but it has been mostly used in the R-world. Recently, the DataFrames has been introduced to Apache Spark, substantially simplifying analysis of data tables for the Big Data world. The talk will show the benefits of using DataFrames in Apache Spark along with some practical informations on the topic. Moreover, the talk would be a brief introduction to using Apache Spark.

Speakers
JN

Jakub Nowacki

Jakub is University of Bristol graduate where he obtained PhD in Engineering Mathematics. On the daily basis he utilizes his analytical and development skill working in software development. He is mostly interested in distributed processing and analysis of big data sets. Jakub originally has C/C++ background but currently works mostly in JVM and Python world.


Friday January 29, 2016 09:00 - 09:50
Kosmos - Room 02

09:00

WebComponents & Polymer
Almost every application requires a web frontend nowadays. Up until now it was almost impossible to create reusable components for the Web in a reasonable way. In large applications, CSS rules and JavaScript variables would always get in their way. Luckily Web Components provide a solution by describing a standard to define custom components for the web.
With the help of many examples we will show how you can build your own components. We will explain underlying technologies like the Shadow DOM, template elements, and HTML imports and we will present Polymer, a library that makes the development of Web Components even simpler. This talk will give an overview of the current state of technology and a forecast of future development.

Speakers
avatar for Hendrik Ebbers

Hendrik Ebbers

Hendrik Ebbers is Java Architect at Canoo Engineering AG and lives in Dortmund, Germany. His main focus besides research and development is primarily in the areas of UI technologies, Middleware and DevOps. Additionally, Hendrik Ebbers is founder and leade
avatar for Michael Heinrichs

Michael Heinrichs

Michael is a user interface creator by passion. He is convinced: no matter which technology and which device, if it has a screen, one can build a truly amazing experience. And pure magic. | | Michael works at the Canoo Engineering AG as a software engineer on next generation user interfaces. Before that, he was responsible for performance optimizations in JavaFX Mobile at Sun Microsystems and later became the technical lead of... Read More →


Friday January 29, 2016 09:00 - 09:50
Kosmos - Room 10

10:10

Busy Java Developer's Guide to Scala: Basics
Scala is a new programming language incorporating the most important concepts of object-oriented and functional languages and running on top of the Java Virtual Machine as standard "dot-class" files. Sporting the usual object-oriented concepts as classes and inheritance, Scala also offers a number of powerful functional features, such as algebraic data types, immutable objects by default, pattern matching, closures, anonymous functions and currying, and more. Combined with some deep support for XML generation and consumption, Scala offers Java programmers an opportunity to write powerful programs with concise syntax for a new decade of Java programming. In this presentation, we begin by looking at the Scala type system and flow-control primitives, such as if/else, pattern-matching, tuples, lists, and more. Despite the name, "basics" in Scala can get the newcomer Scala developer quite some distance.

Speakers
avatar for Ted Neward

Ted Neward

Principal, Neward and Associates
"Ted Neward is an industry professional of twenty years' experience. He speaks at conferences all over the world and writes regularly for a variety of publications across the Java, .NET, and other ecosystems. He currently resides in the Pacific Northwest with his wife, two sons, dog, four cats, eight laptops, seven tablets, nine phones, and a rather large utility bill."


Friday January 29, 2016 10:10 - 11:00
Kosmos - Room 10

10:10

How to properly blame things for causing latency: An introduction to Distributed Tracing and Zipkin

Latency analysis is the act of blaming components for causing user perceptible delay. In today's world of microservices, this can be tricky as requests can fan out across polyglot components and even data-centers. In many cases, the root source of latency isn't a component, but rather a link between components.

This session will overview how to debug latency problems, using call graphs created by Zipkin. We'll use trace zipkin itself, setting up from scratch using docker. While we're at it, we'll discuss how the model works, and how to safely trace production. Finally, we'll overview the ecosystem, including tools to trace ruby, c#, java and spring boot apps. We'll wrap up with a look at simulation with Spigo and future works in Distributed Context Propagation.

When you leave, you'll at least know something about distributed tracing, and hopefully be on your way to blaming things for causing latency!


Speakers
AC

Adrian Cole

Adrian is an active member of cloud interoperability circles. He is the founder of a few popular open source projects, notably Apache jclouds and Netflix feign. Recently, he’s focused on distributed tracing, particularly in the OpenZipkin project. Adrian works at Pivotal in the Spring Cloud OSS team.


Friday January 29, 2016 10:10 - 11:00
Kosmos - Room 02

10:10

Vert.x - high performance polyglot application toolkit
Vert.x is very efficient high performance scalable toolkit. Based on event driven paradigm with eventbus allows you to build non blocking thread safe asynchronous applications. Vert.x is easily scalable that can handle very high load of concurrent connections. Due to non blocking IO efficiently uses server resources. It runs smoothly even on Raspberry Pi! That's awesome base for microsrvices and IoT solutions!

Another key feature of Vert.x is ability to use many programming languages in the same application. Vert.x supports Java, JavaScript, Ruby, Python, Groovy and others on the way. You can mix all of them in the same application using eventbus to communicate between pieces. Vert.x nicely handles concurrency so writing concurrent and yet thread safe code was never so easy.
In 2014 Vert.x won Jax Innovation Award in Most innovative Java Technology category. Current Vertx 3.0 was released at the end of July 2015 so it’s still very hot!

Speakers
avatar for Bartek Zdanowski

Bartek Zdanowski

Senior java developer, TouK
Bartek is a professional programmer since 11 years. Currently works as a senior java developer at TouK. During his work he creates clean and testable code. He takes care of good Team spirit and good relationship with company Clients. | Since 7 years he co-c


Friday January 29, 2016 10:10 - 11:00
Kosmos - Room 06

11:20

Advanced Akka features
Akka is a very interesting and powerful framework which can be used to build high performance applications. But what can you do with Akka?

In this session we will explain some of the more advanced topics such as Finite State Machines, Akka HTTP, remote actors, clustering, routing, sharding and persistence.

After this session you know what is possible with Akka and you can start using those features yourself.

Speakers
avatar for Johan Janssen

Johan Janssen

Architect, Info Support
Johan is working as a Java architect and competence center Java lead at Info Support. He has been working for various demanding companies where rapidly delivering quality software was very important. Currently he is working in a DevOps team in a big financial institution in The Netherlands as Java architect. He likes sharing his knowledge about Java, continuous delivery, DevOps, software quality and numerous other subjects. Johan regularly writes... Read More →
avatar for Martin Kanters

Martin Kanters

Software Engineer, Info Support b.v.
Martin is working as Java consultant at Info Support. He is working at a large financial institution where delivering high quality software is essential. Martin likes sharing his knowledge for instance at conferences like J-Fall. He also likes keeping himself up to date with the newest technologies. Currently he’s especially focusing on Scala and Akka.


Friday January 29, 2016 11:20 - 12:10
Kosmos - Room 10

11:20

Getting started with Asciidoctor
Writing documentation is often seen as no fun, but it does not have to be that way! Asciidoc is a member of the microformat markup languages family; like Markdown but with more pizzaz and power. Asciidoctor revolutionizes source doc processing in the JVM by leveraging well-known tools such as Maven and Gradle, you can even call it from the command line as is. Come learn why teams around the world are getting excited about Asciidoctor.

Speakers
avatar for Andres Almiray

Andres Almiray

Java/Groovy developer, Java Champion
Andres is a Java/Groovy developer and a Java Champion with more than 16 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. Andres is a true believer in open


Friday January 29, 2016 11:20 - 12:10
Kosmos - Room 02

11:20

Glue for the Internet of Things: A full IoT stack with sensors, actors and (mobile) clients
As IoT networks continue to grow, they are becoming increasingly heterogeneous. Different types of sensors, actors, user clients, and services driven by different programming platforms are gradually added to an existing installation. Also, installed components have to be replaced by improved solutions.
These kinds of environments need a communication protocol to handle the data flow. MQTT is an extremely lightweight publish/subscribe M2M/IoT connectivity protocol.

This session is about a complete MQTT-driven IoT stack with several sensors, remote-controlled switches, and different client platforms (desktop, embedded and mobile devices).
In the demo part, I will show an example of a seamless replacement of a Raspberry Pi-driven sensor host by a low-energy Microcontroller-based solution without any needs for code changes.

Session schedule:
- Introduction of the IoT network architecture and the involved components
- MQTT protocol stack in a nutshell
- Introducing MQTT.fx, a graphical tool for testing, simulating, and debugging MQTT communications
- Live demo

Speakers
avatar for Jens Deters

Jens Deters

Senior IT Consultant, codecentric AG
Jens Deters started with (home-) computing about 25 years ago. During the last 15 years he owned several roles in the IT & Telecommunication sector (Software Developer, Trainer, Consultant, Project Manager and Product Manager). His major passion is still developing software. Today he works as a Senior IT Consultant and at codecentric in Germany. He regularly blogs about his projects to contribute to the JavaFX- and IoT-Community... Read More →


Friday January 29, 2016 11:20 - 12:10
Kosmos - Room 06

13:10

Costs of the Cult of Expertise
Experts, senior developers, thought leaders – software development is obsessed with the idea of expertise. As individuals we aim to present ourselves as experts while companies fight to employ visible experts and present their brand as most knowledgeable. This talk will examine the costs of our expert obsession, looking at how individual performance, experimentation and diversity within the industry are impacted. We’ll look at practical ways to succeed in the expertise race alongside subtle, useful ways to subvert the dynamic.

Speakers
JR

Jessica Rose

DreamFactory
Jessica Rose is a self-taught technologists passionate about equal access to technical education and digital spaces. She's founded Open Code, co-founded Trans*Code and is always interested in hearing about new projects. American born and based in England, she loves to ask questions about the intersection of technology and human experience.


Friday January 29, 2016 13:10 - 14:00
Kosmos - Room 06

13:10

Is your profiler speaking the same language as you?
Profilers are absolute beasts. And profilers might prove useful to pinpoint the performance issues in your Java applications. By using profilers, developers are fortunate to find the root cause of an issue at hand. However, it requires effort to actually comprehend the data collected by the profiler. Due to the inherent complexity of the data, one has to understand how this data is collected. And thus understand how the profiler actually works. During this talk we will go through the classic profiler features. What is a hotspot? What is the difference between sampling and instrumentation from the profiler point of view? What are the problems with either of those methods? What is the time budget of the application? And more!

Speakers
avatar for Simon Maple

Simon Maple

Simon is the Head of Developer Advocacy at ZeroTurnaround and founder of the vJUG (virtualJUG), in addition to being an active member of the London Java Community (LJC) organising group and LJC JCP EC committee member. All of his community efforts culminated in him being awarded Java Champion status in 2014. Simon used to be a tester, developer and technical evangelist for IBM on the WebSphere Application Server for 12 years prior to joining... Read More →


Friday January 29, 2016 13:10 - 14:00
Kosmos - Room 02

13:10

Simple REST-APIs with Dropwizard and Swagger
In this talk I will show you an easy way to create well documented and implemented REST-APIs using the Dropwizard Library for the implementation and Swagger for easy Documentation.
I will show this on an example application maybe with some live coding.

Speakers
avatar for Bernd Schönbach

Bernd Schönbach

Software Developer, LeanIX GmbH
"A former student of computer science, which started in developing PHP-Applications with TYPO3 in the early millenial years. | Since early 2015 developer of microservices using Java for LeanIX a company which creates a tool with the same name used for the | management of enterprise IT architecture."


Friday January 29, 2016 13:10 - 14:00
Kosmos - Room 10

14:20

Caching for Business Applications: Best Practices and Gotchas
Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. Most of these caches are being promoted with examples from applications that have the luxury of having "eventual consistency" as a non-functional requirement. Most business / enterprise applications don't have that luxury. This talks aims at developers and architects that want to adopt a caching solution for their business application. I will present 15 caching patterns and best practices for these kinds of applications that address the typical questions being asked in that context. These questions might be: "what data can I cache?", "how to I handle consistency in a distributed environment?", "which cache provider to choose?" or "how do I integrate a cache provider in my application?".

This talk comes with many live demos, some of them are run on a distributed cache cluster on Raspberry Pis.

Speakers
avatar for Michael Plöd

Michael Plöd

Principal Consultant, innoQ
Michael works a a Principal Consultant for innoQ in Germany. He has over 10 years of practical consulting experience in software development and -architecture. His main areas of interest are currently Event Sourcing, Microservices and Polyglot Persistence.


Friday January 29, 2016 14:20 - 15:10
Kosmos - Room 10

14:20

Event Sourcing & Functional Programming - a pair made in heaven
TL;DR: Intro to core concepts of FP. Intro to core concepts of ES. Tons of fun with Scala code, while transforming OO-style ES application, to a purely FP one.

While reading blogs or attending conferences, you might have heard about Event Sourcing. But didn't you get this feeling, that while there is a lot of theory out there, it is really hard to see a hands-on example? And even if you find one, it’s always focusing on Object Oriented approach?
Greg Young once said "When we talk about Event Sourcing, current state is a left-fold of previous behaviours. Nothing new to Functional Programmers". Thus isn’t this natural to see emerging code examples of event sources systems written written functional way.

In this talk I will try to answer what Functional Programming really means (we will have to travel back in time to early 90s, 80s or even 30s!). Then I will introduce some more advanced concepts (like State monad). Then I will quickly introduce Event Sourcing: it’s origins, strengths and weaknesses.

Armoured with that knowledge we will try to transform sample ES application (OO-style, tightly coupled with framework) to frameworkless, FP-style solution.
Talk is targeted for beginner and intermediate audience. Examples are in Scala.

Speakers
avatar for Pawel Szulc

Pawel Szulc

FUNCTIONAL PROGRAMMER at SLAMDATA, SlamData
Pawel Szulc is primarily a programmer. Always was and always will be. Experienced professionally in JVM ecosystem, currently having tons of fun with Scala, Clojure and Haskell. By day working on (not that) BigData problems with Akka Stream & Apache Spark, by night hacking whatever he finds interesting at that given moment. Humble apprentice of Functional Programming. Runs a blog http://www.rabbitonweb.com


Friday January 29, 2016 14:20 - 15:10
Kosmos - Room 02

14:20

How to turn Openstack Swift into a production-grade multi-petabyte storage
Hardening Openstack Swift is hard. The author is self-assertive enough to call this talk a "success story". In this talk a story of how Servers.com, a service provider, managed to build a storage, capable of both storing huge amounts of backups, and serving dozens of gigabits of bandwidth via CDN simultaneously. The speech contains a detailed description of methods, improvements, workarounds and best practices invented, adopted and implemented by author's team.

Speakers
avatar for Nick Dvas

Nick Dvas

Nikolay (Nick) Dvas is a COO for Servers.com. He has been working in hosting industry since 2010, and joined XBT Holding - a mother company for Servers.com - in 2013. In XBT Holding Nick was first in charge of building a cloud platform. Currently, Nick is managing operations of Servers.com - latest venture by XBT, aimed to bring an enterprise-grade hosting to SMBs. | | Nick received his MSc in Mechanics in the St... Read More →


Friday January 29, 2016 14:20 - 15:10
Kosmos - Room 06

15:30

OrientDB - the 2nd generation of (MultiModel) NoSQL
In last years NoSQL experienced a huge upward trend, offering new data models (Document, Graph, Key-Value...) to solve problems where old RDBMS failed. Now people who have chosen NoSQL as an architecture component, realize that a single data model (even when richer that relational), is not enough for average needs. Today's next generation solutions scale horizontally and provide enterprise-grade availability and security whilst simplifying development through multiple APIs. Luigi Dell'Aquila, Director of Consulting at Orient Technologies Ltd (the company behind OrientDB, the first ever multi-model database), discusses the latest technology innovations and the market's demand for databases that combine more than one NoSQL model. In this lecture, we will discuss why graph databases are at the heart of the multi-model revolution and why we're approaching the end of NoSQL's fragmented ecosystem where customers are forced to use multiple tools in their architectures.

Speakers
avatar for Luigi Dell'Aquila

Luigi Dell'Aquila

Director of Consulting, OrientDB
Luigi is core developer and director of consulting at OrientDB LTD. He has been working in the IT field for more than ten years as a developer (mainly focused on Java and Open Source, also contributing to many OSS projects), consultant and trainer. Now he is mainly focused on graph query engine implementation, query planning and optimization. Over the years he has spoken at conferences like Devoxx, Mix-It, Codemotion.


Friday January 29, 2016 15:30 - 16:20
Kosmos - Room 02

15:30

Rise of the Machines - Automate Your Development
When we talk about automation in software development, we immediately think of automated builds and deployments.  We may also be using scripts to help make our daily work easier. But this is really just the beginning of the rise of the machines.
I show you how leading developers in our industry are using open source and commercial tools for automating much more. They've got "robots" for monitoring production servers, updating issues, supporting customers, reviewing code, setting up laptops, doing development reporting, conducting customer feedback -- even automating daily standups. In what instances is it useful to automate? In what cases does it not make sense? Automation prevents us from having to do the same thing twice, helps us to work better together, reduces workflow errors and frees up time to write production code.  Plus, as it turns out, spending time on automation is fun! Don't be afraid of robots in software development, embrace them!  Even if I save you just half an hour a week, this talk will be a beneficial investment of your time.

Speakers
avatar for Sven Peters

Sven Peters

EVANGELIST at ATLASSIAN, Atlassian
Sven is a software geek working as an Evangelist for Atlassian. He started with Java development in 1998 and has been programming for longer that he'd like to admit. Besides coding his passion is getting the right tools into the hands of those who need it.


Friday January 29, 2016 15:30 - 16:20
Kosmos - Room 10

15:30

What's new with Cassandra 2.2 and 3.0 ?
Abstract: Cassandra 2.2 has been released and Cassandra 3.0 is coming in the few weeks. In this talk we will highlight the most important changes that affect you as developer, operations as well as data modeler.

The talk will focus on the new User Define Function feature, the brand new Materialized Views to make de-normalizations easier and some deep dive into the storage engine rewrite

Speakers
avatar for DuyHai Doan

DuyHai Doan

Technical Advocate, Datastax
DuyHai Doan is an Apache Cassandra evangelist and Apache Zeppelin committer. He spends his time between technical presentations/meetups on Cassandra, coding on open source projects to support the community and helping all companies using Cassandra to make their project successful. He also gets an interest in all the eco-system around Cassandra (Spark, Zeppelin, ...). Previously he was working as a freelance Java/Cassandra consultant


Friday January 29, 2016 15:30 - 16:20
Kosmos - Room 06

16:40

Efficient HTTP applications on the JVM with Ratpack
Ratpack is a set of libraries for developing fast, efficient, evolvable and well tested HTTP applications written in Java 8 or any alternative JVM language that plays well with Java, such as Groovy.

The session will start with an introduction about Ratpack, and what makes it different from other popular frameworks like Grails or Vert.x, to name a few. Then, it will cover the fundamentals of the async programming model used in Ratpack applications, as well as other core concepts like handlers and the registry. Also, some of of the core modules ("plug-ins") will be described. Finally, it will cover how to test Ratpack applications using Groovy and Spock.

NOTE: I can also give a workshop version of this talk: http://alvarosanchez.github.io/ratpack-101/

Speakers
avatar for Alvaro Sanchez-Mariscal

Alvaro Sanchez-Mariscal

Software Engineer, Grails Development Team at OCI, OCI
Álvaro is a passionate software architect and agile enthusiast with over 14 years of experience. He started his career in 2001 coding in Perl and Java, but then quickly focused on Java EE, working for companies like IBM BCS, BEA Systems or Sun Microsystems. | | He created his own company, Salenda, in 2005, and since 2007 has specialised in Groovy/Grails, introducing them in Spain by founding Escuela de Groovy, the very first Grails... Read More →


Friday January 29, 2016 16:40 - 17:30
Kosmos - Room 06

16:40

Pragmatic Architecture
Ever wondered what a software architect is? Or what a software architecture is? Ever wondered what a software architect does? Even if you are one? In this session, we'll explore what software architecture is, what a software architect does, and why it seems nobody seems to "get" what software is like.

Speakers
avatar for Ted Neward

Ted Neward

Principal, Neward and Associates
"Ted Neward is an industry professional of twenty years' experience. He speaks at conferences all over the world and writes regularly for a variety of publications across the Java, .NET, and other ecosystems. He currently resides in the Pacific Northwest with his wife, two sons, dog, four cats, eight laptops, seven tablets, nine phones, and a rather large utility bill."


Friday January 29, 2016 16:40 - 17:30
Kosmos - Room 10

16:40

The myth of the qualified developer
There's a lot to master in any job, but software engineering takes this to a whole new level. A good developer has to enjoy learning, and of course we usually do this by making mistakes. But what level of knowledge divides a master from a mere competent beginner? How do we know when we've learned enough to do our job properly and consider ourselves fully qualified?

In this talk I'll help you to answer these questions by sharing the stories of my own greatest mistakes, and reveal how a lot of them ended up becoming my greatest opportunities. We'll explore what it means to fail (sometimes specatacularly) and most importantly, how to make the most of it. And remember - whether you think you know too much, or too little - you're wrong!

Speakers
avatar for Pete Smith

Pete Smith

Equal Experts
Pete is a software consultant and speaker based near London with almost 10 years of experience making web applications with ASP.net, specialising in API design and JavaScript browser-based applications. He's also a keen distributed systems enthusiast who enjoys helping clients solve their cloud-scale problems. | | He is the author of Superscribe - an open source routing framework - and HTTP query library Linq to Querystring among others... Read More →


Friday January 29, 2016 16:40 - 17:30
Kosmos - Room 02