29 November 2012
Read more

Java technologies - inevitable evolution

by Alexander Belokrylov

Java continues to evolve of its original "write once, run anywhere" philosophy by offering developers a powerful, scalable, and open platform for application development. With its collection of a general purpose virtual machine, productive language features, and a rich set of libraries, Java is continuing to improve the productivity of developers who create applications ranging from lightweight, headless devices all the way to high-end enterprise computing. This keynote talk will offer an integrated look into how the entire range of the Java portfolio is evolving to offer developers a high-performance, standards-based platform to meet the challenges of the next generation of enterprise computing

Multi-module project build with Gradle

by Andrey Adamovich

Presentation gives introduction to main Gradle features as well as makes an example of building a multi-module multi-language (Java/Groovy/Scala) project to show simplicity and expressiveness of Gradle's build language.
Read more

How to get Java back

by Anton Keks

Nowadays Java is clearly the most popular programming language for building of complex enterprise systems. Unfortunately, quite quickly these systems tend to become huge, overly complicated and tremendously difficult to maintain while doing very little. This leads people to seek for alternate programming languages and technologies, but the problem is not so much in the language itself, but in the architecture and design that is frequently applied to Java-based systems. Should we try to fix our thinking first? I'll show a way to do it.
Read more

Scala - the functional / object oriented language

by Konrad Malawski

Scala is a language running on the JVM, mixing concepts well known from functional languages with what we Java developers know best. It's an interesting, an immensely powerful mixture where "boilerplate" just has no right to live anymore. During this presentation we'll dive into the basics of the Scala language and library - but not just by itself, but backed with real use cases from an production scala-based system (which really has users!) where the language did really a lot more than "remove a bit of boilerplate". We'll take a look at how functional paradigms and patterns can help you better, cleaner code (by pushing DRY and SOLID to new limits) and how to build scalable, concurrent systems which remain easily testable even though they're multithreaded.
Read more

Nashorn: dynamic JavaScript on the JVM using Invokedynamic

by Marcus Lagergren

The JavaScript programming language has been experiencing a renaissance of late, driven by the interest in HTML5. Nashorn is a JavaScript engine implemented fully in Java on the JVM. It is based on the Da Vinci Machine (JSR 292) and will be available with JDK 8. This session describes the goals of Project Nashorn, gives a top-level view of how it all works and provides the current status. There are many implementations of JavaScript, meant to run either on the JVM or standalone as native code. Both approaches have their respective pros and cons. The Oracle Nashorn JavaScript project is based on the former approach. This presentation goes through the performance work that has gone on in Oracle’s Nashorn JavaScript project to date in order to make JavaScript-to-bytecode generation for execution on the JVM feasible. It shows that the new invoke dynamic bytecode gets us part of the way there but may not quite be enough. What other tricks did the Nashorn project use? The presentation also discusses future directions for increased performance for dynamic languages on the JVM, covering proposed enhancements to both the JVM itself and to the bytecode compiler.
Read more

Vaadin 7

by Sami Ekblad

Vaadin Framework version 7 is the first new major version of the popular rich web framework in over three years. The goal for Vaadin 7 is to give more freedom to use underlying technologies as well as clean up the APIs. Vaadin 7 includes Google Web Toolkit (GWT) to provide best of the Java based UI development - both of the server and client-side. The presentation describes the design decisions and explains the implications of including GWT, as well as show some of the cool stuff in Vaadin 7.
Read more

Introduction to Kotlin

by Svetlana Isakova

Kotlin is a modern statically typed language targeting JVM and JavaScript and intended for industrial use. The main goal behind this project is to create a language that would be a good tool for developers, i.e. will be safe, concise, flexible, 100% Java-compatible and well-supported by IDE and other tooling. Kotlin is an open-source project developed by JetBrains with the help of the community. This session demonstrates the key features of Kotlin. Among others things, it covers * Static null-safety * Extension functions * Higher-order functions and type-safe builders * Smart casts: Kotlin's lightweight pattern matching * Making Java APIs better with Kotlin * Developing mixed Kotlin/Java projects To find out more about Kotlin, please refer to http://kotlin.jetbrains.org
Read more

Кеширование вне Java Heap и работа с разделяемой памятью в Java

by Андрей Паньгин

В докладе обсуждаются аспекты кеширования данных за пределами Java Heap. Рассмотрены способы доступа к памяти вне Java Heap и создания образов кеша на диске. Предложен собственный алгоритм кеширования для высоконагруженного сервера. Демонстрируются недокументированные возможности JDK для эффективной работы с буферами и с разделяемой памятью.
Read more

Методология оптимизации производительности

