JavaCamp #13

Details

Parking places near Sabre (beside obvious McDonald, somewhat earlier at Wadowicka in Mateczny direction):

There's also parking next to Rondo Mateczny, just exit the Rondo in Wadowicka and take first turn right possible, then right again and you are at the parking.

JavaCamp is a mini-conference, just with one path, so book a day and enjoy.

Thanks to Sabre our host and sponsor for this JavaCamp! Thanks to Sabre we'll also have some drinks and pizza available. Hip hip hurray!

OUR SPEAKERS:

Maciej Lasyk,

Security freak, DevOps Engineer & Infrastructure Architect. Open Source evangelist and contributor. Road & MTB cyclist. at Fedora Project & Lumesse.

Maciek kindly agreed to re-present his presentation from Linux's Autumn (pol. Jesień Linuksowa):

"Orchestrating Docker containers at scale"

Many of us already poked around Docker. Let's recap what we know and then think what do we know about scaling apps & whole environments which are Docker - based? Should we PaaS, IaaS or go with bare? Which tools to use on a given scale?

----

Łukasz Romaszewski

Konsultant ds. Migracji, Oracle Polska Sp. z o.o.

Pracuję w firmie Oracle, w dziale IMC, który zajmuje się bezpłatną pomocą partnerom Oracle przy adopcji najnowszych technologii Oracle. Obszarem, za który odpowiadam jest głównie warstwa pośrednia oparta w 100% na platformie Java, czyli serwer aplikacyjny WebLogic, platforma programistyczna ADF (Application Development Framework), SOA i BPM. Oprócz tego pomagam partnerom Oracle w adopcji technologii mobilnych (Mobile Application Framework) oraz FastData/IoT (Oracle Event Processing).

Z Javą związany jestem od początku swojej kariery zawodowej, zaczynałem jako programista aplikacji J2EE, analityk i architekt systemów opartych na Javie EE i bazie danych Oracle. Obecnie, jako pracownik Oracle, mam również okazję wspierać społeczność użytkowników i programistów Java dzieląc się doświadczeniem i wiedzą o najnowszych trendach i rozwiązaniach technologicznych opartych na Javie oraz współuczetnicząc w tworzeniu przyszłości tej platformy.

Wykorzystanie Java Embedded Suite oraz Oracle Event Processing for Embedded na platformie Raspberry Pi do zbudowania zaawansowanego systemu detekcji ruchu.

Demonstracja w praktyce możliwości platformy Java Embedded na urządzeniach typu edge devices działających w ramach platformy IoT. Pokazany zostanie system wykrywania ruchu przy użyciu kamery USB podłączonej do Raspberry Pi, na którym działa JES oraz OEP Embedded. Wykrywane przez kamerę zmiany w obrazie podlegają filtrowaniu i agregacji w czasie rzeczywistym na platformie zdarzeniowej OEP, po czym, w przypadku pozytywnej identyfikacji incydentu, wysyłane są jako powiadomienia push do aplikacji mobilnej użytkownika. Użytkownik ma również możliwość podglądu na żywo obrazu z kamery oraz przeglądania historii incydentów oraz zarejestrowanych w ich ramach zdjęć – wszystko z poziomu aplikacji mobilnej.

----

Tomasz Kowalczewski

When I finished playing with code at university I took my baby steps in real word working on an airline system that processed thousands of transactions per second. There was no turning back and I become hooked on creating multithreaded, high volume and latency sensitive backend services. It turned out that these require as much profiling, optimizing and GC tuning as applying basic good design practices. Right now I work at a small polish startup company where I help create cloud based real time big data processing backend. I like to explore JVM’s inner workings, GC algorithms and all things mechanical sympathy.

Tomek will reprise his presentation, rated as one of top presentations during latest JDD:

"Reactive Java"

Wymagania wydajności, skalowalności i odporności na awarie stawiane przed współcześnie tworzonymi aplikacjami są coraz większe. Ruch związany z reactive manifesto promuje architekturę aplikacji, która ma nam ułatwić sprostanie tym zadaniom.

Rx Java pozwala na pisanie serwisów wykonujących zadania w wielu wątkach. Podstawową jednostką przetwarzania jest zdarzenie, a Rx Java udostępnia nam warstwę abstrakcji w postaci strumieni zdarzeń oraz zestawu funkcji pozwalających na filtrowanie, grupowanie, transformację oraz łączenie ich ze sobą. Programista po stronie serwera decyduje jak i kiedy zdarzenia są generowane, a po stronie klienta w jaki sposób są one łączone z innymi strumieniami i konsumowane.

W ramach prezentacji pokażę jak korzystać z biblioteki Rx Java, jak jej zastosowanie zmienia architekturę aplikacji i w czym to podejście jest lepsze od stosowania wzorców Future i Callback.
Zbudujemy prosty serwis komunikujący się asynchronicznie z innymi aplikacjami. Postaramy się aby ich awarie miały minimalny wpływ na funkcjonalność naszego serwisu. Zmierzymy jego wydajność i porównamy z podejściem gdzie wątki działają synchroniczie i blokują w oczekiwaniu na dane.

----

Konrad `ktoso` Malawski

Konrad is a late-night passionate dev living by the motto "Life is Study!", hakking on the Akka (http://akka.io) toolkit at Typesafe.

His favourite discussion topics range from distributed systems to capybaras. He's a very active member of the polish IT community, co-leading or founding multiple technology user groups in Kraków. Over the last years he's been presenting at conferences such as: GeeCON (http://geecon.org), JavaOne SF, JFokus or Devoxx.

In those rare times he's not coding, he spreads the joy of computer science, through helping local user groups and whitepaper reading clubs

Reactive Streams / Akka Streams

Reactive streams are a shared effort of multiple companies (Netflix, RedHat, Pivotal, Typesafe, and more...) and teams striving implementing stream processing libraries to make the stream processing on the JVM common and back-pressured. In this talk we'll look into what the core concepts of reactive streams and how "dynamic push-pull based back-pressure" works in them. Then we'll look into the upcoming akka-streams library, an implementation of the reactive-streams specification to see how these concepts can be used in practice.

Other speakers bios and presentations are being rounded up, to be announced soon.