JavaOne Update zur Java Plattform

48
JavaOne Update zur Java Plattform 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. zur Java Plattform Wolfgang Weigend Sen. Leitender Systemberater Java Technologie und Architektur

description

Vortrag von Wolfgang Weigend vor der Java Usergroup Berlin-Brandenburg am 20. November 2012.

Transcript of JavaOne Update zur Java Plattform

JavaOne Update zur Java Plattform

1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

zur Java Plattform

Wolfgang Weigend

Sen. Leitender Systemberater

Java Technologie und Architektur

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be

2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Make the Future Java

� Platform Completeness

� Modernization and Innovation

� Developer Productivity

3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

� Open and Transparent Evolution

� Active Community Involvement

� Quality and Security

ServersServersServersServers DesktopDesktopDesktopDesktop EmbeddedEmbeddedEmbeddedEmbedded TVTVTVTV MobileMobileMobileMobile CardCardCardCard

BD-J

Die Java Plattform

4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Java Card

Java EE Java TV

BD-J

JavaFX MSA

Java Language

Java SE Java ME

Key APIs

Platform

Language

Java Platform

Wie sich die Java Plattform schrittweise verändert

• Java Community

• JDK 7 Review

• JDK 8 und darüber hinaus

5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• JDK 8 und darüber hinaus

• Entwicklungsumgebung

• JavaFX & OpenJFX

• Java ME

• Zusammenfassung

• Diskussion

Java Communities

6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Veränderungen im JCP Prozess 2.9 Dokument mit Verschmelzung beider Executive Komitee Mitglieder zu einem einzigen

Executive Komitee

SE/EE

Executive

Committee

ME

Executive

Committee

JCP

Executive

Committee

25

Executive Member Merge Projekt JSR-355

7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Executive Committee (EC) Elections 2012

– New and re-elected merged EC Members

– Ratified Seats: Cinterion Wireless Modules GmbH, Credit Suisse, Fujitsu Limited, Hewlett-Packard

– Open Election Seats: CloudBees, London Java Community

– Newly elected EC Members take their seats on 13th of November 2012

• In the merged Executive Committee, Voting Members serve 2-year terms; by 2013, there will be 16 Ratified Seats and 8

Elected Seats, and the permanent seat held by Oracle America, Inc. 2-year terms are staggered so that 12 of the 24 seats are

normally up for ratification/election each year

• Change of Java Specification Participation Agreement (JSPA)

• Independent Implementations (Not derived from the RI)

• Licensing and Open Source

• Transparency Requirements

A major Revision of the Java Community Process: JSR-358

8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Transparency Requirements

• Compatibility Policy and TCKs

• The Role of Individual Members

• Patent Policy

• Intellectual Property Flow

• Refactoring and Cleanup

Zusammenarbeit mit der Community• OpenJDK Mitglieder: IBM, Apple, SAP, Azul Systems, Twitter

• OpenJDK Community Richtlinien verabschiedet

• JVM Language Summit (Jährlich)

− 30. Juli – 1. August 2012, Santa Clara Campus

9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• JUG Leaders Call alle zwei Wochen

• JUG Leader Summit im Januar (Jährlich)

• Über 250 JUG�s aus 50 Ländern am JDK 7 Launch beteiligt

• Community Keynote auf der JavaOne 2012

– 30. September – 4. Oktober 2012, San Francisco

Verwirklichte Pläne und neue Projekte

JDK 7

• Available for Windows, Linux, Solaris, embedded platforms

• Mac OS X seit JDK7u4

JVM Konvergenz

• Initial JRockit/HotSpot Konvergenz in JDK 7

• No more Perm-Gen

Open Source

• OpenJDK official Java SE 7 Reference Implementation

• OpenJDK project initiated for JDK 8

10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Java Flight Recorder

• Memory-Leak Server

• Early Access Releases JDK 8 Build b65

[email protected]

Ziele der JVM Verschmelzung (HotRockit)− Maximale Performance und Skalierbarkeit− Multi-Core und Parallelisierungs Optimierungen− Feingranulares Monitoring, Profiling und Management− Extrem effiziente Garbage Collection

JDK 7 Update ReleasesFehlerbereinigung

• Projekt entwickelt Updates für JDK 7

• Sponsor ist die Build Group

• Mailing Liste lautet jdk7u-dev− Technische Diskussion zum JDK 7 Updates Projekt

