Ready for vendor neutral Cloud Native Java! · 06/07/2019  · Ready for vendor neutral Cloud...

Post on 22-May-2020

12 views 0 download

transcript

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)1

Ready for vendor neutral Cloud Native Java!

July 2019 / Gaël Blondelle / @gblondelle

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

2

3 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Conference Driven Development

3

4 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Jump into Open Source Cloud Native Java

4

5 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Agenda > Jakarta EE and MicroProfile: What’s new?

> Vendor neutral microservices

> With which tools?> Future development

5

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

The Big Move

6

In September 2017, Java EE technologies moved to the Eclipse Foundation, where they now continue to evolve under

the Jakarta EE brand

7COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Jakarta EE Working Group, an industry consortium

Establishes the technical

roadmap

Ensures compatibility

Drives the Jakarta EE

brand

Approves Specifications

Builds the community

Working Group

An Industry Consortium

8COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Strategic Members

Participating Members

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Jakarta EE Migration Process

Work in EF Repository Release ReviewInitial

ContributionCreationProposal

1 2 3 4 5

Contribution Process

9

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Jakarta EE Migration Process

Work in EF Repository Release ReviewInitial

ContributionCreationProposal

1 2 3 4 5

Contribution Process

DONE

10

11COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

~160New Committers

39Projects

53Build Pipelines

99Git Repositories

Jakarta EE at the Eclipse Foundation

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12

Shared Burden

Transparency

Vendor neutrality and continuity

Openness

TCK Now Open Sourced!

13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13

Status Summary

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

> Code and TCKs contributed• Builds running on EF infra

> Eclipse GlassFish 5.1 Java EE 8 certified

• Glassfish certification running on EF infra

> Eclipse Foundation Specification Process (EFSP) delivered: EFSP v1.1

> Jakarta EE SP (based on EFSP) delivered: JESP v1.0

13

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Specification First

Led by Specification Lead

Documents and TCKs are closed source

One normative “Reference Implementation”

Oracle certification process

Code First

Collaborative

Documents and TCKs are open source

One or more “Compatible Implementations”

Self certification

JCP vs Eclipse Foundation Specification Process (EFSP)

14

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

The Overall Specification Process

PlanDevelopment

Milestone Build

Ratified Final

Specification

Specification Version

Proposal

JESP Jakarta EE Specification Process

& EFSP Eclipse Foundation Specification Process

Just for a moment forget about the reviews

16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16

Status Summary

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

> New Specification Project Proposals • Jakarta NoSQL• Jakarta Batch

> Oracle agreement:• All future changes must happen

in a new namespace • Jakarta vs. javax

• Specs need to be renamed

16

17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

What if you change …● javax.servlet

Forces 9 package renames, 899 classes total

● javax.elForces 12 package renames, 1115 classes total

See https://github.com/eclipse-ee4j/jakartaee-platform/blob/master/namespace/transitive.adoc By David Blevins, Tomitribe

Approaches to package name update

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Java EE 8GlassFish 5.0

Java EE 8Eclipse GlassFish 5.1

Jakarta EE 8Eclipse GlassFish 5.2

Jakarta EE 9Eclipse GlassFish 5.X

Sources,TCKs, Docs

What’s Next?

18

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Java EE 8GlassFish 5.0

Java EE 8Eclipse GlassFish 5.1

Jakarta EE 8Eclipse GlassFish 5.2

Jakarta EE 9Eclipse GlassFish 5.X

Sources,TCKs, Docs

What’s Next?

19

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Java EE 8GlassFish 5.0

Java EE 8Eclipse GlassFish 5.1

Jakarta EE 8Eclipse GlassFish 5.2

Jakarta EE 9Eclipse GlassFish 5.X

Sources,TCKs, Docs

What’s Next?

20

● javax namespace● New process● New licensing● New logo

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

“Jakarta EE 8 will NOT break existing Java EE 8 applications that rely upon javax APIs”

See https://eclipse-foundation.blog/2019/05/08/jakarta-ee-8-faq/

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Java EE 8GlassFish 5.0

Java EE 8Eclipse GlassFish 5.1

Jakarta EE 8Eclipse GlassFish 5.2

Jakarta EE 9Eclipse GlassFish 5.X

Sources,TCKs, Docs

What’s Next?

22

● New namespace● Java SE 11● Removal of deprecated

specs● ....maybe more

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Java EE 8GlassFish 5.0

Java EE 8Eclipse GlassFish 5.1

Jakarta EE 8Eclipse GlassFish 5.2

