SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Java User Group
                                   Berlin-Brandenburg
                                    24. August 2011




Die Java Plattform Strategie
Wolfgang Weigend
Sen. Leitender Systemberater
Java Technologie und Architektur
TIOBE Programmier-Community Index
                                                August 2011




            http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Source: TIOBE Programming Community Index for August 2011                      2   2
Die Java Plattform



           Java EE          JavaFX       MSA
 APIs
                  Java SE               Java ME      Java TV   Java Card



Java VM     Java Virtual Machine            Java ME VM         Card VM



Language                             Java Language



                                                                    3      3
Was die Zukunft bringt
•   Java Strategie Treiber
•   JDK 7 Review
•   JDK 8 und darüber hinaus
•   JavaFX & Mobile
•   Java Community




                               4   4
Java Strategie
• Höchste Priorität: Java muß leben!
  – Zunehmendes Investment in die Plattform
  – Kontinuierliche Bewegung in Richtung ”free &
    open” (OpenJDK)
  – Verbesserter Support für Entwickler Community,
    Open Source Community und JCP
• Niedrigere Priorität: Direkter Umsatz mit Java
  – Support für Oracle Software und Hardware
  – Mehrwert auf Basis der Java Plattform,
    Enterprise Support


                                            5    5
JVM Strategie: HotSpot und JRockit
                 Konvergenz
• Existenz von zwei Java Virtuellen Maschinen

      − HotSpot – Allgemeine Einsatzfähigkeit, starke Verbreitung, hohe
       Qualität und Performance

      − JRockit – Spezialisierte Server-JVM mit optimierter Performance für
       den Server-Bereich und Oracle FMW

      − JRockit JVM als Basis für Mehrwertprodukte JRockit Mission Control,
       JRockit Real Time und JRockit Virtual Edition

• Vorhandene JRockit-basierte Produkte, wie JRockit Mission Control, JRockit
 RT, JRockit VE bleiben separat und werden weiterhin kommerziell lizensiert

                                                                    6         6
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 fliessen inkrementell zum OpenJDK
    − 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


                                                                7     7
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); getTiming(MethodID id)
  DiagnosticCommandMBean;           PerfCounterMBean


                                                                       8   8
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
                                                               9   9
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




                                                                10   10
Java SE 7 und JDK 7
Open-Source Implementierung der Java SE
Platform JSR 336




7. Juli 2011     Java SE 7 Launch!
28. Juli 2011    General Availability (Binaries)




                                                   11
Wird Java 7 eingesetzt?
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%)




                                                                                         12
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 für July 2011, August 2011
  • Nachrichten an alle Teilnehmer verschicken:
             jdk7u-dev@openjdk.java.net
  • jdk7u-dev Subscription
• Java SE 7 Update 2 Binary Snapshot Releases
  • Liste der Änderungen im aktuellen JDK 7u2 Build b02
  • Project Feedback Forum für Java SE Snapshots
  • Report a Bug oder Request a Feature

                                                          13
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

    Developer Preview: http://jdk7.java.net/preview/
                                                       14   14
JDK 8 Ausrichtung

• Modularisierung


• Projekt Lambda (JSR 335)


• Annotationen on Java Types (JSR 308)


• Weitere kleine Sprachverbesserungen
(Projekt Coin Teil 2)

                                         15   15
JDK 9 und darüber hinaus
             Die Oracle Wunschliste


• Zurück zum Ursprung: Zur tatsächlichen
Wirkung der Plattform-Unabhängigkeit von Java
• Verbesserte Interoperabilität mit Non-Java,
nativen Sprachen
• Verbesserte Datenintegration von SQL über
Name/Value Stores zu Online Feeds
• Verbesserte Device Unterstützung
• Und vieles mehr ... die Arbeiten haben gerade
erst angefangen!


                                                  16   16
JavaFX
• Java/JavaFX als geeignete Plattform für Rich Client Appli.
• Einheitliche Applikationsentwicklung für native und Web-
  Lösungen
  – Browser Plug-in, Web Start, Native Executables
  – Hardware Accelerated Graphics (DirectX, OpenGL)
  – Nahtloser DOM Zugriff zwischen HTML5 & Java
• JavaFX 2.0 Plattform Sprachwechsel
 − Java als native Sprache - anstatt JavaFX Script
 − JavaFX APIs werden in Java implementiert
 − Vorteile bei der Nutzung von Generics, Annotations und Multithreading
   für JavaFX
• JavaFX 2.0 Release für 2011
    − JavaFX 2.0 Public Beta 26. Mai 2011 und GA am 29. September 2011


                                                                 17        17
Mobile Java
• ME.next zur Plattformmodernisierung
• Integration von Web Technologien
   − LWUIT xHTML Support
   − Web Content Rendering in Java ME
   − JavaScript Zugriff auf Java Geschäftslogik
