Mdyd#lp#Dxizlqg#

DieevolutionäreVeränderungder Plattform

WolfgangWeigend Sen.LeitenderSystemberater JavaTechnologieundArchitektur 1 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. DieJavaPlattform

Servers Desktop Embedded TVTV Mobile Card BD -J KeyAPIs JavaEE JavaFX JavaTV MSA

Plattform JavaSE JavaME JavaCard

Language JavaLanguage

JavaPlattform

2 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. WiesichdieJavaPlattform schrittweiseverändert • JavaStrategie Treiber • JavaCommunity • JDK7Review • JDK8und darüber hinaus • Entwicklungsumgebung • JavaFX &OpenJFX • JavaEE&Ablaufumgebung • Zusammenfassung

3 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaStrategie

• HöchstePrioritätfürJavaundzunehmendes InvestmentindiePlattform − KontinuierlicheBewegunginRichtung” free&open ” − Verbesserter Support für Entwickler Community,OpenSource CommunityundJCP • BreiteHersteller-UnterstützungfürJava • EvolutionäreWeiterenwicklungderSprache − IdeenreifeninausgeprägtenexperimentellenSprachen − AbwärtskompatibilitätbleibtextremwichtigfürdieSprache

4 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Zusammenarbeit mit der Community

• OpenJDK Mitglieder:IBM,Apple,SAP,Azul Systems,Twitter • OpenJDKCommunityRichtlinienverabschiedet • JVMLanguageSummit(Jährlich) • JUGLeadersCallalle zwei Wochen • JUGLeaderSummitim Januar (Jährlich) • Über 250JUG saus 50Ländern amJDK7Launchbeteiligt • CommunityKeynoteaufder JavaOne 2012

5 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Rückblick zum Java7LaunchEventauf dem JavaForumStuttgart2011

Java7SatelliteBroadcastViewingim Hegel-Saal

6 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. OpenJDKStammbaum

OpenJDK Richtlinien: • Rollen &Gruppen • Gruppenrollen &Projektrollen • Projekte&OpenJDKTeilnehmer − Bug-Fixing&Code-Beiträge • GoverningBoard • Reporting&Entscheidungswesen • Abstimmung

7 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Wie sich Javaverändert undanpaßt Durch dieCommunity- Für dieCommunity

8 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JCPwird reformiert:JSR-348

• Mehr Entwickler imExecutiveCommittee − SOUJava − GoldmanSachs − LondonJavaCommunity • JCPstartet ein Programm zur Reform − JSR-348:TowardsanewversionoftheJCP

9 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. ExecutiveMemberMergeProjekt JSR-355

SE/EE ME JCP Executive Executive Executive Committee Committee Committee

• Merge-Projekt ist öffentlich undder zweite vondrei JSR’szur Veränderung vom JCPProzess

• Veränderungen im JCPProzess Dokument unddenbestehenden Komitee-Regeln mit dem Ziel der Verschmelzung beider ExecutiveKomitee Mitgliederzu einem einzigen ExecutiveKomitee

• ExpertGroupMitgliederführen öffentlich nachvollziehbare Arbeitsweise fort

− Diskussion ist öffentlich

− Arbeitsunterlagen undProtokolle werden ständig veröffentlicht

− IssueTracker

10 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. AmajorRevisionoftheJava CommunityProcess:JSR-358

• ChangeofJavaSpecificationParticipationAgreement(JSPA) • IndependentImplementations(NotderivedfromtheRI) • LicensingandOpenSource • Transparency Requirements • CompatibilityPolicyandTCKs • TheRoleofIndividualMembers • PatentPolicy • IntellectualProperty flow • RefactoringandCleanup

11 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Verwirklichte Pläne undneue Projekte

JDK7 JVMKonvergenz OpenSource

• AvailableforWindows, • InitialJRockit/HotSpot • OpenJDKofficialJava Linux,Solaris,embedded KonvergenzinJDK7 SE7Reference platforms Implementation • NomorePerm-Gen

• MacOSXDeveloper • JavaFlightRecorder • OpenJDKproject PreviewReleaseJDK7u4 initiatedforJDK8(JDK • Memory-LeakServer 8b32)

