Wie viel Java wird überhaupt noch gebraucht? Wie sich die Java-Plattform evolutionär verändert



Ähnliche Dokumente
JavaFX goes Open Source

Java Plattform Strategie Update

Die evolutionäre Veränderung der Java Plattform

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

<Insert Picture Here> Application Express: Stand der Dinge und Ausblick auf Version 5.0

Informationen zur Oracle DB SE2

Neues von Oracle Gut zu wissen...

Java Technologie Update

Java Plattform - The Big Picture Überblick und Roadmap

Java User Group Ostfalen 8. September 2011 Die Java Plattform Strategie

Neues von Oracle Gut zu wissen

Creating OpenSocial Gadgets. Bastian Hofmann

Java Plattform Strategie

Neue Welten: Externe Daten mit APEX nutzen

Open Source. Hendrik Ebbers 2015

Immer in Bewegung bleiben Oracle Managed File Transfer

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern

Java Plattform Strategie

Entwicklung mit JavaFX

SAFE HARBOR STATEMENT

p^db=`oj===pìééçêíáåñçêã~íáçå=

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

Demo Kino: Der Herr der Wolken Die Gefährten

Der Oracle Mobile Cloud Service

Java-Trends - Ein Kurzüberblick

Oracle Public Cloud Die Enterprise Cloud für geschäftskritische Anwendungen Carsten Ratzlaff

Oracle Database Cloud Service

Windows 8 bereitstellen das Microsoft Deployment Toolkit. Heike Ritter

Titelbild1 ANSYS. Customer Portal LogIn

Order Ansicht Inhalt

Algorithms for graph visualization

EEX Kundeninformation

<Insert Picture Here> Projekte erfolgreich führen mit den richtigen Entscheidungen

Oracle Bare Metal Cloud Service

Zend PHP Cloud Application Platform

Eclipse User Interface Guidelines

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

WebLogic Server für Dummies

Migra?on VMWare basierender Datenbanken auf Knopfdruck

Sichere Testdaten mit Oracle Enterprise Manager

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

JONATHAN JONA WISLER WHD.global

Java Plattform Strategie

Introducing PAThWay. Structured and methodical performance engineering. Isaías A. Comprés Ureña Ventsislav Petkov Michael Firbach Michael Gerndt

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision

Industrie 4.0 Predictive Maintenance. Kay Jeschke SAP Deutschland AG & Co. KG., Februar, 2014

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

Übersicht Streams nach Liste Produkte/Themen

Ermittlung und Berechnung von Schadendreiecken mit HANA Live und R-Integration

Enterprise Java, Services und Systemintegration. Zu neuen Ufern. Jakarta EE & MicroProfile. Vorstellung

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation

What s New? Skype for Business. Dirk THORMANN

Karlsruhe Institute of Technology Die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Customer Presentation

ISO Reference Model

Business Process Management. Cloud und Mobile Computing. BPMday 2013 Köln, 13. November Enzo Favuzzi - Sales Manager WebCenter & BPM

Und was wird aus meinem Berichtswesen? <Speaker> Oracle Deutschland B.V. & Co. KG

BPA Suite und SOA - vom fachlichen Prozessmodell zur Anwendung. Bernhard Fischer-Wasels Leitender Systemberater

2011 Oracle Corporation Customer Presentation Version 5.2.2/

<Insert Picture Here> Integration von MOS Patch Empfehlungen im Enterprise Manager

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Employment and Salary Verification in the Internet (PA-PA-US)

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

NEUES AUS DER ENTWICKLUNG. April 2015

HIR Method & Tools for Fit Gap analysis

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH

Zum Download von ArcGIS 10, 10.1 oder 10.2 die folgende Webseite aufrufen (Serviceportal der TU):

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

WebLogic Server im Zusammenspiel mit Real Application Cluster

SaaS-Referenzarchitektur. iico-2013-berlin

OpenVMS und OpenSource Ein Widerspruch? peter ranisch

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

XML Template Transfer Transfer project templates easily between systems

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Geocom UC GEONIS: Status und Blick in die Zukunft. Christoph Spörri

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

Darstellung und Anwendung der Assessmentergebnisse

Zend Server Cluster Manager

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Open Source als de-facto Standard bei Swisscom Cloud Services

Disclaimer SAP SE or an SAP affiliate company. All rights reserved. Public

SAFE HARBOR STATEMENT

Software development with continuous integration

p^db=`oj===pìééçêíáåñçêã~íáçå=