by Сергей Куксенко

Хотите сделать ваше приложение быстрее, и для этого оптимизируете Java-код? Мы не будем рассказывать, как оптимизировать Java-программы. Мы не будем рассказывать, как использовать ваш любимый профайлер. В первой части мы расскажем, как делать «правильные вещи» (TM), а не тратить две недели на бесполезные приседания; эти вещи не всегда лежат в самом приложении. Во второй части мы рассмотрим то же самое, применительно к случаю многоядерных машин, разберём типичные казусы с производительностью программ, работающих на больших машинах; опишем их симптомы, а также обсудим типичные подходы к диагностике проблем и их классические решения.

Switching from the relational to the graph model

by Luca Garulli

In the last 30 years the Relational DBMS dominated the way to design and manage the persistence of information. Few years ago the NoSQL movement brought alternative approaches to store data. This session will analyze the Graph model and how can be successfully used by people with a Relational skill.
Read more

JRuby - Programmer's Best Friend on JVM

by Raimonds Simanovskis

Ruby is popular dynamic, open source programming language with a focus on simplicity and programmer's productivity. Ruby has many different implementations and one of the best implementations is JRuby on JVM platform. This presentation will start with overview of most interesting Ruby programming language features and then will show JRuby and Java integration capabilities (as well as integration with other JVM languages). JRuby programs can reuse existing Java libraries and applications as well as JRuby can be used by other Java applications as embedded scripting language. Web applications can be created much faster with popular Ruby on Rails framework and then can be deployed on standard Java application servers. JRuby can be used also for testing other Java or web applications as well as for build and deployment automation tasks. JRuby core team is working closely with JVM development team and latest JRuby release is utilising new JVM 7 improvements (like invokedynamics) to achieve even better performance.
Read more

Pragmatic Continuous Delivery

by Mirko Adari

When you send a package through FedEx it goes through a tracked, automated process that makes sure that the package arrives promptly at the destination. The same should apply to every commit that you check into the trunk. Continuous delivery describes how this process can be made fully automated and transparent and we will show you how your commits can be “fedexed” to production on application servers like JBoss, Tomcat, Weblogic and others with the help from Jenkins and LiveRebel. The main idea of continuous delivery is the deployment pipeline. Every commit that enters the pipeline should go through automated integration and testing and if successful, produce a release candidate. We will show how Jenkins can be used to orchestrate the process all the way to the staging environment. Once we’re there, the most complicated phase begins. The release candidate needs to be deployed to production, without disrupting the users or introducing risks. LiveRebel makes production updates quick, automated, non-disruptive and reversible. It finishes the job and delivers the updated version right into the users hands.
Read more

Continuous Delivery

by Andrzej Grzesik

I hate computers! But when properly handled, they are not that bad and I can go cycling. I would like to share theory and experiences which allowed me to accomplish that by properly taking care of the environments. Literalily, what I did so that "production" was not scary, "deploys" didn't cause panic, why I don't have to care, whether my last project was more a 1000 or 1500 releases. And more. I would like to speak about the basics, mixing in examples from "real life" where applicable. Naming (open source) tools and pointing where manual gluing was necessary.
Read more

Gentle introduction to Apache TomEE - a Java EE 6 Web Profile'd Tomcat

by Jacek Laskowski

It nearly impossible to imagine a Java EE landscape without Apache Tomcat - one of the many application servers supporting Java EE 6 web applications. It's neat and very lightweight platform for web applications of any kind. Some would warmly welcome the other features of a full-blown Java EE 6 application server - CDI, EJB, perhaps JMS. Rather than composing your application server yourself, give TomEE a try! In this presentation you'll know what the Java EE Web Profile offers and how little it takes to learn TomEE when you're familiar with Tomcat.
Read more

Developing modular applications with Java EE 6 and Enterprise OSGi

by Jacek Laskowski

Developing modular application is not an easy task. Java as an object-oriented language helps a lot, yet it introduces its own shortcomings - the well-known jar hell problem, no versioning or hot redeployment support, and a lot of boilerplate code. We need a framework. With OSGi Java modular development becomes manageable. For many, it'd rather be Spring Framework or Guice. What about enterprise development with transaction and security aspects? Could we combine the features of OSGi, Spring Framework/Guice and Java EE? Sure! That's Enterprise OSGi! This session starts with a brief overview of Enterprise OSGi and how it converges with Java EE. It then walks through the development of a simple OSGi Application up to the point where the final result is up and running on WebSphere V8.5 Liberty Profile. Brief set of slides and live coding should make the learning curve flattened.

Event Sponsors:


Media Sponsors: