OpenLiberty / open-liberty

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment
https://openliberty.io
Eclipse Public License 2.0
1.16k stars 599 forks source link

JAX-WS: Support the Caching of SSLSockets to improve performance. #20986

Open neuwerk opened 2 years ago

neuwerk commented 2 years ago

Description

Our JAX-WS integration currently doesn't maintain SSLSockets across calls, in order to improve performance and reduce the impact of SSLSocket creation in high traffic environments, we should cache SSLSockets for reuse. Once created and stored in cache, the cache could then be checked for updates to the SSL Config, if the config has not changed, the socket in cache should be reused.

The JAX-RS and JAX-WS features have nearly identical Security services, and JAX-RS has since implemented the caching of SSLSockets. JAX-WS's support should be very very similar to implement. See #15534 for details on how the JAX-RS features were updated to support caching.


Documents

When available, add links to required feature documents. Use "N/A" to mark particular documents which are not required by the feature.

General Instructions

The process steps occur roughly in the order as presented. Process steps occasionally overlap.

Each process step has a number of tasks which must be completed or must be marked as not applicable ("N/A").

Unless otherwise indicated, the tasks are the responsibility of the Feature Owner or a Delegate of the Feature Owner.

If you need assistance, reach out to the OpenLiberty/release-architect.

Important: Labels are used to trigger particular steps and must be added as indicated.


Prioritization (Complete Before Development Starts)

The (OpenLiberty/chief-architect) and area leads are responsible for prioritizing the features and determining which features are being actively worked on.

Prioritization

Design preliminaries determine whether a formal design, which will be provided by an Upcoming Feature Overview (UFO) document, must be created and reviewed. A formal design is required if the feature requires any of the following: UI, Serviceability, SVT, Performance testing, or non-trivial documentation/ID.

Design Preliminaries

Design

No Design

FAT Documentation

A feature must be prioritized and socialized (or No Design Approved) before any implementation work may begin and is the minimum before any beta code may be delivered. All new Liberty content must be inaccessible in our GA releases until it is Feature Complete by either marking it kind=noship or beta fencing it.
Code may not GA until this feature has obtained the "Design Approved" or "No Design Approved" label, along with all other tasks outlines in GA section.

Feature Development Begins

Legal and Translation

In order to avoid last minute blockers and significant disruptions to the feature, the legal items need to be done as early in the feature process as possible, either in design or as early into the development as possible. Similarly, translation is to be done concurrently with development. Both MUST be completed before Beta or GA is requested.

Legal (Complete before Feature Complete Date)

Translation (Complete 1 week before Feature Complete Date)

In order to facilitate early feedback from users, all new features and functionality should first be released as part of a beta release.

Beta Code

Beta Blog (Complete 1.5 weeks before beta eGA)

A feature is ready to GA after it is Feature Complete and has obtained all necessary Focal Point Approvals.

Feature Complete

Focal Point Approvals (Complete by Feature Complete Date)

These occur only after GA of this feature is requested (by adding a target:ga label). GA of this feature may not occur until all approvals are obtained.

All Features

Design Approved Features

Remove Beta Fencing (Complete by Feature Complete Date)

GA Blog (Complete by Feature Complete Date)

Post GA

neuwerk commented 1 year ago

Feature is on hold due to other priories, but should pick up by the beginning of the year.

cbridgha commented 1 year ago

Closing at this time - Outlook for resources and priority is too low to justify keeping open

nburazor commented 1 year ago

We experience a high CPU consumption after migrating the customer application from WebSphere Traditional to WebSphere Liberty.

CPU comparison (Month/Month) before and after Migration: Z CPU Std.
========== 2022.08 IAP 388 (CPU h) -> WebShere Traditional 2023.08 IAP 1.689 (CPU h) -> WebSphere Liberty

The application is mainly acting as WebService proxy using a JAX-WS as WebService client. The client communication is using SSL and client certificate authorization.