− Archive vorhanden

11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− Archive vorhanden

− Nachrichten an alle Teilnehmer verschicken: • [email protected]

− jdk7u-dev Subscription

• Java SE 7 Update Release verfügbar: JDK 7u9− Changesets und aktuelle Änderungen in Java SE 7u10

� 7u-dev accepting 7u12 fixes

− Projekt Feedback Forum für Java SE Snapshots

− Report a Bug, oder Request a Feature

Java SE 7 Verbreitung

150

200

250

Mil

lio

ns

Oracle JRE 7 Downloads

12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

0

50

100

150

7 7u1 7u2 7u3 7u4 7u5 7u6 7u7

Mil

lio

ns

Java 7 für Mac OS X und Linux/ARMEthernetEthernet

USBUSB

SD CardSD Card

RCA RCA General General

PowerPowerHDMIHDMIEthernet

USB

SD Card

RCA General

PowerHDMI

13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

AudioAudio RCA VideoRCA Video

General Purpose I/OGeneral Purpose I/OAudio RCA

Video

General Purpose I/O

Image source: Boston Ltd., UK

Platform Footprint

10MB-100MB

Java Embedded im EinsatzMEDIUM

SE-E

LARGESMALLSECURITY

14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

DeviceCPU/GPU/I-OARM 7 Cortex M ARM9/11 MIPS32/Intel Atom/ARM CortexA/PPC

50KB-1MB

1MB-10MBJava card

OJEC

SE-E

ME-E

Neue Embedded ReleasesJava ME Embedded 3.2Java ME Embedded 3.2

Runtime for small embedded devices: Microcontroller class platforms

Java Java Embedded Suite 7.0Embedded Suite 7.0

Pre-integrated full featured Java Embedded Platform

Embedded

Enterprise Data & Applications

DB3.1.1

15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

EDGE DEVICES GATEWAYS/CONCENTRATORS

Embedded

• Java SE Embedded 7

• Java DB−Unterstützung zur Speicherung strukturierter Daten mit SQL

Java Embedded Suite 7.0auf Basis Java Plattform

16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• GlassFish Version für die Embedded Suite−Vollständige Kompatibilität zur Java Servlet 3.0 Spezifikation

•Jersey Web Services Framework−Bereitstellung von Web Services, statischen- und dynamischen Web Content und Client-Zugriff über RESTful Web Services

JDK 7 Funktionsumfang

• Coin – Kleine Sprachverbesserungen (JSR-334)

• Dynamic Language Support (JSR-292)

• Concurrency und Collections Updates (JSR-166y)

• Netzwerk und File System (JSR-203)

17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Netzwerk und File System (JSR-203)

• Sicherheit

• Internationalisierung

• JVM Konvergenz

Languages Running on the JVM

GroovyJRuby

18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

…Scala

ClojureJavaScript

Java SE RoadmapJDK 9• Jigsaw

• Interoperability

• Optimizations

• Cloud

• Ease of Use

• JavaFX JSR

Major Serviceability improvements• Java Flight Recorder in JDK

• Native Memory Tracking

• Java Discovery Protocol

• App Store Packaging Tools

• Last Public Release of JDK 6

JDK 8• Lambda

• Complete JVM Convergence

• JavaScript Interoperability

• JavaFX 8

− Public UI Control API

− Java SE Embedded support

− Enhanced HTML5 support

19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

2013 2014

NetBeans IDE 9• JDK 9 support

• Scene Builder 3.0 support

Scene Builder 3.0• JavaFX 9 support

2015

19

NetBeans IDE 7.3• Scene Builder 1.1 support

Scene Builder 1.1 • Linux support

NetBeans IDE 8• JDK 8 support

• Scene Builder 2.0 support

Scene Builder 2.0• JavaFX 8 support

• Enhanced Java IDE support

• Feedback der Community – Zwischen den neuen JDK-Versionen werden 2 Jahre Zeit benötigt• Release Datum September 2013• Funktionsumfang:

− Projekt Lambda (JSR-335)− JavaScript Interoperabilität

JDK 8 geplant für September 2013

20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− JavaScript Interoperabilität− Device-Unterstützung

• Weitere kleine Sprachverbesserungen

im Projekt Coin Teil 2

• Java SE 8 Early Access Releases

