Liberty Quarterly Update 20.0.0.4-20.0.0 · 10 minute overview. 4 Why Choose Liberty • Cloud...

69
1 Liberty Quarterly Update 20.0.0.4-20.0.0.6 Alasdair Nottingham – Liberty Lead Architect @nottycode

Transcript of Liberty Quarterly Update 20.0.0.4-20.0.0 · 10 minute overview. 4 Why Choose Liberty • Cloud...

1

Liberty Quarterly Update20.0.0.4-20.0.0.6Alasdair Nottingham – Liberty Lead Architect@nottycode

2

Agenda

Part 1: 10 Minute Liberty overview

Part 2: Liberty Performance – Vijay Sundaresan

Part 3: What is new this quarter

Part 4: Q&A

33

10 minute overview

4

Why Choose Liberty

• Cloud Ready

• Container optimized• Designed for dev/ops• Small disk footprint• Efficient memory usage• Fast startup• High throughput• Self-Tuned Thread Pool

• Developer friendly

• Just enough application server• Fast inner loop with dev mode• Support for industry standard

dev tools• Jakarta EE, Java EE,

MicroProfile APIs• Zero Migration

5

What people are saying• "Light operation and efficient operation (restart time can be reduced compared to ND)”

• "Ease of use small footprint ability to be built into a container”

• "It's the best tool for the job.”

• "Easy to manage, Cloud Ready a Smart Product with cool feature. Modular flexible and fast.”

• "Simple, well supported, cloud and container friendly.”

• "Liberty is a fast-to-configure application server with some advantages over other similar products.”

• "Simplicity of use.”

• "Now that we have experienced Liberty, we are spoiled and want to stick to those easy, non-impacting migrations."

6

<feature>servlet-4.0</feature><feature>jsf-2.3</feature>

Just Enough Application Server

You control which features are loaded into each server instance

Kernel

servlet-4.0

http-2.0 appmgr

jsp-2.3 jsf-2.3Java EE

7

Liberty in Containers

Azure Kubernetes Service

IBM Cloud Kubernetes Service

Amazon Elastic Kubernetes Service

Jelastic

Google Kubernetes EngineHosted Cloud

Red Hat Open Shift Container Platform

Pivotal Kubernetes Service

Pivotal Cloud Foundry

Private Cloud

app and config

liberty and java

docker

+

+os config

+

FROM open-libertyADD myapp.war /config/dropins/myapp.war

=portable container

8

Liberty Zero Migration• Zero config migration

- Write once, run forever• Zero app migration

- No behavior changes in existing features- New behaviors in new features

• Choose your Java

- Java 14, 11, 8- AdoptOpenJDK- IBM- OpenJDK- Oracle

9

20.0.0.2

20.0.0.420.0.0.1

20.0.0.5

20.0.0.3 20.0.0.6

20.0.0.7

20.0.0.8

20.0.0.9

20.0.0.10

20.0.0.11

20.0.0.12

Liberty Release Cadence

Jan Dec

All CD releases CD releases ending .3 .6 .9 .12

Support Provided 5 years 5 years

iFixes 24 weeks 2 years

Proactive Security iFixes Most recent Most recent 2

10

20.0.0.2

20.0.0.420.0.0.1

20.0.0.5

20.0.0.3 20.0.0.6

20.0.0.7

20.0.0.8

20.0.0.9

20.0.0.10

Liberty Release Cadence Example

Jan Dec

All CD releases CD releases ending .3 .6 .9 .12

Support Provided 5 years 5 years

iFixes 24 weeks 2 years

Proactive Security iFixes Most recent Most recent 2

11

How to get SupportIBM Cloud Pack for Apps

Integrated DevOps

WebSphere

z/OSND

Base Core

Red Hat OpenShift

IBM Integrated Application Runtimes

Java:• WebSphere• Liberty• MicroProfile• Jakarta EE• OpenJ9• HotSpot

Node.js:• Loopback• Express

Red Hat Runtimes

Open LibertyJBoss EAPOpenJDK

SpringThorntailNode.js

Red Hat AMQRed Hat Data Grid

Red Hat Runtimes

1212

Liberty and Java performanceVijay Sundaresan

13

Agenda

Startup performance

