Top Banner
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The JCP and the Future of Java Heather VanCura Director & Chair, JCP Program @heathervc May, 2017
69

JCP & The Future of Java

Jan 21, 2018

Download

Technology

Heather VanCura
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JCP & The Future of Java

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

The JCP and the Future of Java

Heather VanCura

Director & Chair, JCP Program

@heathervc

May, 2017

Page 2: JCP & The Future of Java

Heather VanCura

❑ Chair & Director of the JCP Program ❑ Leader of Global Adopt-a-JSR Programs ❑ Open Source Fan ❑ Native Californian - from San Diego ❑ Personal Interests: Fun

Bay Area, California - USA

Page 3: JCP & The Future of Java
Page 4: JCP & The Future of Java
Page 5: JCP & The Future of Java

Continued growth

❑ #1 Development Platform, Now in the Cloud ❑ 10 Million Java Developers Worldwide ❑ #1 Choice For Developers ❑ 13 Billion Devices Run Java ❑ 200 Million Medical Devices Run Java ❑ 1 Billion Automotive Devices Run Java ❑ 97% of Enterprise Desktops Run Java

Page 6: JCP & The Future of Java

Java Philosophies

❑ Platform Completeness ❑ Quality and Security ❑ Modernization and Innovation ❑ Open and Transparent Evolution ❑ Developer Productivity &

Compatibility ❑ Active Ecosystem Involvement

Page 7: JCP & The Future of Java
Page 8: JCP & The Future of Java

Technology Demand

Industry trends indicate that by 2020, there will be 1.4 million computing jobs available.

On the surface this sounds great, but

Page 9: JCP & The Future of Java

❑ A shift from the one with the best technical skills wins

❑ To…the one with the best people skills wins

First Computer Programmer

Page 10: JCP & The Future of Java

In 2017… 50% of tech jobs = Technical skills❑ Top five key soft skills that engineers and other professionals

should develop for career success: ❑ Communication ❑ Creativity/Critical Thinking ❑ Adaptability/Flexibility ❑ Collaboration/Teamwork ❑ Leadership

Page 11: JCP & The Future of Java

❑ Not easy to acquire ❑ Require practice ❑ Human interactions ❑ Complex thinker,

relationships, emotional intelligence = practice with others

In-demand skills

Page 12: JCP & The Future of Java

How to acquire?❑ Engage in Community events ❑ User Group Meetings ❑ Conferences ❑ Open Source Projects ❑ Java Community Process (JCP) ❑ Hack days &/or Hackergartens ❑ Kids coding workshops

Page 13: JCP & The Future of Java
Page 14: JCP & The Future of Java

Why Should Developers Participate?

❑ Knowledge ❑ Skills ❑ Visibility ❑ Altruism ❑ Advance Career ❑ Fun

Page 15: JCP & The Future of Java

Membership Quotes❑ "Joining the JCP, especially being a member of several expert

groups, has had a big impact on my career. Mostly by making it visible for the leadership and managers in my company that I am actually a part of forming the future of the platform. I also think, or hope, that it is an inspiration for my colleagues." - Ivar Grimstad

❑ "Joining the JCP is like being a Java citizen." - Heinz Kabutz

Page 16: JCP & The Future of Java

Collaborative Development - How does is work?❑ Java Specification Requests (JSRs)

❑ A JSR is a single version of a Java specification.

❑ JSRs are led by a community member (the Spec Lead), with a group of interested members (the Expert Group) helping with the day-to-day decisions and work.

❑ Any JCP member can submit and lead a JSR.

❑ Each Expert Group must deliver: ❑ The Specification

❑ A Reference Implementation (RI)

❑ A Technology Compatibility Kit (TCK)

•.

Page 17: JCP & The Future of Java

The JSR Development Cycle

❑ Includes formal public reviews and votes by the Executive Committee.

❑ Full Members can submit & lead JSRs, serve on JSR Expert Groups.

❑ See the Process Document for the details.

Page 18: JCP & The Future of Java

Compatibility Triangle

Can you build an implementation?

