Conference program

Conference program is almost ready and detailed schedule for main conference days is published. CHANGES ARE STILL POSSIBLE. If you have any questions related to the program and talk submission please send them to review@jeeconf.com.

Training days (May 21-22)

!!! Attention !!! Registration on training days and payment for them should be done separately from main conference days. Follow conference program and announcements on the conference site to choose the most suitable trainings.

May 21 May 22
9:30-18:30
9:30-18:30
9:30-18:30  
9:30-18:30  

Detailed schedule on May 23

english language – talk will be in english.

Track A (700 seats)
JVM/JDK
Track B (150 seats)
Engineering practices
Track C (150 seats)
Libraries/Frameworks
Track D (250 seats)
Web/Mobile
9:00-9:40 Registration and welcome coffee
9:40-10:00 Conference opening (Track A)
10:00-10:50 Java 8 and JVM: what’s new in HotSpot?

Tooling of a Test-Driven Developer

Easy Distributed Systems using Hazelcast

Peter Veentjer (Bulgaria)
A Little REST with JAX-RS 2.0 and Java EE 7

Adam Bien (Germany)
10:50-11:00 Break
11:00-11:50 Java8: Stream Style

Mobile functional testing with Arquillian Droidium

Stefan Miklosovic (Czech Republic)
In-Memory Data Grid – an essential part of your architecture

Roman Shramkov (Ukraine)
Dart for Java Developers

Anton Moiseev (Russia)
11:50-12:00 Break
12:00-12:50 Memory leak verification

Holding down your Technical Debt with SonarQube

In-Memory Data Grids Essentials: Oracle Coherence

Yeah, TRUE real time web applications, no more hacks (a hack session)

12:50-14:30 Lunch time
14:30-15:20 Java Benchmarking: Easy Peasy, Right?

Test with Spock and enjoy the life

Serialization and performance

Sergey Morenets (Ukraine)
Developing desktop and mobile applications in HTML5 for Java Developers (part 1)

15:20-15:30 Break
15:30-16:20 Zulu: OpenJDK for cloud and enterprise

Ivan Krylov (Russia)
BDD and browser automation with Geb and Spock

Bogdan Danilyuk (Ukraine)
Apache Lucene/Solr Internals

Developing desktop and mobile applications in HTML5 for Java Developers (part 2)

16:30-17:00 Coffee break
17:00-17:50 Memes and Cargo Culting in Java

Nicolas Fränkel (Switzerland)
Legacy projects: how to win the race

Streamline your processes with jBPM 6

Jiri Svitak (Czech Republic)
Web Apps in LISP? EWW!

17:50-18:00 Closing of first conference day (Track A)

Detailed schedule on May 24

english language – talk will be in english.

Track A (700 seats)
JVM/JDK
Track B (150 seats)
Concurrency/Compiler
Track C (150 seats)
Libraries/Frameworks
Track D (250 seats)
Web/Mobile
9:00-9:40 Registration and welcome coffee
9:40-10:00 Opening of the second conference day (Track A)
10:00-10:50 The Groovy Ecosystem

Andres Almiray (Switzerland)
Java Concurrency Under The Hood

Gleb Smirnov (Russia)
Spring 4, Java EE 7 or Both?

Ivar Grimstad (Sweden)
JavaFX everywhere

Gerrit Grunwald (Germany)
10:50-11:00 Break
11:00-11:50 Java8: Advanced Stream Techniques

Dining Philosophers Strike Back

Spring configuration: how to do it right (experience report)

Extremely rapid application development with Apache Isis

Jeroen van der Wal (Netherlands)
11:50-12:00 Break
12:00-12:50 -XX:fast=true

Rapid Development of Big Data applications using Spring for Apache Hadoop

Zenyk Matchyshyn (Ukraine)
Type Driven Development

Web application development with no front-end skills

Nicolas Fränkel (Switzerland)
12:50-14:30 Lunch time
14:30-15:20 Java Memory Model Pragmatics
(part 1)

Handling 20 billion requests a month? Easy!

The way to know how your app is really perform with metrics by Coda Hale

Bootiful’ code with Spring Boot

Josh Long (USA)
15:20-15:30 Break
15:30-16:20 Java Memory Model Pragmatics
(part 2)

Reflection Madness

Heinz Kabutz (Greece)
ESB. Mule ESB. From zero to Hero.

Developing Native & Hybrid Android mobile Apps, with Netbeans 7.4+

16:30-17:00 Coffee break
17:00-17:50 Groovy for Java Developers

Cooperation between Java compilers and IDEs

Spring the Ripper

Automate Your Home with Java Embedded

17:50-18:20 Conference closing (Track A)

Submitted talks

Spring configuration: how to do it right (experience report)

Abstract: Spring framework is widely used by Java developers because of its large functionality set and elegant integration solutions with other Java technologies. Initially Spring provided single configuration option with XML. Then annotation driven approach became quite popular. Now Java and Groovy configuration options are also available. In this talk we will discuss how to make Spring configuration easy to read and maintain, flexible enough to work in many environments, testable and reliable. I have worked with Spring framework since early 1.0-RC versions and used it almost in every project through my career. From 9 years of my practice I gathered many approaches that help me and now I want to share them with you.
Format: Talk (50 minutes)
Language: Russian

Reflection Madness

Abstract: Java reflection has some interesting abilities, not widely known, such as setting of final fields, discovering where in the call chain we are and the ability to make objects without calling a constructor. Based on topics from the Java Specialists Newsletter, it will make your ears ring and head explode.

In this presentation, we will look at some advanced uses of reflection to delegate method calls automatically, to determine where we are being called from and to create new enum values dynamically for unit test purposes, including modifying the switch statements on-the-fly. We will look at how we can use the stack information to determine the class type in a static context. We will demonstrate how Externalizable allows the private state of an object to be read and then modified. Lastly we will demonstrate how we can construct new objects without calling any of the available constructors. This talk will be aimed at the advanced Java specialist who does not shy away from reflection code. Topics from the Java Specialists Newsletter and related research.

Format: Online talk (50 minutes)
Language: English
Speaker: Heinz Kabutz

Bootiful’ code with Spring Boot

