*less architectures



It is 2017 and the Serverless compute revolution is a little over two years old. Serverless is a relatively new concept in software architecture, but is one that is very likely to have an impact as large as other cloud computing innovations. Through technology advances, tooling improvements and shared learning in Serverless application architecture, many engineering teams will have the building blocks they need to accelerate, and even transform, how they do product development.

Key benefits of attending this presentation is to give you ideas what Serverless is and what it isn't, why it is important and some already proven examples of using Serverless architectures.

Finally, companies that adopt Serverless, and adapt their culture to support it, are the ones that will lead us into the future.

A Quick and Dirty guide to Kubernetes

Mitja Bezenek
engMitja Bezenšek
Outfit7 Ltd. (Slovenian subsidiary Ekipa2 d.o.o.)



A hands-on presentation showing how a Java developer can quickly start using Kubernetes as a platform for their apps. During the presentation we’ll deploy a fully functional microservices Java application to Kubernetes from scratch and explain the main Kubernetes concepts as we go. We’ll also share some best practices and implementation details being used for Outfit7 apps.

Anticipating the fallacies of distributed computing with the Netflix OSS

Cools Tom lecturerportrait
engTom Cools
Info Support



In their eagerness to adopt the microservice architecture a lot of companies forgot that moving to this model of distributed computing comes with dangerous pitfalls. Networks become congested. Services are added, moved and scaled as traffic increases or failure occurs. Finally, we need to connect our front-ends to this ever moving group of services.The Netflix Open Source Software Center is a collection of Open-Source tools and libraries developed by Netflix to help them build the system they need to bring video stream to millions of users worldwide . In this presentation we will have a look at some of these libraries and discover how they solve problems that will occur when splitting your system into hundreds of microservices. Even if you do not adopt microservices, the OSS-tools discussed in this session can help you to make your software more resilient than it is today.

Arhitektura mikrostoritev z Javo – kaj moramo narediti za uspešen prehod


tilen faganel
Tilen Faganel
Sunesis, Kumuluz



Uporaba cloud-native arhitekture in mikrostoritev postaja nujnost za razvoj sodobnih aplikacij. V predstavitvi bomo prikazali, kako vzpostavit cloud-native arhitekturo z uporabo Jave oz. Jave EE. Glede na to, da je cloud-native arhitektura veliko več od preproste uporabe mikrostoritev, bomo najprej opredelili posamezne gradnike, od konfiguracije, odkrivanja storitev, API prehodov, logiranja, zbiranja metrik, zdravja, odpornosti na napake, dogodkov, prekinjevalcev toka in ostalega. Seveda bomo opredelili tudi elemente izvajalnega okolja, od vsebnikov, do repozitorijev in orkestracije. Nato se bomo posvetili dejanskemu prehodu na cloud-native arhitekturo, ki jo bomo osvetlili tudi z vidika organizacijskih sprememb in pomena DevOps. Predstavitev bo predstavljala tudi neke vrste uvod v delavnico na temo cloud-native arhitekture in mikrostoritev, ki bo potekala drugi dan konference.

Drools in satellite industry

Bosnjak Zvonimir lecturerportrait
engZvonimir Bošnjak
Amphinicy Technologies



How do you allow the user to determine business logic rules if you don't know in advance what kind of an environment the system will be running in?

We at Amphinicy Technologies have developed Monica, a monitor and control system for instruments in satellite ground stations which provides, among other things, the possibility to setting rules using BRMS (Business Rules Management System) Drools. For the demo, a LEGO antenna will be utilised as an example of an instrument managed by Monica.

In this lecture we will demonstrate the application and challenges of Drools that we need to overcome so we can use them in complex systems like Monica.

From Angular to Oracle JET

geertjan wielenga
engGeertjan Wielenga
ORACLE Netherlands



Oracle JET (oraclejet.org) is a new toolkit of JavaScript solutions that has been open sourced by Oracle. It used throughout Oracle as the basis of applications that interact with the Cloud. From a single JavaScript codebase, web apps and mobile apps can be generated via Cordova. It is Oracle’s new strategic JavaScript platform and increasing numbers of Oracle developers are making use of it, as well as enterprises around the world, such as Tesco.At the same time, other JavaScript solutions exist. AngularJS is probably the most well known frontend framework in the JavaScript ecosystem. The basic AngularJS terminology is established and a lot of experience has been built up around it throughout the JavaScript world.In this session, the two approaches will be compared and you will walk away knowing which choice is best for you!

I this session we will discuss the similarities/differences between Angular and Oracle JET (oraclejet.org) via a real code example on GitHub.

From Zero to Open Source Hero: Contributing to Spring projects

Pavic Vedran lecturerportrait
eng Vedran Pavić
Kapsch CarrierCom d.o.o.



With any kind of activity, starting out is often the hardest part, and contributing to open-source project is no exception to this. Join this talk by a regular contributor to Spring projects to find out how to kick-start your contributions!

This session is a compilation of experiences and practices gained during author's journey as a contributor to open-source community and Spring projects in particular, a journey the saw him become a committer to Spring Session less than 14 months after authoring his first pull request. The session will present a deep dive into workflow behind a typical pull request to Spring project, stressing the importance of topics such as managing forks, updating pull requests, writing tests, code consistency, and offer many tips & tricks that should help you make your contributions a successful experience.

Getting test data for your Java solution: as hard-core and as fun as they come!

Nakic Alfirevic Tomislav lecturerportrait
engTomislav Nakić-Alfirević
Amphinicy Technologies



As years pass, Java maintains its status as the default technology ecosystem in the space industry. Every so often in between designing REST interfaces, JPA mappings and scalable multi-threaded architectures, Amphinicy engineers get a toy to play with a task that doubles as "serious work". This time the trigger was testing: what does one do for testing when one builds satellite communications solutions for ground stations? If you have a few hundred thousand Euro and a year or two to spare to launch your own satellite, go for it! If not, "eavesdropping" on existing satellites is the best runner-up choice. As of late 2016., Amphinicy operates its own little improvised ground station, right in the middle of down-town Zagreb! What kind of systems we build, what we've learned along the way and all the ways a ground station built with pocket change electronics returned lavish dividends on the time invested in its set-up is for us to know and for you to find out - at JavaSi'17! ;)

Java EE 8 has -finally- been finalized!

david delabasse
engDavid Delabassee
ORACLE Corporation



This session will give an overview of the main capabilities added to the Java EE platform such as

  • JAX-RS 2.1’s new Reactive client API
  • CDI 2.0 Asynchronous events
  • Bean Validation 2.0 improvements
  • Servlet 4.0 HTTP/2 support
  • A new JSON Binding API
  • Various security enhancements, etc.

Most of the discussed APIs (e.g. Servlet, JAX-RS, Bean Validation...) are also widely used outside of the Java EE Platform. So come to this session to understand what those updated APIs really brings!

And now that Java EE 8 has been released, we will conclude the session by discussing how to move Java enterprise development to the next level!

JavaScript Confessions of a Java Developer

geertjan wielenga
engGeertjan Wielenga
ORACLE Netherlands



Traditionally, Java developers have a strong dislike for JavaScript. Justifiably so, of course. JavaScript lacks a range of features that we all know and love in Java. However, JavaScript has been gradually taking over the frontend landscape. Since JavaScript is the native language of the browser and the browser is available on all devices, the relevance of JavaScript is no longer in question. The only question is how to choose the right tools for the job, since the JavaScript ecosystem is filled with a wide range of technologies, libraries, and tools.

In this session, you will learn how the speaker, a Java developer, has bit by bit, over time, come to like JavaScript. Not so much the language, but the ecosystem and the range of possibilities available. By the end of the session, you will have a thorough perspective on everything the JavaScript ecosystem can do for you, as a Java developer, and how you can make sense of the instability/vibrancy of the JavaScript ecosystem, too.