• Innovations-Vorsprung mit Feature Phones Services
   − Portfolio aus besonderen und kritischen lokalen Mobile Value Added
     Services (MVAS)
   − Einfacher Zugriff & Auffinden von Apps
   − Lösungen für Device Content Management
• Skalierbare, leistungsfähige Laufzeit-Lösungen
   − Ausgezeichnete Java Performance, Footprint und
     Applikationsfähigkeiten - Java ME Runtime basiert auf MSA
   − Für alle Geräte: Vom Low-End Feature Phone bis zum Smartphone

                                                                 18       18
Teilnahme erwünscht!

• Oracle verpflichtet sich zur besten Open-Source Java
  Implementation
• Weitere Software-Hersteller beteiligen sich:
     − “Oracle and IBM Collaborate to Accelerate Java Innovation Through OpenJDK”
     − “Oracle and Apple Announce OpenJDK Project for Mac OS X”
     − “Red Hat and Sun (Oracle) Collaborate to Advance Open Source Java
       Technology”

• Zwei neue OpenJDK Releases in 2011und 2012
       − Liste der Features unter openjdk.java.net/projects/jdk7/features




19
                                                                               19
Neue Richtlinien für OpenJDK-
                    Teilnahme
• Community Richtlinien (Draft) in Zusammenarbeit mit
   − John Duimovich und Jason Gartner (IBM)
   − Mike Milinkovich (Eclipse)
   − Prof. Doug Lea (State University NY Oswego)
   − Adam Messinger (Oracle)
• Ziel der OpenJDK Richtlinien
   − Fördern vom langfristigen Bestand & Wachstum der Community
   − Basis stellen für offene, transparente und leistungsbezogene Aktivitäten der
     Mitglieder
• Beschreibung
   − Allgemeine Rollen, Abstimmung, Gruppen & Gruppenrollen, Projekte &
     Projektrollen, OpenJDK Teilnehmer, Governing Board, Reporting und
     Entscheidungswesen


                                                                         20         20
JCP Checkliste für mehr Klarheit
• Namen der Expert Group Mitglieder
• Expert Group Aktivitäten berichten an öffentlich
  einsehbaren Alias
• Zeitplan ist öffentlich und aktuell mit regelmäßigen
  Anpassungen
• Öffentliche Teilnahme über read/write Wiki
• Diskussions-Board auf jcp.org
• Öffentlicher Read-Only Issue Tracker zur
  Nachverfolgung
• Ausrichtung einer neuen JCP Version mit JCP.next

                                                 21      21
JavaOne 2011 Konferenz
      2. - 6. Oktober in San Francisco
• Java Community Kritik an der letzten JavaOne
• Verbesserte Planung für die JavaOne 2011
   – Eigenständige Konferenz, größere Vortragsräume und mehr
     Austellungsfläche
   – Insgesamt mehr Vorträge ..
   – Technische Sessions, Birds of a Feather (BoF)
     und Hands-on Lab´s
   – Mehr Zeit und Fläche für Entwickleraustausch und
     Zusammenarbeit während der Konferenz
   – Direkte Beteiligung von Community-Repräsentanten bei der
     Planung und Event-Steuerung
• Call for Papers bereits abgeschlossen
                                                            22
Oracle Java Magazine
• Online Informationen für Java Technologie
• Zusammenarbeit mit der gesamten Java Community
• Oracle's Investment zur Stärkung vom Java Technologie Ökosystem




                                                                    23
NetBeans IDE 7.0
• Entwicklungswerkzeug für Desktop, mobile und
Web Anwendungen
  −   Java EE 6, Java SE 6, Java SE 7, Swing, (Java FX)
  −   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
• Nächstes NetBeans Release 7.0.1 in 2011
• Feature Liste & Builds
  −   netbeans.org/community/releases/roadmap.html

                                                          24   24
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



                                                             25       25
GlassFish 3.1 Applikationsserver
• GlassFish Server Open Source Edition
  − Freier Open Source Applikationsserver mit Community-Support
  − Volle Java EE 6 Plattform Unterstützung
  − Modulare und erweiterbare Architektur (OSGi)
  − Clustering

• Oracle GlassFish Server
  − GlassFish Server Distribution mit Kunden-Support
  − Open Source Edition & GlassFish Server Control enthalten
  − Active Cache – Native Integration mit Oracle Coherence*Web
  − Verwendbar zur Evaluation via OTN Lizenz
  − Benötigt eine Lizenz zur produktiven Nutzung


                                                               26   26