Abstract: Alright, so maybe “”bootiful”" won’t ever work, but I tried, and it was worth it too because you’re reading this. Spring Boot, the new convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring’s flexibility with conventional, common sense defaults to make application development not just fly, but pleasant! Join Spring developer advocate Josh Long @starbuxman for a look at what Spring Boot is, why it’s turning heads, why you should consider it for your next application (REST, web, batch, big-data, integration, whatever!) and how to get started. Let’s take advantage of the dynamic nature of a virtual JUG: I will be live coding and (attempting to) answer your questions on all things Spring and Spring Boot as I introduce the technology.
Format: Online talk (50 minutes)
Language: English
Speaker: Josh Long

A Little REST with JAX-RS 2.0 and Java EE 7

Abstract: Enterprise Java projects tend to misuse JAX-RS for the implementation of RPC-style architectures. In this session I will code a simplistic REST-application with JavaEE 7 and share some tricks, tips and techniques from my projects. Questions are highly appreciated and are going to be answered live.
Format: Online talk (50 minutes)
Language: English
Speaker: Adam Bien

Holding down your Technical Debt with SonarQube

Abstract: Software quality is about a lot more than slinging good code. As a developer you use numerous tools, techniques, processes and frameworks as you write, organize, build, test, refactor, and continuously improve your applications. SonarQube, a free and open source quality platform, makes it radically easier to track, manage, enhance the overall quality of your code and pay your technical debt on time.

In this session I’m going to talk about technical debt, the code quality factors, the SonarQube’s core ideas and its star features that simplify the process of tracking and improving software quality.

Format: Talk (50 minutes)
Language: English

Groovy for Java Developers

Abstract: Java is a good all-purpose programming language, but does that mean it’s the best tool for all jobs? In this talk, you’ll see how Groovy is a serious language that can help solve a lot of problems. From scripts, to writing unit tests, to building projects, we’ll take you through use cases that highlight the advantages of having a second language in your toolbox. All of this through live coding.
Format: Talk (50 minutes)
Language: English

Developing desktop and mobile applications in HTML5 for Java Developers

Abstract: This talk starts as an overview of different ways of developing front end of Web application in HTML/JavaScript/CSS. Java developers are accustomed to preparing HTML in Servlets, JSPs, JSF, or Spring framework. But the trend is to separate development of the front end in HTML5 and server side Java. This talk is a mix of slides and code review of several versions of the same application. We’ll start with architecture and code review of a basic HTML/JavaScript version of a sample charity application. After that we’ll switch to its jQuery version, then you’ll see how to do it with ExtJS framework, then we’ll cut this application into slices for modularization reasons. The second part of this presentation is about moving this application to mobile devices. You’ll see this application implemented with Responsive Design principles, and then two more versions: one with jQuery Mobile and the other with Sencha Touch.
Format: Master-class (1 hour 40 minutes)
Language: Russian
Speaker: Yakov Fain

The way to know how your app is really perform with metrics by Coda Hale

Abstract: Nowadays when developers required to be aligned with operations it’s quite important to have common understanding of how application is performing in production. I believe quite small amount of developers are really care/think about operation of the app. In this talk I’m going to describe how it’s easy to provide performance information of application in production with Metrics by Coda Hale and to share practical use cases.
Format: Talk (50 minutes)
Language: Russian

Type Driven Development

Abstract: Everyone knows (should know?) what Test Driven Development is. In languages with sufficiently strong type systems such as Scala or Haskell we can do even better. We can make compiler do part of testing for us. We sometimes hear: “I cannot think of bugs that can be prevented by static type checking”.
I would like to show some Scala code examples which (hopefully) prove this statement is not correct – starting from basic ones, such as avoiding null pointers, and moving towards more complex ones – coming from libraries such as Scalaz and Shapeless.
Format: Talk (50 minutes)
Language: English

JavaFX everywhere

Abstract: This session will show the current state of JavaFX on different platforms like Desktop, Raspberry Pi, Android and iOS. The session will be based on a demo that uses the same code and runs on all the mentioned platforms. It will be explained what you have to take care about and what is possible today using JavaFX on different platforms.
Format: Talk (50 minutes)
Language: English

Easy Distributed Systems using Hazelcast

Abstract: Today’s applications are getting more and more distributed everyday and it is well-known that distributed programming is hard. With Hazelcast though, distributed programming is easy and lots of fun. A common reaction of Hazelcast users is “Ooh my God, this cannot be that easy”. Hazelcast is an open source, highly scalable, transactional, distributed/partitioned implementation of queue, map, set, list, lock and executor services for Java. Hazelcast is for you if you like to easily: share data/state among many servers (e.g. web session sharing), cache your data (distributed cache), cluster your application, partition your in-memory data, send/receive messages among applications, distribute workload onto many servers, take advantage of parallel processing or provide fail-safe data management.
Format: Talk (50 minutes)
Language: English

Yeah, TRUE real time web applications, no more hacks (a hack session)

Abstract: Historically, creating web applications that need bidirectional communication between a client and a server (e.g., instant messaging & gaming applications) has required an abuse of HTTP to poll the server for updates while sending upstream notifications as distinct HTTP calls.

HTML5 specification includes the WebSockets (WS) protocol, I will deep dive into the specification by introducing the Websocket protocol, API and working mechanism, alongside intro to the most widely used data exchange schema between front and back end, the JSON API.

In addition, there is a brief comparison of traditional HTTP & WS, followed by covering of how WebSockets works. You will see how using WS removes the overhead of heavy HTTP request and response headers with real case study. Finally, we will review the code of the Web app build on GlassFish 4 app server.

Format: Talk (50 minutes)
Language: English
Speaker: Mohamed Taman

Tooling of a Test-Driven Developer

Abstract: TDD is much easier to do if you’re using proper tools. With bad tooling the TDD process can be tiring and frustrating. In this presentation I’ll talk how we use TDD in our daily practice at Pragmatists (over 5 years of experiences), and show you some tools that support it. I’ll also show some Java8 tricks that make implementation of tests easier.
Format: Talk (50 minutes)
Language: English

Developing Native & Hybrid Android mobile Apps, with Netbeans 7.4+

Abstract: Do you love mobile development, especially Android platform, let’s do it with the power of most updated, full-fledged and out of the box IDE for java development, Netbeans 7.4+, the same IDE you use for JavaSE, JavaEE and javaME development.

In this session, you will learn how to develop your Native (Java) and hybrid android mobile apps using techniques with Android SDK, PhoneGap framework and support tools offered by powerful Netbeans. In addition, we will see how to easily create apps using the web technologies you know and love HTML5, CSS3, and JavaScript, as well as Android java programming, and get app-store ready for your customers.