• jdk8-dev@.java.net

Ziele der JVMVerschmelzung (HotRockit) − Maximale PerformanceundSkalierbarkeit − Multi-CoreundParallelisierungsOptimierungen − Feingranulares Monitoring,ProfilingundManagement − 12 |Copyright©2012,Oracleand/orit’saffiliates.AlExtremlrightsreserved. effiziente GarbageCollection WelcheJava-VersionnutzenSie beruflich?

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

13 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. WelcheJava-VersionnutzenSie privathauptsächlich?

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

14 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. WirdJava7eingesetzt? Umfrage aufjava.net:“ HaveyoutriedoutJava7yet?”

15 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JDK7UpdateReleases Fehlerbereinigung

• Projekt entwickelt Updatesfür JDK7 • Sponsorist dieBuildGroup • MailingListe lautet jdk7u-dev − Technische Diskussion zum JDK7Updates Projekt − Archivevorhanden − Nachrichten analle Teilnehmer verschicken: • [email protected] − jdk7u-devSubscription • JavaSE7Update2Releaseverfügbar:JDK7u5 − Changesets undaktuelle Änderungen:JDK7u6buildb14 − ProjektFeedbackForumfür JavaSESnapshots − ReportaBugoder RequestaFeature

16 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JDK7Funktionsumfang

• Coin– KleineSprachverbesserungen(JSR-334) • DynamicLanguageSupport(JSR-292) • ConcurrencyundCollectionsUpdates(JSR-166y) • Netzwerk undFileSystem(JSR -203) • Sicherheit • Internationalisierung • Weitere Verbesserungen • JVMKonvergenz

17 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. LanguagesRunningontheJVM

Groovy JRuby … … Scala JavaScript

18 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JDKRoadmap

JDK7u6 • OSXJREport (forend-users) NetBeans7 NetBeans.next • ImprovedOS • JavaSE8support • JavaSE7 JDK7u2 integration,auto- support • JavaFX3.0support • JRE7onjava.com update • more Lastpublic • more JDK7 • JavaFX2.0co-install JDK6update

2011 2012 2013 2014

MacOSX JDK7u4 JDK8 • JDK7Dev Preview • OSXJDKPort(for • Windows,Linux,Solaris, OSX • JavaFX2.0DevPreview developers) • Jigsaw • Lambda • JavaFX3.0 • CompleteOracleJVM NetBeans7.1 convergence • JavaFX2.0support • JavaScriptinterop • more

19 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. 19 JDK8geplantfürSeptember2013

• Feedbackder Community– Zwischen denneuen JDK-Versionen werden 2Jahre Zeit benötigt • ReleaseDatumSeptember2013 • Funktionsumfang: − Projekt Jigsaw − komplettePlattformModularisierung undContainer-Unterstützung − ProjektLambda(JSR-335) − JavaScriptInteroperabilität − Device-Unterstützung •WeiterekleineSprachverbesserungen imProjektCoinTeil2

20 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JDK8- September2013 Thema Beschreibung der geplanten Inhalte ProjectJigsaw • ModulesystemforJavaapplicationsandtheJavaplatform

• ClosuresandrelatedfeaturesintheJavalanguage(JSR-335) − LambdaExpressions ProjectLambda − InterfaceEvolution − ConcurrentBulkDataOperationsinJavacollectionsAPIs(filter/map/reduce)

• Completemigrationofperformanceandserviceabilityfeaturesfrom OracleJVMConvergence JRockit,includingMissionControlandtheFlightRecorder

JavaFX3.0 • NextgenerationJavaClient • Next-genJavaScript-on-JVMEngine(ProjectNashorn) JavaScript • JavaScript/JavainteroperabilityonJVM

DeviceSupport • Multi-Touch(JavaFX),Camera,Location,CompassandAccelerometer

DeveloperProductivity • Annotationsontypes(JSR-308),Minorlanguageenhancements • EnhancementstoSecurity,Date/Time,(JSR-310)Networking, APIandOtherUpdates Internationalization,Accessibility,Packaging/Installation

