344nderung der java plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/b2.pdf ·...

52
Mdyd#lp#Dxizlqg# 1 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved. Die evolutionäre Veränderung der Java Plattform Wolfgang Weigend Sen. Leitender Systemberater Java Technologie und Architektur

Upload: others

Post on 23-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

��������������

1 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Die evolutionäre Veränderung der Java Plattform

Wolfgang WeigendSen. Leitender SystemberaterJava Technologie und Architektur

Page 2: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

ServersServersServersServers DesktopDesktopDesktopDesktop EmbeddedEmbeddedEmbeddedEmbedded TVTVTVTV MobileMobileMobileMobile CardCardCardCard

BD-J

Die Java Plattform

2 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Java Card

Java EE Java TV

BD-J

JavaFX MSA

Java Language

Java SE Java ME

Key APIs

Plattform

Language

Java Plattform

Page 3: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Wie sich die Java Plattform schrittweise verändert

• Java Strategie Treiber

• Java Community

• JDK 7 Review

• JDK 8 und darüber hinaus

3 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• JDK 8 und darüber hinaus

• Entwicklungsumgebung

• JavaFX & OpenJFX

• Java EE & Ablaufumgebung

• Zusammenfassung

Page 4: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java Strategie

• Höchste Priorität für Java und zunehmendesInvestment in die Plattform− Kontinuierliche Bewegung in Richtung ”free & open”

− Verbesserter Support für Entwickler Community, Open Source

4 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

− Verbesserter Support für Entwickler Community, Open Source Community und JCP

• Breite Hersteller-Unterstützung für Java

• Evolutionäre Weiterenwicklung der Sprache− Ideen reifen in ausgeprägten experimentellen Sprachen

− Abwärtskompatibilität bleibt extrem wichtig für die Sprache

Page 5: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Zusammenarbeit mit der Community

• OpenJDK Mitglieder: IBM, Apple, SAP, Azul Systems, Twitter

• OpenJDK Community Richtlinien verabschiedet

• JVM Language Summit (Jährlich)

5 | Copyright © 2012, Oracle and/or it’s 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

Page 6: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Rückblick zum Java 7 Launch Event auf dem Java Forum Stuttgart 2011

6 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Java 7 Satellite Broadcast Viewing im Hegel-Saal

Page 7: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

OpenJDK Stammbaum

7 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

OpenJDK Richtlinien: • Rollen & Gruppen• Gruppenrollen & Projektrollen• Projekte & OpenJDK Teilnehmer

− Bug-Fixing & Code-Beiträge• Governing Board• Reporting & Entscheidungswesen• Abstimmung

Page 8: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Wie sich Java verändert und anpaßtDurch die Community - Für die Community

8 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 9: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

JCP wird reformiert: JSR-348

• Mehr Entwickler im Executive Committee− SOUJava− Goldman Sachs− London JavaCommunity

9 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• JCP startet ein Programm zur Reform− JSR-348: Towards a new version of the JCP

Page 10: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Executive Member Merge Projekt JSR-355

• Merge-Projekt ist öffentlich und der zweite von drei JSR’s zur Veränderung vom

JCP Prozess

SE/EE

Executive

Committee

ME

Executive

Committee

JCP

Executive

Committee

10 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• 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

Page 11: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

• 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

11 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Transparency Requirements • Compatibility Policy and TCKs• The Role of Individual Members• Patent Policy• Intellectual Property flow• Refactoring and Cleanup

Page 12: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Verwirklichte Pläne und neue Projekte

JDK 7

• Available for Windows, Linux, Solaris, embedded platforms

• Mac OS X Developer

JVM Konvergenz

• Initial JRockit/HotSpot Konvergenz in JDK 7

• No more Perm-Gen

• Java Flight Recorder

Open Source

• OpenJDK official Java SE 7 Reference Implementation

• OpenJDK project

12 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Mac OS X Developer Preview Release JDK7u4

• Java Flight Recorder

• Memory-Leak Server

• OpenJDK project initiated for JDK 8 (JDK 8 b32)