− JDK 8 Build b65

• M6 Feature Complete — All features have been implemented and integrated into the master forest, together with unit tests

− 101 Generalized Target-Type Inference

− 104 Annotations on Java Types

− 107 Bulk Data Operations for Collections

− 108 Collections Enhancements from Third-Party Libraries

− 109 Enhance Core Libraries with Lambda

JDK 8 – ZeitplanDetailplanung M6 bis Release-Freigabe

21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− 115 AEAD CipherSuites

− 118 Access to Parameter Names at Runtime

− 120 Repeating Annotations

− 123 Configurable Secure Random-Number Generation

− 126 Lambda Expressions and Virtual Extension Methods

− 135 Base64 Encoding and Decoding

− 150 JSR 310: Date and Time API

− 156 G1 GC: Reduce need for full GCs

− 160 Lambda-Form Representation for Method Handles

JDK 8

Innovation• Lambda JSR 335

• Language Interoperability

• Nashorn

Core Libraries

Java for Everyone• Profiles for constrained devices

• JSR 310 – Date & Time API‘s

• Non-Gregorian calendars

• Unicode 6.1

• ResourceBundle

• BCP47 locale matching

Client• Deployment enhancements

• JavaFX 8

• Public UI Control API

• Java SE Embedded support

• Enhanced HTML5 support

• 3D shapes and attributes

22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Parallel operations for core collections API‘s

• Improvements in functionality

• Improved type inference

General Goodness• JVM enhancements

• No PermGen limitations

• Performance Improvements

• BCP47 locale matching

• Globalization & Accessibility

Tools• Compiler control & logging

• JSR 308 – Annotations on Java Type

• Native app bundling

• App Store Bundling tools

• 3D shapes and attributes

• Printing

Security• Limited doPriviledge

• NSA Suite B algorithm support

• SNI Server Side support

• DSA update to FIPS186-3

• AEAD JSSE CipherSuites

Lambda Ausdrücke JSR-335

•Functional Interfaces: “An interface with one method”

• Vorschlag zum Sprachumfang von Java SE 8

− 0.5.1 Early Draft Review 2 Specification vom 19. Juli 2012file:///C:/Java/jsr335-0.5.1/index.html

− Prototype Binaries verfügbar: http://jdk8.java.net/lambda/

23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− Prototype Binaries verfügbar: http://jdk8.java.net/lambda/

•Lambda Expressions (closures)/* (int x, int y) {return x+y; } */

•Parameter Liste → -> Operator → Expression od. Statements(String x) -> {return !x.isEmpty();}

•Was hergeleitet werden kann, kann auch weggelassen werdenx -> !x.isEmpty()

Today we write:

Collections.sort(people, new Comparator<Person>() {

public int compare(Person x, Person y) {

return x.getLastName().compareTo(y.getLastName());

}

});

Lambda AusdrückeState of the Lambda 4th Edition

24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

/* This is a very verbose way to write "sort people by last name"! */

With lambda expressions, we can make this expression more concise:

Collections.sort(people,

(Person x, Person y) -> x.getLastName().compareTo(y.getLastName()));

List<Student> students = new ArrayList<>(...);

...

double highestScore =

students.parallel()

.filter(s -> s.getGradYear() == 2011)

.map(s -> s.getScore())

.reduce(0.0, Integer::max);

Lambda Ausdrücke – ParallelisiertState of the Lambda Libraries Edition

25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− More readable

− Better abstraction

− No reliance on mutable state

− Runs in parallel

− Works on any data structure that knows how to subdivide itself

� Concurrent Bulk Data Operations in Java collections API’s (JEP 107)

− filter/map/reduce

Modularität • Projekt Jigsaw: komplette Plattform Modularisierung• Module system for Java applications and the Java platform

Interoperability• Multi-language JVM• Improved Java/Native integration

Cloud• Multi-tenancy support• Resource management

JDK 9 und die Vision darüber hinaus

26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Resource management

Ease of Use• Self-tuning JVM• Language enhancements

Advanced Optimizations• Unified type system• Data structure optimizations

Works Everywhere and with Everything

• Scale down to embedded, up to massive servers• Support for heterogenuous compute models

JDK 9 und darüber hinaus (2)• Jigsaw

• Reification

• Ease of use

• Optimizations

• Generic Lang Interoperability

• Penrose

• OpenJFX

