How well do you know the Stream-API in Java 8? Do you like brainteasers? Then you are invited to take a look at some short programs involving stream operations whose behavior isn’t obvious at first sight. Can you figure out what it does? Using these puzzlers we will take a closer look at some stream operations’ behavior and will show you how to avoid common traps and pitfalls.
The goal of HTTP/2 is to increase the perceived performance of the web browsing experience. This is achieved by multiplexing over TCP and Server Push among other techniques. What implications does this have for developers? How does Servlet 4.0 embrace HTTP/2 and what support is there in JDK 9? We will see, with code examples, what the future of developing with HTTP/2 might look like.
Ember-CLI, Angular-CLI, and Create-React-App are necessities to web development, and many who have not had exposure to such wonderful technologies wonder what they are actually missing. This talk will show you how easy it is to scaffold up all 3 projects in less than 30 minutes, how to shave days, even weeks, off your development cycle, and why you should choose convention over configuration.
Angular Material 2 has been evolving over the course of the past year, and it has finally become stable enough to use in production. Get familiar with the various components of Angular Material 2, how to use them in your app, and a few tips and tricks to getting started.
I will summarize all my experience within scaled agile organizations/product development and share my conclusions and success factors. When looking into organizations that have succeed with their agile implementation I have found a common pattern that can be easily copied and reused.
“Architectures based on microservices introduce new challenges for architects and developers. An ever-increasing list of languages and tools brings with it the capabilities to conquer this challenge. Java is no exception. The latest addition in this area is the http://microprofile.io[Microprofile.io] initiative. In this session, we will explore different approaches to building microservices using the Java ecosystem and compare them to using Microprofile.io. All strategies for building microservices with Java that are presented will be compared and demoed in live coding demos. The demos will include technologies such as Java, Java EE, microprofile.io, Spring Boot, Docker and more.”
MVC 1.0, as specified by JSR 371, may not be targeted for the upcoming Java EE 8 release, but the specification is still going on as a standalone specification. It is already possible to use the technology in a Java EE 7 environment and as Java EE 8 and 9 evolves, MVC 1.0 will be kept aligned to take advantage of the features provided by the platform. This session will go through the fundamentals of this specification and explain the core concepts. We will show lots of code samples showing how to use the framework to build MVC 1.0 applications. There will even be a demo of tooling support available and tips’n’tricks on how to extend the framework. After this session you will have everything you need to get started using the technology to quickly build secure, flexible, localized MVC Web applications.
Predicting the future is all about knowing your past. All through time we have invented things to make our life easier, to remove pain points or out of pure laziness. By automating tasks we made our lives easier. Today we have robots that vacuums and fold our laundry, we have fridges that tells us when to buy milk and can look up recipes. The gaming industry is one of the most popular right now, innovations about Virtual, Augmented and Mixed Realities. What is the next step for these products? Can history tell us something?
Game Development is hard. In the Game Industry, we struggle with releases, competition, with new technical platforms, requirements and performance. We need to do more faster, and still ensure stability. But, wait? Does this make us unique? It sounds like the pains and struggles that all developers struggle with. So what makes game development so different? Are there, in fact, anything unique about game development at all? Or are all developers doing the same thing, just with slightly different end goals? Join me for a talk on Game Development, on what unites us all as developers, and let’s see if we can’t learn from each other. The talk may contain traces of jokes. No laughing is required.
A long time ago J2EE and especially application servers were considered to be too bloated and “heavyweight”. It could be quite tedious and discouraging for developers to use that technology for developing applications. But since the name change to Java EE that assumption is not true anymore. This session shows the benefits developing against a well-established standard has, what makes a framework “lightweight” and how a lightweight yet comprehensive solution for enterprise application could look like. Most of the time will be spent live-coding and comparing different approaches.
“In (enterprise) development testing often is treated very much as poor relations. But for more than “”Hello World”” applications testing is not just nice to have (at the end of the project) rather than crucial for working software. This session shows how Java EE application are tested in a productive yet comprehensive way, why it is indispensable to do system tests and why are integration test frameworks like Arquillian overrated for most of the use cases. Most of the time will be spent live-coding and of course live-testing.”
The world is moving from huge application servers to microservices and Docker. But now we have a new problem – suddenly we have hundreds of containers that we need to manage. Is this really what we as developers should be focusing on? Maybe it’s time we leave the server behind. In this talk Joakim will show you why you should consider a serverless architecture for you next application. Joakim will do this using the Serverless framework together with AWS Lambda to create a multi staged environment where scalability is a non issue and where you can focus on the code. As an added bonus Joakim will integrate the AWS IoT platform and other AWS services to create a really cool demo.
Vert.x is, first of all, a toolkit for building reactive application on JVM. You can quickly create Proxies and Aggregators for your microservice architecture or you can build you entire architecture using Vert.x. With the awesome cluster capabilities of Vert.x, provided by Hazelcast, you can create scaling architectures without involving 3d party tools for service discovery and other things. You can run this architecture locally or move it easily to the cloud. In this talk you will learn about the architecture of event-driven microservices, how to use the Vert.x event bus to create them, how to scale them using Hazelcast and how to deploy them in a Kubernetes cluster to benefit of it’s deployment, scaling and failover capabilitie
Most people in IT today have experienced various agile change initiatives. Many of theseinitiatives cause a fair amount of pain, but generate very few lasting improvements. In this session Björn Persson shares his experiences from 15 years of guiding organization towards greater agility. You will learn to see and understand the basic issues that makes most agile initiatives fail. By dealing with these issues and applying some of the other learnings from the session, you and your organization will be well on your way to stand out from the agile crowd.
Spring Boot DevTools is not the only new feature that boosts your productivity. During this live coding session, we’ll work on 10 common app features and see how Boot is making your life easier. We’ll cover the following: * Development cycle with Devtools, H2 Web console and persistent web sessions * Managing application Cache * Dealing with static resources in web apps * Configuration default profile * Evolving your database schema * Gathering and exporting app Metrics * Custom Boot configuration (key hint, metadata) * Writing integration tests that integrate with Maven * Supporting OAuth2 in your app * Boot applications as OS Services (Linux, Windows, etc)
Describes the concept of real testing and what makes it different from unit testing och mocking tests. Presentation of the lifecycle management the testing framework gives. Show case of a simple usage scenario where different target containers are executed. (JSR-330, CDI and Spring) Presentation of the extended “real testing” features. – Registering resources (Datasource, EntityManager) – Managing shared SQL data (simple sql scripts, liquibase adapter)
One of the most important components in a microservice landscape is the discovery service. During the last few years a large number of alternatives for service discovery have evolved, specifically in the area of container infrastructures.
This presentation will, based on my experiences, go through some of the alternatives. The presentation will cover discovery service components in Netflix OSS, Docker Swarm, Amazon ECS and Google Kubernetes. We will also cover how to write microservices that are independent of the selected discovery service, i.e. that can be used with any of the alternatives without requiring modifications of the code.
Spring Boot is a stack enabling you to kickstart your Spring application in a matter of minutes. It has been a resounding success among both developers already using Spring and microservices adopters. Favoring Spring Boot over the traditional Spring framework comes at a cost, though: you have to let Boot in control and some like to know everything what happens. Come to this talk to discover about auto-configuration and the different flavors of conditionals. After this talk, you’ll be able to understand Spring Boot internals and develop your own starter dependency.
RxJS is a library for transforming, composing, and querying streams of data. From simple arrays of values, to series of events, to complex flows of data and streams. In this talk I will introduce you to Reactive Programming and show you to use some of the operations defined in RxJS. You will also learn how to use observables and how to subscribe to events. Come and see how RxJS is applicable to almost anything be it simple arrays, Firebase, Angular, NativeScript or maybe all of the above
“The digital transformation is going forward due to Mobile, Cloud and Internet of Things. Disrupting business models leverage Advanced Analytics and Machine Learning for predictive maintenance, cross-selling or fraud detection. This session discusses how analytic models created with frameworks such as R, Hadoop, Spark or H2O can be integrated into real-time processing. The focus is on several live demos, which show how to build analytic models by leveraging historical data in big data stores, and then applying these analytic models without redevelopment to proactive real time processing on the Java platform. ”
This session shows a case study about successfully moving from a very complex monolith system to a cloud-native architecture. The architecture leverages containers and Microservices to solve issues such as high efforts for extending the system, and a very slow deployment process. The old system included a few huge Java applications and a complex integration middleware deployment. The new architecture allows flexible development, deployment and operations of business and integration services. Besides, it is vendor-agnostic so that you can leverage on-premise hardware, different public cloud infrastructures, and cloud-native PaaS platforms. The session will describe the challenges of the existing monolith system, the step-by-step procedure to move to the new cloud-native Microservices architecture, and why containers such as Docker play a key role in this scenario. A live demo shows how container solutions such as Docker, PaaS cloud platforms such as CloudFoundry, cluster managers such as Kubernetes or Mesos, and different programming languages are used to implement, deploy and scale cloud-native Microservices in a vendor-agnostic way.
Duke’s Choice Award winner libGDX is an open source cross-platform game development framework enabling its users to target Windows, Linux, Mac OS X, Android, iOS, BlackBerry, Windows Phone 10, and WebGL-enabled browsers with a single codebase. libGDX is used extensively around the world by everyone from indie developers to large studios, demonstrating the validity of Java for game development. This session provides an introduction to libGDX, including a detailed look under the covers and an exploration of the lessons learned during its development. It includes topics such as API design, platform fragmentation, cross-platform build systems, and performance considerations. It also covers aspects of OSS development such as community building and team management.
IDEs can be powerful, but hard to learn. Some features are hidden or simply not well known. Let’s end this dilemma and make you more productive and efficient when working on Spring applications. Learn how to navigate, edit and perform refactorings across a variety of common Spring technologies. You’ll leave this session with a whole stack of power tricks – right from the developers working on it.
Cyber Security, hackers and ransomware. Sound like words taken from a distant reality, but security is no longer an issue only for larger companies, instead something that we all need to be concerned about. Almost everything is connected. IoT and Big Data is on everyone’s lips, but as we’re talking about smart cities and smart homes, do we forget to talk about the safety of it? Today a hacker ranges from a bored teenager to groups involved in major organized crime and nations that are attacking each other. Is there any room here for personal integrity, or are we on the way to a society of total transparency? Cyber Security is about awareness and preparedness. It is no longer a question of if, but when, and the threats are many. But the future is not only bleak – it also creates opportunities. The people are the first priority, we must begin by increasing our employee’s and our own security awareness. Has digitalisation gone to fair out of our control? Learn more about how you protect yourself and your company, the future challenges of Cyber Security and if there’s a way to stafe, while staying connected.
The core of all Lean development methodologies is to reduce waste in the development process inorder to maximize focus on customer value. One of the biggest waste activities we have is managing of servers, networks and environments. Servers and networks have been a necenssary evil that has enabled us to deliver customer value. Now with the emergence of Serverless services its possible to build entire systems that are totally serverless. This presentation introduces a number of key serverless services on AWS and how use these inorder to build a full serverless system landscape. Finally we explore how continuous delivery and serverless architecture can be used to eliminate all but one runtime environment from your system lifecycle and hence reducing almost all infrastructural waste of your development process.
Ever seen Service classes with hundreds or maybe thousands of LOC cluttered with validation logic, DAO access and some business code? Tired of getting NullPointerExceptions and having to check everything with if != null? Filled up of recurring bugs that could be prevented by unit tests, but your code is simply too clumsy to test effectively? Then you definitely should check this session. We’ll show how Domain-Driven Design, proper encapsulation, immutability, Value Objects, Entities and Aggregates, Repositories and Specifications can help you solve all of these problems. Already knew these concepts but never figured out how to proper apply them in production code? We have these answers with a lot of tips & tricks from the real world. Don’t miss this 100% live code where we’ll craft an application from the database to the view using Domain-Driven Design, Clean Code and Effective Java on top of Java 8 and Java EE 7. You’ll never see your code the same way again.
What if you’re eating and having a discussion about a certain topic? Searching on your phone would mean your food gets cold. Or what if you’re lying on the couch without your phone and you want to control the lights? Welcome Alexa, your new personal assistant. Alexa is a voice service, it will respond to your questions and execute tasks. You can for instance ask Alexa for the weather, or ask her to play a certain radio station. In this presentation I will show you how to create your own Alexa device. The setup uses a Raspberry Pi, microphone, speaker and a Java application. I will compare the custom setup with the Echo device Amazon is selling. Next to that I will show you how to integrate Alexa in your home automation setup for instance with openHAB. That way you can control your lights and everything else with your voice. Last but not least I will show you how to create your own skills in Java to add functionality to Alexa.
Jag kommer från en bakgrund som journalist och designer, speciellt UX-design. Jag har bland annat skrivit Användbarhetsboken ( http://www.anvandbart.se/ab/ ) För några år sedan fick jag upp ögonen för IoT. Och då speciellt UX för IoT – vi kommer ju att behöva helt nya gränssnitt och helt nya sätt att interagera med det digitala när det genomsyrar hela vår fysiska miljö. Som en del i detta har jag också börjat intressera mig för AI och machine learning. Stort ämne som man kan säga mycket om, men ur mitt perspektiv är det superspännande hur den data vi kan samla in genom IoT med hjälp av machine learning kan användas för att skapa digitala upplevelser som anpassar sig till människan, istället för tvärtom. Under hösten kommer en Guide till IoT, som jag skrivit för IIS-stiftelsen.
The internet of things is growing quickly and people are producing products by the hour, but how useful is a tweeting refrigerator or a ring that sends condolences to your family when your hearth stops beating? Let’s talk about designing and building things that interact with the world in a way that might actually benefit you!