OpenSource21 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved.• OpenDevelopmentinOpenJDK,opensourceadditionalclosedcomponents LambdaAusdrücke • Vorschlag zum Sprachumfang JavaSE8

− DieoffizielleSyntaxstehtnochnichtfest!

• LambdaExpressions(closures)

/* (intx,inty){returnx+y;} */ • Kleine Code-Anteile,winzige anonyme Methoden • ParameterListe → -> Operator → Expressionod.Statements (Stringx)->{return!x.isEmpty();} • Washergeleitet werden kann,kann auch weggelassen werden

x->!x.isEmpty()

22 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. ModularisierunginJDK8 ProjektJigsawJavaModuleSystem

module com.greetings @0.1{ requiresorg.astro @1.2; classcom.greetings.Hello; }

packagecom.greetings; importorg.astro.World; publicclassHello{ publicstaticvoidmain(String[]args){ System.out.println("Hello,"+World.name()+"!"); } }

module org.astro@1.2{}

packageorg.astro; publicclassWorld{ privatestaticnativebyte[]getName(); static{ System.loadLibrary("world"); } publicstaticStringname(){ returnnewString(getName()); } }

23 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JDK9unddieVisiondarüber hinaus

• Multi-languageJVM Interoperability • ImprovedJava/Nativeintegration

• Multi-tenancysupport Cloud • Resourcemanagement

• Self-tuningJVM EaseofUse • Languageenhancements

Advanced • Unifiedtypesystem Optimizations • Datastructureoptimizations

WorksEverywhere • Scaledowntoembedded,uptomassiveservers andwithEverything • Supportforheterogenuouscomputemodels

24 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. NetBeans IDE7.1 • Entwicklungswerkzeug für Desktop,mobileundWeb Anwendungen

− JavaEE6,JavaSE6(REST,CDI,JPA),JavaSE7,Swing,JavaFX  JavaEditorsupportforProjectCoin(DiamondOperator,Stringsinswitch,Multi-catch)  BulkrefactoringofprojectsandpackagestoJavaSE7  JavaFX 2.0Fulledit/compile/debugcyclesupport  VisualdebuggingofJavaFX apps − JavaMEundEmbedded − PHP,Ruby,Groovy,C/C++ − HTML5Editing,JSONFormatter − Debugger,Profiler,Refactoring • Läuft aufMSWindows,Linux,MacOSXundSolaris • NetBeans IDEist open-sourceundfrei verfügbar • FeatureListe &Builds − netbeans.org/community/releases/roadmap.html

25 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. UnterstützungfüreclipceIDE • Projekte mit Werkzeugen undFrameworks • Ganzheitliche Unterstützung vom SoftwareDevelopmentLebenszyklus − Modellierung − Entwicklung − DeploymentWerkzeuge − Reporting − Daten Manipulation − TestingundProfiling • Primärer Fokus zur Entwicklung vonAnwendungen − JavaEE,WebServicesundWebAnwendungen • EclipseUnterstützung für andere Programmiersprachen − C/C++,PHP,andere

26 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaFX 2.0

 JavaFX als strategische UIfür Rich-Client-Applikationen  Einheitliche Applikationsentwicklung für JavaundWeb-Lösungen • BrowserPlug-in,WebStart,NativeExecutables • HardwareAcceleratedGraphics(DirectX,OpenGL) • JavaFXwirdmitHTML-DOMausgestattet − JavaFXmitWebViewfürHTML5Features(WebSockets,offlineBrowsing,lokale Datenbank) − Leistungsfähige JavaScriptEngine − JavaFXalsAppleteingebettetineinerWeb-Seitelauffähig  JavaFX 2.0Plattform Sprachwechsel • Javaals nativeSprache - anstatt JavaFX Script • JavaFXAPIsinJavaimplementiert • VorteilebeiVerwendungvonGenerics,AnnotationsundMultithreadingfürJavaFX  JavaFX 2.1verfügbar undmit NetBeans7.1unterstützt • MigrationspfadfürSwing- undSWT-basierteAnwendungen • JFXPanel Komponente ermöglicht dasEinbinden vonJavaFX Anwendungen inSwing • OpenSourcemitOpenJFXundimJCPstandardisiert  JavaFX 2.2DeveloperPreviewbuild11undSceneBuilder1.0