Frontend Migration from JSP to Eclipse Scout

Cloud for Customer Learning Resources. Customer

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB

Oracle VM Support und Lizensierung. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Die Renaissance von Unified Communication in der Cloud. Daniel Jonathan Valik UC, Cloud and Collaboration

Browserbasiertes, kollaboratives Whiteboard

Dirk Reinemann Working Student Sales Consulting

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

CAIRO if knowledge matters

TinyMCE. Frederik Leidloff

Transkript:

Wie viel Java wird überhaupt noch gebraucht? Wie sich die Java-Plattform evolutionär verändert Wolfgang Weigend wolfgang.weigend@oracle.com www.oracle.com 1 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

TIOBE Programmier-Community Index Februar 2012 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Source: TIOBE Programming Community Index for Februar 2012 2 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Die Java Plattform Servers Desktop Embedded TV Mobile Card BD-J Key APIs Java EE JavaFX Java TV MSA Plattform Java SE Java ME Java Card Language Java Language Java Plattform 3 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Was die Zukunft bringt Java Strategie Treiber Java Community & JavaOne Update JDK 7 Review JDK 8 und darüber hinaus Entwicklungsumgebung JavaFX und OpenJFX Java EE & Ablaufumgebung Zusammenfassung 4 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Java Strategie Höchste Priorität für Java! Zunehmendes Investment in die Plattform Kontinuierliche Bewegung in Richtung free & open (OpenJDK) Verbesserter Support für Entwickler Community, Open Source Community und JCP Hersteller-Unterstützung für Java Support für Oracle Software und Hardware Mehrwert auf Basis der Java Plattform, Enterprise Support 5 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Bisher ausgelieferte Technologie Java SE Verfügbarkeit JDK 7 for Mac OS X Developer Preview JDK 7 JRockit released gratis under same license as JDK Java EE GlassFish 3.1.1 Java EE 7 specification development underway Java FX Java ME/ Embedded Java FX 2.0 Java FX 2.0 for Mac OS X Developer Preview Oracle Java Wireless Client 3.0 Oracle Java Embedded Client 1.0 Java SE for Embedded 7 Java ME SDK 3.0.5 and LWUIT 1.5 6 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Einige Pläne wurden bereits verwirklicht und neue Projekte gestartet JDK 7 Available for Windows, Linux, Solaris, embedded platforms Mac OS X Developer Preview released JVM Konvergenz Initial JRockit/HotSpot Konvergenz in JDK 7 JRockit released under gratis JDK license (BCL) Open Source OpenJDK official Java SE 7 Reference Implementation OpenJDK project initiated for JDK 8 7 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. 7

JVM Strategie: HotSpot und JRockit Konvergenz JRockit und HotSpot werden in einem mehrjährigen Prozess zu einer einheitlichen JVM verschmolzen: HotRockit unter Berücksichtigung der besten Funktionsmerkmale beider JVM s Die Arbeitsergebnisse wurden inkrementell zum OpenJDK zugeführt JRockit Performance Funktionalität - Bereits im JDK 7 Ziele Maximale Performance und Skalierbarkeit Multi-Core und Parallelisierungs Optimierungen Feingranulares Monitoring, Profiling und Management Extrem effiziente Garbage Collection 8 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

HotRockit Converged JVM (1) JCMD Command Line utility to enumerate and send commands to running JVMs - JDK 7 Time Frame JMX Agent Update - JDK 7 Time Frame Java Discovery Protocol JDP - JDK 7 Update Time Frame Multicasting heartbeat for JVM services Used to discover manageable JVMs on the network Also to discover JVM s no longer running Normally used with the JMX management agent MBean Updates - JDK 7 Time Frame Many MBeans from JRockit s JMXMAPI Ported Means better support for Hotspot in the Mission Control Console Examples: getjvmgeneratedcpuload(); getallocatedbytes(long[] threadids) getinvocationcount(methodid id); DiagnosticCommandMBean; gettiming(methodid id) PerfCounterMBean 9 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