Is the specification unambiguous?

Is the TCK correct? Does the RI conform?

Page 19: JCP & The Future of Java

Who Are The Members?

https://jcp.org/en/participation/membership

❑ Corporations ❑ Non-Profits/Open Source ❑ Java User Groups ❑ Individual Developers

Page 20: JCP & The Future of Java

JUGs around the World

Page 21: JCP & The Future of Java

Participation

❑ 15,000+ Users ❑ 2,500 Expert Group Members ❑ 800+ Members ❑ 60+ Java User Groups ❑ 25 EC Members ❑ 380 JSRs

Page 22: JCP & The Future of Java

Organization

Page 23: JCP & The Future of Java

The Executive Committee❑ Corporations ❑ Non-Profits/Open

Source ❑ Java User Groups ❑ Individual

Developers

Page 24: JCP & The Future of Java

How: Open Standards & Open Source

❑ We need both!

Page 25: JCP & The Future of Java

Complimentary

❑ Open source important requirement. So are Standards. ❑ Coop-etition. Agree on what to standardize (cooperation) & what

to compete on (implementations). ❑ Open standards implemented in open source = easier to

implement standard & for developers to understand technology. ❑ Results in more implementations and greater adoption of the

standard. ❑ An effective way to develop a standard-start with an open source

project that has demonstrated the need for standardization.

Page 26: JCP & The Future of Java

Open Source Implementations

❑ The Reference Implementations of the Java SE and Java EE platforms are also developed collaboratively and released under open-source licenses.

❑ Java SE: OpenJDK ❑ Java EE: Project GlassFish

Page 27: JCP & The Future of Java

❑ New revisions of each of the three platforms.

❑ “JCP.Next” reforms . ❑ Increased participation

from Community.

Organization Focus

Page 28: JCP & The Future of Java

Java ME 8: (JSRs 360 & 361) – April 2014

Page 29: JCP & The Future of Java

Java EE 7: (JSR 342) – May 2013

Page 30: JCP & The Future of Java

The Vibrant Java EE Community

Java EE Compatible Application Servers User Groups

Java EE Developers Career OpportunityPublications

Page 31: JCP & The Future of Java

Revised Java EE 8 Proposal❑ Modernizing Java EE for Cloud and Microservices ❑ Retarget Java EE to address these trends - 15+ JSRs ❑ Goals:

❑ Migration path to cloud development and deployment models for Java EE customers

❑ Migration path to microservices-based architecture for Java EE applications

❑ Backwards compatibility with Java EE

Page 32: JCP & The Future of Java

Java EE 8 Overview

Connector JAXBJSP Debugging

Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket

Bean Validation JASPIC ServletJMS JTADeployment

Batch JACCDependency Injection JAXR JSTL Management

CDI EJB JAX-RPC Web ServicesJSF JPA

Common Annotations EL JAX-RS Web Services MetadataJavaMail

CDI 2.0

JSON-B 1.0 Security 1.0

Bean Validation 2.0

JSF 2.3

JAX-RS 2.1 JSON-P 1.1

Servlet 4.0

JSP

JSR Maintenance Releases (MRs) will be delivered as well

Page 33: JCP & The Future of Java

Java SE 8: JSR 337 - March 2014

Page 34: JCP & The Future of Java

Java 8 Adoption

Page 35: JCP & The Future of Java

JDK 9

❑ Another big step forward ❑ 122+ JEPs targeted for JDK 9 JEP = Java Enhancement Proposal ❑ Big one – JEP 261– Module System http://openjdk.java.net/jeps/261 ❑ Jigsaw available in current JDK 9 EA (early access) http://jdk.java.net/9/ Build 111 or later has Jigsaw in it Current available downloadable build is Build 181

Page 36: JCP & The Future of Java

Java 9

Important Features: ❑ JEP 261: Module System ❑ JEP 200: The Modular JDK ❑ JEP 222: jShell ❑ JEP 260: Encapsulate Internal

APIs ❑ JEP 282: jlink: The Java Linker ❑ JEP 295: Ahead of Time