Application server performance comparisons

WAS on IBM systems

13

1414

Startup performance

14

15

Start-up time == time needed for your server application to be ready to handle user requests

Important for:

• Developer work flow• Scaling out operations• Scale to zero • Outages (planned or not)

Quote from developer survey in this year’s JRebel Java Productivity Report

“If the build process is heavy/complex/requires rebuilding the entire app/restarting the server after each change then the quality of the work may suffer (my ability stays the same, but time consumption increases drastically)”

Fast startup time is critical for cloud and developer experience15

16

0

0.5

1

1.5

2

2.5

December '18 March '19 April '19 July '19 August '19 September '19 April '20

2018-2020 Progression of OpenLiberty+OpenJ9 startup time (seconds)

16Open Liberty with OpenJ9: the road to one second startup time

Halved startup time due to app server and JVM changes done consistently throughout 2019-2020 Open Liberty and OpenJ9 changes improve startup time to be almost at one second now

OpenJ9 : Improved Cached feature metadata when no change to server.xml Changed bundle activation to start in parallelBetter AOT code RAS processing Optimized loading of CXF JSON/JSONB provider RAS annotation processing at build time

JMX MBeanServer init Cached annotation information for built-in JAX-RS Providers Cached plugin xml and OSGi metadataOpenJ9 : GC hints in shared classes cache Reduced class loading during startup

Reduced logging overheadOpenJ9 : More AOT code in shared classes cache OpenJ9 : Optimize class verification overhead

17

Open Liberty startup time comparison (using HotSpot JVM)

• Open Liberty startup time is significantly shorter than other application servers

17

0

2

4

6

8

10

12

Open Liberty 20.0.0.4 TomEE 8.0.0-M3-microprofile

Tomcat 9.0.22 +OpenWebBeans

2.0.11(CDI) + CXF 3.3.2(jaxrs)

Wildfly 17.0.1 javaee JBoss 7.2 Glassfish web 5 Payara web 5.192

PingPerf application startup time with HotSpot(in seconds)

18

Open Liberty startup time comparison (using OpenJ9 JVM)

• Open Liberty starts faster than other app servers, OpenJ9 starts faster than HotSpot

18

0

1

2

3

4

5

6

7

8

Open Liberty 20.0.0.4 TomEE 8.0.0-M3-microprofile

Tomcat 9.0.22 +OpenWebBeans

2.0.11(CDI) + CXF 3.3.2(jaxrs)

Wildfly 17.0.1 javaee JBoss 7.2 Glassfish web 5 Payara web 5.192

PingPerf application startup time with OpenJ9 Shared Classes Cache (in seconds)

19

Open Liberty/OpenJ9 startup time improved for many applications

• Open Liberty and OpenJ9 changes have improved startup time across the board

19

0%

10%

20%

30%

40%

50%

60%

70%

No Apps No Features Web Profile7 Web Profile8 Java EE7 Java EE8 DayTrader7 DayTrader8

Open Liberty 20.0.0.3 vs 18.0.0.4Startup Time Improvement Percentage

20

Open Liberty and OpenJ9 shared classes cache in Docker

• 3.2X improvement in startup time from SCC in Open Liberty and application Docker layers• Open Liberty docker image starting with 20.0.0.2 release includes a multi layered SCC• Open Liberty docker image contains a SCC with classes used during Open Liberty startup• Run configure.sh as recommended when building your application layer

20

0

2

4

6

8

Open Liberty Docker image without sharedclasses cache

Open Liberty Docker image with sharedclasses cache

AcmeAir MS Startup time in Docker (in seconds)

21

• Stay up to date with Open Liberty and OpenJ9 releases

• Both products release several times a year

• Use the minimal Open Liberty feature set that your application requires

• Startup time is faster with fewer features to “enable” in server.xml

• Run configure.sh as part of building your application container image

• Populates caches that can reduce startup time significantly

Summary: Open Liberty startup time is continuously getting better21

2222

Application server performance comparisons

22

23

• Comparisons used each application server’s Docker image

• Liberty outperforms others on all metrics for EE8 performance (startup time almost half, throughput and memory footprint are 30% better)

EE8 Performance (Daytrader8)

