Java EE und WebLogic Roadmap die nächsten Schritte

Peter Doschkinow Wolfgang Weigend ORACLE Deutschland B.V. & Co. KG November 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

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

1 EE Status

2 Java EE 8 Themes

3 WebLogic 12.1.3 and Roadmap

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4 Java EE Evolution and Status • Technology – Balance innovation, standardization, compatibility • Community – Involvement: JCP, Adopt-a-JSR HTML5, Developer Productivity • Oracle‘s stewardship Infrastructure for Cloud Deployments – Investments and delivery Ease of Enterprise Development Java Platform Lightweight Robustness

Web Services

1998-2004 2005-2012 2013 - Future

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 5 Java EE 7

MEETING DEVELOPER ENTERPRISE • Full implementations PRODUCTIVITY DEMANDS – GlassFish 4.x Java EE 7 – WildFly 8.x

– TMAX JEUS 8 . Batch . More annotated POJOs . Concurrency • . Less boilerplate code . JAX-RS . Simplified JMS Partial implementations . Cohesive integrated . WebSockets platform . JSON – WebLogic 12.1.3 . Servlet NIO

– WebSphere Liberty Profile Beta

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 6 Java EE 8 Community Survey 4500+ respondents

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 7 Industry Trends

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 8 Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development / CDI alignment • Infrastructure for running in the Cloud • Java SE 8 alignment – Utilizing Java SE 8 new features

Java SE 8

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 9 HTML5 Support and Web Tier Enhancements • HTTP/2 support • Action‐based MVC • Server‐sent events – Part of HTML5 – By extending JAX-RS (already supported by Jersey) • JSON Binding – Similar to JAXB (already supported by MOXy) • JSON Processing enhancements – Track new standards JSON-Pointer and JSON-Patch

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10 HTTP/2 Address the Limitations of HTTP • HTTP/2 expected as proposed standard from IETF this month • Reduce latency – Address the Head-of-Line blocking problem • Support parallelism – Without requiring multiple connections • Retain semantics of HTTP 1.1 • Define interaction with HTTP 1.x

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 11 HTTP/2 • Request/Response multiplexing over single connection – Fully bidirectional – Multiple streams • Stream prioritization • Server push • Binary framing • Header compression • Upgrade from HTTP 1.1

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12 Servlet 4.0 HTTP/2 Features in Servlet API • Request/response multiplexing – Servlet request as HTTP/2 message • Stream prioritization – Add stream priority to HttpServletRequest • Server push • Upgrade from HTTP 1.1 • Binary framing – Hidden from API

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 13 MVC 1.0 JSR 371 • Action-based Model-View-Controller architecture – Vs. component-based like JSF, Wicket, Tapestry • Glues together key Java EE technologies: – Model • CDI, Bean Validation, JPA – View • Facelets, JSP – Controller • Leverage existing technologies such as JAX-RS, ... ?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 14 Ease of Development and CDI alignment • Security interceptors • Simplified messaging through CDI-based “MDBs” • CDI improvements – Events: async, ordering, range (war, ear, server, cluster) – WebSocket scopes • Pruning of EJB 2.x client view and IIOP interoperability

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 15 CDI Interceptor for Authorization Java EE Security 1.0 @IsAuthorized("hasRoles('Manager') && schedule.officeHrs") void transferFunds();

@IsAuthorized("hasRoles('Manager') && hasAttribute('directReports', employee.id)") double getSalary(long employeeId);

@IsAuthorized(ruleSourceName="java:app/payrollAuthRules", rule="report") void displayReport();

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 16 Simplified messaging through CDI JMS 2.1 • New API to receive messages asynchronously • Alternative to message driven beans @RequestScoped • Simpler JMS annotations public class MyListenerComponent {

– Usable by any CDI bean @JMSListener(destinationLookup="myQueue") – No need for MessageListener @Transactional public void myCallback(Message message) { implementation ...... } }

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 17 Infrastructure Modernization For On-Premise and Cloud • Java EE Management 2.0 – REST-based APIs for Management and Deployment • Java EE Security 1.0: enhance portability, flexibility, ease-of-use – Authorization – Password aliasing – User management – Role mapping – Authentication – REST authentication

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 18 Java EE Management 2.0 • Update of JSR 77 (J2EE Management) • Define RESTful API to augment and/or replace current Management EJB APIs – Currently used OBJECT_NAME to become URL – Define CRUD operations for individual managed object – Server-sent events used for event support • Define RESTful API for application deployment – Focus on simple cases first – Deployment support integrated to same API with other Java EE management

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 19 Java EE Security 1.0 Password aliasing • Standardized syntax for password aliases – Avoids storing passwords in clear text in code, deployment descriptors and files @DataSourceDefinition( name="java:app/MyDataSource", className="com.example.MyDataSource", ... user="duke", password="${ALIAS=dukePassword}")

• Standardized secure credentials archive for bundling alias and password with the application – Used by platform as credential store for resolving alias

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 20 Java EE Security 1.0 User Management • Allow application to manage its own user and groups – Without need to access server configuration • Users stored in application-specified repository (e.g., LDAP) • User service manipulates users from user source

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 21 Java EE 8 JSRs

Submitted More To Come

. Java EE 8 Platform . JSON-P 1.1 . CDI 2.0 . Java EE Security 1.0 . JSON Binding 1.0 . Java EE Management 2.0 . JAX-RS 2.1 . JCache 1.1 . MVC 1.0 . And more to follow… . Java Servlet 4.0 . JSF 2.3 . JMS 2.1

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 22 Java EE 8 Roadmap

Java EE 8 Final

Proposed Final Draft

Public Review Drafts

