Keynote: The Future of Java
With Java EE 7 launched in 2013 and Java SE 8 and ME 8 launched in March 2014 the platform is clearly continuing to evolve and deliver features to make developers lives easier. What happens next? Planning is already under way for Java SE 9 and Java EE 8. This session will gaze into the crystal ball and give some ideas of what to expect in the future from Java.
55 New Features in Java SE 8
Java SE 8 is the next release of the core Java platform and contains lots of exciting new features. In addition to the big features like Lambda expressions, extension methods for interfaces and a new Date and Time API there are plenty of smaller features as well. This session will rapidly cover fifty-five new features that have been included in Java SE 8.
Java and The Internet of Things
We've been talking about the 'Internet of Things' for over ten years. Now that Moore's law has reduced the cost of including processing and connectivity in everyday devices to a small fraction of the product's price this is now an economic and technological reality. Just having the necessary hardware is only half of the equation; application code is the other half. Developing embedded software is notoriously difficult, requiring high levels of expertise in low level languages. Embedded Java makes application development easier, quicker and cheaper. In addition, the reality of 'write once, run anywhere' and the Java virtual machine makes deployment of code to multiple heterogeneous platforms simple and straightforward.
JavaEE 7 In Practice: Blueprints Reborn
This session traverses some of the big ticket new features in JavaEE 7 by introducing the Cargotracker application. This end–to–end example is a new project on java.net. Cargotracker brings back some of the ideas of the JavaEE Blueprints efforts of years past. Some of the new JavaEE 7 features demonstrated in Cargotracker include:
-
WebSockets
-
JSON-P
-
JavaAPI for RESTful Web Services (JAX–RS)
-
JavaServer Faces (JSF)
-
Contexts and Dependency Injection (CDI)
-
Bean Validation
-
Expression Language
This is your chance to look at JavaEE 7 features in the context of a realistic application, available with an MIT license at
http://cargotracker.java.net/.
Project Lambda: Functional Programming Constructs and Simpler Concurrency in Java SE 8
The big language features for Java SE 8 are lambda expressions (closures) and default methods (formerly called defender methods or virtual extension methods). Adding lambda expressions to the language opens up a host of new expressive opportunities for applications and libraries. You might assume that lambda expressions are simply a more syntactically compact form of inner classes, but, in fact, the implementation of lambda expressions is substantially different and builds on the invokedynamic feature added in Java SE 7.
This session will explain the ideas behind lambda expressions, how they will be used in Java SE 8 and look at some of the details of their implementation.
Java EE Sessions to be confirmed:
Building Java HTML5/WebSocket Applications with JSR 356
The family of HTML5 technologies has pushed the pendulum away from rich client technologies and toward ever-more-capable Web clients running on today's browsers. In particular, WebSocket brings new opportunities for efficient peer–to–peer communication, providing the basis for a new generation of interactive and "live" Web applications. This session examines the efforts with JSR 356 to support WebSocket in the Java programming model, from its base–level integration in the Java Servlet and Java EE containers to a new, easy-to-use API and tool set that is part of the standard Java platform.
"Project Avatar - Server-Side JavaScript on the Java Platform"
Abstract: Project Avatar is an open source platform for server-side JavaScript applications on the JVM, using the node programming model and its 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. In this session, you will learn how to write hybrid applications that take advantage of both ecosystems.