System Configuration:-------------------------------SUT: LinTel – SLES 12.3, Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz, 4 physical cores, 64GB RAM. JDK version distributed with the docker images used for each server instance.

23

100% 106%

62%

27%

0%

50%

100%

150%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Wildfly Full 19.0.0.Final Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(h

ighe

r is b

ette

r)

Throughput- Daytrader8 - Docker

100% 106%130%

230%

0%50%

100%150%200%250%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Wildfly Full 19.0.0.Final Payara 5.201Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Memory Footprint - Daytrader8 - Docker

100% 118%199%

541%

0%100%200%300%400%500%600%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Wildfly Full 19.0.0.Final Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Startup - Daytrader8 - Docker

24

• Comparisons used each application server’s Docker image

• Liberty outperforms others on all metrics for EE7 performance (startup time less than half, throughput and memory footprint are much better as well)

EE7 Performance(Trade7)

24

System Configuration:-------------------------------SUT: LinTel – SLES 12.3, Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz, 4 physical cores, 64GB RAM. JDK version distributed with the docker images used for each server instance.

100% 115%180%

267%

510%

0%100%200%300%400%500%600%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Tomcat 9.0.30.0 Wildfly Full 19.0.0.Final Payara 5.201Pe

rcen

t of O

pen

Libe

rty

20.0

.0.3

(low

er is

bet

ter)

Memory Footprint - Trade7 - Docker

100% 148% 231%

536%

1361%

0%

500%

1000%

1500%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Tomcat 9.0.30.0 Wildfly Full 19.0.0.Final Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Startup Time - Trade7 - Docker

100% 92% 98%79% 83%

38%

0%

50%

100%

150%

Open Liberty20.0.0.3

Open Liberty19.0.0.3

WAS Traditional9.0.5.3

Tomcat 9.0.30.0 Wildfly Full19.0.0.Final

Payara 5.201Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(h

ighe

r is b

ette

r)

Throughput - Trade7 - Docker

25

EE7 Performance(Acmeair Monolithic)

25

System Configuration:-------------------------------SUT: LinTel – SLES 12.3, Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz, 4 physical cores, 64GB RAM. JDK version distributed with the docker images used for each server instance.

• Comparisons used each application server’s Docker image

• Liberty outperforms others on all metrics for EE7 performance (startup time, throughput and memory footprint are much better)

• In this case Liberty throughput is much better than WAS Traditional also

100% 116%455% 596%

1810%

0%

500%

1000%

1500%

2000%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Wildfly Full19.0.0.Final

Tom-ee 9.0.30.0 Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Memory Footprint - Acmeair Monolithic - Docker

100% 143%307%

142%

627%

0%

200%

400%

600%

800%

Open Liberty 20.0.0.3 Open Liberty 19.0.0.3 Wildfly Full19.0.0.Final

Tom-ee 9.0.30.0 Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Startup Time - Acmeair Monolithic - Docker

100% 98%71% 61% 65% 54%

0%

50%

100%

150%

Open Liberty20.0.0.3

Open Liberty19.0.0.3

WAS Traditional9.0.5.3

Wildfly Full19.0.0.Final

Tom-ee 9.0.30.0 Payara 5.201

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(h

ighe

r is b

ette

r)

Throughput - Acmeair Monolithic - Docker

26

MicroProfile Performance(Acmeair Microservices)

26

System Configuration:-------------------------------SUT: LinTel – SLES 12.3, Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz, 4 physical cores, 64GB RAM. JDK version distributed with the docker images used for each server instance.

• Comparisons used each application server’s MicroProfile Docker image

• Liberty provides the most balanced performance across all MicroProfile3.2 implementations (startup time, throughput and memory footprint are all best-in-class or close)

100% 96%

44%21% 21%

0%

50%

100%

150%

Open Liberty20.0.0.3

Wildfly Full19.0.0.Final

Tom-ee 9.0.20.0 Payara Micro 5.201 Helidon 1.4.0

Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(h

ighe

r is b

ette

r)Throughput - Acmeair MS - Docker

100%332% 412%

1025%

269%

0%200%400%600%800%

1000%1200%

Open Liberty20.0.0.3

Wildfly Full19.0.0.Final

