Konferenca JavaSi'16


java

Za letošnje leto smo se zopet potrudili in izbrali predavanja, od katerih bo vsak odnesel kaj novega...Torej kaj bomo počeli letos? Brez oblaka ne gre več, Kubernetes igra ključno vlogo v orkestraciji naših storitev. Obeta se nam zanimivo predavanje, kako od nule postavimo Kubernetes Cluster na Raspberry-Pi. Posebno poglavje smo namenili upravljanju APIjev v oblaku, kako dela to Netflix in zakaj moramo temu sploh nameniti pozornost. Kako dostopati do JMX oddaljeno bomo izvedeli v Jolokia 2.0. Vas zanima, kaj se bo zgodilo z Java EE, potem ne zamudite predavanja Java EE - Next.

Z nami bodo Roland Huss, Geertjan Wielenga, Mario Fusco, David Delabasse...

Abstract:

JavaScript in the enterprise? Does that even make sense? After years of developing Java applications in the enterprise, many developers have become curious about what JavaScript can do for them. But how can you translate concepts like 'modularity' and 'loose coupling' to JavaScript applications? Do JavaScript applications have these kinds of concepts? AngularJS is a popular solution in the JavaScript world, though there are many other solutions, too.

In this session, you will be introduced to modularity, responsive JavaScript, mobile development with JavaScript, as well as a range of JavaScript transpilers. By the end of this session, you will have a thorough understanding of whether JavaScript is a sensible solution for you in developing enterprise JavaScript applications, today.

Abstract:

In January of 2000 famous scientist Stephen Hawking said: “I think the next century will be the century of complexity.” That sentence inspired many people around the world to talk and care more about the complexity. In this talk I will share my view on how to deal with uncertainty and complexity when developing complex solutions.

As our world grows increasingly more complex we can’t just find simple causal relationships. In that world it is not any more possible to apply old practices and ways of thinking to the new more complex challenges.

I will try to give answers on questions like:

  • What is complexity thinking?
  • What should we learn, and what should we forget?
  • Why should we embrace uncertainty in order to move forward?
  • Which approaches could be useful to deal with complexity when developing software products?

Abstract:

The book of design patterns known as Gang of Four has been a kind of Bible for all the developers of my generation. Its main pro has been giving us a common vocabulary: when a programmer says "here I used a strategy pattern" all colleagues know of what he is speaking about. Nevertheless the biggest issue with this is that almost all patterns listed in that book, especially the behavioural ones, are a only workaround for a missing abstraction: higher order functions. The introduction of lambda expressions in Java 8 finally allows all Java developers to remove this no longer necessary and cumbersome object oriented infrastructure from their code.

The purpose of this talk is showing, through a series of live coding examples, how the most common GoF patterns can be rethought and reimplemented in a simpler and more concise functional way leveraging Java 8 lambdas.

Abstract:

Uporaba »client-side web developmenta«, torej razvoj odzivnih spletnih aplikacij, postaja vse bolj pomembna tematika. V predstavitvi bomo prikazali najboljše prakse uporabe odzivnih HTML5 aplikacij v povezavi z Javo na strežniški strani. Poleg pristopov k uporabi REST storitev bomo prikazali tudi rešitve za avtentikacijo uporabnikov v spletni aplikaciji in na REST storitvah, najboljše prakse pri oblikovanju vmesnikov storitev REST, možnosti uporabe protokola WebSocket in drugo. Analizirali bomo tudi prednosti in slabosti AngularJS in React ogrodij za praktično uporabo.

Abstract:

Lambda izrazi so sestavni del Jave od verzije 8 naprej in so z nami že več kot dve leti. V predstavitvi bomo na praktičnih primerih pregledali, kaj prinašajo in predvsem, kako olajšajo pisanje kode ter naredijo razvijalce bolj produktivne. Skozi praktične primere se bomo seznanili s funkcijskimi vmesniki, iskanjem, generiki, pregledali sintakso in najboljše prakse.

Abstract:

Liferay 7 introduced new standards that relay on OSGi. It makes it hard for developers to move old Liferay plugins like portlets and hooks to the new platform. This presentation leads you through transformation process which would convert your legacy plugin to new Liferay 7 module.

Abstract:

At JavaOne/OpenWorld 2015, Oracle announced that its own internal developers have been using JavaScript for several years to develop Cloud applications and that a toolkit built up out of open source solutions is being made available for general use. Data in the Cloud needs to be visualized in interesting and understandable ways, which is the key reason for the existence of Oracle JET (Oracle JavaScript Extension Toolkit). It provides JQuery UI components that make available graphs, charts, and similar components, on top of Require.js for modularity, Knockout.js for data binding, and more. The entire toolkit has been open sourced on GitHub. Come to this code-driven session to find out what Oracle is doing with JavaScript and how you can leverage these solutions too!

Abstract:

Jolokia is a JMX-HTTP bridge which alleviates the pain of accessing JMX remotely. It is an agent based approach with support for many platforms and is integrated into popular software like Spring Boot, ActiveMQ, hawt.io or OpenShift xPaaS Middleware Images. The next major version 2.0 brings exciting new features: JMX notification support over HTTP, new backend providers in addition to JMX so that for example Spring beans can exposed over Jolokia directly plus an internal agent modularisation which allows for custom sized Jolokia agents with only the required features. This talk starts with an overview over Jolokia and which problems it solves, before the Jolokia 2.0 features will be presented in an extensive live demo. At the end you will have a good impression what is possible with JMX nowadays and how Jolokia can help you with your application monitoring and management tasks.

Povzetek:

V predstavitvi si bomo ogledali osnovne koncepte reaktivnega programiranja (reactive programming). Reaktivno programiranje naslavlja probleme, ki se pojavljajo pri tradicionalnem razvoju aplikacij. Reaktivne rešitve so glede na tradicionalne pristope v osnovi veliko bolj fleksibilne, ohlapno sklopljene, skalabilne, odzivne, elastične itd., verjetno najbolj ključno pa je to, da so rešitve asinhrone. Poleg klasičnih velikih količin podatkov (Big Data) vedno bolj v osredje prihajajo tudi hitri podatki (Fast Data), kjer je ključen koncept procesiranje tokov.

Reaktivno programiranje je vedno bolje podprto v različnih programskih jezikih (prevladujeta Scala in Java), na voljo je tudi veliko ogrodij in razširitev (Play, Akka, Lagom, RxJava, Ratpack itd.). Reaktivno programiranje tako ni več zgolj neka novost na vidiku, temveč se vedno bolj uporablja tudi v praksi na resnih velikih projektih. Določeni koncepti, kot je npr. povratni pritisk (back pressure) pa so lahko uporabni tudi na številnih drugih manjših projektih.

Reaktivno programiranje bomo na predstavitvi spoznali tudi skozi enostavni praktični primer.

Abstract:

In this session from the representatives of Croatian Java User Association (HUJAK) we will take a look at the continuity of evolution and popularity of Java platform for more than 20 years, as well as the expansion of Java community itself, with emphasis on the region. In the last 4 years HUJAK has organized or participated in the organization of 13 professional conferences, which gathered more than 3000 participants, and a lot of meetups and workshops. Popular global trends and Java technologies will be presented and compared with interests of local businesses.

We will also take a look at the appropriateness of education and the acquired development skills in the relation to requirements of the labor market in the region, EU, and globally. Additionally, we will talk about our experiences, collaborations, and plans, as well as challenges that we encounter. Finally, we will show how can we all participate in the activities of the popularization of Java, programming and IT in general, through education from the elementary and high-school to the higher education and life-long learning, as well as satisfying our needs relating to certification, recruitment, and presentation in the international market.

Abstract:

In this hands-on presentation we start from scratch with some Spring-Boot and Wildfly-Swarm Microservices which we first place into Docker images and then deploy them on a Kubernetes cluster running on a four-node Raspberry Pis with load-balancing and rolling updates. We will see how seamless the creation of Docker images and Kubernetes resource descriptors can be integrated into the Maven build process. Many live demos explain the Kubernetes core concepts by example. As bonus a recipe for setting up a Raspberry Pi cluster on your own is given. At the end of this talk you will know how easy it is to bring your Java applications to Kubernetes.

Abstract:

API-ji postajajo vse bolj pomembna tema, s katero se srečujemo pri razvoju vsake posamezne aplikacije, še bolj pa v kontekstu arhitekture informacijskih sistemov. API-ji predstavljajo ključno integracijsko točko vsake aplikacije in so v tem smislu evolucija storitev in SOA. Hkrati API-ji postajajo ključni element digitalne preobrazbe. V predavanju bomo naslovili vidik API-jev, prikazali, kaj so lastnosti dobro definiranih API-jev, nato pa se posvetili njihovemu upravljanju. Na praktičnem primeru orodja KumuluzAPI bomo prikazali način dokumentiranja, registracije in upravljanja API-jev. API-je bomo umestili tudi napram mikrostoritvam in registrom tipa ZooKeeper.

Abstract:

In recent years the world of application development has adopted new methodologies that aim to improve the quality and speed in which applications are being delivered. The introduction of innovative development approaches such as test driven development and agile development gave rise to a set of new techniques and tools that enable those methodologies. Tools such as automatic build utilities combined with continuous integration platforms, as well as enhanced collaborative tools such as wikis and code review utilities aim to simplify the adoption of these new methodologies. Oracle Developer Cloud Service is a complete development environment supporting the full development lifecycle and allowing developers to collaborate through integrated tooling, to manage and track tasks, builds and documentation.

ODCS provides automatic deployment to Oracle Platform Services such as Java Cloud Service or Application Container Cloud Service or on-premise infrastructure. In this lecture we will demonstrate the continues delivery method of a Java application using Oracle Developer and Application Container Cloud Services.

Abstract:

Security and identity and access management plays key role in today's connected world. If you happen not to hear about Keycloak (our awesome identity and access management for modern applications), come and see introduction to it and hopefully learn something on the way. Elytron is a new security framework which will soon replace PicketBox in its role inside WildFly application server.

This talk will give you the two projects from JBoss Middleware portfolio that can help you in this area. Take this as an opportunity to hear short introduction and see some demos that can help you solve problems you might face in this area.

Abstract:

Using WildFly Swarm, you can select “just enough app server” needed to support each of your microservices.

In this session, we’ll outline how WildFly Swarm works and get you started writing your microservices using Java EE technologies you’re already familiar with. You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.