Jakarta EE 9Eclipse GlassFish 5.X

Sources,TCKs, Docs

What’s Next?

23

Join the conversation at jakarta-platform-dev@eclipse.org

24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24

Community Engagement

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

> jakarta.ee-community@eclipse.org> Jakarta Tech Talks> Monthly Jakarta EE Update calls> Monthly email updates > Ad hoc town halls> Blog aggregator on jakarta.ee > Deep technical discussions on future of

the platform at jakarta-platform-dev@eclipse.org

24

https://jakarta.ee/

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

> Collection of open source specifications for

developing enterprise Java microservices

> Open source approach removes reliance on

single vendor release cycles

> Natural extension of a Java EE developers’

existing skill set

Specifications for Java Microservices

Eclipse MicroProfile

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Eclipse MicroProfile Specifications

MicroProfile 3.0

JAX-RS 2.1JSON-P 1.1CDI 2.0

Config 1.3

FaultTolerance

2.0

JWTPropagation

1.1

HealthCheck 2.0Metrics 2.0

Open Tracing 1.3 Open API 1.1

= Updated= No change from last release (MicroProfile 2.2)

= New

Rest Client 1.3

JSON-B 1.0

27 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Agenda > Jakarta EE and MicroProfile: What’s new?

> Vendor neutral microservices

> With which tools?> Future development

27

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Open Source Foundations enable

vendor-neutral open collaboration

28

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

29

● Control by a single company

● Companies pivot!● Need for a trusted

third party

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Freedom 0 -to run the program, for any purpose

Freedom 1 - to study how the program works, and change it to make it do what you wish

Freedom 2- to redistribute copies

Freedom 3 - to distribute copies of your modified versions to others

There is only one definition of Free Software (since 1984)

30

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Foundations ensure sustainability by...

Securing copyright

Ensuring diversity

https://projects.eclipse.org/projects/eclipse

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Foundations ensure sustainability by community diversity

https://projects.eclipse.org/projects/eclipse/who

32

Copyright (c) 2018, Eclipse Foundation, Inc. | Made available under the Eclipse Public License 2.0 (EPL-2.0)

Transparency Openness Meritocracy

Open Source principles are beneficial to the

ecosystem!

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Current MicroProfile implementations

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Innovation happens!https://www.eclipse.org/community/eclipse_newsletter/2019/may/quarkus.php

36 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Agenda > Jakarta EE and MicroProfile: What’s new?

> Vendor neutral microservices

> With which tools?> Future development

36

37 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

start.microprofile.io

> Command-line Interface

• Soon to be released• CLI will be used for the

creation of major IDE extensions

38 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

start.microprofile.io

39 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Eclipse Wild Web Developer

40 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Eclipse CodeWind

> Tools for easier microservices development and test

> On the desktop: starting projects in Docker

> Deploying applications to Kubernetes

> Incremental update of applications running in Docker or Kubernetes

> Application performance testing tools

41 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Eclipse CodeWind

VS Code Eclipse IDE

Eclipse Che

42 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Agenda > Jakarta EE and MicroProfile: What’s new?

> Vendor neutral microservices

> With which tools?> Future development

42

43COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 43

Jakarta EE 9 Community Wishlist

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

> CDI Alignment

> Modularity

> MicroProfile, Microservices

> Cloud-native deployments

> Reactive streams

> Java 11

> + … your inputs ...

43

44 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Eclipse MicroProfile roadmap

44

Roadmap

Standalone

Context Propagation

1.0

LRA 1.0

Reactive Streams

Operators 1.1

Outside umbrella

GraphQL 1.0

MicroProfile 3.1

JAX-RS 2.1JSON-P 1.1CDI 2.0

Config 1.4

FaultTolerance

2.0

JWTPropagation

1.1

HealthCheck 2.0Metrics 2.0

Open Tracing 1.3

Open API 2.0

= Updated= No change from last release (MicroProfile 3.0)

= New

Rest Client 1.3

JSON-B 1.0

Reactive Messaging

1.0

45 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Going back to my Cloud Native JavaRpi based cluster

45

46 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Cool techno for developers

46

47 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Sustainable for companies

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)47

48 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

Really open source

Transparent Open Meritocratic

COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)48

49 COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)

The Jakarta One Livestream CFP is open! Participate and submit your talk by July 15: https://www.papercall.io/jakartaone-cfp

Copyright © 2018 The Eclipse Foundation. All Rights Reserved

OCTOBER 21 - 24, 2

019

Ludwigsburg

-

Germany