Tom-ee 9.0.20.0 Payara Micro 5.201 Helidon 1.4.0Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Memory Footprint- Acmeair MS - Docker

100%

205%109%

456%

99%

0%100%200%300%400%500%

Open Liberty20.0.0.3

Wildfly Full19.0.0.Final

Tom-ee 9.0.20.0 Payara Micro 5.201 Helidon 1.4.0Perc

ent o

f Ope

n Li

bert

y 20

.0.0

.3(lo

wer

is b

ette

r)

Startup Time - Acmeair MS - Docker

27

• Open Liberty leads the way in performance of different applications• Tip : use the minimal Open Liberty feature set that your application requires

• Wins across metrics : throughput, startup time, memory footprint

• Wins across deployment scenarios : containers as well as bare metal

• Wins across programming models : Jakarta/Java EE8, EE7, MicroProfile

Summary: Open Liberty provides industry leading performance 27

2828

WAS on IBM systems

28

29

IBM z15 – Purpose Built for Mission Critical Java ApplicationsAverage +20% throughput improvement with IBM SDK for Java 8 SR6 on IBM z15

Transparent acceleration of Java’s Zip APIs with on-chip Integrated Accelerator for z Enterprise Data CompressionUp to 17x total compression throughput

capacity of a IBM z14Up to 15x faster in-memory compression

over zEDC Express Adapter on IBM z14Over 100x faster compression over

compared x86 server

Unparalleled performance of Java EE workloads on WebSphere / LibertyUp to 23% better throughput over z14Up to 2.6x better throughput over

compared x86 server

Exploitation of 30+ new z15 instructions to accelerate TimSort, String, Data Access (DAA) and cryptographic APIs

* Performance results shown were obtained in controlled environments. Results may vary. See approved claims for details and disclaimers.

• 5.2 GHz 12-core Processor Chip

• Up to 190configurable cores

• 920 MB L4 cache

Improved Pause-less Garbage Collection (GC) for response-time sensitive applications over default GC on z14• Up to 3x better throughput for

constrained Service Level Agreements• Up to 24x better average GC pause-

times

Automated JVM adaptation for changing system resource and capacity, optimized for System Recovery Boost (zOS) andapplication containers• Up to 30% better JVM startup and

application ramp up• Auto-scaling of Garbage Collection and

JIT compilation threads• Optimized memory footprint

management during idle states

29

30

History of WebSphere Traditional Performance on z/OS30

31

History of WebSphere Throughput Performance on Linux on Z31

3232

• IBM z15 using IBM Java 8 SR6 up to 15% better throughput over IBM z14 using IBM Java 8 SR5 with SSL enabled

• JVM exploited new hardware acceleration of GCM algorithm helped with the cipher used: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

System Configuration:-------------------------------SUT: IBM Liberty 18.0.0.4 with application DayTrader 3 installed using: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384• IBM SDK for Java 8.0.6.0 on IBM z15 vs IBM SDK for Java

8.0.5.31 on IBM z14

WebSphere Liberty SSL (Clear Key) on z14 vs z15 on z/OS

100%

115%

0%

20%

40%

60%

80%

100%

120%

z14 z15Pe

rcen

tage

of z

14(h

ighe

r is b

ette

r)

SSL Throughput - Daytrader3

33

WebSphere Liberty Compression on z14 vs z15 on z/OS33

100%

75%

0%

20%

40%

60%

80%

100%

120%

z14 z15

Perc

enta

ge o

f Lib

erty

on

z/14

(lo

wer

is b

ette

r)

Elapsed Time - Comparing Compression z14 vs z15

System Configuration:----------------------SUT: IBM Liberty 19.0.0.9• IBM SDK for Java 8.0.6.0 on IBM z15 vs IBM SDK for Java 8.0.5.31 on IBM z14• Z14 with 4 GCPs Z15 with 4 GCPS

• On-chip compression accelerator (NXU) on z15 performs better than zEDC on z14

• Exposed to Liberty via the Java Class Library code for compression that was changed to exploit the new hardware functionality

100%

127%

0%20%40%60%80%

100%120%140%

z14 z15

Perc

enta

ge o

f Lib

erty

on

z/14

(lo

wer

is b

ette

r)

Throughput - comparing compression z14 vs z15

34

