Loading…

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

Monday, March 12
 

09:00

A Crystal Ball to Prioritize Technical Debt
Most organizations find it hard to prioritize and repay their technical debt. The main reason is due to the scale of modern systems with million lines of code and multiple development teams; No one has a holistic overview. So what if we could mine the collective intelligence of all contributing programmers and start to make decisions based on data from how the organization actually works with the code? This session introduces one such approach with the potential to change how we view software systems.

In this session you'll get an introduction to techniques that help us uncover both problematic code as well as the social dimension of the teams that build your software. The techniques are based on software evolution and findings from various fields within psychology. This combination lets you prioritize the parts of your system that benefit the most from improvements, detect organizational issues and make practical decisions guided by data. Each point is illustrated with a case study from a real-world codebase. This is a new perspective on software development that will change how you work with code.


Speakers

Monday March 12, 2018 09:00 - 10:00
Room 7

10:20

Back to the CompletableFuture: Concurrency in Action
Starting Java 8, the main focus of many developers was on Functional Programming in Java including Streams, Optional, and Functional Interfaces. However, there were more amazing features introduced along the way which has changed Java programming. One of such features was CompletableFuture which is continuously being improved in Java 9 (JEP 266). As Concurrency in Java is generally a complicated topic where many had a difficult time switching to ThreadLocal from regular Threads, the idea of Future and CompletableFuture which refers to asynchronous computations is even more difficult. In this talk, the speaker will attempt to make asynchronous programming using Java 8/9 more compelling by approaching the topic with clear examples and references to other languages. One example of a language heavily relying on asynchronous tasks is JavaScript. Using some of the conceptual similarities of two languages in regards to asynchronous programming, this talk will cover how Future/CompletableFuture can be used in a safe and a programmer friendly way. As mentioned in this abstract, this talk will include enhancements made to concurrency in Java 9 as a part of JEP 266.

Speakers
avatar for Dmitry Vinnik

Dmitry Vinnik

Lead Software Engineer/Scrum Master at Salesforce (Canada)
Dmitry Vinnik is a Lead Software Engineer at Salesforce and has been passionate about Software Quality since the very beginning of his career. He started out as a Quality Engineer, and was able to bring test expertise into his current Software Engineering role to ensure delivery of... Read More →


Monday March 12, 2018 10:20 - 11:10
Room 9

10:20