[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

Page 13: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Welche Java-Version nutzen Sie beruflich?

13 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Quelle: http://it-republik.de/jaxenter/quickvote/results/1/poll/149 Teilnehmer: 494

Page 14: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Welche Java-Version nutzen Sie privat hauptsächlich?

14 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Quelle: http://it-republik.de/jaxenter/quickvote/results/1/poll/151 Teilnehmer: 318

Page 15: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Wird Java 7 eingesetzt?Umfrage auf java.net: “Have you tried out Java 7 yet?”

15 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 16: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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

16 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

− Technische Diskussion zum JDK 7 Updates Projekt− Archive vorhanden− Nachrichten an alle Teilnehmer verschicken:

[email protected]

− jdk7u-dev Subscription

• Java SE 7 Update 2 Release verfügbar: JDK 7u5− Changesets und aktuelle Änderungen: JDK 7u6 build b14− Projekt Feedback Forum für Java SE Snapshots− Report a Bug oder Request a Feature

Page 17: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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 it’s affiliates. All rights reserved.

• Netzwerk und File System (JSR-203)

• Sicherheit

• Internationalisierung

• Weitere Verbesserungen

• JVM Konvergenz

Page 18: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Languages Running on the JVM

GroovyJRuby

……

18 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

…Scala

Clojure JavaScript

Page 19: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

JDK Roadmap

2011 2012 2013

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, auto-update

JDK 7

2014

NetBeans 7• Java SE 7

support• more

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

19 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

2011 2012 2013

JDK 8• Windows, Linux, Solaris,

OS X

• Jigsaw

• Lambda

• JavaFX 3.0

• Complete Oracle JVM convergence

• JavaScript interop

• more

JDK 7u4• OS X JDK Port (for

developers)

2014

Mac OS X• JDK 7 Dev Preview

• JavaFX 2.0 Dev Preview

NetBeans 7.1• JavaFX 2.0 support

19

Page 20: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

• Feedback der Community – Zwischen den neuenJDK-Versionen werden 2 Jahre Zeit benötigt

• Release Datum September 2013• Funktionsumfang:

− Projekt Jigsaw

JDK 8 geplant für September 2013

20 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

− Projekt Jigsaw− komplette Plattform Modularisierung

und Container-Unterstützung− Projekt Lambda (JSR-335)− JavaScript Interoperabilität− Device-Unterstützung

•Weitere kleine Sprachverbesserungen

im Projekt Coin Teil 2

Page 21: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

JDK 8 - September 2013Thema Beschreibung der geplanten Inhalte

Project Jigsaw • Module system for Java applications and the Java platform

Project Lambda

• 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)

Oracle JVM Convergence• Complete migration of performance and serviceability features from JRockit, including Mission Control and the Flight Recorder

21 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

JRockit, including Mission Control and the Flight Recorder

JavaFX 3.0 • Next generation Java Client

JavaScript• Next-gen JavaScript-on-JVM Engine (Project Nashorn)• JavaScript/Java interoperability on JVM

Device Support • Multi-Touch (JavaFX), Camera, Location, Compass and Accelerometer

Developer Productivity • Annotations on types (JSR-308), Minor language enhancements

API and Other Updates• Enhancements to Security, Date/Time, (JSR-310) Networking, Internationalization, Accessibility, Packaging/Installation

Open Source • Open Development in OpenJDK, open source additional closed components

Page 22: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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; } */

22 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• 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()

Page 23: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Modularisierung in JDK 8Projekt 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() + "!");

23 | Copyright © 2012, Oracle and/or it’s 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()); }

}

Page 24: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

JDK 9 und die Vision darüber hinaus

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

Cloud • Multi-tenancy support• Resource management

24 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

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

Page 25: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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

25 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

− 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

Page 26: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

• Eclipse Projekte mit Werkzeugen und Frameworks

• Ganzheitliche Unterstützung vom Software Development Lebenszyklus

− Modellierung

− Entwicklung

− Deployment Werkzeuge

Unterstützung für eclipce IDE

26 | Copyright © 2012, Oracle and/or it’s 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

Page 27: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

� 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

27 | Copyright © 2012, Oracle and/or it’s 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.1 verfügbar und mit NetBeans 7.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 2.2 Developer Preview build11 und Scene Builder 1.0

Page 28: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

JavaFX Roadmap