Compilation (AOT)

Page 37: JCP & The Future of Java

Beyond Java 9

Project Valhalla ❑ Value Types ❑ Specialized Generics ❑ Var Handles

Project Panama ❑ Foreign Function Interface ❑ Date Layout Control ❑ Arrays 2.0

http://openjdk.java.net

Page 38: JCP & The Future of Java

JCP.next: Changing the Constitution

Page 39: JCP & The Future of Java

JCP.next (JSR 348) - Transparency❑ No more smoke filled rooms!

Page 40: JCP & The Future of Java

JCP.next (JSR 355) – Merge the EC❑ One Java, One EC

Page 41: JCP & The Future of Java

JCP.next (JSR 364) – Broadening Membership

Page 42: JCP & The Future of Java

❑ Eliminate Barriers to participation. ❑ Introduce new Membership levels. ❑ No Membership Fees. ❑ Electronic Signatures. ❑ Add Contributors for JSR Expert Groups. ❑ Add Associate Seats on Executive Committee.

JCP 2.10, Broadening JCP Membership

Page 43: JCP & The Future of Java

❑ Associate Members are individuals who can be listed as contributors to JSRs and vote for the Executive Committee.

❑ Partner Members are Java User Groups and other non-profit organizations that can serve on and vote for the Executive Committee.

❑ Full Members can serve on Expert Groups, lead JSRs, serve on and vote for the Executive Committee

Memberships

Page 44: JCP & The Future of Java

❑ OpenJDK Working Group ❑ Java ME Working Group ❑ JCP.Next Working Group ❑ Follow the EC Summaries and discussion:

❑ https://jcp.org/en/resources/EC_summaries

What’s next?

Page 45: JCP & The Future of Java

The JCP is More Open Than Before

Page 46: JCP & The Future of Java

How will you Participate?

❑ As an Individual – OK ❑ As part of a team – better ❑ Work through your JUG or

employer ❑ Help each other ❑ Teach other ❑ Work with each other

Page 47: JCP & The Future of Java

Working Together – We Achieve More

Page 48: JCP & The Future of Java

1) Pick JSR - New JSRs

❑ Security (JSR 375) ❑ JSON-P 1.1 (JSR 374) ❑ Java Module System (JSR 376) ❑ Desktop Application API (JSR 377) ❑ Portlet 3.0 Bridge for JSF 2.2(JSR

378) ❑ Java SE 9 Release Contents (JSR

379) ❑ Bean Validation 2.0 (JSR 380)

https://jcp.org/en/jsr/stage?listBy=active

Recently Submitted: ❑ Java EE 8 (JSR 366) ❑ CDI 2 (JSR 365) ❑ JSON-B (JSR 367) ❑ Servlet 4 (JSR 369) ❑ JAX-RS 2.1 (JSR 370) ❑ MVC (JSR 371) ❑ JSF 2.3 (JSR 372)

Page 49: JCP & The Future of Java

JSR example page

List of Active JSRs (posting in last 12 months): http://jcp.org/en/jsr/all?status=Active&activeMonths=12

Page 50: JCP & The Future of Java

2) Communication: Two Way Street

Page 51: JCP & The Future of Java

3) Decide on Steps: Take Action

❑ Share ideas and feedback, comment on list and public issue trackers. ❑ Read early versions of specifications and Javadocs. ❑ Try writing sample applications using early builds of reference

implementation. ❑ Write or speak about the technology and encourage others to

participate. Translate into your native language. ❑ Evangelize the JSR -social media, blogging or lightning talks. ❑ Help with documentation.

Page 52: JCP & The Future of Java

4) Follow Public Discussions & Comment - Issue Tracker example

Page 53: JCP & The Future of Java

5) Share - Add & Use Resources on GitHub

Page 54: JCP & The Future of Java

6) Participate in Hack Days – Have Fun!

Page 55: JCP & The Future of Java

Adopt-a-JSR

❑ A JUG-lead initiative to improve Java standards.

❑ Global groups of JUG members work on JSRs.

❑ Receive attention from local industry.