Importantly, we will go through 10 minutes of creating, building, and compiling a simple hybrid/native mobile application using PhoneGap and deploying it on android emulators. So what are you waiting for? Click to enroll!

Format: Talk (50 minutes)
Language: English
Speaker: Mohamed Taman

Dining Philosophers Strike Back

Abstract: As multithreading experts joke, programmers are divided into two types: first ones don’t know anything about concurrency programming and second ones THINK they know something. :)

I think that a majority of JEEConf participants wrote multithreaded code, at least, once. Among this majority, almost all people know what is deadlock. And many of these people know how to fight with deadlocks.
Or they just THINK they know it?

In my talk I consider the classical problem of Dining Philosophers. We will consider different solutions of it (implemented in Java) and see what are the dangers of each of them.

Format: Talk (50 minutes)
Language: Russian

Project Avatar – server-side JavaScript on the Java Platform

Abstract: Project Avatar is an open source platform platform for server-side JavaScript applications on the Java Virtual Machine, using the node programming model, APIs, and the module ecosystem. These Java/JavaScript hybrid applications can leverage capabilities of both environments—accessing the latest node frameworks while taking advantage of the Java platform’s scalability, manageability, tools, and extensive collection of Java libraries and middleware. In this session, you will learn how to write hybrid applications that take advantage of both ecosystems. Various demos will illustrate the session.
Format: Talk (50 minutes)
Language: English

Automate Your Home with Java Embedded

Abstract: Nowadays, more and more embedded devices are invisibly entering our life. Geolocation, telemetering, marketing, advertisement, and other areas already benefit out of the Internet of Things phenomenon. Obviously, all of us would like to live in a smart house, a house that could explicitly recognize our needs and satisfy them. This house would be smart enough to help us earn some money on energy saving. Demand for Home automation systems demonstrates a steadily growth year by year. This is not a surprise at all, as smart home can even be managed remotely from any spot on the planet. Each particular “smart home” is a custom built system, because people are different and they want their homes behave differently. Java is a great tool for making easily customizable, reliable system, and it perfectly fits the requirements of edge devices as well as back end.

From this talk, you will learn what kind of Java platform is better to use for different cases. What kind of hardware supported by Java Embedded. What are the differences between the platforms. You will also get a notion of how to manipulate with UART, I2C, and SPI interfaces by using Java API. You will see an impressive demo of the Java based home automation system. This talk will train you, so that you’ll be able to start making your own home automation system in Java.

If you are a Java developer and would like to try the same developer experience on Embedded devices, this session is great choice for you.

Format: Talk (50 minutes)
Language: Russian

Zulu: OpenJDK for cloud and enterprise

Abstract: OpenJDK as an open-source project became a source of multiple spin-offs. Today’s talk will be about project Zulu – an OpenJDK distribution for Microsoft Azure cloud and other server platforms. The talk will cover Zulu history, business model, and will talk in general what does it take to create a maintain an OpenJDK distribution.
Format: Talk (50 minutes)
Language: Russian
Speaker: Ivan Krylov

Spring 4, Java EE 7 or Both?

Abstract: Problems choosing between Java EE and Spring? Or do you want to use both in combination? Then this session is something for you.

In this session I will build an application using Spring 4, then build the same application using Java EE 7 and at last build it again using a combination of the two.

Strengths and weaknesses with the three approaches will then be explored and lessons learned summarized.

Format: Talk (50 minutes)
Language: English
Speaker: Ivar Grimstad

Java8: Stream Style

Abstract: JDK8 is bringing lambdas into the Java world. But without significant Java SE 8 libraries extensions lambdas would be only a toy. The centerpiece of the new libraries is the Streams API (formerly ‘Collections bulk operations’). Unfortunately, attempt to tell the whole ‘Lambda Project’ story during the single talk would be a thankless job. That is why we won’t talk about lambdas, we will talk about streams.
This session presents the Streams API and examples how to get the best performance and scalability using the library.
Format: Talk (50 minutes)
Language: Russian

Java 8 and JVM: what’s new in HotSpot?

Abstract: Java 8 release is scheduled for mid of March, 2014. There was a lot of buzz about long awaited lambda expressions and Streams API, but are innovations limited to these particular features? The talk will focus on default methods support, PermGen removal and other smaller, but not less important, improvements in HotSpot JVM from Oracle.
Format: Talk (50 minutes)
Language: Russian

Java Concurrency Under The Hood

Abstract: All non-trivial abstractions, to some degree, are leaky. So are the ones that try to obscure how your concurrent code is executed by saying “Write Once, Run Anywhere”.

The session starts with a theoretical overview of the subject, and then moves on to a hands-on OpenJDK digging. We will cover implementations of synchronized and volatile. We will learn what a memory barrier is, and why everyone loves x86. Last but not least, we will do some very convoluted stuff to HotSpot.

Format: Talk (50 minutes)
Language: Russian
Speaker: Gleb Smirnov

Java8: Advanced Stream Techniques

Abstract: Only lazy Java developers didn’t hear about new Java 8 and its powerful feature ‘stream API’. The most active developers already tried to play with streams. This talk is neither for lazy nor active developers. This talk is for curious. We’ll look under the hood of ‘Stream API’, we’ll try to understand how it works, we’ll learn how to implement our custom streams, and how to use streams efficiently.
Format: Talk (50 minutes)
Language: Russian

Java Memory Model Pragmatics

Abstract: Java Memory Model (JMM) specification tries to be very concise yet complete. Because JMM tries to embrace a very large set of phenomenons, its formalism is very heavy, which unfortunately resulted in losing the “humanity” of the spec.

In this talk, we will follow the logic of the model; review what pragmatic results the model was trying to achieve; look closely at the real world limitations the model had to endure; see how JMM tries to balance between developers’ needs and runtime/hardware maintainers requests.

Format: Master-class (1 hour 40 minutes)
Language: Russian

Java Benchmarking: Easy Peasy, Right?

Abstract: Performance measurement is easy! Get System.nanoTime() once, get it twice, substract, multiply, divide, stare at the numbers, and go for optimizations. Nope!

In this talk, we will see how does one uses benchmarks to measure the application performance, what mistakes are usually done in the course of that work, how to avoid those mistakes, and all-in-all how to get any sensible data from the world where everything depends on everything.

