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 Java 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 Spring Framework Support CAT
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 26 Oracle WebLogic 12.1.3 and Oracle Database 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