HotRockit Converged JVM (2) No More Perm-Gen - JDK 7 Time Frame Perm-gen will be removed Will use native memory and allocate as needed No need to decide the required size up front No need for tuning Java Flight Recorder - Update to JDK 7 Always on Very low overhead Dump data anytime Go back in time to see what lead up to a problem Memleak Server - JDK 8 Time Frame Low overhead memory analyzer In-situ analysis Other Improvements - After JDK 8 Time Frame Deterministic GC (Soft real-time GC; Pause time target) Compiler optimizations Smaller object headers 10 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Kommunikation mit der JVM Local JVM Process JVM Mission Control Komponenten Management Konsole Java Flight Recorder Memory Leak Detector Discovery JVM Process 11 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Evolutionäre Weiterenwicklung der Sprache Langzeit Perspektive(20+ Jahre) Ideen reifen in ausgeprägten experimentellen Sprachen Abwärtskompatibilität bleibt extrem wichtig für die Sprache Periodische Anreicherung von ausgewählter Funktionalität Verbesserte Entwicklerproduktivität Bewahrt Klarheit und Einfachheit 12 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Teilnahme erwünscht! Oracle verpflichtet sich zur besten Open-Source Java Implementation Ziel der neuen OpenJDK Richtlinien Fördern vom langfristigen Bestand & Wachstum der Community Basis für offene, transparente und leistungsbezogene Aktivitäten der Mitglieder Neue OpenJDK Releases Liste der Features unter openjdk.java.net/projects/jdk7/features Software-Hersteller beteiligen sich: 13 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