Der evolutionärer Pfad ..
1998            2000            2002            2004          2006         2008             2010


   J2EE 1.2        J2EE 1.3          J2EE 1.4          Java EE 5          Java EE 6
    Servlet,             JCA,       WebSvcs,           JPA, EJB3,      More POJOs, Web
   EJB, JSP,            JAAS,         JMX,             Annotations,     Profile, EJBLite,
   JMS, Mail,           XML,       Deployment,          Faces, …          Restful WS,
      …                CMP, …          …                                  Injection, …


       J2SE 1.3         J2SE 1.4       J2SE 5.0          Java SE 6            Java SE 7
       HotSpot,         NIO, JAXP,      Generics        Performance,     Coin, InvokeDynamic,
         JNDI,            Crypto,      Annotations       Scripting,             NIO2, …
        JPDA,              SSL,                        JAX-WS, JAXB,
       Sound, …         Logging, …     Autoboxing,        StAX, …
                                       Concurrent,
                                           …



                                                                                      27           27
.. und was dabei erkannt wurde


• Mehrwert liefern
• Innovation wahrnehmen
• Plattform muß sich verändern
  um lebensfähig zu bleiben          Sicherheit    Scale-out
• Unternehmen verwenden
  weiter Java EE wegen
  technologischem Fortschritt der
  sich auszahlen muß
                                    Zuverlässig-
• Kunden profitieren vom                           Integration
                                       keit
  Herstellerwettbewerb auf einer
  Standard Plattform

                                                          28     28
Zukünftiger Plan für Java EE 7
• Schwerpunkt ist Zusammenspiel mit Cloud Plattformen
   − Container-basiertes Modell, Abstraktion von Ressourcen,
     private und public Cloud Services, Mandantenfähigkeit,
     Elastizität (horizontale Skalierbarkeit) und Sicherheit
   − Bessere Trennung/Isolation von Java EE 7 Anwendungen
   − Potenzielle Standard Schnittstellen für “No SQL Datenbanken“ (Not
     Only SQL), Caching, ..
   − HTML5 und WebSocket Unterstützung
   − Einheitliche Management- und Monitoring-Schnittstellen
• Modularität und Versionierung
   − Basierend auf den Arbeitsergebnissen der Java SE
   − Anwendungserstellung über Module
   − Explizite Abhängigkeiten und Versionierung
• Evolution, anstatt Revolution

                                                                29       29
Zustimmung für Java EE 7
JSR 342: JavaTM Platform, Enterprise Edition 7 (Java EE 7) Specification




   • Specification    Lead:
       −   Roberto Chinnici, Bill Shannon (Oracle)

   • Expert Group im März 2011 etabliert
   • Zeitplan für die Entwicklung definiert
       −   Q3 2011 Early Draft
       − Q1 2012 Public Review
       − Q3 2012 Final Release


                                                                 30        30
Community Development of Java
      Technology Specifications
•    JSR 348: Towards a new version of the JCP
•    JSR 347: Data Grids for the Java Platform
•    JSR 346: Contexts and Dependency Injection for Java EE 1.1
•    JSR 345: Enterprise JavaBeans 3.2
•    JSR 344: JavaServer Faces 2.2
•    JSR 343: Java Message Service 2.0
•    JSR 342: Java EE 7 Specification
•    JSR 341: Expression Language 3.0
•    JSR 340: Java Servlet 3.1 Specification
•    JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services
•    JSR 338: Java Persistence 2.1
•    JSR 337: Java SE 8 Release Contents
•    JSR 336: Java SE 7 Release Contents
•    JSR 335: Lambda Expressions for the Java Programming Language
•    JSR 334: Small Enhancements to the Java Programming Language



                                                                     31   31
Entwickler möchten flexibel sein ..

• Entwickler für Unternehmensanwendungen wollen Cloud-
  Lösungen von der eigenen IT-Abteilung
   − IT liefert Service Level Agreement (SLA)
   − Entwickler fordern:
      •   “Amazon-Modell”
      •   Hosted Cloud Services
      •   On-Demand Provisioning
      •   Zuverlässige Skalierbarkeit
• Virtualisierung ist ein wertvolles Mittel, aber keine Lösung
• Unternehmenskritische Lösungen basieren auf Java
• Java EE hat vergleichbare Herausforderungen für die IT bereits
  gelöst


                                                        32    32
Wie soll sich Java EE für die
    Cloud weiterentwickeln?


• Entwicklung
• Betrieb/Deployment   Veränderung
• Management




                               33   33
Java EE benutzt derzeit Rollen
  und Verantwortlichkeiten
Entwickler                                  Betrieb/Administrator



             Java EE




                       Container Provider




                                                         34         34
Die Cloud benötigt Rechenzentrums-
                Rollen und Mandanten
                    Entwickler                                                         Anwendungs-Administrator




                                             Java EE Cloud




                                                                                                   Applikations-
