Knowledge exchange is one of the primary reasons people go to a conference or attend a workshop. But talking about experience is not always enough. Talking about it and then experiencing it through doing is what makes the difference. That’s why have combined knowledge sharing and improvisation theatre in our workshop “Agile Knowledge Exchange through Acting”.
Java 8 bring Streams to the JVM, an easy way of dealing with stream based data evolution either sequentially or in parallel. So JVM now has data parallelism covered. There has been a lot of marketing of actors as a tool for handling concurrency and parallelism, systems such as GPars and Akka bring this to Java, Scala and Groovy programming. However there are other architectures: communicating sequential processes (CSP) and dataflow. Go has brought these models of concurrency and parallelism to the world of native code systems but what about the JVM? GPars has dataflow capability.
This workshop will give you a rapid introduction to working with Data Grid technologies like Hazelcast, Infinispan, Coherence and others. This workshop will be a mixture of brief slides on the concepts of Data Grids followed by a large amount of hands on Javas code. In the workshop we will configure a data grid on Amazon EC2 with a node on each attendees machine. We will also create a simple chat application using Data Grid Events, and finally we will hunt the POJO across the grid using Entry Processors for On Grid parallel processing.
This hands on lab will present a number of applications which have been built to include some common significant performance bottlenecks. Attendees will be able to work through the applications using a variety of free and open source tooling to get practical experience of identifying and resolving the bottlenecks. The techniques required will be covered at the start of the labs, and the exercises will give hands-on experience of using the various tools and techniques.
You spend your precious time building the perfect application. You do everything right. You carefully craft every piece of code and rigorously follow the best practices and design patterns, you apply the most successful methodologies software engineering has to offer with discipline, and you pay attention to the most minuscule of details to produce the best user experience possible. It all pays off eventually, and you end up with a beautiful code base that is not only reliable but also performs well.