27 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaFX Roadmap

JavaFX 2.0 GA JavaFX 2.1 JavaFX 3.0 • Windows GA • Mac OS X GA • Bundled with JDK 8 • Mac OS X Dev. Preview • Linux Dev. Preview • Windows, Mac OS X, Linux

2011 2012 2013 2014

JavaFX 2.0.2 JavaFX 2.2 • JDK 7 co-install • Linux GA

JavaFX JavaFX NetBeans.next Scene Builder EA Scene Builder GA • JavaFX 3.0 support

NetBeans 7.1 • JavaFX 2.0 support

28 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. 28 OpenJFX Project

• OpenJFX istheopensource homeofJavaFX development • GoalofOpenJFX istobuildthenext-generationJavaclienttoolkit • ProjectOpenJFX intendstofileaJSRintheJavaSE9timeframeand bepartoftheJDK • In2011theJavaFX toolkitwas completelyrewritteninJava andreleased byOracleas JavaFX 2.0 • Oracleannouncedthatitwould donatetheJavaFX toolkittotheopen sourcecommunity andbyNovember2011theOpenJDK Communityhad agreedtotakeiton • ProjectOpenJFX iscurrentlyfocusedonabsorbingtheexistingcodebase fromOracleand buildingafunctioningcommunityaroundit • Oracle's codewillbedonatedinphases withtheinitialpiecebeingtheUI Controlsclasses

29 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Benutzerumgebung undClient-Interaktion

• HTML5Clients – Verwendung vonbi-direktionaler Kommunikation zur Nutzung Event- gesteuerter Anwendungen – Umfassendes,standardisiertes Client-Side-Programmiermodell: – APIs,schnelles JavaScriptundstandardisierte offline-Fähigkeiten • Cloud/PaaS – Vorhandene BuildingBlocks: WebSockets (Comet),JSON(JAXRS), RESTful WS – Fehlende Benachrichtigung bei Datenänderungen,asynchrone Infrastruktur,… • Programmier Modell – Mehr als dieSumme aller Einzelteile – Web-native,bi-directionales Bindingzur Cloud – Vereinigung vonJavaME,JavaSEund JavaEE

30 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Ganzheitliche Betrachtung zur Unterstützung vondynamische Rich-Clients

HTML5Browser

HTML&Java JSONover hybride WebSocket Anwendungen

Java JavaEEPaaS Anwendungen

31 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Wie sich dieEntwicklung durch dieWolke schrittweise verändert

• Entwickler für Unternehmensanwendungen wollen Cloud- Lösungen vonder eigenen IT-Abteilung – IaaS als neuer “Self-ServiceDataCenter” – Unmittelbar,On-DemandProvisioning – Hosted,sichere CloudServices • Virtualisierung ist ein wertvoller technischer “BuildingBlock”, aber keine Plattform • Entwickler schauen nach einem PaaS Standardfür dienächste GenerationCloud-basierter Anwendungen – DieJavaEEPlattform eignet sich als PaaS Standard • JavaEEhatbereits vergleichbare Herausforderungen für dieIT gelöst

32 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7undPaaS

• Definitionneuer Rollen für diePlattform – Anpassung undAdaptionvom PaaS-Modell • Einführung vonMetadaten für – Service-Provisionierung undKonfiguration – Service-Qualität(QoS),Elastizität – Gemeinsam genutzte Applikationen undRessourcen – Konfigurationsänderung undAnpassung (Customization) • HinzufügenneuerAPI‘sfürPaaS-Umgebungen – JAX-RSClientAPI – CachingAPI – StateManagement – JSON,.. • Erweiterung existierenden APIsfür Mandantenfähigkeit

33 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7PaaS Architektur

34 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7Services