• Hardware and software co-design unlocks unique value on IBM Systems

• OpenJ9 exploits latest hardware features that benefit Open Liberty

• Per-core leadership in enterprise Java benchmarks on Power

• Significant performance boosts for WAS and Java workloads on z15

Summary: Whole stack Java performance approach benefits users 34

3535

Recent Updates

36

Periodic Table of Liberty (20.0.0.6)batchSMFLogging-1.0 zosLocalAdapters-1.0 zosTransaction-1.0

zosRequestLogging-1.0 zosWlm-1.0 zosSecurity-1.0

collectiveController-1.0 dynamicRouting-1.0 healthManager-1.0 scalingController-1.0

clusterMember-1.0 healthAnalyzer-1.0 scalingMember-1.0

cloudant-1.0 sipServlet-1.0 batchManagement-1.0

javaee-7.0 wsAtomicTransaction-1.2 passwordUtilities-1.0

javaee-8.0 wsSecurity-1.1

jakartaee-8.0 wsSecuritySaml-1.0

bells-1.0 mpContextPropagation-1.0 adminCenter-1.0 constrainedDelegation-1.0 audit-1.0

concurrent-1.0 mpGraphQL-1.0 collectiveMember-1.0 federatedRepository-1.0 ldapRegistry-3.0

javaMail-1.6 mpReactiveMessaging-1.0 distributedMap-1.0 jwt-1.0 oauth-2.0

jaxb-2.2 mpReactiveStreams-1.0 eventLogging-1.0 jwtSso-1.0 openid-2.0

jdbc-4.3 opentracing-1.3 logstashCollector-1.0 sessionDatabase-1.0 openidConnectClient-1.0

jpaContainer-2.2 osgiConsole-1.0 monitor-1.0 webCache-1.0 openidConnectServer-1.0

jsfContainer-2.3 springBoot-2.0 openapi-3.1 samlWeb-2.0

json-1.0 webProfile-7.0 requestTiming-1.0 scim-1.0

jsonbContainer-1.0 webProfile-8.0 usageMetering-1.0 socialLogin-1.0

jsonpContainer-1.1 restConnector-2.0 spnego-1.0

microProfile-3.3 sessionCache-1.0 transportSecurity-1.0

zOS

ND

Core

Base

Open Liberty

APIs

Security

Operations

New in 4Q19

New in 1Q20

New in 2Q20

New in 3Q19

37

Focus areas

OrchestrationFoundationAPIs

Security

Developer Experience

38

Liberty Last Quarter ReviewFoundation

• Automatic http response compression

• Yum/apt-get install support

• featureUtility -provision Liberty features from maven repo

• Control application startup order

Orchestration• Grafana dashboard

for metrics• Log format

improvements• Persistent EJB

timer failover in OpenShift

Dev Exp• OpenAPI to MP REST

Client code gen• MicroShed Testing

support for Kafka• MicroShed Testing

simplified config• Guide for using

MicroProfile Reactive Messaging

• Guide for testing apps using reactive messaging

Security• Support for OpenShift

service account creds• Simplify config for RA

deployed JAAS LoginModules

• API to retrieve useridform LTPA Token

API• MicroProfile 3.3• Java SE 14• MicroProfile

GraphQL

39

MicroProfile Metrics 2.3

• New timer stat tracksduration and count

• Rest stats

@SimplyTimed(name=“sampleSimplyTimed”)

public void doSomething() {//some logic

}

# TYPE application_sampleSimplyTimed_total counter application_sampleSimplyTimed_total 12# TYPE application_sampleSimplyTimed_elapsedTime_seconds gauge application_sampleSimplyTimed_elapsedTime_seconds 12.3200000

# TYPE base_REST_request_total counter

base_REST_request_total{class="org.eclipse.microprofile.metrics.demo.RestDemo",method="postMethod_java.lang.String[]_java.lang.Object"} 1

# TYPE base_REST_request_total_seconds gauge

base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.demo.RestDemo",method="postMethod_java.lang.String[]_java.lang.Object"} 1

40

Rest Metrics

41

MicroProfile GraphQL

• Provides a query language for APIs

42

RESTful Response

Fahrenheit and Celsius.

Good stuff!

43