We will use Java Microbenchmark Harness (JMH), the standard harness in OpenJDK, in our tutorials.

Format: Talk (50 minutes)
Language: Russian

Memory leak verification

Abstract: Memory leak is not so rare in application of all sizes. When left unnoticed and uncared for it can easily bring your application down at the exact moment when the majority of your clients are on-site. With disastrous consequences for your business. In this talk I will talk about what is memory leak, how it can happen in language with garbage collection. Then I will talk about how to verify that your application is leak-free before going to production and that it will stay such.
Format: Talk (50 minutes)
Language: Russian

-XX:fast=true

Abstract: There is not such flag in JVM. Yet. What there is, the scientific, crystal ball free approach to measuring and improving application’s performance. I will make the introduction to this methodology and demonstrate its usage on demo application. We will take application “optimised” for turtles and snails and will turn it into something real world human beings can use and enjoy.
Format: Talk (50 minutes)
Language: Russian

Cooperation between Java compilers and IDEs

Abstract: It’s quite simple to compile java-files to class-files, just call javac (Oracle’s compiler) or EJC (Eclipse Java Compiler). But how to compile big projects consisting of many thousands of files? In this talk we’ll see how IDEs speed up the process of compilation to compile even big projects instantly.

I’m going to talk about cooperation between Java-compilers and IDEs: how compiler can help IDE and how IDE can help compiler, and what features of javac make this a challenging task. Also I’ll show how to write a correct Java program which cannot be compiled.

Format: Talk (50 minutes)
Language: Russian

Improve yourself through practice

Abstract: In this talk I would like to raise a question of how to become better developer, how to improve yourself and how important practice is? I will explain what Kata/Dojo is and what it gives you? I will share my experience and show one of the classic Kata’s solution going through red-green-refactor cycle repeatedly.
Format: Talk (50 minutes)
Language: Russian

Test with Spock and enjoy the life

Abstract: Testing, testing, testing. We all know it has to be done, but no one likes to do it. In this session, you’ll get all needed introduction to get started with Spock -the coolest testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and highly expressive specification language. Thanks to its JUnit runner, Spock is compatible with most IDEs, build tools, and continuous integration servers. Spock is inspired from JUnit, RSpec, jMock, Mockito, Groovy, Scala, Vulcans, and other fascinating life forms.
Format: Talk (50 minutes)
Language: Russian

In-Memory Data Grids Essentials: Oracle Coherence

Abstract: IMDG is recognized solution for distributed storage and processing of information. In use cases that require low latency, fast access and distributed computing – IMDG provides all these and even more. Following aspects will be covered and demonstrated: core principles of IMDG, basic and advanced operations, such as data modification is discributed caches, computing and MapReduce.
Format: Talk (50 minutes)
Language: Russian

Apache Lucene/Solr Internals

Abstract: Apache Lucene/Solr based search became de facto standard in software development during few last year. Considerable number of solutions in different programming languages take advantage of Lucene/Solr features. Understanding specifics of these libraries helps to design and develop solutions on their base. The talk would cover main data structures and algorithms behind Lucene/Solr.
Format: Talk (50 minutes)
Language: Russian

In-Memory Data Grid – an essential part of your architecture

Abstract: This presentation is about In-Memory Data Grid concept and its place among other enterprise technologies. You will learn:

  • Why IMDGs are one of the primary approaches for building of BIG low latency applications.
  • What are typical scenarios when you should consider using of an IMDG.
  • Who are the major players, brief overview of existing implementations.
  • Is it really so fast, some numbers from our lab.
Format: Talk (50 minutes)
Language: Russian

Handling 20 billion requests a month? Easy!

Abstract: Thanks to customer, I’m able to introduce to publicity architecture of our advertising project with more than 100 million active users, average load 11000 req/sec, more than 20 billion requests a month. What lessons we learned? What code performance improvements were done? How Coda Hale metrics helped us? How introducing Redis improved request processing speed 10x times? How Java 7 improved perfromance and what features did we you use? Why I don’t like Amazon services? How to build reporting with 25GB data per hour and why we use Cascading? Come, and I’ll bring answers on above questions and more.
Format: Talk (50 minutes)
Language: Russian

Mobile functional testing with Arquillian Droidium

Abstract: How do you test your Android applications, both web and Android ones, in a functional way? Not yet? Big mistake! With the existence of Graphene and Droidium tooling from Arquillian universe, you are able to test them very conveniently. First part of the talk will give you brief introduction to Arquillian Graphene while in the second part, you will get know Arquillian Droidium. Droidium is new tool from Arquillian platform which enables you to use Graphene Selenium-like API for web and native Android applications. We will show you its main features, how to use it and how to write tests in a Graphene way and how to use Java EE application containers in connection with Android devices in one test run which interacts together.
Format: Talk (50 minutes)
Language: English

Extremely rapid application development with Apache Isis

Abstract: In this talk, you’ll learn about Apache Isis, an open source Java framework for writing line-of-business enterprise web applications, and access them through REST. An application written in Isis will be a fraction the size it would be if you coded it “traditionally”. That’s important… faster time-to-market, cheaper to maintain, as well as a cleaner architecture.

Isis’ focus is on domain-driven design, with the emphasis on the bit that matters: the domain. The productivity and clean architecture comes about by omitting all the irrelevant artefacts of a custom-coded n-layer architecture (views, controllers, commands, persistence); you build your app solely and entirely by writing the core domain objects.

There’s a pattern for this type of approach: naked objects. Isis automatically provides a webapp UI inferred directly from the structure and behaviour of your domain objects. What’s more, Isis also makes your domain model accessible through REST following the “Restful Objects” specification.

Format: Talk (50 minutes)
Language: English

Rapid Development of Big Data applications using Spring for Apache Hadoop

Abstract: Spring for Apache Hadoop provides a collection of extensions and wrappers which make real-life project development using Hadoop technologies much easier, just like it has done for J2EE. Moreover, it doesn’t force you to dramatically change the way you develop applications – you still work with Java stack. In my presentation I’ll describe how we used Spring for Apache Hadoop to speed up and simplify development of business features using Big Data technologies. Main focus:

  • High level APIs for different aspects
  • Modularity & Testability
  • Integration with Spring Batch and other Spring projects
  • Scripting
  • Extensibility & Caveats
Format: Talk (50 minutes)
Language: Russian