27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• OpenJFX

• Project Sumatra – Java for GPUs

• More and more Ports

• Multi-Tenancy

• Self Tuning JVM

• Improved Native Integration

• Resource Management

• Unified Type System

• Data Structure Optimizations

Modularisierung im JDKProjekt Jigsaw Java Module Systemmodule com.greetings @ 0.1 {

requires org.astro @ 1.2; class com.greetings.Hello;

}

package com.greetings; import org.astro.World; public class Hello {

public static void main(String[] args) {System.out.println("Hello, " + World.name() + "!");

28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

System.out.println("Hello, " + World.name() + "!");}

}

module org.astro @ 1.2 { }

package org.astro; public class World {

private static native byte[] getName(); static {

System.loadLibrary("world"); } public static String name() {

return new String(getName()); }

}

OpenJDK Projekt “Penrose”Vereinte Modularisierung

•„Penrose“ soll OSGi mit Jigsaw vereinen

• Interoperabilität zwischen Projekt Jigsaw und

den OSGi Implementierungen

• Existierendes hohes Investment in OSGi Technologie

29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Existierendes hohes Investment in OSGi Technologie

• Entwickler Beteiligung zur Statusbeobachtung und

Einflußnahme bei Zusammenarbeit der Module-Systeme

• Erstellung eines Prototypen zur Demonstration

der Module-System-Interoperabilität

• Technische Diskussion: [email protected]

NetBeans IDE 7.2.1 • Entwicklungswerkzeug für Desktop, mobile und Web Anwendungen

− Java EE 6, Java SE 6 (REST, CDI, JPA), Java SE 7, Swing, JavaFX� Java Editor support for Project Coin (Diamond Operator, Strings in switch, Multi-catch)

� Bulk Refactoring of projects and packages to Java SE 7

� JavaFX 2.0 Full edit/compile/debug cycle support

� Visual Debugging of JavaFX apps

� Native Integration mit FindBugs

− Java ME und Embedded

30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− PHP, Ruby, Groovy, C / C++

− HTML5 Editing, JSON Formatter

− Debugger, Profiler, Refactoring

• Läuft auf MS Windows, Linux, Mac OS X und Solaris• NetBeans IDE ist open-source und frei verfügbar• Feature Liste & Builds

� netbeans.org/community/releases/roadmap.html

• NetBeans IDE 7.3 Beta 2 Release� http://netbeans.org/community/releases/73/� New and Noteworthy NB73

Projekt Easel - Advanced Tooling für HTML 5

• Provides the foundation for tooling support

• Consume Java EE based services with today’s popular JavaScript frameworks

• HTML5 Application Development

31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• HTML5 Application Development− HTML5 Application project with JavaScript testing support

− JavaScript Editor significantly improved

− Page inspector and visual CSS style editor

− JavaScript Debugger

− Embedded Web Kit browser; deep integration with Chrome

• Eclipse Projekte mit Werkzeugen und Frameworks

• Ganzheitliche Unterstützung vom Software Development Lebenszyklus

− Modellierung

− Entwicklung

− Deployment Werkzeuge

− Reporting

Unterstützung für eclipse IDE

32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− Reporting

− Daten Manipulation

− Testing und Profiling

• Primärer Fokus zur Entwicklung von Anwendungen

− Java EE, Web Services und Web Anwendungen

• Eclipse Unterstützung für andere Programmiersprachen

− C/C++, PHP, andere

� JavaFX als strategische UI für Rich-Client-Applikationen� Einheitliche Applikationsentwicklung für Java und Web-Lösungen

• Browser Plug-in, Web Start, Native Executables

• Hardware Accelerated Graphics (DirectX, OpenGL)

• JavaFX wird mit HTML-DOM ausgestattet − JavaFX mit WebView für HTML5 Features (Web Sockets, offline Browsing, lokale Datenbank)

− Leistungsfähige JavaScript Engine

− JavaFX als Applet eingebettet in einer Web-Seite lauffähig

JavaFX 2.x

33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

� JavaFX 2.0 Plattform Sprachwechsel• Java als native Sprache - anstatt JavaFX Script

• JavaFX APIs in Java implementiert

• Vorteile bei Verwendung von Generics, Annotations und Multithreading für JavaFX

� JavaFX 2.2.3 verfügbar und mit NetBeans 7.2.1 unterstützt• Migrationspfad für Swing- und SWT-basierte Anwendungen

