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

12 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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

• 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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

• 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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

• 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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

� 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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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 · Java EE JavaFX Java TV MSA Java Language Java SE Java ME Key APIs Plattform Language

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

Vielen Dank für Ihre Aufmerksamkeit!

[email protected]