Legacy projects: how to win the race

Abstract: Many of us want participate in pure and all white project where every single technical decision is in our complete control. Yeah… what a beautiful dream. Despite our strong desire we usually end up with terribly written, barely documented, badly designed and critically loaded applications which cannot be re-written or re-factored due to catastrophic lack of time. Too well known situation, huh?

I have a decent experience with such projects and often after some work can be proud because the application receives a new life and a customer/product owner saves some budget. However, only few have the same passion for “deadly sick” projects so I would like to share the knowledge, how-to’s and recipes of handling those fragile but stubborn folks – legacy projects.

Format: Talk (50 minutes)
Language: Russian

Web Apps in LISP? EWW!

Abstract: What is your “Java Web” today? Spring MVC? GWT? Seam? or maybe “Spark Java”?

The greatest thing in Java is of course the JVM, which allows many other languages to join the party. Groovy, Scala, JRuby… you name it. And of course LISP! In Java world we call it Clojure.

This talk will walk you through a couple of simple web apps written in Clojure and ClojureScript. The idea is to show that LISP is not only nothing to be afraid of, but also is a JVM Super Power of Simplicity that allows you to focus on creation rather than on “xyz framework specifics”. While doing that we’ll also witness a beauty of client side (ClojureScript) core.async.

Format: Talk (50 minutes)
Language: English

Serialization and performance

Abstract: Serialization is used anywhere in modern IT infrastructure. Saving information to the binary format files or database, sending data through network environment, client/server communication in Internet. These all are examples of explicit or implicit data persistence and serialization.

During past years Java industry has released a lot of new frameworks, libraries and custom data formats to support and improve serialization for Java community. We will review the most popular frameworks, talk about usage and differences and analyze the performance testing. This seminar will be useful for everyone who wants to receive new knowledge or apply new persistence techniques in his project.

Format: Talk (50 minutes)
Language: Russian

ScalaCheck: Property-based testing for Scala and Java

Abstract: ScalaCheck is a library for random and automated property-based testing of Scala or Java programs. During development the programmer provides a specification in the form of properties which functionality should satisfy, and then ScalaCheck tests all properties providing large number of randomly generated and boundary cases. As an example, I’m going to review solution for ‘The missionaries and cannibals problem’ – a well-known toy problem in artificial intelligence.
Format: Lightning Talk (10 minutes)
Language: Russian
Speaker: Akim Boyko

The Groovy Ecosystem

Abstract: Groovy is the fastest growing JVM language out there. It might be because it is so easy for Java developers to pick it up, but also because there’s an increasing number of projects and libraries that make use of Groovy as the starting point. In this session we’ll cover frameworks the following topics:

  • Frameworks Grails, Griffon, Gaelyk
  • Build Systems Gant, Gradle
  • Testing Easyb, Spock
  • Code Quality CodeNarc, GMetrics
  • Libraries GPars, GContracts.
Format: Talk (50 minutes)
Language: English

Memes and Cargo Culting in Java

Abstract: Given most of our profession comes from a computer scientist background, it is expected that we use a scientific and verifiable approach in decision taking processes. Unfortunately, nothing could be further from the truth. Our environment is ridden with irrational convictions that come from out of nowhere. Those are of two different kinds: memes are “ideas, behaviors, or styles that spreads from person to person within our culture” while cargo culting is the “ritual inclusion of code or program structures that serve no real purpose”. Both are deeply entrenched in our community. This talk will try to challenge some of those common ideas, by highlighting the most pervasive ones.
Format: Talk (50 minutes)
Language: English

Web application development with no front-end skills

Abstract: Web Development requires many front-end skills: in the best case, it is an underpaid job, and in the worst, it is left to interns. Vaadin is a Java framework requiring only Java skills. It also offers many features including:

  • true Object-Oriented Programming (inheritance and composition)
  • an abstraction over Web request/response with Event-Driven Programming
  • data binding
  • server push

Even better, Vaadin compiles to bytecode and if necessary, is extensible on the client-side. In this presentation, I will demo those features to give a taste of how easy it is to develop with Vaadin.

Format: Talk (50 minutes)
Language: English

Dart for Java Developers

Abstract: Dart is a new language for the Web created by Google. Its syntax will look very familiar for Java developers. It allows both object-oriented and functional programming and can be used both on the client-side as well as on the server-side in the Dartium VM. It comes with a top notch Dart-to-JavaScript compiler, which makes it production ready today. Dart was developed by the same people who were working on HotSpot JVM and V8 – the fastest JavaScript engine.

In this session you’ll learn the syntax of Dart language, and we’ll compare it side-by-side with Java 8. We’ll also go over the Dart ecosystem, and you’ll see an example of Dart to Java communication. I’ve submitted several patches to the Dart project, currently working on two Dart projects and considering it as a way to escape from developing in JavaScript.

Format: Talk (50 minutes)
Language: Russian
Speaker: Anton Moiseev

Streamline your processes with jBPM 6

Abstract: jBPM is a popular business process suite and workflow engine. Since version 6 it has added many interesting features – for example git based asset repository, maven based artifact repository, execution server and improved business activity monitoring.

In this talk you will learn to:

  • why are business processes useful in information systems
  • what are the most important jBPM 6 features in kie workbench and engine
  • how to embed jBPM into a web application (CDI, EJB, JSF) as a workflow engine library
Format: Talk (50 minutes)
Language: English
Speaker: Jiri Svitak

Spring the Ripper

Abstract: Why should we know about Spring internals? It works! So use it and enjoy! However, as always, in order to use Spring in most efficient way, you must know, what is under the fork. Only in case you really understand its internals you will be able to use all power of Spring. You will be able to customize this framework according to challenges of your project, to achieve best performance and solve any problem without applying to Spring-support center. ;)

Here are several topics about Spring internals, which will be covered during this session (with examples for each one):

  • What is Spring impact on the performance of your application?
  • What are the phases of Spring lifecycle?
  • What is ApplicationContext structure?
  • “You can’t do it with Spring!” – or maybe you can?
Format: Talk (50 minutes)
Language: Russian

BDD and browser automation with Geb and Spock

Abstract: With application and team growth such questions as keeping documentation up to date, sharing of the knowledge, communication between stakeholder and development team became more and more actual. BDD as methodology is aimed to minimize negative impact of that issues. Spock and Geb frameworks will help us to illustrate BDD implementation on specific example.
Format: Talk (50 minutes)
Language: Russian