2011 2012 2013

JavaFX 3.0• Bundled with JDK 8

• Windows, Mac OS X, Linux

JavaFX 2.1• Mac OS X GA

• Linux Dev. Preview

2014

JavaFX 2.0 GA• Windows GA

• Mac OS X Dev. Preview

28 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

2011 2012 2013

JavaFXScene Builder GA

2014

NetBeans.next• JavaFX 3.0 support

JavaFXScene Builder EA

NetBeans 7.1• JavaFX 2.0 support

JavaFX 2.0.2• JDK 7 co-install

JavaFX 2.2• Linux GA

28

Page 29: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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

29 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

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

Page 30: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Benutzerumgebung und Client-Interaktion

• HTML 5 Clients– Verwendung von bi-direktionaler Kommunikation zur Nutzung Event-

gesteuerter Anwendungen– Umfassendes, standardisiertes Client-Side-Programmiermodell:

– APIs, schnelles JavaScript und standardisierte offline-Fähigkeiten

• Cloud / PaaS– Vorhandene Building Blocks: WebSockets (Comet), JSON (JAX RS),

30 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

– Vorhandene Building Blocks: WebSockets (Comet), JSON (JAX RS), RESTful WS

– Fehlende Benachrichtigung bei Datenänderungen, asynchroneInfrastruktur, …

• Programmier Modell– Mehr als die Summe aller Einzelteile– Web-native, bi-directionales Binding zur Cloud– Vereinigung von Java ME, Java SE und Java EE

Page 31: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Ganzheitliche Betrachtung zurUnterstützung von dynamische Rich-Clients

HTML 5 Browser

HTML & Java JSON over

31 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

HTML & Java hybride

Anwendungen

Java Anwendungen

Java EE PaaS

JSON over

WebSocket

Page 32: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Wie sich die Entwicklung durch die Wolkeschrittweise verändert

• Entwickler für Unternehmensanwendungen wollen Cloud-Lösungen von der eigenen IT-Abteilung– IaaS als neuer “Self-Service Data Center”

– Unmittelbar, On-Demand Provisioning

– Hosted, sichere Cloud Services

• Virtualisierung ist ein wertvoller technischer “Building Block”,

32 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Virtualisierung ist ein wertvoller technischer “Building Block”, aber keine Plattform

• Entwickler schauen nach einem PaaS Standard für die nächsteGeneration Cloud-basierter Anwendungen– Die Java EE Plattform eignet sich als PaaS Standard

• Java EE hat bereits vergleichbare Herausforderungen für die IT gelöst

Page 33: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 und PaaS

• Definition neuer Rollen für die Plattform– Anpassung und Adaption vom PaaS-Modell

• Einführung von Metadaten für– Service-Provisionierung und Konfiguration

– Service-Qualität (QoS), Elastizität

– Gemeinsam genutzte Applikationen und Ressourcen

33 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

– Konfigurationsänderung und Anpassung (Customization)

• Hinzufügen neuer API‘s für PaaS-Umgebungen– JAX-RS Client API

– Caching API

– State Management

– JSON, ..

• Erweiterung existierenden APIs für Mandantenfähigkeit

Page 34: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 PaaS Architektur

34 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 35: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 Services

• PaaS Anwendungen konsumieren Services– Persistenz, Queueing, Caching, …

• Service Metadaten ermöglichen einfache Nutzung beim Deployment in PaaS@DataSourceDefinition(

name=“java:app/jdbc/myDB”,

className=“oracle.jdbc.pool.OracleDataSource”,

35 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

className=“oracle.jdbc.pool.OracleDataSource”,

isolationLevel=TRANSACTION_REPEATABLE_READ,

initialPoolSize=5

)

Page 36: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 Services

• PaaS Anwendungen konsumieren Services– Persistenz, Queueing, Caching, …

• Service Metadaten ermöglichen einfache Nutzung beim Deployment in PaaS@JMSConnectionFactory (

name=“java:app/myJMSConnectionFactory”,

resourceType=“javax.jms.QueueConnectionFactory”)

36 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

resourceType=“javax.jms.QueueConnectionFactory”)

@JMSDestination(

name=“java:app/myQueue”,

resourceType=“javax.jms.Queue”)