• JFXPanel Komponente ermöglicht das Einbinden von JavaFX Anwendungen in Swing

• Open Source mit OpenJFX und im JCP standardisiert

� JavaFX Scene Builder 1.1 Developer Preview

JavaFX Runtime Architektur

34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

JavaFX Architektur Komponenten• Glass Windowing Toolkit: Provides native operating services, such as managing the

windows, timers, and surfaces

• Prism: Graphics pipeline that can run on hardware and software renderers

• UI Toolkit: Ties Prism and Glass together and makes them available to the JavaFX APIs

Scenegraph• Instead of remove/add:

− group.getChildren().remove(node);− group.getChildren().add(0, node);

• node.toFront()

JavaFX Scenegraph

35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• node.toFront() • node.toBack()

Scenegraph−node.toFront() −node.toBack()

Class JFXPaneljava.lang.Object

java.awt.Componentjava.awt.Container

private static void initFX(JFXPanel fxPanel) {

// This method is invoked on JavaFX thread

Scene scene = createScene();

fxPanel.setScene(scene);

}

JavaFX mit JFXPanel Komponente in Swing Anwendungen einbinden

public class Test {

private static void initAndShowGUI() {

// This method is invoked on Swing thread

JFrame frame = new JFrame("FX");

final JFXPanel fxPanel = new JFXPanel();

36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

javax.swing.JComponentjavafx.embed.swing.JFXPanel

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

initAndShowGUI();

}

});

}

}

frame.add(fxPanel);

frame.setVisible(true);

Platform.runLater(new Runnable() {

@Override

public void run() {

initFX(fxPanel);

}

});

}

JavaFX Update und Roadmap

Dez 2011 Jan 2012 Apr 2012 Aug 2012

Linux/ARM Dev Preview

OpenJFX Project created

Linux Developer Preview

JavaFX 2.1 fürMac OS X

JavaFX 2.2 fürLinux

Scene Builder 1.0

NetBeans 7.2 mit

2013 2014

JavaFX 8• Included in JDK 8

• Concurrent OS support: Windows, Mac OS, Linux, ARM

37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Linux/ARM Dev Preview

Scene Builder Linux Developer Preview

NetBeans 7.2 mitJavaFX 2.1 undScene Builder Integration

NetBeans.next• Java SE 8 support• JavaFX 8 support• more

JavaFX via Open Source auf dem Weg ins JDK 8

Open Source

�OpenJFX Project under OpenJDK

Konvergenz

�Common license with Java SE (in place)

Standardisierung

�Oracle committed to JavaFX standardization

38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

�First phase to focus on UI Controls

� �JavaFX to be included in Java SE by JDK 8

�JavaFX for Java SE Embedded (ARM)

� �JSR to be submitted through JCP

OpenJFX Project

• OpenJFX is the open source home of JavaFX development

• Goal of OpenJFX is to build the next-generation Java client toolkit

• Project OpenJFX intends to file a JSR in the Java SE 9 timeframe and be part of the JDK

• In 2011 the JavaFX toolkit was completely rewritten in Java and released by Oracle as JavaFX 2.0

39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Oracle announced that it would donate the JavaFX toolkit to the open source community and by November 2011 the OpenJDK Community had agreed to take it on

• Project OpenJFX is currently focused on absorbing the existing code base from Oracle and building a functioning community around it

• Oracle's code will be donated in phases with the initial piece being the UI Controls classes

JavaFX Kundenbeispiele

40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

JavaFX Anwendungen� HealthConnect is a Belgian company with deep expertise in integration architectures, software development, eHealth integration and project management in the health sector. Based on the broad experience and expertise of its people, HealthConnect provides services to healthcare practitioners, healthcare institutions, mutual insurance organisations and governments. The health sector is our only focus and therefore our customer’s guarantee for added value. HealthConnect has been launched in 2010. After two year, it counts 35 employees (in Belgium and India)

� Deep Analytics of Big Data• Create highly advanced analysis fast and cost efficient• End-User Programming in Java, Scala and R• Access to thousands of analytical algorithms, methods and tools

41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Access to thousands of analytical algorithms, methods and tools• Oracle Java Magazine: “Java Powers Analytical Breakthroughs at QuantCell Research”