Early Draft Specifications

JSR Submissions

Java EE 8 Planning

06/2014 01/2015 01/2015 01/2016 09/2017

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 23 Continue to participate

Java EE 7 Java EE 8 14 adopted JSRs New JSRs 19 Java User Groups New Opportunities Thank You! Get Involved!

Participate with us! http://glassfish.org/contribute

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 24 Oracle WebLogic Server 12.1.3

. Fusion Middleware 12.1.3 Release – SOA, OSB, BPM, ADF, JDEV, CAF . Mobile, Developer Productivity – Java EE 6, JDK 7 and JDK 8, Multiple IDEs, Maven – Selected Java EE7 – JSON-P, REST, WebSocket, JPA . High Availability and Performance Server 1 Server 2 JMS JMS – DB 12c integration Dynamic Cluster

– High availability enhancements Server 3 Server 3 JMS JMS – Exalogic optimizations . Cloud-Scale Management and Operations Oracle – Dynamic clusters, REST support, FMW Control RAC – Managed Coherence Servers

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

Oracle WebLogic Server 12.1.3 - Development Java EE 6, HTML5, Tooling, Maven, Spring, Classloading, Open Source … • Java EE 6 Full Profile + select Java EE 7 • HTML5 Support • Standard Java IDE Support • Maven Integration • Java SE 7 + Java SE 8 • Developer zip distribution • Windows, Mac OSX, Linux…. • GlassFish DD Support on WebLogic • Built in Classloading Analysis Tool (CAT) • Latest Support CAT

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 26 Oracle WebLogic 12.1.3 and 12c Integration for Performance, Availability, Multitenancy, Scalability

WebLogic Server WebLogic, Database Integration

. Active GridLink for RAC – Performance, HA, Manageability . Application Continuity . Support for Multi-Tenant Database Oracle Database Real Application Clusters (RAC) . Scalability with Database Resident Connection Pooling . Global Availability with Global Data DB Resident Application Multi-Tenant Global Data Services Connection Continuity Database Services . Optimizations with No TLOG option Pool

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 27 Oracle WebLogic Server 12.1.3 Management Integration Managed Coherence Servers and Web Tier Management WebLogic or FMW Enterprise WebLogic Scripting Console Manager Management Efficiency . WebLogic Management Framework integrated across Coherence, Web Tier WebLogic Management Framework . Configuration, deployment, lifecycle management, monitoring Configure Deploy Start/Stop Monitor . Managed Coherence Servers for WebLogic/Coherence or standalone Oracle HTTP Server Coherence . Integration of Oracle HTTP Server Coherence Coherence WebLogic WebLogic management with WebLoic Coherence Coherence WebLogic WebLogic . REST support

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28 Drawing Board Demo: HTML5 App on WebLogic http://github.com/jersey/hol-sse-websocket

• Collaborative drawing • Two-page application – List of drawings – Drawing • Demonstrating – Server-side • Java EE 7: JAX-RS, JSON, WebSocket • WebLogic specific (Jersey): SSE, JAX-B – Client-side: JAX-RS, WebSocket, SSE Java and JavaScript API, JavaFX hybrid Java/HTML5 application

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 29 Drawing Board Demo Thin Server Architecture

Clients WebLogic 12.1.3

HTTP/S

Data Service

JSON

RS/SSE -

HTML5 Browser Jersey SSE DataProvider JAX POJO send(...) onEvent(...) JSON (HashMap)

DrawingService.query(...) Web webSocketSend.send(...)

Sockets WS

WebView/WebKit Endpoint JavaFX

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30 Drawing Board Demo on WebLogic Technology usage • JAX-RS: CRUD for drawings • WebSocket: distributing the updates of a drawing to all connected clients • JSON-P: implementing of encoder/decoder of the WebSocket server endpoint • SSE(Jersey specific): distributing the list of drawings to all connected clients • JSON-B(Jersey specific): mapping between drawing objects and their JSON representations

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 31 Drawing Board Demo with Coherence https://github.com/doschkinow/hol-sse-websocket/solutions/exercise9

• Seamless Coherence integration in a WebLogic cluster

• Scaling-out and HA

Coherence Cluster Coherence

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 32 Oracle WebLogic Server Roadmap Private Beta Q42014

WebLogic 11gR1 (10.3.1-6) WebLogic 12c (12.1.2) – CY2013 WebLogic 12cR2 (12.2.1) – CY2015 . FMW 12c Platform . . FMW 12c Infrastructure Oracle FMW 11g & Apps . Java EE 7 and Development . . Mission Critical Cloud Platform Manageability, Active GridLink, . Multitenancy Messaging, Coherence, OVAB . Native Cloud Management . Elastic Clusters and REST Mgmt . Engineered Systems, Cloud . Modern Development Platform . Exalogic, HA and MAA . JDK 6 and JDK 7 (WLS 10.3.6) . JDK 7 . JDK 8

2009-2010 2011 2012 2013 2014 2015

WebLogic 12c (12.1.1) WebLogic 12c (12.1.3) – June 2014 . Java EE 6 . FMW 12c Infra, SOA, BPM, ODI . Developer Productivity, Oracle Traffic . Mobile and Rich Client Support Director, Disaster Recovery . Mission Critical Cloud Platform . JDK 6 and JDK 7 . Native Cloud Management . JDK 7, JDK 8

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 33 Links • Adopt a JSR – http://glassfish/adooptajsr • The Aquarium Blog – http://blogs.oracle.com/theaquarium • Java EE 8 reference implementation – http://glassfish.org • WebLogic 12.1.3 – https://docs.oracle.com/middleware/1213/wls/index.html

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