❑ Become more professional – helps focus your group efforts.

❑ Attract more developers to your community

Page 56: JCP & The Future of Java

Java 9 Hack DaysAll JUGs can participate!

❑ November 2016 Iceland ❑ April 2017 London ❑ August 19 Atlanta ❑ September London

(Advanced)

Virtual JUG Hack Days

https://www.meetup.com/virtualJUG/events/240545774/

Page 57: JCP & The Future of Java

Bucharest JUG Java EE & Java SE ❑ JSR 374, JSON P 1.1 Hack Day

Use Cases

https://github.com/Adopt-a-JSR/JSONP1.1-DEMO

Page 58: JCP & The Future of Java

Bulgarian JUG - Java EE

JSR 365, CDI 2.0 ❑ Full Day hack event with

Spec Lead of CDI, Antoine Sabot-Durand

❑ March 2017 ❑ Collaboration/mentorship

with Coimbra JUG in Portugal

Use Cases

Page 59: JCP & The Future of Java

NL JUG & Chicago JUG

Use Cases

https://github.com/EelcoMeuter/JSR-375-examples

❑ JSR 375 Securiy JSR, CDI 2.0 ❑ Hack Day event ❑ Java 9 Hack Day - collaboration

Page 60: JCP & The Future of Java

Paris JUG - Java SE ❑ JDK 9 Hack Day ❑ Full Day (sold out) hack event ❑ Another event planned later in

2017

Use Cases

Page 61: JCP & The Future of Java

BeJUG (Belgium) - Java EE ❑ JSR 356, Java API for

WebSocket ❑ Hack day (s). ❑ Developed Tic-Tac-Toe game

Included in Java EE 7 SDK.

Use Cases

Page 62: JCP & The Future of Java

London Java Community - Java SE ❑ Java 9/Jigsaw: Myriad hack days,

talks and events organized ❑ More planned in August &

September 2017

Use Cases

Page 63: JCP & The Future of Java

SouJava (Brazil) ❑ Java EE JSRs ❑ JDK 9 participation in hack

days ❑ Many talks, books, articles,

classes, code dojos (hack days), translations

Use Cases

Page 64: JCP & The Future of Java

Chennai JUG - Java EE ❑ JSR 338, Java Persistence 2.1 ❑ JSR 344, JSF 2.2 ❑ JSR 352, Batch ❑ JSR 353, JSON ❑ JSR 356, WebSocket ❑ Developed sample ‘Urban

Traveler’ application.

Use Cases

Page 65: JCP & The Future of Java
Page 66: JCP & The Future of Java

Participate in OpenJDK

❑ Adoption Group & Quality Outreach ❑ Join mail list prior to sending feedback: http://

mail.openjdk.java.net/mailman/listinfo/adoption-discuss ❑ https://wiki.openjdk.java.net/display/quality/Quality

+Outreach

Page 67: JCP & The Future of Java

Java EE Development has Moved to GitHub

❑ Migrated from Java.net ❑ Broaden community

participation ❑ All of GlassFish development ❑ Most of Java EE development ❑ Specs and implementation ❑ Repositories ❑ New mailing lists

https://github.com/javaee

Page 68: JCP & The Future of Java

We need you!❑ Follow the JCP online: http://JCP.org ❑ Join the JCP: https://jcp.org/en/participation/membership ❑ Twitter @jcp_org #JCP ❑ blogs.oracle.com/jcp ❑ Facebook: Java Community Process ❑ GitHub: https://github.com/jcp-org; https://github.com/javaee ❑ Adopt-a-JSR online: adoptajsr.org. #adoptajsr ❑ [email protected] the global mailing list ❑ IRC: #adoptajsr channel on irc.freenode.net ❑ GitHub: https://github.com/Adopt-a-JSR

Page 69: JCP & The Future of Java

thank you, ευχαριστώ, shukriya, dziekuje , tak, tack, grazie, gracias, danke, Благодаря, merci, obrigado, bedankt, kiitos, xie xie,

ありがとう. Questions? Find me on Twitter: @heathervc