JDK9 has arrived



After much delay and lots of conflicts around a new modular system – Jigsaw, Java 9 has finally officially arrived.

In this session, we'll skim the surface of the new module system, explore some of the additions to APIs, and JDK itself - some long-awaited ones. Maybe most interesting, we'll look at how to migrate current applications, and what issues we can expect to encounter while migrating our projects to Java 9.

As we'll see not all code will run out-of-the-box, so expect heavy use of runtime and compiler parameters to provide backwards compatibility, and to have to upgrade your project's dependency libraries. Some code may need heavy modifications or differences may require us to maintain separate branches.

Java 9 brings a lot to the table - it's up to us to use it wisely to get the most out of it.

KEYNOTE: Mobilising Your Enterprise: A strategy for modern app dev in the enterprise, with a mobile twist

James Mernin



Based on real-world experiences from the Engineering team behind the Red Hat Mobile Application Platform (RHMAP), this talk will offer a unique insight into the factors to be considered when devising, developing and delivering a mobile strategy for your organisation.

OpenAPI 3 in novosti ter najboljše prakse pri razvoju (mikro)storitev REST

engdr. Matjaž B. Jurič
UL FRI, Java Championace director

Zvone Gazvoda
UL FRI, projekt Kumuluz



V predstavitvi bomo pregledali najboljše prakse razvoja storitev REST. Začeli bomo z pregledom načinov specifikacije vmesnikov storitev REST in se posebej posvetili specifikaciji OpenAPI in novostim, ki jih prinaša verzija 3. Na praktičnem primeru bomo prikazali, kako pripraviti specifikacijo storitve REST ter kako te informacije uporabiti v programski kodi, kjer si bomo ogledali za to predvidene anotacije. Poleg tega bomo prikazali najboljše prakse pri razvoju mikrostoritev. Med drugim bomo prikazali, kako zagotoviti preverjanje stanja (zdravja) storitev, spremljati metrike med izvajanjem in zagotavljati odpornost na napake.

Uporaba standarda OASIS - ebMS 3.0 za elektronsko poslovanje

Joze Rihtarsic
engJože Rihtaršič
Vrhovno sodišče RS



Elektronska izmenjava podatkov med podjetji in organizacijami ni novost v modernem poslovanju. Znano je, da elektronsko poslovanje prinaša mnogo prednosti, vendar se manj govori o tem, da postaja vzdrževanje integracij z naraščanjem števila e-storitev in števila partnerjev, s katerimi poslujemo po elektronski poti, vedno večji strošek ter vedno večji arhitekturni in produkcijski zalogaj. Vrhovno sodišče RS pričakuje povečanje e-poslovanja sodišč z različnimi strankami, kot so: odvetniki, tožilci, notarji, banke, zavarovalnice... Večino večjih strank ima lastne informacijske sisteme, zato komunikacija preko portalov ni tako učinkovita kot možnost neposredne integracije informacijskih sistemov.

Zato je eden od IT izzivov VSRS izbira primerne arhitekture, tehnologij in standardov za e-poslovanje, ki bi omogočal dinamično dodajanje/spreminjanje storitev ali partnerjev brez programiranja. Pri tem je smiselno iskati rešitve, ki so splošno sprejete, cenovno dostopne in preproste za uporabo. Poleg tega je smotrno upoštevati smernice Evropske komisije, ki so se oblikovale pri vzpostavljanju enotnega digitalnega trga Evrope. Za ta namen je bilo v preteklosti izdelanih kar nekaj projektov, v katerih so sodelovali strokovnjaki, gospodarstveniki in predstavniki javnega sektorja iz večjega števila članic EU. Cilj projektov je bil izdelava infrastrukture za čezmejno elektronsko poslovanje na področju javnega naročanja, zdravstva, javne uprave... Kot najprimernejši standard za elektronsko izmenjavo podatkov in dokumentov se je uveljavil standard OASIS ebMS 3.0.