Page 37: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 Services

• PaaS Anwendungen konsumieren Services– Persistenz, Queueing, Caching, …

• Service Metadaten ermöglichen einfache Nutzung beim Deployment in PaaS@ConnectorService (

name=“java:app/myCustomConnector”,

type=“com.extraServices.customConnector.class”,

37 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

type=“com.extraServices.customConnector.class”,

properties = {…}

)

Page 38: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 Services• Erzeugte Entitäten provisionieren, verwalten und überwachen innerhalb

der PaaS Ablaufumgebung

• Signifikante Software-Funktionalität die zur Ausführung einerAnwendung notwendig ist

• Typen– Provisioniert: Installiert, konfiguriert, von der Plattform verwaltet, Anwendungsbezogen

38 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

– Provisioniert: Installiert, konfiguriert, von der Plattform verwaltet, Anwendungsbezogenoder gemeinsam verwendet

– Extern: Enterprise-existent, Plattform kennt die Konfiguration

– Shared: Mehrfache Verwendung in verschiedenen Umgebungen pro Benutzer, pro System

• Beispiele: – Java EE Applikations-Service

– Datenbank

– Load Balancer

Page 39: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 Services

• Service-Definition– Verwendet Metadaten zur Service-Provisionierung und Konfiguration

• Spezifikation von funktionalen und nicht-funktionalen Service-Charakteristiken

• Template-Abgleich

• Explizite Template Spezifikation

39 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Service-Referenz– Repräsentiert die Abhängigkeit der Applikations-Komponente zum Service– Explizit: Benutzer-spezifisch durch Deployment Deskriptoren– Implizit und Auffinden (Discovery): Information ist im Archiv enthalten

Page 40: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 – Provisioning

Java EE Vorhandenes Modell• Konfiguration Java EE Ressourcen –

JDBC, JMS, etc.

• Deploy Application Archive (.EAR)

Java EE 7 Modell

DatenbankService

DatenbankServiceProvision and

Initialize

Deploy Application (EAR/GAR/SAR …)

Cloud Administration Service

Cloud Administration Service

1

2

40 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 Modell• Auto-Provision Services von Application

Dependenciese.g. Datenbank, LDAP

Extensible Deployment Modelle fürFrameworks

• Spring, Seam, etc.Messaging

ServiceMessaging

Service

Applikations-Container

Applikations-Container

Initialize

Provision and Initialize

Provision and Initialize

2

4

5

LDAPServiceLDAP

ServiceProvision and Initialize 3

Page 41: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 – PaaS Applikations-Deployment

41 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 42: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 - Rollenmodell

Entwickler

PaaS Kunde / Mandant

PaaS Anbieter

PaaS Produkt-AnbieterMachine

JVM JVM JVM

Machine

JVM JVM JVM

Machine

JVM JVM JVM

42 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Anwendungs-Verantwortlicher

Anwendungs-Administrator

Anbieter

PaaS Kunden-Manager

PaaS Administrator

Deployer

Mandant 1 Mandant 2 Mandant 3

Machine

Machine

JVM JVM JVM

Machine

Machine

JVM JVM JVM

Machine

Machine

JVM JVM JVM

Page 43: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 – Elastizität

Elasticity Continuum

Java EE 7 Fokus

Java EE Cluster Elastic Cluster

43 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Elastisches Cluster – “Capacity On Demand”• Eigenständiges Service Level Management

– Antwortzeit, CPU’s, Speicherbedarf, Plattenverbrauch, ..

• Deployment von “Single Machine” bis IaaS

Single NodeNon-Elastic

Dynamic Self AdjustingSLA Driven Elasticity

Java EE Multi-Node Multi-Instance Clustering

Capacity on Demand

Page 44: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE Beispiel mit GlassFish 4 http://glassfish.org

Load

Balancer

Java EE Applikation

EJBEJB

Java EE 7

Services

Metadaten

JSFJSFJPAJPA

Java EE Java EE Java EE. . .deploy

44 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Datenbank

EJBEJB Metadaten

<glassfish-services><service-description init-type="LB" name="ConferencePlanner-lb">

<template id="LBNative"/> <configurations>