• PaaS Anwendungen konsumieren Services – Persistenz,Queueing,Caching,… • ServiceMetadaten ermöglichen einfache Nutzung beim DeploymentinPaaS @DataSourceDefinition( name=“java:app/jdbc/myDB”, className =“ oracle.jdbc.pool.OracleDataSource ”, isolationLevel=TRANSACTION_REPEATABLE_READ, initialPoolSize=5 )

35 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7Services

• PaaS Anwendungen konsumieren Services – Persistenz,Queueing,Caching,… • ServiceMetadaten ermöglichen einfache Nutzung beim DeploymentinPaaS @JMSConnectionFactory ( name=“java:app/myJMSConnectionFactory”, resourceType =“ javax.jms.QueueConnectionFactory ”)

@JMSDestination( name=“java:app/myQueue”, resourceType=“javax.jms.Queue”)

36 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7Services

• PaaS Anwendungen konsumieren Services – Persistenz,Queueing,Caching,… • ServiceMetadaten ermöglichen einfache Nutzung beim DeploymentinPaaS @ConnectorService ( name=“java:app/myCustomConnector”, type=“ com.extraServices.customConnector.class ”, properties={…} )

37 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7Services • Erzeugte Entitäten provisionieren,verwalten undüberwachen innerhalb der PaaS Ablaufumgebung • Signifikante Software-Funktionalität diezur Ausführung einer Anwendung notwendig ist • Typen – Provisioniert : Installiert , konfiguriert ,von der Plattform verwaltet , Anwendungsbezogen oder gemeinsam verwendet – Extern: Enterprise-existent,Plattform kennt dieKonfiguration – Shared: Mehrfache Verwendung inverschiedenen Umgebungen proBenutzer,pro System • Beispiele: – JavaEEApplikations-Service – Datenbank – LoadBalancer

38 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7Services

• Service-Definition – Verwendet Metadaten zur Service-Provisionierung undKonfiguration • Spezifikation vonfunktionalen undnicht-funktionalen Service-Charakteristiken • Template-Abgleich • Explizite TemplateSpezifikation

• Service-Referenz – Repräsentiert dieAbhängigkeit der Applikations-Komponente zum Service – Explizit:Benutzer-spezifisch durch DeploymentDeskriptoren – Implizit undAuffinden (Discovery):Informationist im Archiv enthalten

39 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7– Provisioning

JavaEEVorhandenes Modell DeployApplication CloudAdministration 1 • Konfiguration JavaEERessourcen – (EAR/GAR/SAR…) Service JDBC,JMS,etc. • DeployApplicationArchive(.EAR) Datenbank 2 Provisionand Service JavaEE7 Modell Initialize • Auto-ProvisionServicesvonApplication Dependencies LDAP Provisionand Service e.g.Datenbank,LDAP 3 Initialize ExtensibleDeploymentModelle für Frameworks Messaging Provisionand Service • Spring,Seam,etc. 4 Initialize

Applikations- Provisionand Container 5 Initialize

40 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7– PaaS Applikations- Deployment

41 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7- Rollenmodell

Entwickler PaaS Anbieter

PaaS Kunde / Mandant JVM JVM JVM JVM JVM JVM JVM JVM JVM PaaS Produkt- Machine Machine Machine Anbieter

Deployer JVM JVM JVM JVM JVM JVM JVM JVM JVM

Machine Machine Machine PaaS Kunden- Manager Anwendungs- Mandant 1 Mandant 2 Mandant 3 Verantwortlicher

PaaS Administrator

Anwendungs- Administrator

42 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7– Elastizität

JavaEE7Fokus

Elasticity Continuum

Java EE Cluster ElasticCluster

CapacityonDemand SingleNode Non-Elastic JavaEEMulti-Node DynamicSelfAdjusting Multi-InstanceClustering SLADrivenElasticity

• Elastisches Cluster– “CapacityOnDemand” • Eigenständiges ServiceLevelManagement – Antwortzeit,CPU’s,Speicherbedarf,Plattenverbrauch,.. • Deploymentvon“SingleMachine”bis IaaS

43 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEEBeispiel mit GlassFish 4 http://glassfish.org Java EE Applikation Load Balancer