Real Impact Testing Analysis for JVM Developers
Test Impact Analysis (TIA) is a modern way of speeding up the test automation phase of a build. It works by analyzing the call-graph of the source code to work out which tests should be run after a change to production code. Microsoft has done some extensive work on this approach, but it’s also possible for development teams to implement something useful quite cheaply.
Tools for TIA are especially useful for mono-repos: a common practice in big companies (e.g Google or Microsoft) that consist of storing all the private project dependencies as part of the same Git repository.
In this session, we will learn how to build an open source tool such as junit4git (https://github.com/rpau/junit4git) using JUnit extensions that ignore those tests that are not related with your last changes in your Git repository.

Speakers
avatar for Raquel Pau

Raquel Pau

Senior Software Engineer, Schibsted
I have almost 10 years of experience programming in Java. I have also a long experience in big data and recommendation systems. Currently, I am software engineer at Schibsted and the project leader of Walkmod, an open source tool to apply Java code conventions.


Monday March 12, 2018 10:20 - 11:10
Room 8

10:20

What monolith can learn from microservices?
Nowadays everyone is talking about microservices and how cool they are. That’s true, but not all business needs to move to microservices, you can still use monolith architecture and make it more fashion by applying some of the design/elements that you’ve learned from microservices architecture.
Can you use circuit breaker pattern, service isolation, event-driven and non-blocking application, cloud-native approach or zero downtime deployment in monolith architecture? Is it worth? The answer is YES!!!.
Come to this session to learn how to make your Java monolith applications attractive again by borrowing some of the principles of microservices architecture.

Speakers
avatar for Alex Soto

Alex Soto

Alex is a software engineer at Red Hat. He is a passionate of Java world, software automation and he believes in the open source software model. Alex is the creator of NoSQLUnit project and team member of Arquillian, Asciidoctor and Apache TomEE projects. He is a member of JSR374... Read More →


Monday March 12, 2018 10:20 - 11:10
Room 7

11:30

Developing for Mixed Reality with HoloLens
Mixed Reality is not only thrilling for end users but also uncovers all new world of challenges and excitement for developers. Tools and libraries for holographic programming provided by Microsoft are intended to accelerate the process, especially for developers that haven’t been involved in 3D programming before. Visual Studio and Unity3D Editor enhanced with HoloLens emulator, and HoloToolkit form a powerful yet friendly environment for holographic development. Let’s explore them on stage and learn how basic development workflow looks like. Also, we’ll make use of HoloToolkit’s scripts and components to put together a simple app that will bring some holograms around us to life!

Speakers
avatar for Rafal Legiedz

Rafal Legiedz

Software Engineer, Solidbrain
Rafał works as a software engineer for Solidbrain. Being in the industry since 2007 he develops his passion for the software at every possible moment. He believes that being pragmatic in our field is very helpful and proves that by switching technologies he uses whenever there is... Read More →


Monday March 12, 2018 11:30 - 12:20
Room 9

11:30

Kotlin EE: Boost your Productivity
Kotlin is a language for the JVM, invented by JetBrains a few years ago. But what the hell is Kotlin EE? If you never heard of Kotlin EE, don’t panic, it does not exist. But you can use it right away and boost your productivity!
I invented the term Kotlin EE as a synonym for using the Kotlin language together with the Java EE API to create services of any size (microservices, nanoservices etc.) with just a few lines of code and the ability to focus on the business logic.
Kotlin and Java EE are a perfect couple for writing micro- or nanoservices. Kotlin is a very pragmatic language, builds on many concepts and techniques from Java, designed for developer productivity. Kotlin works great with all existing Java libraries and frameworks and runs with the same level of performance as Java.
The Java EE API allows us to code against a proven and stable API. Provided libraries like JAX-RS for writing RESTful APIs and Jackson for JSON (de)serializing decrease the need for additional third-party libraries which results in a short build time and a small artifact size. Benefit from a very fast build and test feedback and stay focused on your code.
In this talk, I try to prove my statements from above. Live on stage I write a service in Kotlin with a RESTful JSON API with only a few lines of code and run the service using a local Docker cloud where you can see how these can be scaled up and down to manage fluctuating loads. Coding, building, testing, deploying, scaling: fast and efficient!

Speakers
avatar for Marcus Fihlon

Marcus Fihlon

Agile Coach and Software Engineer, CSS Insurance
Marcus Fihlon is an Agile Coach and Software Engineer at CSS Insurance in Lucerne. He also lectures at TEKO Swiss Technical College in Olten and is a speaker at conferences and user groups. He has been developing software for more than three decades and has worked with Java since... Read More →


Monday March 12, 2018 11:30 - 12:20
Room 7

11:30

Modern SQL: A lot has changed since SQL-92
As a matter of fact, most textbooks, websites, and even universities teach SQL as it was 25 years ago (SQL-92). In the meantime, SQL evolved into a more modern data processing language that is not limited to relational algebra anymore. Although many databases support more modern SQL for years, hardly any developer knows how the new features can be used to solve common problems. This session is, therefore, not limited to explaining SQL features but also compares the SQL-92 solution to common problems to the more modern solution to make the benefit directly visible. Finally, the session also shows how long these features are supported by various databases so that you immediately know whether the shown solution works in your environment or not.

Speakers
avatar for Markus Winand

Markus Winand

SQL Evangelist, winand.at
I'm interesting in all things databases. Not just—but mostly—SQL.


Monday March 12, 2018 11:30 - 12:20
Room 8

13:20

Moving to G1GC - An Experience Report
With the release of Java 9, our beloved mostly CMS collector was depreciated and G1GC replaced the Parallel collector as the default. The hype surrounding this massive change that the G1GC is the best collector… ever. Make no mistake about it, G1GC will be much much easier to tune. So, is this real or is it #fakenews. In this session we will explore the reality by looking experiences moving applications from CMS to G1GC in real production environments. The implications aren’t simply about performance. A sub-optimally tuned collector will increase your companies operating cost by 10-20%. We will also explore results from benchmarks that expose potential pain points. and offer some suggestions on what actions can offer some relief.

Speakers

Monday March 12, 2018 13:20 - 14:10
Room 7

13:20

Serverless, the Future of the Cloud?!
Are you still using Docker in production? Get over it! Serverless is the NEW future of the Cloud. But since the Cloud is still someone else’s computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, a new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud.
This talk explores Serverless, its impact on existing architectures, and assesses it’s usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in the cloud. Internet connectivity permitting, there will be demos too.

Speakers

Monday March 12, 2018 13:20 - 14:10
Room 9

13:20

Sitting Considered Deadly
I assume your well-being is quite important to you. Then, do you do anything to take care of your health? Maybe you go for a run regularly or visit a gym? Practice yoga? Play squash? The thing is, it does not matter as much as you might think it does. Even if you exercise in leisure time on a regular basis, you spend most of your workday on your buttocks and that, as it turns out, is very unhealthy.
There is now 3 decades worth of research linking sedentary lifestyle to myriad health problems. What is even worse, you can not completely mitigate the risks by just exercising because prolonged sitting still wreaks havoc in your body.
So is there anything we can do about it? The solution is actually quite simple and yet very difficult to implement due to a combination of factors like our cultural upbringing, psychosocial barriers as well as all the technological advancements of the last century that cater to our lazy human nature and render us immobile.
In this talk, I can only show you the first step to getting out of your chair. You are the one that has to take it. Nevertheless, I believe that by uniting the IT industry around an idea, that I will tell you about, we will be able to stand it up and fight for our health.

Speakers
avatar for Marek Stój

Marek Stój

Marek is an experienced software developer. During his professional career spanning more than 10 years, he worked with technologies like .NET, C#, Android, Java, Big Data or Scala. Marek is simply a computer geek, specifically fascinated by the ever-growing influence of theoretical... Read More →


Monday March 12, 2018 13:20 - 14:10
Room 8

14:30

Blue-green Deployments, A/B Testing, and Canary Releases on Kubernetes
Kubernetes becoming the de facto standard for container orchestration the attendees will learn the simplest way to start a Kubernetes cluster, how they can set up a Continuous Delivery pipeline not only to build and test their cloud native applications but also how to deploy them in a controlled and predictable way. We will present in detail how to implement Blue-green Deployments, A/B Testing, and Canary Releases on Kubernetes.

Speakers
avatar for Peter Palaga

Peter Palaga

Red Hat
Peter Palaga is senior sustaining engineer for JBoss Fuse at Red Hat. Earlier, he worked on JBoss EAP, Hawkular and other Red Hat Middleware projects. The author of srcdeps and contributor to several Maven and Gradle plugins.


Monday March 12, 2018 14:30 - 15:20
Room 8

14:30

Patience pays off. How long running services reduce complexity
“Let’s throw an error” - developers are often quick with this decision as it makes life easier in that moment. But dumping failures to clients noticeable increases the overall system complexity. “Please try again in a few minutes”. Introducing long running behavior can drastically improve this situation. We will look at multiple interesting patterns of long running behavior in this talk. Services could for example react immediately but switch to asynchronous responses with persistent state when leaving the happy case. This allows to take seconds, minutes or even weeks to sort out failures which can involve waiting for services to become available or humans to intervene. Doing so, even if only for the failure case, makes everybody’s life easier. In this talk we want to iterate over various patterns by showing concrete examples. We will also give hints on proper implementations using hands-on source code examples.

Speakers
avatar for Bernd Rücker

Bernd Rücker

Developer Advocate, Camunda
I started developing Java more than 15 years ago, when the world was still 3-tiered using ACID-Transactions. In my consulting coureer I coached countless real-life software projects. I helped many many customers to implement business logic centered around long running processes, like... Read More →


Monday March 12, 2018 14:30 - 15:20
Room 9

14:30

Real Life Hacking Stories
This isn’t a dry security talk where I explain how an XSS attack works with a “fake” intentionally vulnerable app. This is about real hacks from real life. This is the Japanese horror movie of security talks, my aim is to wake you up with hacking horror stories that inspire you to go away and learn more.

Speakers
avatar for Asim Hussain

Asim Hussain

Cloud Developer Advocate, Microsoft
I'm a developer, trainer, author and speaker with over 16 years experience working for organisations such as the European Space Agency, Google and now Microsoft, where I am a Senior Cloud Developer Advocate.


Monday March 12, 2018 14:30 - 15:20
Room 7

15:40

Advanced Pipelines for Hypothesis-Driven Development: Smart Routers, Feature Toggles, and Service Mesh
We automated our deployment pipelines. We do blue/green and canary deployments. Now we need the next step to reach another level of software releases. Now we want to test our business hypothesis. Two different approaches outstand in this area: smart routers and feature toggles. We’ll have it covered.
Come to this session to see lots of demos and deployments with smart routers and feature toggles to check how effective A/B testing can be achieved. Of course A/B testing is nothing without monitoring, so we’ll a monitoring platform setup and integrated for everything! You may be thinking about A/B, but after this session we’ll get you from A to Z.

Speakers
avatar for Edson Yanaga

Edson Yanaga

Director of Developer Experience, Red Hat
Edson Yanaga, Red Hat's Director of Developer Experience, is a Java Champion and a Microsoft MVP. He is also a published author and a frequent speaker at international conferences, discussing Java, Microservices, Cloud Computing, DevOps, and Software Craftsmanship. Yanaga considers... Read More →


Monday March 12, 2018 15:40 - 16:30
Room 7

15:40

Is there anybody out there?
Modern applications are faced with the expectation of being always up. As a result, an increasing amount of businesses are transitioning to modern architectures such as the one of reactive microservice-based systems. As compelling as this sounds, this also means to embrace distribution so as to ensure fault-tolerance and scalability. This also means embracing the uncertainty and nondeterminism that comes with building networked applications: changes in link quality, network partitions and outages of individual nodes are scenarios that need to be addressed first-hand when designing such systems.
In this talk you will learn about the fundamental mechanisms that clustered systems need in order to operate in this uncertain world, such as failure detection, gossip-based cluster state propagation, split brain resolution and convergent replicated data types (CRDTs). We will look at these mechanisms in the context of Akka Cluster.
By the end of this talk you should have a solid understanding of the trade-offs that need to be made when building clustered applications. You will also get the sense that a networked application is not just one application, but the cooperation between individual processes that need to probe for each other’s availability and decide what to do when one or more of them are maybe unavailable all while not being able to talk with one another.

Speakers
avatar for Manuel Bernhardt

Manuel Bernhardt

Reactive and Distributed Systems Consultant, manuel.bernhardt.io
Manuel Bernhardt is a passionate engineer, author, speaker and consultant who has a keen interest in the science of building and operating networked applications that run smoothly despite their distributed nature. Since 2008, he has guided and trained enterprise teams on the transformation... Read More →


Monday March 12, 2018 15:40 - 16:30
Room 9

15:40

Learning to fall
When people talk about advantages of micro-services, easy scaling and resilience come up frequently. What they don’t usually tell you, is that robustness does not come for free. If you don’t put extra effort into gracefully failing when one of your dependencies is down, microservices will only make your system even more brittle.
I will tell you the story of how we learned to build resilient micro-services even if they depend on other micro-services with a weaker SLA. It was probably the most crucial part of our journey from an unreliable monolith to a robust set of microservices. First I’ll talk about the bad practices to set the stage for the motivation behind the good practices, finally, I introduce a number of useful patterns.

Speakers
avatar for Rafael Ordog

Rafael Ordog

Team lead, Emarsys / Lean Poker
Rafael is a Lead Developer at Budapest-based Emarsys and a frequent speaker at conferences around Europe. As a founding member of Emarsys CraftLab - the dedicated coaching team of Emarsys - he has taught university courses, talked at numerous conferences and visited multiple companies... Read More →


Monday March 12, 2018 15:40 - 16:30
Room 8

16:50

Bank to the Future: Bitcoin meets Hadoop
We’ve long assumed that in order to move money from one account to another reliably that we need to employ transactions to wrap the debit from one account and the credit to another. The blockchain has challenged this thinking, recording all transactions on a ledger in an append only manner. Let’s take the ideas of bitcoin but apply them with the original append only king Hadoop to build a bank that can scale its processing to millions of transactions per second and can store petabytes of data. And for good measure we’ll look at Apache Kafka, the Hadoop Distributed File System, Spark and Accumulo along the way.

Speakers
avatar for Daniel Cook

Daniel Cook

Big Data Architect, Bitcat Software
Dan is an independent Big Data Technical Architect. He has led the development of the UK Hydrographic Office’s Hadoop-as-a-Service offering and built software streaming frameworks long before the rise of Apache Spark and Storm.  More recently he helped build a real time alerting... Read More →


Monday March 12, 2018 16:50 - 17:40
Room 8

16:50

Graal: How to use the new JVM JIT compiler in real life
With JEP 317: Experimental Java-Based JIT Compiler it is very likely that Graal will be part of JDK 10. In fact, Graal is already available in JDK 9 due to JEP 243: Java-Level JVM Compiler Interface. Graal is itself written in Java and that brings some new properties and behavior to the table which we haven’t seen with existing HotSpot JIT compilers. This talk will show how to use Graal with JDK 9, how to compile an upstream Graal version and what to look out for when using it for benchmarking or even in production.

Speakers

Monday March 12, 2018 16:50 - 17:40
Room 9

16:50

The quantum computers are coming
Many people may not know it, but we live in a time where the first quantum computers have been created - and they’re pretty damn cool. Why? Because while regular bits are limited to only two boring values, QBITs can take near infinite values and operate singularly or in harmony with each other. This outstanding property gives rise to a new kind of algorithms (and a lot of fun!). Follow me on a journey from Zuses Z3 computer and Schrödingers cat to supercooled quantum processors and parallel universes - no PhD in physics required.

Speakers
avatar for Alasdair Collinson

Alasdair Collinson

Senior Developer, Senacor Technologies AG
A professional software developer by day, a nerd... Well, all the time, really. I love programming, I also love talking and thinking about programming. I'm fascinated by the culture surrounding programming and I immerse myself in that culture. And I like sharing what I have learned. I've... Read More →


Monday March 12, 2018 16:50 - 17:40
Room 7

17:40

Meet&Greet
Monday March 12, 2018 17:40 - 20:00
Room 7
 
Tuesday, March 13
 

09:00

Embracing Database Diversity with Kafka and Debezium
There was a time not long ago when we used relational databases for everything. Even if the data wasn’t particularly relational, we shoehorned it into relational tables, often because that was the only database we had. Thank god these dark times are over and now we have many different kinds of NoSQL databases: Document, realtime, graph, column, but that does not solve the problem that the same data might be a graph from one perspective, but a collection of documents from another.
It would be really nice if we can access that same data in many different ways, depending on the context of what we want to achieve in our current task.
As software architects this is not easy to solve but definitely possible: We can design an architecture using Event Sourcing: Capture the data with Debezium, post it to a Kafka queue, use Kafka Streams to model the data the way we like, and store the data in various different data sources, so we can synchronize data between data sources.
But can we retrofit this on a more than a decade old application without downtime? Turns out you can.
At Dexels we upgraded our 14-year old Sportlink application (based on Java and Oracle) to include MongoDb and Neo4j, to face our increasing user base. After a hectic summer and some long nights we can now easily use all the hipster data stores we like.

Speakers

Tuesday March 13, 2018 09:00 - 09:50
Room 9

09:00

Fallacies of Doom - Lessons learned from porting Doom 3 to Java
So everybody knows the Doom games, right? Every new installment brought brand new ideas, and groundbreaking graphics. But more importantly, they brought the source code of the prior installment to the eye of the public.
Naturally people have played and hacked the code to oblivion, as much as they played the games themselves. And I have the honor to be one of those people.
I (naively) endeavored to port the Doom 3 C++ code to our fantabulous Java. In doing so, I hoped to learn, among other things, more about 3D graphics. …what I didn’t expect though, was for djoom3(cool name huh!) to teach me more about Java!?
Aside from the basic game development intro, this talk focuses on the following: - Some areas where Java should learn from it’s nemesis, C++ - Other areas where the student(Java) becomes the master(C++) - And some promises that were made, but never kept

Speakers
avatar for Mahmoud Abdelghany

Mahmoud Abdelghany

Certified Goat Engineer, Blue4IT


Tuesday March 13, 2018 09:00 - 09:50
Room 7

09:00

Fn Project – an open source container native serverless platform
Serverless computing and FaaS (Function as a Service) are the new blacks! They radically change how software is organized, deployed, and charged for, and is in the process of further disrupting the still-evolving world of cloud computing.

This talk will present Fn project (http://fnproject.io), a new open source project, which features a code-first approach to building polyglot sophisticated applications on top of FaaS. We will discuss Fn Flow, a CompletionStage like API, used to compose multiple functions into meaningful applications. No flow-charts, no exoteric stuff, just plain readable and testable (Java) code! And although FN project is polyglot, this session will focus mostly on the Java side of it.

Speakers
avatar for David Delabassee

David Delabassee

Oracle
David Delabassée is a Software Evangelist working for Oracle. David is focusing on Server-side Java… from Java EE to Serverless. David is a seasoned speaker and has spoken at numerous conferences and JUGs across the globe. Prior to Oracle, he spent a decade at Sun Microsystems... Read More →


Tuesday March 13, 2018 09:00 - 09:50
Room 8

10:10

10 things developers need to know about web application security
Security is an important topic for developers however security is often an afterthought in a project. This presentation will focus on practices which developers need to be aware of, and make security fun again. This is an in depth talk about 10 topics not an overview for security best practices.

Speakers
avatar for Nanne Baars

Nanne Baars

Software Developer, Xebia
Nanne is a security software developer at Xebia with a focus on Java development and one of the projects leads for the OWASP WebGoat project.


Tuesday March 13, 2018 10:10 - 11:00
Room 8

10:10

Building a Spring Boot 2 application: Ask the Audience!
Spring Boot makes it easy to create stand-alone Spring-based applications that you can ‘just run’. It uses a ‘convention over configuration’ approach to get you up and running in no-time. And with the release of Spring Boot 2 in February 2018 all Spring 5.0 features will be available for Spring Boot users, as well as Kotlin support. In this session I will demonstrate this by live-coding a Spring Boot 2 application that will ‘just work’.
But audience beware, this is not your standard ‘live-coding session’. Attendees will have a vital say in the session’s content by defining the application’s requirements. Do you want a simple task planner? Or track your favourite movies? It’s up to you! Should it use MongoDB or JPA? You decide! Built with Java or Kotlin? I don’t care! Do you want an Angular front-end with a RESTful back-end or do you prefer a classic web app with Thymeleaf templates? It’s your call! Seriously.
During the session you get to make these decisions by participating in an online vote. And you will discover that Spring Boot is up to the task no matter what choices you make.
So what are you waiting for? Bring your own device, help shape the application that we’re building and learn lots about Spring Boot in the process.
This session is intended for Java software engineers with an interest in Spring Boot. Some Spring experience could come in handy, but is not strictly necessary. After this session, you will know enough to start your own Spring Boot project.

Speakers

Tuesday March 13, 2018 10:10 - 11:00
Room 7

10:10

Machine Learning without the Hype
In particular we take a look at:
  • What is artificial intelligence, machine learning, and deep learning mean in general?
  • When is a rule-based approach the right solution and when do you need machine learning?
  • What does machine learning mean for time-series data?
  • What is the difference between supervised and unsupervised learning in this area?
  • What could an example with an actual dataset look like?

Speakers
avatar for PHILIPP KRENN

PHILIPP KRENN

Developer advocate, Elastic
Philipp is part of the infrastructure team and a developer advocate at Elastic. He is frequently talking about full-text search, databases, operations, and security. Additionally, he is organizing multiple meetups in Vienna.


Tuesday March 13, 2018 10:10 - 11:00
Room 9

11:20

Let's type - A practical introduction to TypeScript for Java Developers
In the recent releases of JavaScript/ECMAScript a lot of features have been added, that make working with the language way more easy and comfortable than before. But there is still no type system and as we know from developing our Java applications. A type system that would help us avoiding bugs while writing code or that would allow us to safely refactor our code.
Luckily there’s a solution: TypeScript, a language based on JavaScript, that adds a very powerful type system to JavaScript. In this talk I will show you the concepts and syntax of TypeScript with a lot of code examples, so you can see how good or bad the type system is (compared to Java). I will also show you the current state of IDE support, debugging possibilities or migration strategies for existing code , so that you get an impression how it feels to develop with TypeScript and that you can make a decision, whether TypeScript could be useful for your projects.

Speakers
avatar for Nils Hartmann

Nils Hartmann

Software Developer and -architect
My current focus is on single-page-apps built with React and TypeScript. Contact me if you like to talk and discuss about modern frontend (architectures) or React/TypeScript in general.


Tuesday March 13, 2018 11:20 - 12:10
Room 8

11:20

Microservices are not worth the trouble?
In technology we don’t always stop to understand the pros and cons of each big new thing.
There is a minimum level of complexity inherent in every system before we write a line of code. By using microservices we cannot reduce this minimum complexity, we can only move it around. Are we happy to accept that we might achieve reduced complexity in components for increased complexity in orchestration?
I’ve worked on three large microservices projects in the past 18 months which have all had different approaches to orchestration. In certain cases the outcomes enabled by a microservices architecture were swamped by the complexity of orchestration of both the runtimes and the paths to production. In addition to added complexity many developers find it very difficult to reason with flows that rely on asynchronous messaging.
So are microservices really worth the trouble? They can deliver some great outcomes but it is important to understand the costs that these outcomes carry and the skills that you’ll need in your development teams to make them worthwhile. I will explain the key tradeoffs that need to be understood before you jump off the microservices cliff.

Speakers
avatar for James Birnie

James Birnie

Lead, ThoughtWorks
I’ve been working on commercial software since the late 1990s. Back then TDD was something you studied but never did, pipelines were something that carried oil and agile and lean were words used to describe gymnasts. In 2006 I joined a startup and worked there for 9 years which... Read More →


Tuesday March 13, 2018 11:20 - 12:10
Room 7

11:20

Real-world Serverless - Going Lambda without being burned too much
In this talk we will look at different scenarios and approaches to building and designing complex Serverless applications on AWS beyond your basic “Hello World” and operations-log-file-glue.
We will cover architectures and patterns that help in adopting Serverless, for example how to design your landscape without getting lost in event-driven-chaos.
Covering the whole development process, we will look at real world problems like testing, debugging, monitoring and securing your Serverless applications. use some of the essential tools that make working with AWS Lambda easier, such as SAM.
Finally, we will discuss the drawbacks and misconceptions, like potential vendor lock-in and the illusion of NoOps.

Speakers
avatar for David Schmitz

David Schmitz

Principal Architect, Senacor Technologies
Pricinpal architect at Senacor Technologies with a history of + 13 years of working in various projects using a bunch of different stacks and environments. Current focus is on migrating architectures and organizations, such that our customers can cope with the challenges of the digital... Read More →


Tuesday March 13, 2018 11:20 - 12:10
Room 9

13:10

High-Performance event-sourced clustered Microservices with Play! & Akka
In this session we’ll take a look on how you can create event sourced Microservices with the Play!Framework and Akka.

We’ll take a look on
  • how to structure your Play! projects for maximum developer productivity,
  • how to do event sourcing with Akka and
  • how to best integrate the two together
  • how to cluster your microservices and
  • how to optimise your application for best performance using CQRS and different read-sides tailored to the use-case at hand.

 


Speakers
avatar for Dominik Dorn

Dominik Dorn

Owner, Dominik Dorn IT-Solutions


Tuesday March 13, 2018 13:10 - 14:00
Room 7

13:10

Java 9 security enhancements in practice
Apart from cool new features like the Java module system, a new process API and a brand new Java shell Java 9 also brings a lot of cool new security enhancements. These include DTLS (Datagram Transport Layer Security), extensions to the TLS negotiation, OCSP stapling stores and others. These may sound a bit specific at first and one may ask: what are their practical applications ? In this session we will demonstrate all those new features in a series of examples with some gory details.

Speakers

Tuesday March 13, 2018 13:10 - 14:00
Room 9

13:10

Progressive Web Apps: Your web app on steroids
Does it make sense today to develop the same mobile application as many times as there are devices?
We were not supposed to stop repeat ourselves?
Progressive Web Apps are the combination of web, plus the experience of native apps. You start from a tab in your browser and you finish with an icon on your home page… with no installation! As a native app, PWA brings other benefits such as sending push notifications, data-synchronization in background… also loading your application instantly, regardless of the network state (thanks to the service worker). During this session, we will see what are services worker and the 10 Commandments of a Progressive Web App. The debate between web and native is not ready to stop!

Speakers

Tuesday March 13, 2018 13:10 - 14:00
Room 8

14:20

Flux: A modern way of doing MVC?
Coming from the enterprise world, with frameworks like JSF, Spring MVC, Asp.net MVC or the like, working for the first time with React and Redux was really stunning for us. It felt like a completely new and better way of building UIs and lots of people we talked to experienced something similar. However, the more you become familiar with these libraries and upon taking a closer look, you realize that what they do is not that new actually.
We will go back to the origins and goals of the legendary MVC pattern which was first introduced in Smalltalk-76. Given this knowledge, the differences to alternatives like MVP or MVVM are pointed out, and similarities to more recent approaches like FLUX become quite obvious. By exploring the main ideas behind these concepts, the consequences of uni-directional and bi-directional dataflows or the relation between transient state, pure transformations and a single source of truth become reasonable.
Upon a closer look, it becomes clear that these concepts for managing UI state are not limited to a specific kind of technology or framework. Rather, they are suited for different kinds of problems. In a nutshell, state management in complex applications can be a tedious task, but this talk will increase your ability to use the right tool for the job.

Speakers
avatar for Thomas Eizinger

Thomas Eizinger

Passionate developer who's mainly doing Java & JS. I love desiging and builing APIs that utilize the power of REST and hypermedia. I am also interested in all sorts of architecture-topics and code design.
avatar for David Leitner

David Leitner

Enthusiastic Software Professional, Senacor
Enthusiastic Software Professional from Vienna. Working as a Technical Expert at Senacor in various projects using a bunch of different stacks and environments. I don't sleep too much, do open source and prefer keeping my code simple and small instead of clever and edgy. Sharing my... Read More →


Tuesday March 13, 2018 14:20 - 15:10
Room 8

14:20

Spring Framework 5.0 on JDK 8 & 9
Spring Framework 5.0 is the first generation of the core framework explicitly targeting JDK 8 as well as JDK 9, fully embracing Java 8 at all levels and allowing a smooth early-adopter upgrade to Java 9. This talk illustrates the benefits of a JDK 8 baseline and the general compatibility challenges for frameworks on JDK 9, with lessons learned from Spring Framework 5.0’s development. It provides concrete advice for upgrading Spring applications to JDK 9, on the classpath as well as on the module path (Jigsaw), highlighting the benefits and the tradeoffs involved.

Speakers
avatar for Juergen Hoeller

Juergen Hoeller

Co-founder of Spring Framework, Pivotal
Juergen Hoeller is a 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... Read More →


Tuesday March 13, 2018 14:20 - 15:10
Room 7

15:30

It's All About Morphisms
A gentle introduction to Category Theory for programmers used to OOP but interested in Functional Programming. No Haskell knowledge required. We will explain main concepts behind functional programming with many diagrams and simple metaphors and examples. Some code will clarify how to translate these ideas in programs. We will explain why Monoids and Monads are “mono”? What is the difference between a function and a functor? And what is a Category anyway? We believe that understanding the foundations of categories can help anyone to improve their programming skills. Finally we will look at some different possible strategies to apply these concept to real world programming and comparing them to classical OOP approach.
Examples in Java and Kotlin with Vavr and Kategory libraries.

Speakers

Tuesday March 13, 2018 15:30 - 16:20
Room 7
 


Twitter Feed