<configuration name="https-port" value="50443"/> <configuration name="ssl-enabled" value="false"/> <configuration

name="http-port" value="50080"/> </configurations></service-description>

<service-description init-type="JavaEE" name="ConferencePlanner"> <characteristics>

<characteristic name="service-type" value="JavaEE"/> </characteristics> <configurations>

<configuration name="max.clustersize" value="4"/> <configuration name="min.clustersize" value="2"/>

</configurations></service-description>. . .</glassfish-services>

Page 45: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

PaaS Enablement mit GlassFishhttp://glassfish.org

45 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 46: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 und Java EE 8 –Themenschwerpunkte

PaaS

• Provisioning

Modularität *

• Building on Jigsaw

HTML5

• Emerging Web Standards erfordern

46 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Elastizität & eigenständige Skalierbarkeit

• Mandantenfähigkeit

• Fokus auf OSGi interop

• Supporting Profiles & Modulare Applikationen

Standards erfordern ein Programmier-modell

• JSON, WebSockets, off-line, APIs & DOM

* Aligning with delivery schedules of Jigsaw in Java SE 8

Page 47: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Thema Beschreibung/Inhalt

PaaSEnablement

• Service Definitions and Provisioning to enable Java as Platform as a Service• Enable Multi-tenancy in APIs

Web Profile • Provide popular additions to the Web Profile including JAX RS 2.0 Support

JMS 2.0 • Simplify the programing model for building messaging based applications• Dependency Injection support

Java EE 7 – Geplante Inhalte

47 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• Dependency Injection support

CDI• Tighter Integration with JSF• Expand scope of container managed transactions• Expanded service metadata and improved configuration

Caching • Provide APIs for accessing caching systems

ConcurrencyUtilities • Support for Java concurrency APIs within the container

Pruning • Allow vendors to optionaly support older APIs• EJB CMP/BMP, JAX-RPC

Open Source and Transparency

• Open development under project GlassFish on java.net• Java EE 7 JSRs run in open with publicly viewable Expert Group mail archive

Page 48: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 JSR’sjavaee-spec.java.net

• Java EE Plattform 7 / Web Profile 7

• Java Persistence API JPA 2.1 (JSR-338)

• Java API for RESTful Web Services JAX-RS 2.0

• JavaServer Faces JSF 2.2 (JSR-344)

• Servlet 3.1 (JSR-340)

• Enterprise JavaBeans EJB 3.2 (JSR-345)

• JavaServer Pages 2.3 MR

• JCache 1.0 (JSR-107)

• Concurrency Utilities 1.0 (JSR-236)

• State Management 1.0 (JSR-350)

• Batch Processing 1.0 (JSR-352)

• JTA 1.2 MR

• JASPIC 1.2 MR

48 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• JavaServer Pages 2.3 MR

• Expression Language 3.0 (JSR-341)

• Java Messaging Service JMS 2.0 (JSR-343)

• Java API for XML-based Web Services JAX-WS 2.3 MR

• Dependency Injection for the Java Platform (JSR-330)

• Contexts and Dependency Injection for Java EE CDI 1.1

• Bean Validation 1.1 (JSR-349)

• Common Annotations 1.2 MR (JSR-250)

• Java Connector Architecture (JCA 1.6 mit JSR-322)

• Java Web Sockets API 1.0 (JSR-356)

• JSON API 1.0 (JSR-353)

Page 49: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Java EE 7 JSR’sArchitektursicht

49 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Page 50: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

Zusammenfassung

• Die Java Plattform nutzt Innovationen im Ökosystem und wird sich weiterentwickeln

• Java Plattform liefert eine echten Mehrwert

50 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

• 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

Page 51: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

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

51 | Copyright © 2012, Oracle and/or it’s 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.

Page 52: 344nderung der Java Plattform ver1.1.pptx)alt.java-forum-stuttgart.de/jfs/2012/folien/B2.pdf · JavaFX 3.0 •Next generation Java Client JavaScript •Next-gen JavaScript-on-JVM

52 | Copyright © 2012, Oracle and/or it’s affiliates. All rights reserved.

Vielen Dank für Ihre Aufmerksamkeit!

[email protected]