Standard ebMS 3.0 (ebXML Messaging Service) izhaja iz družine standardov ebXML (Electronic Business using eXtensible Markup Language), ki jih razvija organizacija OASIS (Organization for the Advancement of Structured Information Standards) v sodelovanju z organizacijo UN/CEFACT z namenom zagotovitve moderne, na XML temelječe odprte infrastrukture, ki bi omogočila globalno elektronsko poslovanje na interoperabilen, varen in konsistenten način. Standard predpisuje komunikacijsko nevtralen mehanizem, ki temelji na SOAP sporočilih in rešuje tehnična vprašanja glede naslavljanja, varnosti, zanesljivosti prenosa, preverjanja avtentičnosti sporočil itd. Osnovni koncept komunikacije temelji na implementaciji transportnega modula, t. im. »Messaging Service Handler« (v nadaljevanju MSH). Par MSH modulov, nameščenih pri pošiljatelju in naslovniku, izvaja transport sporočil med prejemnikom in naslovnikom na varen in zanesljiv način. Z namenom pospeševanja e-poslovanja z uporabo ebMS 3.0 standarda je VSRS v sodelovanju z Združenjem bank Slovenije razvilo aplikacijo Laurentius, ki je implementacija transportnega modula MSH in bazira na odprto-kodnih JEE tehnologijah.

Ciljna tematika prezentacije bo predstavitev standarda ebMS 3.0. Kratkemu opisu arhitekture modularnega informacijskega sistema sodišč, ki bazira na JEE tehnologijah, bo sledil opis modula EVIP (evidenca izhodne in dohodne pošte) za pošiljanje in sprejem sodnih pošiljk. Vsa sodišča na letni ravni prejmejo več kot 2 milijona sodnih pošiljk in odpravijo okoli 6 milijonov pošiljk, kar povzroči do 10 milijonov evrov stroškov samo za poštne storitve. Zaradi velikega števila sodnih pošiljk je prehod na elektronsko poslovanje za sodišča izjemnega pomena. V nadaljevanju bo podrobneje predstavljen standard ebMS 3.0 in razlogi, zakaj ga je Center za informatiko pri Vrhovnem sodišču RS določil kot osnovi standard za elektronsko poslovanje. Sledila bo predstavitev aplikacije Laurentius, ki je bila razvita s pomočjo prosto-dostopnih oblačnih storitev, kot so Github, Travis CI, maven-repo. Prikazan bo tudi praktični primer sodelovanja javnega in gospodarskega sektorja, kjer je razvoj programske opreme potekal na sodišču, "naročnik" nekaterih funkcionalnih zahtev in skrbnik kvalitete izdelka pa je bila članica ZBS. Končni izdelek je prosto dostopen pod licenco EUPL in je namenjen uporabi tako v javnem kot zasebnem sektorju.

Using Microprofile APIs to build cloud native applications




The Microprofile community develops API’s and specifications that help to build cloud native applications. In this session we take the perspective of a developer engaged with building application for a larger, service oriented architecture running in the cloud. We explore common questions that will come up and examine related concepts in such a problem domain. The Microprofile API’s that will be part of the next 1.2 release will be used to illustrate how these challenges can be overcome and what the impact on application development will be. Examples from the area of security, configuration, resilience and monitoring are used to give this session a practical stance.

Who’s afraid of design patterns? Not JDK!

Alen Kosanovic i320
engAlen Kosanović
SV GROUP d.o.o.



Design patterns, as we know them today, have been in play over more than 20 years. Since then, we’ve been learning design patterns through class diagrams of objects like Shape, Circle, Rectangle and other objects that fail to link the gap between an illustration and practical use. In this session, I’ll try to illustrate common design patterns through examples that should be familiar to everyone - the Java JDK.