RESTful ResponseHumidity and wind speed…

umm…Okay…

44

RESTful ResponseWind gusts, UV

index, cloud cover?Maybe if I’m going to go kiting at the

beach…

45

RESTful Response

Pressure tendency,

apparent temp?

46

RESTful Response

Wet bulb temperature??

Are we done yet?

47

RESTful Response

No, really…Are we done yet?

48

RESTful ResponseDo we really need

to know the precipitation from the past 6, 9, and

12 hours?

49

RESTful Response

Oh dear…There’s still more…

50

RESTful Response

Help! I’m drowning in

weather data!!

51

RESTful Response

Is this the end?? Could it be?!

52

MP GraphQL@Querypublic Conditions currentConditions(@Name("location") String location)

throws UnknownLocationException {

return currentConditionsMap.computeIfAbsent(location, this::getWeatherConditionsFor(location));

}

{

currentConditions(location: "Paris") {dayTime �hasPrecipitationtemperatureFweatherText

precipitationType}

}

{

"data": {"currentConditions": {

"dayTime": true,"hasPrecipitation": true,"temperatureF": 8.796591509601903,

"weatherText": "Overcast","precipitationType": "SNOW"

} }

}

53

apt-get install• Install using apt-get

• Setup repository

• Setup trust

apt-get install openliberty

deb https://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/os-native-packages/deb/ /

sudo wget -O http://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/os-native-packages/public.key | sudo apt-key add -

54

yum install

• Install using yum

• Configure Repository /etc/yum.repos.d/openliberty.repo

[olrepo]

name=olrepobaseurl=http://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/os-native-packages/rpm/ enabled=1 gpgcheck=1

repo_gpgcheck=1 gpgkey=https://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/os-native-packages/public.key

yum install openliberty

55

Yum/Apt-get files

• Start using systemctl

• Installed to

• wlp.install.dir - /var/lib/openliberty/usr/servers/defaultServer• Logs - /var/log/openliberty/defaultServer

systemctl start [email protected]

56

Application startup order

APP2StartsAfter: APP1

APP3StartsAfter:<empty>

APP1StartsAfter: <empty>

APP4StartsAfter: APP2, APP3

<application id=“APP1” location=“APP1.war”/>

<webApplication id=“APP2” location=“APP2.war” startAfterRef=“APP1”/><enterpriseApplication id=“APP3” location=“APP3.ear”/>

<application id=“APP4” location=“APP4.ear” startAfterRef=“APP2, APP3”/>

57

Install features from Maven Repo

Maven Central / On-prem Maven

repositories

Maven local repository

Download featuresOpen Liberty Kernel Runtime

Open Liberty

Features

WebSphere Liberty

Features

install

• Install features from Maven Central

• Configure local maven mirrors

Liberty kernel

> featureUtility installFeature servlet-4.0> featureUtility installServerFeatures defaultServer

58

Persistent EJB Timer failover

07:3008:0008:3009:0009:3010:0010:3011:0011:3012:00

server 1 server 2 server 3

EJB timeout callback runs

EJB timeout callback runs

EJB timeout callback runs

EJB timeout callback runs

EJB timer detected to be missedserver crashes

timerService.createCalendarTimer(new ScheduleExpression()

.dayOfWeek(”Mon-Fri”).hour(“9-21”))

<persistentExecutor missedTaskThreshold="5m"/>

59

Console log formats

• New console formats

• simple – new• console – default• json

com.ibm.ws.logging.console.format=simple

Bootstrap.properties