Container/Service                                                                                  Deployment-
    Provider
                                                                                                       Betrieb


                                 Mandant 1        Mandant 2                Mandant n




                                                              PaaS Administrator




                                                                                                  35         35
Modell mit Cloud Services –
                 Keine APIs
• Mandanten verwenden Services
  als Verbraucher

• PaaS Administratoren für
  Bereitstellung, Verteilung, und
  Management von Services
  verantwortlich

• Existierende Java EE APIs
  müssen erneuert werden, damit
  sie Service-fähigkeit und
  Mandantenfähigkeit besitzen

                                       36
Beispiel: Persistenz und
               Mandantenfähigkeit
                                                Anwendung
                                                                Gemeinsam
                               Direkt zugeordnet
                                                                 (Shared)
                                   T1     T2    T3                      T2   T3
                                                                 T1
              Direkt
            zugeordnet
Datenbank




                                    1     2      3                1     2    3

                                    T1     T2    T3              T1     T2   T3


            Gemeinsam
             (Shared)
                                           1                            1
                                           2                            2
                                           3                            3

                   Einzelanwendungs-Deployment mit Unterstützung

              für unterschiedliche Mandanten-Architekturen (Multi-Tenancy)        37
Java EE 7: Cloud Basis
• Neue formalisierte Rollen
• “Pluggable” Cloud Services, Keine APIs
• Revision der draunterliegenden Java EE
  Spezifikationen




                                           38
Java EE 8: Cloud Reifegrad und
      Interoperabilität?

 Marktplatz
 Reifegrad




                    Technologie
                     Reifegrad




                                  39
Welche Vorteile können wir
     daraus ziehen?
  Echten Mehrwert liefern

  Plattform nutzt Innovation um uns herum

  Zeitnahe Plattform-Evolution, Platz für mehr ..

  Unternehmen nutzen existierende EE Investitionen

  Supporters und Mitbewerber können den Marktplatz
  benutzen, ihn innovativ und erweiterungsfähig gestalten




                                                            40
Vielen Dank für Ihre Aufmerksamkeit!

     Wolfgang.Weigend@oracle.com




                                       41

Weitere ähnliche Inhalte

Was ist angesagt?

Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Torsten Kleiber
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Torsten Kleiber
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenTorsten Kleiber
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
[GER] Lessons learned: Modern JVM Languages besides Java
[GER] Lessons learned: Modern JVM Languages besides Java[GER] Lessons learned: Modern JVM Languages besides Java
[GER] Lessons learned: Modern JVM Languages besides JavaKai Wähner
 

Was ist angesagt? (7)

Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
 
Die Neuerungen in SDL WorldServer 10.4
Die Neuerungen in SDL WorldServer 10.4Die Neuerungen in SDL WorldServer 10.4
Die Neuerungen in SDL WorldServer 10.4
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
[GER] Lessons learned: Modern JVM Languages besides Java
[GER] Lessons learned: Modern JVM Languages besides Java[GER] Lessons learned: Modern JVM Languages besides Java
[GER] Lessons learned: Modern JVM Languages besides Java
 

Andere mochten auch

Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorPresentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorRobert Panzer
 
IBM Java PackedObjects
IBM Java PackedObjectsIBM Java PackedObjects
IBM Java PackedObjectsMarcel Mitran
 
Java Concurrency Quick Guide
Java Concurrency Quick GuideJava Concurrency Quick Guide
Java Concurrency Quick GuideAnton Shchastnyi
 
Java & low latency applications
Java & low latency applicationsJava & low latency applications
Java & low latency applicationsRuslan Shevchenko
 
Robust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesRobust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesSangjin Lee
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey J On The Beach
 
Was jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteWas jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteberndmueller
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2Amazon Web Services
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?CA Technologies
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldChristoph Engelbert
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pavel Bucek
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenCarola Lilienthal
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java appsSimon Ritter
 
Workshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorWorkshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorTrisha Gee
 
Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Robert Scholte
 
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMN
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMNEin Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMN
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMNOliver Hock
 
Introduction to the Disruptor
Introduction to the DisruptorIntroduction to the Disruptor
Introduction to the DisruptorTrisha Gee
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeSascha Möllering
 

Andere mochten auch (20)

Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorPresentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
 
IBM Java PackedObjects
IBM Java PackedObjectsIBM Java PackedObjects
IBM Java PackedObjects
 
Java Concurrency Quick Guide
Java Concurrency Quick GuideJava Concurrency Quick Guide
Java Concurrency Quick Guide
 
Java & low latency applications
Java & low latency applicationsJava & low latency applications
Java & low latency applications
 
Get Back in Control of your SQL
Get Back in Control of your SQLGet Back in Control of your SQL
Get Back in Control of your SQL
 