JSFJSF JPAJPA deploy Java EE Java EE ... Java EE

Java EE 7 Services EJBEJB Metadaten Datenbank

...

44 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. PaaS Enablementmit GlassFish http://glassfish.org

45 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7undJavaEE8– Themenschwerpunkte

PaaS Modularität* HTML5

• Provisioning • BuildingonJigsaw • EmergingWeb Standardserfordern • Elastizität& • FokusaufOSGiinterop einProgrammier- eigenständige modell Skalierbarkeit • SupportingProfiles& ModulareApplikationen • JSON,WebSockets, • Mandantenfähigkeit off-line,APIs&DOM

*AligningwithdeliveryschedulesofJigsawinJavaSE8

46 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. JavaEE7– GeplanteInhalte

Thema Beschreibung/Inhalt PaaS • ServiceDefinitionsandProvisioningtoenableJavaasPlatformasaService Enablement • Enable Multi-tenancy inAPIs

WebProfile • ProvidepopularadditionstotheWebProfileincludingJAXRS2.0Support

• Simplifytheprogramingmodelforbuildingmessagingbasedapplications JMS2.0 • DependencyInjectionsupport

• TighterIntegrationwithJSF CDI • Expandscopeofcontainermanagedtransactions • Expandedservicemetadataandimprovedconfiguration

Caching • ProvideAPIsforaccessingcachingsystems Concurrency • SupportforJavaconcurrencyAPIswithinthecontainer Utilities • Allow vendors to optionaly supportolder APIs Pruning • EJBCMP/BMP,JAX-RPC

OpenSourceand • OpendevelopmentunderprojectGlassFishonjava.net

Transparency47 |Copyright©2012,Oracleand/orit’saffiliates.Al• JavaEE7JSRsruninopenwithpubliclyviewableElrightsreserved. xpertGroup mailarchive JavaEE7JSR’s javaee-spec.java.net

• JavaEEPlattform 7/WebProfile7 • JCache 1.0(JSR-107) • JavaPersistenceAPIJPA2.1(JSR-338) • ConcurrencyUtilities1.0(JSR-236) • JavaAPIforRESTful WebServicesJAX-RS2.0 • StateManagement1.0(JSR-350) • JavaServer FacesJSF2.2(JSR-344) • BatchProcessing1.0(JSR-352) • Servlet 3.1(JSR-340) • JTA1.2MR • EnterpriseJavaBeansEJB3.2(JSR-345) • JASPIC1.2MR • JavaServer Pages2.3MR • ExpressionLanguage3.0(JSR-341) • JavaMessagingServiceJMS2.0(JSR-343) • JavaAPIforXML-basedWebServicesJAX-WS2.3MR • DependencyInjectionfortheJavaPlatform(JSR-330) • ContextsandDependencyInjectionforJavaEECDI1.1 • BeanValidation1.1(JSR-349) • CommonAnnotations1.2MR(JSR-250) • JavaConnectorArchitecture(JCA1.6mit JSR-322)

• JavaWebSocketsAPI1.0(JSR-356) 48 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. • JSONAPI1.0(JSR-353) JavaEE7JSR’s Architektursicht

49 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Zusammenfassung

• DieJavaPlattform nutzt Innovationen im Ökosystem und wird sich weiterentwickeln • JavaPlattform liefert eine echten Mehrwert • Unternehmen profitieren vonexistierende Investitionen in JavaEE • JavaSE8wird einige neue undgrößere Features beinhalten • DieAusrichtung für JavaSE9läuft bereits

50 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. Theprecedingisintendedtooutlineourgeneral productdirection.Itisintendedforinformation purposesonly,andmaynotbeincorporatedinto anycontract.Itisnotacommitmenttodeliverany material,code,orfunctionality,andshouldnotbe relieduponinmakingpurchasingdecisions. Thedevelopment,release,andtimingofany featuresorfunctionalitydescribedforOracle s productsremainsatthesolediscretionofOracle.

51 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved. VielenDankfürIhreAufmerksamkeit!

[email protected]

52 |Copyright©2012,Oracleand/orit’saffiliates.Allrightsreserved.