Launching server1 (Open Liberty 19.0.0.12/wlp-1.0.35.201911191204) on Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_131-b11 (en_CA)[25/11/19 10:02:30:080 EST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager A CWWKE0001I: The server server1 has been launched.[25/11/19 10:02:31:008 EST] 00000016 com.ibm.ws.app.manager.internal.monitor.DropinMonitor A CWWKZ0058I: Monitoring dropinsfor applications.[25/11/19 10:02:31:552 EST] 0000001f com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0012I: The server installed the following features: [jsp-2.2, servlet-3.1].[25/11/19 10:02:31:553 EST] 0000001f com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0011I: The server1 server is ready to run a smarter planet. The server1 server started in 1.716 seconds.

simple format

60

Auto http compression

• Automatic response compression

• Default Types text/* and application/javascript

• Customize types and preferred zip algorithm<httpEndpoint id="defaultHttpEndpoint"

httpPort="9080" httpsPort="9443"> <compression types=“+application/pdf, -text/html”

serverPreferredAlgorithm=“gzip”/></httpEndpoint>

<httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443">

<compression />

</httpEndpoint>

6161

Labs, Questions

62

WebSphere Liberty Virtual POTDownload the operating system specific content zip file from either

https://ibm.box.com/WASLibertyVPoT (fast - about 10 minute download)

https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/pot/ (slower but firewall friendly – about 1 hour download)

charts & lab instructions only

charts only

63

WebSphere Liberty Virtual POTUnzip to C:\wlp_pot

o Note: You can unzip to anywhere you wish but the lab instructions assume the unzip location is C:\wlp_pot

Follow labs\gettingStarted\0_setup_20180105\setup.pdf

Then choose any labs you want to do

Liberty runtime and Java SDK

Eclipse IDE with Liberty tools

All labs in here

64

Open Liberty Guides• Hands-on learning in ~20 minutes

• 44 guides

• MicroProfile & Jakarta EE• Open Shift, Docker,

Kubernetes Istio• Latest Guides

• Deploying microservices to an OKD cluster using Minishift

• Deploying microservices to Google Cloud Platform

https://openliberty.io/guides

65

Resources• Open Liberty: https://www.openliberty.io/

• Eclipse MicroProfile: https://microprofile.io/

• Jakarta EE: https://jakarta.ee/

• Liberty advantage: https://www.ibm.com/downloads/cas/NVY3KY4E

• Open Liberty Guides: https://openliberty.io/guides

• Why Liberty is the best Java runtime for the Cloud https://developer.ibm.com/wasdev/docs/liberty-profile-best-java-runtime-cloud/

• WebSphere Application Server V8.5 Administration and Configuration Guide for Liberty Profile (Redbook)

http://www.redbooks.ibm.com/abstracts/sg248170.html?Open

• Liberty videos: https://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/covr_media.html

• Java support dates http://www.ibm.com/developerworks/java/jdk/lifecycle

• Single Stream Continuous Delivery https://www-01.ibm.com/support/docview.wss?uid=ibm10869798

• WebSphere Migration Knowledge Collection: Planning and Resources https://www-01.ibm.com/support/docview.wss?uid=swg27008724

• IBM Transformation Advisor http://ibm.biz/cloudta

• WebSphere Binary Migration Toolkit: http://ibm.biz/WAMT4AppBinaries

66

Next Quarterly Update

Liberty 20.0.0.4-6 Update

Session#1: June 24, 2020 from 1-3pm ET - http://ibm.biz/Liberty-Jun24

Session#2: July 8, 2020 from 9-11am ET - http://ibm.biz/Liberty-Jul08

Liberty 20.0.0.7-9 Update

Session#1: September 30, 2020 from 1-3pm ET - http://ibm.biz/Liberty-Sep30

Session#2: October 14, 2020 from 9-11am ET - http://ibm.biz/Liberty-Oct14

OPEN invitationJoin 230+ other members

Recordings/charts:

ibm.biz/WASCABCommunityResources

WebSphere & Cloud Pak for Apps Customer Advisory Board

All Customers and Business Partners welcomeahttp://ibm.biz/WebSphereAdvisoryBoardemail: [email protected]

67IBM Cloud / © 2018 IBM Corporation

Possible engagement levels – no commitment needed:1. Fly on the wall – NEW**

2. Stay ahead of the curve: more time commitment

3. Close the gap: quarterly involvement

4. At your own pace: impact longer term goals

NEW

Monthly sessions for Business Partners and in the IST timezone

What you get out of it:

ü Direct access to architects, developers, team leads during sessions

ü Insight into roadmaps, pre-announce insider tips (under Feedback agreement)

ü Directly influence deliverables ü Gain insights from other customers ü Bonus: special sessions at conferences ü Bonus: Free Cloud assessment

6868

Questions?http://stackoverflow.com/questions/tagged/[email protected]

6969

Thank YouYour Feedback is Important