Upload
phamphuc
View
228
Download
0
Embed Size (px)
Citation preview
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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.
3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Agenda
Java EE Status
Java EE 8 Themes
WebLogic 12.1.3 and Roadmap
1
2
3
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java EE Evolution and Status
• Technology
– Balance innovation, standardization, compatibility
• Community
– Involvement: JCP, Adopt-a-JSR
• Oracle‘s stewardship – Investments and delivery
5
2005-2012
Ease of Development
Lightweight
HTML5, Developer Productivity Infrastructure for Cloud Deployments
1998-2004
Enterprise Java Platform
Robustness
Web Services
2013 - Future
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Java EE 7
• Full implementations
– GlassFish 4.x
– WildFly 8.x
– TMAX JEUS 8
• Partial implementations
– WebLogic 12.1.3
– WebSphere Liberty Profile Beta
6
Batch
Concurrency
Simplified JMS
More annotated POJOs
Less boilerplate code
Cohesive integrated
platform
DEVELOPER PRODUCTIVITY
JAX-RS
WebSockets
JSON
Servlet NIO
MEETING ENTERPRISE DEMANDS
Java EE 7
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 7
4500+ respondents
Java EE 8 Community Survey
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
9
Java SE 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
10
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
HTTP/2
• 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
11
Address the Limitations of HTTP
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
12
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Servlet 4.0
• 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
13
HTTP/2 Features in Servlet API
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
MVC 1.0
• 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, ... ?
14
JSR 371
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
15
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
CDI Interceptor for Authorization
@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();
16
Java EE Security 1.0
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Simplified messaging through CDI
• New API to receive messages asynchronously
• Alternative to message driven beans
• Simpler JMS annotations
– Usable by any CDI bean
– No need for MessageListener implementation
17
JMS 2.1
@RequestScoped public class MyListenerComponent { @JMSListener(destinationLookup="myQueue") @Transactional public void myCallback(Message message) { ... ... } }
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Infrastructure Modernization
• 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
18
For On-Premise and Cloud
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
19
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• Standardized syntax for password aliases
– Avoids storing passwords in clear text in code, deployment descriptors and files
• Standardized secure credentials archive for bundling alias and password with the application – Used by platform as credential store for resolving alias
20
Password aliasing
Java EE Security 1.0
@DataSourceDefinition( name="java:app/MyDataSource", className="com.example.MyDataSource", ... user="duke", password="${ALIAS=dukePassword}")
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• 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
21
User Management
Java EE Security 1.0
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 22
Java EE 8 JSRs
Java EE 8 Platform
CDI 2.0
JSON Binding 1.0
JAX-RS 2.1
MVC 1.0
Java Servlet 4.0
JSF 2.3
JMS 2.1
Submitted More To Come
JSON-P 1.1
Java EE Security 1.0
Java EE Management 2.0
JCache 1.1
And more to follow…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 23
Java EE 8 Roadmap
Public Review Drafts
Proposed Final Draft
JSR Submissions
Java EE 8 Final
Early Draft Specifications
Java EE 8 Planning
01/2016 01/2015 09/2017 06/2014 01/2015
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Continue to participate
24
Participate with us! http://glassfish.org/contribute
Java EE 7 14 adopted JSRs
19 Java User Groups
Thank You!
Java EE 8 New JSRs
New Opportunities
Get Involved!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 25
Oracle WebLogic Server 12.1.3
Server 1 Server 2
Server 3 Server 3
JMS JMS
JMS JMS
Oracle
RAC
Dynamic Cluster
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
– DB 12c integration
– High availability enhancements
– Exalogic optimizations
Cloud-Scale Management and Operations – Dynamic clusters, REST support, FMW Control
– Managed Coherence Servers
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• 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
26
Oracle WebLogic Server 12.1.3 - Development Java EE 6, HTML5, Tooling, Maven, Spring, Classloading, Open Source …
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Oracle Database Real Application Clusters (RAC)
27
Oracle WebLogic 12.1.3 and Oracle Database 12c Integration for Performance, Availability, Multitenancy, Scalability
WebLogic, Database Integration
Active GridLink for RAC – Performance, HA, Manageability
Application Continuity
Support for Multi-Tenant Database
Scalability with Database Resident Connection Pooling
Global Availability with Global Data Services
Optimizations with No TLOG option
Application Continuity
DB Resident Connection
Pool
Global Data Services
Multi-Tenant Database
WebLogic Server
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28
WebLogic or FMW Console
Enterprise Manager
WebLogic Scripting
Management Efficiency
WebLogic Management Framework integrated across Coherence, Web Tier
Configuration, deployment, lifecycle management, monitoring
Managed Coherence Servers for WebLogic/Coherence or standalone Coherence
Integration of Oracle HTTP Server management with WebLoic
REST support
Coherence
Coherence
Coherence
Coherence
Configure Deploy Start/Stop Monitor
WebLogic WebLogic
WebLogic WebLogic
WebLogic Management Framework
Oracle HTTP Server
Oracle WebLogic Server 12.1.3 Management Integration Managed Coherence Servers and Web Tier Management
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• 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
29
http://github.com/jersey/hol-sse-websocket
Drawing Board Demo: HTML5 App on WebLogic
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30
Thin Server Architecture
Drawing Board Demo
HTTP/S
Web Sockets
SSE
Clients
JAX
-RS/
SSE
Jers
ey
Data Service
WebLogic 12.1.3
JSON
JSON
DataProvider POJO
(HashMap)
WS
End
po
int
HTML5 Browser
JavaFX
WebView/WebKit
webSocketSend.send(...)
send(...) onEvent(...)
DrawingService.query(...)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• 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
31
Technology usage
Drawing Board Demo on WebLogic
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
• Seamless Coherence integration in a WebLogic cluster
• Scaling-out and HA
32
https://github.com/doschkinow/hol-sse-websocket/solutions/exercise9
Drawing Board Demo with Coherence
Co
he
ren
ce C
lust
er
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
2009-2010 2011 2012 2013 2014 2015
Oracle WebLogic Server Roadmap
33
WebLogic 11gR1 (10.3.1-6)
Oracle FMW 11g & Apps
Manageability, Active GridLink, Messaging, Coherence, OVAB
Engineered Systems, Cloud
JDK 6 and JDK 7 (WLS 10.3.6)
WebLogic 12c (12.1.2) – CY2013
FMW 12c Infrastructure
Mission Critical Cloud Platform
Native Cloud Management
Modern Development Platform
JDK 7
WebLogic 12c (12.1.1)
Java EE 6
Developer Productivity, Oracle Traffic Director, Disaster Recovery
JDK 6 and JDK 7
WebLogic 12c (12.1.3) – June 2014
FMW 12c Infra, SOA, BPM, ODI
Mobile and Rich Client Support
Mission Critical Cloud Platform
Native Cloud Management
JDK 7, JDK 8
WebLogic 12cR2 (12.2.1) – CY2015
FMW 12c Platform
Java EE 7 and Development
Multitenancy
Elastic Clusters and REST Mgmt
Exalogic, HA and MAA
JDK 8
Private Beta Q42014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
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
34