• Java Analytical Models and Big Data: End User Programming in Spreadsheets. How to use JavaFX to build an end user environment supporting rich visualization and big data analytics

� Container Terminal Operations• General Cargo Terminal Operations• Intermodal Rail Operations• Shipping Line Operations• Yard Management

JavaFX Anwendung auf dem Raspberry Pi Computer

• Java SE Embedded auf dem Raspberry Pi Computer

− build 1.7.0_04-ea-b20, headless

• JavaFX für Embedded Devices

42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

− JavaFX Developer Preview for ARM (JDK 7)

−JavaFX.profile.embedded@8-ea

• Java-Module der Java SE Embedded Runtime Environment Version (build 1.8.0-ea-b00, headless) mit einem Jigsaw-Prototypen für Raspberry Pi Computer erstellt

• Konferenzplaneranwendung j1_2012_scheduler

Java SE 8 Compact-Profile mit Speicherbedarf

43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Java SE 8 Compact-Profile mit Packages

Compact1 Profil Compact2 Profil Compact3 Profil Vollständige JREjava.lang java.sql java.lang.management java.appletjava.io jvax.sql javax.management java.awtjava.nio javax.xml javax.naming java.beansjava.text org.w3c.dom java.sql.rowset javax.activityjava.math org.xml.sax javax.security.auth.kerberos javax.rmijava.net java.rmi org.ietf.jgss javax.rmi.CORBAjavax.net javax.rmi javax.script org.omgjava.util.logging javax.transaction javax.xml.crypto javax.accessibility

44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

java.util.logging javax.transaction javax.xml.crypto javax.accessibilityjava.security java.util.prefs javax.imagio

javax.security.sasl javax.printjavax.security.acl javax.soundjavax.lang.instrument javax.swingjavax.annotation.processing javax.activationjavax.lang.model javax.jwsjavax.lang.model.element

javax.lang.model.type

javax.lang.model.util

javax.tools

javax.xml.bind

javax.xml.soap

javax.xml.ws

javax.annotation

Embedded Java Roadmap

Java Embedded Suite 7• SE Embedded 7• GlassFish for Embedded• Java DB

Java SE Embedded 8 • Complete JVM convergence• Additional compact profiles• JavaFX for Embedded

Java Embedded Suite 8• Additional enterprise middleware integrations

• Flight Recorder/Mission Control

Java Embedded Suite 7.1• Sync with latest JDK and

GlassFish• Optimizations and additional

platform support

Java Embedded 9• JDK9• Modularity based on

Jigsaw• Additional Embedded

device APIs• Ease of Development

NetBeans IDE 7.2• ME Embedded support

45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

2015201520122012 20132013 20142014

• Java DB

Java ME Embedded 3.2• Microcontroller support• Device Access APIs

Java ME SDK 3.2• Embedded emulator• Eclipse integration

Java ME Embedded 3.3• Enhanced device access • Footprint optimization &

configuration tools• Improved developer

tooling & experience

Java ME Embedded 8• Java ME 8• Standardized Embedded API• New on-device debugging

architecture

NetBeans IDE 8• Java ME/SE 8 Embedded

support

NetBeans IDE 9• Java ME/SE 9

Embedded support• Jigsaw support

Java ME / Embedded

• Introduced Java Embedded Suite – middleware stack for embedded

• Introduced Java ME Embedded for Java on microcontrollers

• Java ME/SE alignment planned for ME/SE 8 in CY 2013

• Java ME 8 JSR submission being prepared in JCP

46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

• Java ME 8 JSR submission being prepared in JCP

• Move towards single platform JSR

• Subset of Java SE, merge ME/SE tool and API ecosystem

• Generic small footprint platform for small embedded devices

• Enable Java in the Internet of Things

Zusammenfassung� Java SE 7

• Inkrementelle Änderungen

• Evolutionär, nicht revolutionär

• Solides Feature-Set für Entwicklungsarbeit

� Java SE 8

• Funktionale Programmierung: Lambda

� Java SE 9

47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

� Java SE 9

• Modularisierung: Jigsaw

� Java ME

• Konvergenz mit Java SE

� Java EE 7

− Neue API’s

� Java als Plattform nutzt Innovationen im Ökosystem und paßt sich demÄnderungprozess der IT an

Vielen Dank für Ihre Aufmerksamkeit!

[email protected]

48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.