Grails for Rapid Application Development

Abstract: I consider Grails as set of best practices implemented in most popular libraries and compiled into mature high-level framework. It provides setup which might take days to be prepared, gently invites developer to follow industry standard design patterns and provides an easy way to implement developer’s ideas. Here we will make overview of features and consider most significant advantages and disadvantages of Grails as platform for RAD and proof of concepts implementation. Special attention will be put to practical aspects, so theory will go in parallel with live coding.
Format: Talk (50 minutes)
Language: Russian

ESB. Mule ESB. From zero to Hero.

Abstract: As you can see from the presentation description, each developer can find something interesting in ESB (Enterprise Service Bus) world. For beginners: history, theory of integration patterns, ESB vendors, ‘Hello World’ sample, ESB flow structures, connectors, message structure and Mule Studio. For advanced developers additional topics will be presented: performance, memory management, error handling, testing and CloudHub. I hope my presentation will help you familiarize and understand ESB (Mule ESB) philosophy.
Format: Talk (50 minutes)
Language: Russian
Mikalai Alimenkou

Mikalai Alimenkou

XP Injection / ZoralLabs, Ukraine

Java Tech Lead and Scrum Master. Expert in Java development, scalable architecture, Agile engineering practices and project management. Having more than 9 years of development experience, specializes on complex distributed scalable systems. Active participant and speaker of many international conferences. Founder and coach in training center XP Injection. Organizer and founder of Selenium Camp, JEEConf, XP Days Ukraine and IT Brunch conferences. Founder of active “Anonymous developers club” (uadevclub).

Heinz Kabutz

Heinz Kabutz

JavaSpecialists.eu, Greece

Heinz Kabutz is the author of The Java Specialists’ Newsletter, a monthly publication that looks at advanced core Java topics. He has been programming and consulting on Java projects since 1997 and has trained thousands of programmers on advanced Java techniques.

Yakov Fain

Yakov Fain

Farata Systems, USA

Yakov Fain is Managing Director at a software boutique Farata Systems. He authored several technical books and lots of articles on software development. His book «Java Programming. 24-Hour Trainer» was published by Wrox in 2011. Yakov is Java Champion. Yakov leads Princeton Java Users Group. This year he co-authored O’Reilly book “Enterprise Web Development” and is working on new version of “Java for Kids” book to be published by No Starch Press. His free video lessons on Intro to Java programming are being published at YouTube channel.

Josh Long

Josh Long

Pivotal, USA

Josh Long is the Spring Developer Advocate. Josh is the lead author on Apress’ Spring Recipes, 2nd Edition, the O’Reilly “Pro Spring Roo” book, the Pearson “Livelessons for Spring” and a committer on several Spring projects and the Activiti BPMN framework. When he’s not hacking on code, he can be found at the local Java User Group or at the local coffee shop. Josh likes solutions that push the boundaries of the technologies that enable them. Josh’s interests include big-data, mobile, REST, NoSQL and integration. He blogs on the Spring blog and [on his personal blog].

Peter Ledbrook

Peter Ledbrook

Cacoethes Software, UK

Peter is a long time Java developer, Grails user, core committer, plugin author, and co-author of the book Grails in Action with Glen Smith. With a passion for how new technology can help developers get stuff done, he has worked with lots of open source projects and attempts to make the ones he likes more accessible. He is currently immersed in the Groovy ecosystem. This comes on top of more than 10 years experience in software development, from C to pure servlet development, to modern web apps.

Adam Bien

Adam Bien

adam-bien.com, Germany