Robust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesRobust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the Trenches
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey
 
Was jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteWas jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollte
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe World
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java apps
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Workshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorWorkshop: Introduction to the Disruptor
Workshop: Introduction to the Disruptor
 
Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)
 
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMN
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMNEin Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMN
Ein Prozess lernt laufen – LEGO® MINDSTORMS® Steuerung mit BPMN
 
Introduction to the Disruptor
Introduction to the DisruptorIntroduction to the Disruptor
Introduction to the Disruptor
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 

Ähnlich wie Die Java Plattform Strategie

Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007smancke
 
9. Direct Access Workshop - Marc Eggenberger
9. Direct Access Workshop - Marc Eggenberger9. Direct Access Workshop - Marc Eggenberger
9. Direct Access Workshop - Marc EggenbergerDigicomp Academy AG
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerWolfgang Weigend
 
Gameduell Glassfish Migration
Gameduell Glassfish MigrationGameduell Glassfish Migration
Gameduell Glassfish Migrationdehms
 
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungOSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungNETWAYS
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFJomaSoft
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballastgedoplan
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptOPEN KNOWLEDGE GmbH
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferayinovex GmbH
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Servergedoplan
 
3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon Leinen3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon LeinenDigicomp Academy AG
 
Monitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-AnwendungenMonitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-Anwendungengedoplan
 

Ähnlich wie Die Java Plattform Strategie (20)

Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 
Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007Jalimo Slides Linuxtag2007
Jalimo Slides Linuxtag2007
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
9. Direct Access Workshop - Marc Eggenberger
9. Direct Access Workshop - Marc Eggenberger9. Direct Access Workshop - Marc Eggenberger
9. Direct Access Workshop - Marc Eggenberger
 
GWT
GWTGWT
GWT
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
Gameduell Glassfish Migration
Gameduell Glassfish MigrationGameduell Glassfish Migration
Gameduell Glassfish Migration
 
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer JungOSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
OSMC 2010 | Java Monitoring und Troubleshooting by Rainer Jung
 
Rapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCFRapid Deployment mit JomaSoft VDCF
Rapid Deployment mit JomaSoft VDCF
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferay
 
IceFaces In Randi2 Action
IceFaces In Randi2 ActionIceFaces In Randi2 Action
IceFaces In Randi2 Action
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon Leinen3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon Leinen
 
Monitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-AnwendungenMonitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-Anwendungen
 

Mehr von Java Usergroup Berlin-Brandenburg

Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Java Usergroup Berlin-Brandenburg
 
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Java Usergroup Berlin-Brandenburg
 

Mehr von Java Usergroup Berlin-Brandenburg (18)

Microbenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst MistMicrobenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst Mist
 
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
 
Built To Last - Nachhaltige Software-Entwicklung
Built To Last - Nachhaltige Software-EntwicklungBuilt To Last - Nachhaltige Software-Entwicklung
Built To Last - Nachhaltige Software-Entwicklung
 
Feature Toggles On Steroids
Feature Toggles On SteroidsFeature Toggles On Steroids
Feature Toggles On Steroids
 
Resilience mit Hystrix
Resilience mit HystrixResilience mit Hystrix
Resilience mit Hystrix
 
Analysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4jAnalysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4j
 
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
 
Selbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert ConsultingSelbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert Consulting
 
Graphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4jGraphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4j
 
Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02
 
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
 
How long can you afford to Stop The World?
How long can you afford to Stop The World?How long can you afford to Stop The World?
How long can you afford to Stop The World?
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Java EE 7 - Overview and Status
Java EE 7  - Overview and StatusJava EE 7  - Overview and Status
Java EE 7 - Overview and Status
 
Restructuring
RestructuringRestructuring
Restructuring
 
Fighting Layout Bugs
Fighting Layout BugsFighting Layout Bugs
Fighting Layout Bugs
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Delivery in der Praxis
Continuous Delivery in der PraxisContinuous Delivery in der Praxis
Continuous Delivery in der Praxis
 