OpenJDK Stammbaum OpenJDK Richtlinien: Rollen & Gruppen Gruppenrollen & Projektrollen Projekte & OpenJDK Teilnehmer Bug-Fixing & Code-Beiträge Governing Board Reporting & Entscheidungswesen Abstimmung 14 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Wie sich Java verändert und anpaßt Durch die Community - Für die Community 15 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JCP wird reformiert: JSR-348 Mehr Entwickler im Executive Committee SOUJava Goldman Sachs London JavaCommunity JCP startet ein Programm zur Reform JSR 348: Towards a new version of the JCP 16 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Executive Member Merge Projekt JSR-355 SE/EE Executive Committee ME Executive Committee JCP Executive Committee Merge-Projekt ist öffentlich und der zweite von drei JSR s zur Veränderung vom JCP Prozess Veränderungen im JCP Prozess Dokument und den bestehenden Komitee-Regeln mit dem Ziel der Verschmelzung beider Executive Komitee Mitglieder zu einem einzigen Executive Komitee Expert Group Mitglieder führen öffentlich nachvollziehbare Arbeitsweise fort Diskussion ist öffentlich Arbeitsunterlagen und Protokolle werden ständig veröffentlicht Issue Tracker 17 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Zusammenarbeit mit der Community OpenJDK JCP JUGs Aktivitäten IBM, Apple, SAP, Azul join OpenJDK OpenJDK community bylaws ratified OpenJDK becomes official Java SE 7 Reference Implementation JVM Language Summit held July 2011 OpenJDK Twitter feed launched with thousands of followers JSR for Java SE 7 passed & JSR for Java SE 8 submitted & in process SouJava, London JUG elected to JCP Executive Committee JSR 348 in process for greater transparency JSR 342 submitted for Java EE 7 platform Oracle lead bi-weekly JUG leaders call Oracle lead JUG leader summit January 2011 Over 250 JUGs from 50+ countries involved in JDK 7 launch 18 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Wird Java 7 eingesetzt? Wird Java 7 eingesetzt? Umfrage auf java.net: Have you tried out Java 7 yet? Umfrage auf java.net: Have you tried out Java 7 yet? Yes, and I`m working with it regulary (25%) I`ve experimented with it a bit (21%) I plan to get started with Java 7 soon (25%) I`m waiting for a bug fix release (18%) No, and I don t plan to (11%) 19 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JDK 7 Update Releases Fehlerbereinigung 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 Nachrichten an alle Teilnehmer verschicken: jdk7u-dev@openjdk.java.net jdk7u-dev Subscription Java SE 7 Update 2 Release verfügbar: JDK 7u2 Changesets und aktuelle Änderungen: JDK 7u4 build b08 Projekt Feedback Forum für Java SE Snapshots Report a Bug oder Request a Feature 20 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

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) Sicherheit Internationalisierung Weitere Verbesserungen JVM Konvergenz 21 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Concurrency APIs JSR166y Update to JSR166x which was an update to JSR166 Adds a lightweight task framework Also referred to as Fork/Join Phaser Barrier similar to CyclicBarrier and CountDownLatch TransferQueue interface Extension to BlockingQueue Implemented by LinkedTransferQueue 22 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Fork Join Framework Goal is to take advantage of multiple processor Designed for task that can be broken down into smaller pieces Eg. Fibonacci number fib(10) = fib(9) + fib(8) Typical algorithm that uses fork join join fork if I can manage the task perform the task else fork task into x number of smaller/similar task join the results 23 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Key Classes ForkJoinPool Executor service for running ForkJoinTask ForkJoinTask The base class for forkjoin task RecursiveAction A subclass of ForkJoinTask A recursive resultless task Implements compute() abstract method to perform calculation RecursiveTask Similar to RecursiveAction but returns a result 24 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

ForkJoin Performance Discussion Choosing the sequential threshold Smaller tasks increase parallelism Larger tasks reduce coordination overhead Ultimately you must profile your code Minimizes overhead for compute-intensive tasks Not recommended for tasks that mix CPU and I/O activity A portable way to express many parallel algorithms Reasonably efficient for a wide range of core counts Library-managed parallelism 25 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Dynamic Language Support JSR-292 A multi-language renaissance for the JVM Programming languages need runtime support Memory management / Garbage collection Concurrency control Security Reflection Debugging integration Standard libraries Compiler writers have to build these from scratch Targeting a VM allows reuse of infrastructure 26 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Languages Running on the JVM Groovy JRuby Scala Clojure JavaScript 27 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Java steht an erster Stelle 28 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. 28

JDK Roadmap NetBeans 7 Java SE 7 support more JDK 7 JDK 7u2 JRE 7 on java.com JavaFX 2.0 co-install Last public JDK 6 update JDK 7u6 OS X JRE port (for end-users) Improved OS integration, autoupdate NetBeans.next Java SE 8 support JavaFX 3.0 support more 2011 2012 2013 2014 Mac OS X JDK 7 Dev Preview JavaFX 2.0 Dev Preview NetBeans 7.1 JavaFX 2.0 support JDK 7u4 OS X JDK Port (for developers) JDK 8 Windows, Linux, Solaris, OS X Jigsaw Lambda JavaFX 3.0 Complete Oracle JVM convergence JavaScript interop more 29 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. 29

Java SE Public Support Java SE Support Roadmap Major Release GA Date EOL Notification EOL 1.4 Feb 2002 Dec 2006 Oct 2008 5.0 May 2004 Apr 2008 Oct 2009 6 Dec 2006 Feb 2011 Nov 2012 7 July 2011 TBD July 2014 Java SE 6 End of Life (EOL) Notice Java SE 6 will no longer be publicly available after November 2012. Users interested in continued access to critical bug fixes and security fixes as well as general maintenance for JDK 6 have the option to purchase Oracle Lifetime Support 30 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Java SE Support Oracle Java SE Support Roadmap* Major Release GA Date Premier Support Until** Extended Support Until** Sustaining Support 1.4 Feb 2002 Feb 2010 Feb 2013 Indefinite 5.0 May 2004 May 2011 May 2014 Indefinite 6 Dec 2006 Dec 2013 Dec 2016 Indefinite 7 July 2011 July 2016 July 2019 Indefinite * Oracle Java SE commercial offering EOL dates are provided here as examples to illustrate the Oracle Java SE Support, Oracle Java SE Advanced, and Oracle Java SE Suite EOL Policy Please refer to Oracle Lifetime Support policy for the most up-to-date information 31 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JDK 8 geplant für Sommer 2013 Feedback der Community Zwischen den neuen JDK-Versionen werden 2 Jahre Zeit benötigt Release Datum im Sommer 2013 (geändert von 2012) Funktionsumfang: Projekt Jigsaw komplette Plattform Modularisierung und Container-Unterstützung Projekt Lambda (JSR 335) JavaScript Interoperabilität Device-Unterstützung Weitere kleine Sprachverbesserungen Projekt Coin Teil 2 32 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JDK 8 - Sommer 2013 Geplante Inhalte Thema Project Jigsaw Project Lambda Oracle JVM Convergence Beschreibung/Inhalt Module system for Java applications and the Java platform Closures and related features in the Java language (JSR 335) Lambda Expressions Interface Evolution Concurrent Bulk Data Operations in Java collections APIs (filter/map/reduce) Complete migration of performance and serviceability features from JRockit, including Mission Control and the Flight Recorder JavaFX 3.0 JavaScript Device Support Neu Neu Next generation Java Client Next-gen JavaScript-on-JVM Engine (Project Nashorn) JavaScript/Java interoperability on JVM Multi-Touch (JavaFX), Camera, Location, Compass and Accelerometer Developer Productivity API and Other Updates Annotations on types (JSR 308), Minor language enhancements Enhancements to Security, Date/Time, (JSR 310) Networking, Internationalization, Accessibility, Packaging/Installation Open Source 33 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. Open Development in OpenJDK, open source additional closed components

Lambda Ausdrücke Vorschlag zum Sprachumfang Java SE 8 Die offizielle Syntax steht noch nicht fest! Lambda Expressions (closures) /* (int x, int y) {return x+y; } */ Kleine Code-Anteile, winzige anonyme Methoden Parameter Liste -> Operator Expression od. Statements (String x) -> {return!x.isempty();} Was hergeleitet werden kann, kann auch weggelassen werden x ->!x.isempty() 34 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Modularisierung in JDK 8 Projekt Jigsaw Java Module System module 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() + "!"); } } 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()); } } 35 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

OpenJDK Projekt Proposal: Penrose Vereinte Modularisierung Penrose soll OSGi mit Jigsaw vereinen Interoperabilität zwischen Projekt Jigsaw und den OSGi Implementierungen 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 36 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JDK 9 und die Vision darüber hinaus Interoperability Multi-language JVM Improved Java/Native integration Cloud Multi-tenancy support Resource management Ease of Use Advanced Optimizations Works Everywhere and with Everything Self-tuning JVM Language enhancements Unified type system Data structure optimizations Scale down to embedded, up to massive servers Support for heterogenuous compute models 37 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

NetBeans IDE 7.1 Entwicklungswerkzeug für Desktop, mobile und Web Anwendungen Java EE 6, Java SE 6 (REST, CDI, JPA), Java SE 7, Swing, Java FX 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 Java ME und Embedded 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 38 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Unterstützung für eclipce IDE Eclipse Projekte mit Werkzeugen und Frameworks Ganzheitliche Unterstützung vom Software Development Lebenszyklus Modellierung Entwicklung Deployment Werkzeuge 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 39 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JavaFX 2.0 Java/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.0 Plattform Sprachwechsel Java als native Sprache - anstatt JavaFX Script JavaFX APIs werden in Java implementiert Vorteile bei Verwendung von Generics, Annotations und Multithreading für JavaFX JavaFX 2.0 Release verfügbar wird bereits vom NetBeans 7.1 Release unterstützt Migrationspfad für Swing- und SWT-basierte Anwendungen Open Source mit OpenJFX und im JCP standardisiert JavaFX 2.1 Developer Preview build 09 for Linux: 40 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. Ubuntu 10.04 / JDK 7u2

41 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. JavaFX Architecture

JavaFX Architecture Internal API Course-grained porting layer FX APIs isolated from implementation details Allows porting to completely different systems 42 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JavaFX Architecture Quantum Toolkit ties Prism and Glass Windowing Toolkit together and makes them available to the JavaFX layer above them in the stack Quantum Toolkit manages the threading rules related to rendering versus events handling 43 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JavaFX Architecture Graphics API Converts the scene graph into rendering calls Abstracts D3D, OpenGL, Java2D behind a Graphics object Handles dirty regions, clipping, and other optimizations Font support Rasterization Use hardware where possible Fast paths using shaders for ellipses, rectangles, etc Reduce context switches Looking towards possible state sorting optimizations in the future Fallback to software rendering when necessary Bad drivers are the main reason for doing so 44 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JavaFX Architecture Windowing API Windows (Win 32) Mac (Cocoa) Linux (GTK) Headless (not done) Provides basic OS services Drawing surface Input events Event queue 45 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

JavaFX Roadmap JavaFX 2.0 GA Windows GA Mac OS X Dev. Preview JavaFX 2.1 Mac OS X GA Linux Dev. Preview JavaFX 3.0 Bundled with JDK 8 Windows, Mac OS X, Linux 2011 2012 2013 2014 JavaFX 2.0.2 JDK 7 co-install JavaFX 2.2 Linux GA JavaFX Scene Builder EA JavaFX Scene Builder GA NetBeans.next JavaFX 3.0 support NetBeans 7.1 JavaFX 2.0 support 46 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. 46

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 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 47 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

OpenJFX Project Mehr JavaFX Source Code zum OpenJFX zugeführt javafx-ui-common Projekt beinhaltet die folgenden Packages: javafx.animation javafx.application javafx.geometry javafx.scene javafx.scene.effect javafx.scene.image javafx.scene.input javafx.scene.layout javafx.scene.paint javafx.scene.shape javafx.scene.text javafx.scene.transform javafx.stage JavaFX Functional Test Suite JemmyFX für OpenJFX bereitgestellt JemmyFX basiert auf Jemmy, einem visuellen Test-Framework für Java das auch in NetBeans verwendet wird JemmyFX beinhaltet Erweiterungen zum Schreiben von visuellen Tests für JavaFX JemmyFX ist im OpenJFX Repository enthalten: Download und Testen von JavaFX Anwendungen 48 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Resources Getting Started - http://openjdk.java.net/projects/openjfx/getting-started.html Mailing lists openjfx-dev - General platform development Bug Database http://javafx-jira.kenai.com 49 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. OpenJFX Project Mercurial Repositories http://hg.openjdk.java.net/openjfx/2.1/master - forest root http://hg.openjdk.java.net/openjfx/2.1/master/rt - sub-repo OpenJFX UI Controls User Experience Specifications Date Picker, Stepper/Spinner control Other links related to the JavaFX toolkit FX Experience Blog JavaFX OTN Forum JavaFX 2.0 Documentation

Java EE 7 und Java EE 8 Themenschwerpunkte Cloud Provisioning Elastic & Autonomic Scalability Multi-Tenancy Modularität * Building on Jigsaw Focus on OSGi interop Supporting Profiles & Modular Applications HTML5 Emerging Web Standards require a programming model JSON, WebSockets, off-line, APIs & DOM * Aligning with delivery schedules of Jigsaw in Java SE 8 50 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. 50

Java EE 7 Geplante Inhalte Thema PaaS Enablement Web Profile JMS 2.0 CDI Caching Concurrency Utilities Pruning Beschreibung/Inhalt Service Definitions and Provisioning to enable Java as Platform as a Service Enable Multi-tenancy in APIs Provide popular additions to the Web Profile including JAX RS 2.0 Support Simplify the programing model for building messaging based applications Dependency Injection support Tighter Integration with JSF Expand scope of container managed transactions Expanded service metadata and improved configuration Provide APIs for accessing caching systems Support for Java concurrency APIs within the container Allow vendors to optionaly support older APIs EJB CMP/BMP, JAX-RPC Open Source and Transparency 51 Copyright 2012, Oracle and/or it s affiliates. All rights reserved. Open development under project GlassFish on java.net Java EE 7 JSRs run in open with publicly viewable Expert Group mail archive

Zusammenfassung Die Java Plattform nutzt Innovationen im Ökosystem und wird sich weiterentwickeln Java Plattform liefert eine echten Mehrwert Unternehmen profitieren von existierende Investitionen in Java EE Java SE 8 wird einige neue und größere Features beinhalten Die Ausrichtung für Java SE 9 läuft bereits 52 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

The preceding 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 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. 53 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.

Fragen? Vielen Dank! wolfgang.weigend@oracle.com 54 Copyright 2012, Oracle and/or it s affiliates. All rights reserved.