Consultant and author Adam Bien is an Expert Group member for the Java EE 6 and 7, EJB 3.X, JAX-RS, and JPA 2.X JSRs. He has worked with Java technology since JDK 1.0 and with Servlets/EJB 1.0 and is now an architect and developer for Java SE and Java EE projects. He has edited several books about JavaFX, J2EE, and Java EE, and he is the author of Real World Java EE Patterns—Rethinking Best Practices and Real World Java EE Night Hacks—Dissecting the Business Tier. Adam is also a Java Champion, Top Java Ambassador 2012, and JavaOne 2009, 2011, 2012 and 2013 Rock Star. Adam occasionally organizes Java EE workshops at Munich’s airport (http://airhacks.com).

Patroklos Papapetrou

Patroklos Papapetrou

FoodTec Solutions Inc., Greece

Patroklos Papapetrou is a Java architect, addicted to software quality and an agile team leader with more than 15 years of experience in software development. He believes and invests in people and team spirit seeking quality excellence. He’s co-authoring “SonarQube in action” book, he is an active SonarQube community member and plugin contributor. He treats software systems as flowers that’s why he prefers calling himself a software gardener.

Maciek Próchniak

Maciek Próchniak

TouK, Poland

Maciek Próchniak is algebraic topologist, for more than 8 years developing on JVM for food and pleasure. This includes various subjects varying from architecture to operations and from integration to web development. Recently trying hard to code more functionally, preferably in Scala. Likes to speak at conferences from Bergen to Cairo on wide range of topics – from Scala type system to noSQL databases. For 5 years happy @ TouK, and even more happy husband and father.

Gerrit Grunwald

Gerrit Grunwald

Canoo Engineering AG, Germany

Gerrit Grunwald is a software engineer with more than eight years of experience in software development. He has been involved in Java desktop application and controls development. His current interests include JavaFX, HTML5, and Swing, especially development of custom controls in these technologies. Grunwald is also interested in Java-driven embedded technologies. He is a true believer in open source and has participated in popular projects like JFXtras.org as well as his own projects (Enzo, SteelSeries Swing, SteelSeries Canvas). Gerrit is an active member of the Java community, where he founded and leads the Java User Group Münster (Germany), he co-leads the JavaFX and IoT community, is a JavaOne rockstar and Java Champion. He is a speaker at conferences and user groups internationally.

Peter Veentjer

Peter Veentjer

Hazelcast, Bulgaria

Peter is Solution Architect and Senior Developer working at Hazelcast where he focuses mostly on the Hazecast core, the reactive programming model or the monitoring solutions. He is currently “writing the book” on Hazelcast. In the past he has been working on Open Source project like Multiverse: STM for Java and Akka.

Nicolas Fränkel

Nicolas Fränkel

Hybris, Switzerland

Software architect with +10 years experience in demanding environments, meaning a wide range of customers and contexts (such as telco, banking, insurances, large retail, public sector, …). Mainly focused on Java and JavaEE technologies, but specific interests like Software Quality, Build Processes and Rich Internet Applications.

Mohamed Taman

Mohamed Taman

Efinance, Egypt

A Systems Architect, Java team leader, and consultant with around 12+ years’ experience in projects architecture, manages department team, projects deadlines, delivery times, capacity plans, and resource planning in case of concurrent projects / change requests development. Consultant / Architect for startup companies.

A JCP & EC (Executive committee) member at Java Community Process Organization. Working on many JSRs especially JEE7, 8 umbrella JSRs / Glassfish 4 evaluation and testing, and a member of Adopt-A-JSR, Adopt-OpenJDK, and FishCAT programs.

Member of MoroccoJUG and EGJUG, & Founder of JCP activities program group of EGJUG. Won the 11 annual JCP awards 2013 for Outstanding adopt-a-JSR participant. An Oracle Egypt Architects Club board member, with responsibility to define and put the correct architecture reference solutions for Oracle customer’s projects in EMEA.

Alexey Fyodorov

Alexey Fyodorov

Oracle, Russia

Java developer for more than seven years. The last three years working in Oracle (Java Compatibility Kit, Java Platform Group). Leader of the St. Petersburg Java User Group, and CodeFreeze community, organizer of Russian Java conferences JPoint and Joker. Interested in multithreaded programming, psychology, the history of European philosophy and trash culture. Collects weapons, software engineering trade-offs and black unread books.

David Delabassee

David Delabassee

Oracle, Belgium

David Delabassee is a Software Evanglist working for Oracle. Prior to Oracle, David spent a decade at Sun Microsystems focusing on Java end-to-end (from the smart card to the high end server), related technologies and developer tools. In his various roles, David has been involved in numerous Java projects since the early days of this technology. David lives in Belgium and in his spare time, he enjoy tinkering and playing with technologies such as Java, Arduino, Linux, Home Automation, etc. You can follow David on Twitter under @delabassee.

Alexander Belokrylov

Alexander Belokrylov

Oracle, Russia

Alexander have spent more them 15 years in IT industry. Grown from an engineer to a manager. Currently works as a product manager for Java ME Embedded at Oracle in Saint-Petersburg, Russia. Co-founder of JUG.ru community in Saint-Petersburd. Java and embedded devices enthusiast. Spoke at JavaOne Russia, JavaOne San Francisco, Java Days, Joker, and other conferences.

Ivan Krylov

Ivan Krylov

Azul Systems, Russia

JVM developer at Azul Systems. Leads the development afford at the Zulu project at Azul. Ivan has been in JVM development since 2005. For several years he was a developer at the Hotspot Runtime team and made multiple code submits into JDK 6 and 7. After stepping away from compiler work at AMD he returned to JVM development at Azul Systems.

Ivar Grimstad

Ivar Grimstad

Cybercom, Sweden

Ivar Grimstad is an experienced software architect with a strong focus on Enterprise Java. He has been working with Java since the beginning and has over the years tried out everything from lightweight mobile applications to large scale enterprise applications. His experience covers all aspects of designing architectures based on a variety of technologies including standard Java EE as well as more lightweight frameworks such as Spring and a variety of open source products.

Ivar is always focusing on quality and on using the right tools and technologies for the right task to optimize the software development process. Ivar is a frequent speaker at conferences, locally as well as internationally.

Sergey Kuksenko

Sergey Kuksenko

Oracle, Russia
Primary skills of Sergey are performance engineering, benchmarking, JVMs, JIT compilers, and class libraries. He has been accelerated JVMs since 2005 when he worked for Intel in Apache Harmony Performance team. Recently he is working on JDK8 Lambda Project performance.

Vladimir Ivanov

Vladimir Ivanov

Oracle, Russia
Vladimir Ivanov is a Principal Member of Technical Staff at Oracle, working on development of HotSpot JVM in the area of JIT compilation and JVM-based languages support. Vladimir joined Sun Microsystems (acquired by Oracle, 2010) in 2005 and since then participated in numerous projects related to Java (HotSpot JVM, RTSJ, JavaFX).

Gleb Smirnov

Gleb Smirnov

Deutsche Bank, Russia
A high-performance fault-tolerant backend application engineer. Financial systems have received the most attention of all. Do a lot of digging and experimenting with OpenJDK in my spare time.

Aleksey Shipilёv

Aleksey Shipilёv

Oracle, Russia
Aleksey is the Java SE Performance Engineer working for Sun/Oracle for 5 years. The primary skills include performance engineering, benchmarking, JVMs, JITs, and class libraries. Maintains multiple projects, including jmh, jcstress, and jol. Prior joining Sun, Aleksey was employed by Intel where he worked in Apache Harmony performance team for 3+ years.

Nikita Salnikov-Tarnovski

Nikita Salnikov-Tarnovski

Plumbr, Estonia
Co-founder of Plumbr, the memory leak detection product, where he now contributes as core developer. Besides his daily technical tasks he is an active blogger, JavaOne RockStar and frequent conference speaker (Devoxx, JavaOne Russia, 33rd Degree, TopConf, JavaDay, GeekOut, Joker, Jazoon etc).

Prior to founding Plumbr, Nikita was a Java EE developer and performance consultant in the Baltics, and has worked with tens of different Java EE applications over the years. In the last four years he specialized in troubleshooting and performance optimization.

Paweł Lipiński

Paweł Lipiński

Pragmatists, Poland

A programmer with over 15 years of professional experience, solution architect, team coach and trainer in agile processes and practices. Frequent speaker on Java and Agile conferences. Co-creator of Agile Warsaw group. Author of tumbler-glass, a BDD framework for Java. For over 5 years leads a software house in Warsaw called Pragmatists, this way he’s realising and verifying what he talks about.

Nikolay Chashnikov

Nikolay Chashnikov

JetBrains, Russia

Nikolay has over 10 years of professional experience with Java-related technologies. During the last 8 years he were working on IntelliJ IDEA project in JetBrains. He participated in development of the internal build system and integration with applications servers, implemented plugins for Google Web Toolkit and Google App Engine, developed the core of the debugger subsystem used for different languages and worked on many other parts of the product.

Oleg Tsal-Tsalko

Oleg Tsal-Tsalko

EPAM, Ukraine

Lead Software Engineer at EPAM Systems. Speaker, active member of Kiev JUG. Participate in different educational initiatives and JCP/AdoptJSR programs. Passionate developer. Looking forward to learn more from other professionals and to share his knowledge with others.

Evgeny Borisov

Evgeny Borisov

Self employed, Israel

Since 2001 Evgeny was working as Java Developer, Team Leader, Java Architect and Java Trainer. Today he has his own consulting company.

Vladimir Kondrashchenko

Vladimir Kondrashchenko

Grid Dynamics, Ukraine

Lead Java engineer with more than 10 years of hands on experience. The main focus in the last years is on development of highly loaded eCommerce services platforms. Participated in projects connected with investigation and improvement of distributed applications stability and performance; research and application of different software design solutions based on Oracle Coherence, Ehcache, Cassandra.

Anatoliy Sokolenko

Anatoliy Sokolenko

Grid Dynamics, Ukraine

Anatoliy is passionate software engineer with different obligations, responsibilities and titles, depending on customer, project and time of the year. Adores programming, his wife and cycling.

Roman Shramkov

Roman Shramkov

EPAM, Ukraine

Solution Architect at EPAM Systems. I lead JEE projects for many years and have a lot of interesting stories to talk about. One of my focus areas is Agile and XP development and adaptation of these approaches for different cases. Often I can be found discussing new technologies and architectural solutions with other people.

Dmitriy Dumanskiy

Dmitriy Dumanskiy

Cogniance, Ukraine

Java Team lead with 9+ years experience. For last 6 years working mostly on advertising projects. Designed scalable, high-load, distributed adertising systems. Closely working with big data and related tech stacks. Specializing on performance optimization and improvemnets. Have big experience with different no-sql solutions.

Stefan Miklosovic

Stefan Miklosovic

Red Hat, Czech Republic

What was only his hobby ended up as his job he loves – doing open-source, coding in Java and working for Red Hat as mobile quality engineer. Stefan provides new blood to Java and Java EE ecosystem. He is mostly contributing for Arquillian testing platform where he leads Arquillian Droidium and mobile continuous integration is his everyday bread. He is succesfull participant of Google Summer of Code 2013 and he loves pushing new code to upstream. Stefan is not scared by functional languages either. He hacks around Scala from time to time as well.

Jeroen van der Wal

Jeroen van der Wal

Estatio, Netherlands

As an entrepreneur and code junkie Jeroen is always looking for the silver bullet in software development. After a 25-year long journey along numerous platforms, languages and paradigms he discovered the Apache Isis project and helped that mature into a state-of-the-art framework for domain driven development. With a small team he is leveraging Apache Isis to deliver mission-critical enterprise applications to customers all over the world.

Zenyk Matchyshyn

Zenyk Matchyshyn

Lohika, Ukraine

Zenyk Matchyshyn is a consultant/architect working for Lohika. His primary focus is consulting on advanced technologies for technological startups. He’s been doing software development since 2002, using Spring since 2005, and Hadoop since 2009. The main areas of interest are Big Data, Semantic Technologies, Robotics, and Machine-to-Machine interfaces.

Victor Polischuk

Victor Polischuk

Infopulse, Ukraine

Java technical leader at Infopulse Ukraine. Production experience counts 12 years including about 10 years of Java development. Expert in Java и JavaScript. Smartass.

Anatoly Polinsky

Anatoly Polinsky

Chariot Solutions, USA

Anatoly Loves People, Music and Coding. He went from “ZX Spectrum The Great” to z/Series and then back to human oriented hardware. He works at the Chariot Solutions where he has an opportunity to hack on Clojure, Scala, Java, Mobile and this thing people call big data. In his free time he drinks scotch, smokes hookah and jams some guitar chords with others, and then some.

Sergey Morenets

Sergey Morenets

DataArt, Ukraine

Sergey works in IT since 2000 with 10 year of Java SE/EE experience. Occupied senior Java developer/Team Lead positions in more than 15 Java projects. Winner of 2013 JBoss Community Recognition Award.

Akim Boyko

Akim Boyko

Itera Consulting, Ukraine

Developer with 10+ years experience in different fields: from viral advertisements in social networks, to financial and internet search applications.

Izzet Mustafaiev

Izzet Mustafaiev

EPAM, Ukraine

Software engineer working in EPAM Systems with primary skills in Java, with hands on Ruby/Groovy.
Participated in many different projects as a developer and architect. Actively promoting XP and Clean Code habits. Active member of EPAM Kyiv Agile User Group and JUG KPI, participated in JEEConf, XPDays, AgileEE, JavaDay, EPAM SEC in 2013.

Anton Moiseev

Anton Moiseev

Farata Systems, Russia

Anton is a software developer. He’s been developing enterprise applications for 7 years with Java and .NET technologies. He has a solid background developing rich Internet applications using various platforms. Currently he’s building e-Commerce applications based on Java EE platform. Anton has a strong focus on Web technologies implementing best practices to make the front-end work seamlessly with the back-end. He’s a huge enthusiast of programming languages.

Jiri Svitak

Jiri Svitak

Red Hat, Czech Republic

Jiri has been working as a quality assurance engineer for Red Hat for almost three years. He focuses mainly on jBPM business process suite; performance testing in particular. He enjoys learning new technologies from Java EE world and middleware.

Bogdan Danilyuk

Bogdan Danilyuk

TransferWise, Ukraine

Bogdan is lead developer in successful financial startup TransferWise. Inspired by extremely dynamic growing environment he became adept of agile methodologies and rapid application development tools. Always thirsty for a new knowledges and happy to share his experience with others. He helps people to understand magic of Groovy World as a teacher of GeekHub program.

Andres Almiray

Andres Almiray

Canoo Engineering AG, Switzerland

Andres is a Java/Groovy developer and Java Champion, with more than 14 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, Grails and DbUnit, as well as starting his own projects. Founding member and current project lead of the Griffon framework. He blogs periodically at http://jroller.com/aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.

Bohdan Bandrivskyy

Bohdan Bandrivskyy

Lohika, Ukraine

Bohdan works as Java/JEE developer/tech/team lead/architect since 2003. At the moment working as Java tech lead in the one of the most successful security/SSO sturtup in the word. Last several years mainly concentrate on develop/design SOA/SAAS applications. Since 2011 co-leader Lviv Java User Group.