Die Java Plattform Strategie

  • 1. Java User Group Berlin-Brandenburg 24. August 2011 Die Java Plattform Strategie Wolfgang Weigend Sen. Leitender Systemberater Java Technologie und Architektur
  • 2. TIOBE Programmier-Community Index August 2011 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Source: TIOBE Programming Community Index for August 2011 2 2
  • 3. Die Java Plattform Java EE JavaFX MSA APIs Java SE Java ME Java TV Java Card Java VM Java Virtual Machine Java ME VM Card VM Language Java Language 3 3
  • 4. Was die Zukunft bringt • Java Strategie Treiber • JDK 7 Review • JDK 8 und darüber hinaus • JavaFX & Mobile • Java Community 4 4
  • 5. Java Strategie • Höchste Priorität: Java muß leben! – Zunehmendes Investment in die Plattform – Kontinuierliche Bewegung in Richtung ”free & open” (OpenJDK) – Verbesserter Support für Entwickler Community, Open Source Community und JCP • Niedrigere Priorität: Direkter Umsatz mit Java – Support für Oracle Software und Hardware – Mehrwert auf Basis der Java Plattform, Enterprise Support 5 5
  • 6. JVM Strategie: HotSpot und JRockit Konvergenz • Existenz von zwei Java Virtuellen Maschinen − HotSpot – Allgemeine Einsatzfähigkeit, starke Verbreitung, hohe Qualität und Performance − JRockit – Spezialisierte Server-JVM mit optimierter Performance für den Server-Bereich und Oracle FMW − JRockit JVM als Basis für Mehrwertprodukte JRockit Mission Control, JRockit Real Time und JRockit Virtual Edition • Vorhandene JRockit-basierte Produkte, wie JRockit Mission Control, JRockit RT, JRockit VE bleiben separat und werden weiterhin kommerziell lizensiert 6 6
  • 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 fliessen inkrementell zum OpenJDK − 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 7 7
  • 8. 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); getTiming(MethodID id) DiagnosticCommandMBean; PerfCounterMBean 8 8
  • 9. 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 9 9
  • 10. 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 10 10
  • 11. Java SE 7 und JDK 7 Open-Source Implementierung der Java SE Platform JSR 336 7. Juli 2011 Java SE 7 Launch! 28. Juli 2011 General Availability (Binaries) 11
  • 12. Wird Java 7 eingesetzt? 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%) 12
  • 13. 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 für July 2011, August 2011 • Nachrichten an alle Teilnehmer verschicken: jdk7u-dev@openjdk.java.net • jdk7u-dev Subscription • Java SE 7 Update 2 Binary Snapshot Releases • Liste der Änderungen im aktuellen JDK 7u2 Build b02 • Project Feedback Forum für Java SE Snapshots • Report a Bug oder Request a Feature 13
  • 14. 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 Developer Preview: http://jdk7.java.net/preview/ 14 14
  • 15. JDK 8 Ausrichtung • Modularisierung • Projekt Lambda (JSR 335) • Annotationen on Java Types (JSR 308) • Weitere kleine Sprachverbesserungen (Projekt Coin Teil 2) 15 15
  • 16. JDK 9 und darüber hinaus Die Oracle Wunschliste • Zurück zum Ursprung: Zur tatsächlichen Wirkung der Plattform-Unabhängigkeit von Java • Verbesserte Interoperabilität mit Non-Java, nativen Sprachen • Verbesserte Datenintegration von SQL über Name/Value Stores zu Online Feeds • Verbesserte Device Unterstützung • Und vieles mehr ... die Arbeiten haben gerade erst angefangen! 16 16
  • 17. JavaFX • Java/JavaFX als geeignete Plattform für Rich Client Appli. • Einheitliche Applikationsentwicklung für native und Web- Lösungen – Browser Plug-in, Web Start, Native Executables – Hardware Accelerated Graphics (DirectX, OpenGL) – Nahtloser DOM Zugriff zwischen HTML5 & Java • JavaFX 2.0 Plattform Sprachwechsel − Java als native Sprache - anstatt JavaFX Script − JavaFX APIs werden in Java implementiert − Vorteile bei der Nutzung von Generics, Annotations und Multithreading für JavaFX • JavaFX 2.0 Release für 2011 − JavaFX 2.0 Public Beta 26. Mai 2011 und GA am 29. September 2011 17 17
  • 18. Mobile Java • ME.next zur Plattformmodernisierung • Integration von Web Technologien − LWUIT xHTML Support − Web Content Rendering in Java ME − JavaScript Zugriff auf Java Geschäftslogik • Innovations-Vorsprung mit Feature Phones Services − Portfolio aus besonderen und kritischen lokalen Mobile Value Added Services (MVAS) − Einfacher Zugriff & Auffinden von Apps − Lösungen für Device Content Management • Skalierbare, leistungsfähige Laufzeit-Lösungen − Ausgezeichnete Java Performance, Footprint und Applikationsfähigkeiten - Java ME Runtime basiert auf MSA − Für alle Geräte: Vom Low-End Feature Phone bis zum Smartphone 18 18
  • 19. Teilnahme erwünscht! • Oracle verpflichtet sich zur besten Open-Source Java Implementation • Weitere Software-Hersteller beteiligen sich: − “Oracle and IBM Collaborate to Accelerate Java Innovation Through OpenJDK” − “Oracle and Apple Announce OpenJDK Project for Mac OS X” − “Red Hat and Sun (Oracle) Collaborate to Advance Open Source Java Technology” • Zwei neue OpenJDK Releases in 2011und 2012 − Liste der Features unter openjdk.java.net/projects/jdk7/features 19 19
  • 20. Neue Richtlinien für OpenJDK- Teilnahme • Community Richtlinien (Draft) in Zusammenarbeit mit − John Duimovich und Jason Gartner (IBM) − Mike Milinkovich (Eclipse) − Prof. Doug Lea (State University NY Oswego) − Adam Messinger (Oracle) • Ziel der OpenJDK Richtlinien − Fördern vom langfristigen Bestand & Wachstum der Community − Basis stellen für offene, transparente und leistungsbezogene Aktivitäten der Mitglieder • Beschreibung − Allgemeine Rollen, Abstimmung, Gruppen & Gruppenrollen, Projekte & Projektrollen, OpenJDK Teilnehmer, Governing Board, Reporting und Entscheidungswesen 20 20
  • 21. JCP Checkliste für mehr Klarheit • Namen der Expert Group Mitglieder • Expert Group Aktivitäten berichten an öffentlich einsehbaren Alias • Zeitplan ist öffentlich und aktuell mit regelmäßigen Anpassungen • Öffentliche Teilnahme über read/write Wiki • Diskussions-Board auf jcp.org • Öffentlicher Read-Only Issue Tracker zur Nachverfolgung • Ausrichtung einer neuen JCP Version mit JCP.next 21 21
  • 22. JavaOne 2011 Konferenz 2. - 6. Oktober in San Francisco • Java Community Kritik an der letzten JavaOne • Verbesserte Planung für die JavaOne 2011 – Eigenständige Konferenz, größere Vortragsräume und mehr Austellungsfläche – Insgesamt mehr Vorträge .. – Technische Sessions, Birds of a Feather (BoF) und Hands-on Lab´s – Mehr Zeit und Fläche für Entwickleraustausch und Zusammenarbeit während der Konferenz – Direkte Beteiligung von Community-Repräsentanten bei der Planung und Event-Steuerung • Call for Papers bereits abgeschlossen 22
  • 23. Oracle Java Magazine • Online Informationen für Java Technologie • Zusammenarbeit mit der gesamten Java Community • Oracle's Investment zur Stärkung vom Java Technologie Ökosystem 23
  • 24. NetBeans IDE 7.0 • Entwicklungswerkzeug für Desktop, mobile und Web Anwendungen − Java EE 6, Java SE 6, Java SE 7, Swing, (Java FX) − 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 • Nächstes NetBeans Release 7.0.1 in 2011 • Feature Liste & Builds − netbeans.org/community/releases/roadmap.html 24 24
  • 25. 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 25 25
  • 26. GlassFish 3.1 Applikationsserver • GlassFish Server Open Source Edition − Freier Open Source Applikationsserver mit Community-Support − Volle Java EE 6 Plattform Unterstützung − Modulare und erweiterbare Architektur (OSGi) − Clustering • Oracle GlassFish Server − GlassFish Server Distribution mit Kunden-Support − Open Source Edition & GlassFish Server Control enthalten − Active Cache – Native Integration mit Oracle Coherence*Web − Verwendbar zur Evaluation via OTN Lizenz − Benötigt eine Lizenz zur produktiven Nutzung 26 26
  • 27. Der evolutionärer Pfad .. 1998 2000 2002 2004 2006 2008 2010 J2EE 1.2 J2EE 1.3 J2EE 1.4 Java EE 5 Java EE 6 Servlet, JCA, WebSvcs, JPA, EJB3, More POJOs, Web EJB, JSP, JAAS, JMX, Annotations, Profile, EJBLite, JMS, Mail, XML, Deployment, Faces, … Restful WS, … CMP, … … Injection, … J2SE 1.3 J2SE 1.4 J2SE 5.0 Java SE 6 Java SE 7 HotSpot, NIO, JAXP, Generics Performance, Coin, InvokeDynamic, JNDI, Crypto, Annotations Scripting, NIO2, … JPDA, SSL, JAX-WS, JAXB, Sound, … Logging, … Autoboxing, StAX, … Concurrent, … 27 27
  • 28. .. und was dabei erkannt wurde • Mehrwert liefern • Innovation wahrnehmen • Plattform muß sich verändern um lebensfähig zu bleiben Sicherheit Scale-out • Unternehmen verwenden weiter Java EE wegen technologischem Fortschritt der sich auszahlen muß Zuverlässig- • Kunden profitieren vom Integration keit Herstellerwettbewerb auf einer Standard Plattform 28 28
  • 29. Zukünftiger Plan für Java EE 7 • Schwerpunkt ist Zusammenspiel mit Cloud Plattformen − Container-basiertes Modell, Abstraktion von Ressourcen, private und public Cloud Services, Mandantenfähigkeit, Elastizität (horizontale Skalierbarkeit) und Sicherheit − Bessere Trennung/Isolation von Java EE 7 Anwendungen − Potenzielle Standard Schnittstellen für “No SQL Datenbanken“ (Not Only SQL), Caching, .. − HTML5 und WebSocket Unterstützung − Einheitliche Management- und Monitoring-Schnittstellen • Modularität und Versionierung − Basierend auf den Arbeitsergebnissen der Java SE − Anwendungserstellung über Module − Explizite Abhängigkeiten und Versionierung • Evolution, anstatt Revolution 29 29
  • 30. Zustimmung für Java EE 7 JSR 342: JavaTM Platform, Enterprise Edition 7 (Java EE 7) Specification • Specification Lead: − Roberto Chinnici, Bill Shannon (Oracle) • Expert Group im März 2011 etabliert • Zeitplan für die Entwicklung definiert − Q3 2011 Early Draft − Q1 2012 Public Review − Q3 2012 Final Release 30 30
  • 31. Community Development of Java Technology Specifications • JSR 348: Towards a new version of the JCP • JSR 347: Data Grids for the Java Platform • JSR 346: Contexts and Dependency Injection for Java EE 1.1 • JSR 345: Enterprise JavaBeans 3.2 • JSR 344: JavaServer Faces 2.2 • JSR 343: Java Message Service 2.0 • JSR 342: Java EE 7 Specification • JSR 341: Expression Language 3.0 • JSR 340: Java Servlet 3.1 Specification • JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services • JSR 338: Java Persistence 2.1 • JSR 337: Java SE 8 Release Contents • JSR 336: Java SE 7 Release Contents • JSR 335: Lambda Expressions for the Java Programming Language • JSR 334: Small Enhancements to the Java Programming Language 31 31
  • 32. Entwickler möchten flexibel sein .. • Entwickler für Unternehmensanwendungen wollen Cloud- Lösungen von der eigenen IT-Abteilung − IT liefert Service Level Agreement (SLA) − Entwickler fordern: • “Amazon-Modell” • Hosted Cloud Services • On-Demand Provisioning • Zuverlässige Skalierbarkeit • Virtualisierung ist ein wertvolles Mittel, aber keine Lösung • Unternehmenskritische Lösungen basieren auf Java • Java EE hat vergleichbare Herausforderungen für die IT bereits gelöst 32 32
  • 33. Wie soll sich Java EE für die Cloud weiterentwickeln? • Entwicklung • Betrieb/Deployment Veränderung • Management 33 33
  • 34. Java EE benutzt derzeit Rollen und Verantwortlichkeiten Entwickler Betrieb/Administrator Java EE Container Provider 34 34
  • 35. Die Cloud benötigt Rechenzentrums- Rollen und Mandanten Entwickler Anwendungs-Administrator Java EE Cloud Applikations- Container/Service Deployment- Provider Betrieb Mandant 1 Mandant 2 Mandant n PaaS Administrator 35 35
  • 36. Modell mit Cloud Services – Keine APIs • Mandanten verwenden Services als Verbraucher • PaaS Administratoren für Bereitstellung, Verteilung, und Management von Services verantwortlich • Existierende Java EE APIs müssen erneuert werden, damit sie Service-fähigkeit und Mandantenfähigkeit besitzen 36
  • 37. Beispiel: Persistenz und Mandantenfähigkeit Anwendung Gemeinsam Direkt zugeordnet (Shared) T1 T2 T3 T2 T3 T1 Direkt zugeordnet Datenbank 1 2 3 1 2 3 T1 T2 T3 T1 T2 T3 Gemeinsam (Shared) 1 1 2 2 3 3 Einzelanwendungs-Deployment mit Unterstützung für unterschiedliche Mandanten-Architekturen (Multi-Tenancy) 37
  • 38. Java EE 7: Cloud Basis • Neue formalisierte Rollen • “Pluggable” Cloud Services, Keine APIs • Revision der draunterliegenden Java EE Spezifikationen 38
  • 39. Java EE 8: Cloud Reifegrad und Interoperabilität? Marktplatz Reifegrad Technologie Reifegrad 39
  • 40. Welche Vorteile können wir daraus ziehen? Echten Mehrwert liefern Plattform nutzt Innovation um uns herum Zeitnahe Plattform-Evolution, Platz für mehr .. Unternehmen nutzen existierende EE Investitionen Supporters und Mitbewerber können den Marktplatz benutzen, ihn innovativ und erweiterungsfähig gestalten 40
  • 41. Vielen Dank für Ihre Aufmerksamkeit! Wolfgang.Weigend@oracle.com 41