Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft of the integration doc for 3.x #6864

Merged

Conversation

Geetha-Savithriamma
Copy link

@Geetha-Savithriamma Geetha-Savithriamma commented May 19, 2023

This is the first draft. The following integrations are included:

  • REST
  • JMS
  • Web Services
  • SSO
    Please review.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label May 19, 2023
Copy link
Contributor

@ljamen ljamen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ready for dev review. I will do another review after all comments have been addressed (prior to release)

docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
@Geetha-Savithriamma Geetha-Savithriamma marked this pull request as ready for review May 23, 2023 17:24
@ljamen ljamen added the docs label May 24, 2023
@ljamen ljamen requested review from rstafford and ljamen May 25, 2023 12:58
@edbratt
Copy link
Member

edbratt commented May 30, 2023

Do we document helidon.serialFilter.pattern must be set, and how it should be set?

@ljamen
Copy link
Contributor

ljamen commented May 30, 2023

@edbratt
Copy link
Member

edbratt commented May 30, 2023

Yes. I believe there are certain signatures that are required for at least some of the scenarios.


== Overview

The Oracle WebLogic Server and Helidon integration enables interaction between a Helidon microservice application and an application installed on Oracle WebLogic Server, which is deployed in a Kubernetes cluster managed by the WebLogic Kubernetes Operator (WKO).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This statement is too restrictive. Kubernetes/Kubernetes Operator, etc. are not always required. I believe the language in the WLS docs says: "This document provides information about the Oracle WebLogic Server and Helidon integration when both products are deployed in a Kubernetes environment. However, you can implement this integration on any supported platform." (I added the bold text which may be sufficient)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will update this statement.

@ljamen ljamen requested a review from sanjaymantoor June 2, 2023 13:07
@ljamen
Copy link
Contributor

ljamen commented Jun 2, 2023

Yes. I believe there are certain signatures that are required for at least some of the scenarios.

Hi @edbratt which signatures are required? We will need to document those.

@ljamen ljamen requested review from gnsuryan, naradta and thirarum June 2, 2023 19:09

=== Usage [[REST-Services-Usage]]

After you add the dependencies, you can build the Helidon client and invoke the Oracle WebLogic Web Service by compiling the Helidon client using Maven.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No he can't there is no actual code in this example

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's why I've suggested to stick with a project generated by CLI or Project Starter.

docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
{wls-thin-link} can be obtained from multiple sources.
Legacy versions of thin client can be found in server/lib directory(`WL_HOME/server/lib/wlthint3client.jar`) of any WebLogic Server installation.

WARNING: Helidon supports {jakarta-version} and legacy versions of `javax` based thin T3 client wouldn't work correctly when on it's classpath.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please review English of this warning. I believe something like the following will be more clear:
Warning: Helidon supports {jakarta-version}. Previous versions of Java EE which use object with 'javax' class signatures will not work directly. Placing a 'javax' version of the T3 Thin client onto the Helidon-service class path will not work. For proper integration, the 'javax' version of T3 Thin client must be used, only with specialized xref:../../mp/reactivemessaging/weblogic.adoc[WebLogic JMS Connector].

<4> JMS environment properties to lookup resources
<5> Destination with `jndi.` prefix is evaluated as JNDI name, simple `destination` is evaluated as a CDI syntax

For more detailed reading about Reactive Messaging configuration see xref:../../mp/reactivemessaging/introduction.adoc#_configuration[Reactive Messaging Configuration].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consider adding a x-ref to the WLS documentation that describes how to obtain the WL-JMS specific values.

Copy link
Contributor

@ljamen ljamen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Geetha-Savithriamma I did a very quick review of the text. Please incorporate into the docs.

<5> Configure this serialization config as the default for this JVM

== JEP-290 Pattern syntax
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Syntax (cap init) also make this change in the TOC above

@@ -100,4 +102,60 @@ SerializationConfig.builder()
<2> Configure a single class filter pattern (only allows deserialization of class `MyType`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

of class `MyType)

<5> Configure this serialization config as the default for this JVM
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

serialization pattern (can we use the word pattern instead of repeating config?)


== Troubleshooting
Helidon serialization config filter doesn't trace actual rejected classes by default.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Helidon ...

== Troubleshooting
Helidon serialization config filter doesn't trace actual rejected classes by default.
All you are going to find in the logs is InvalidClassException with message `filter status: REJECTED`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The log files will only show InvalidClassException with message filter status: REJECTED.


Connecting to WebLogic JMS connection factories requires proprietary T3 thin client library which can be obtained from
WebLogic installation.
Helidon supports {jakarta-version} and legacy versions of `javax` based thin T3 client wouldn't work correctly when on it's classpath.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helidon supports {jakarta-verion}, Legacy versions of javax-based thin T3 clients will not work when added to the classpath. Legacy thin T3 clients must be loaded from a filesystem location specified by the thin-jar property.


WARNING: Avoid placing `wlthint3client.jar` on Helidon classpath, client library location needs to be
WARNING: Avoid placing legacy `wlthint3client.jar` on Helidon classpath, client library location needs to be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not include legacy wlthint3client.jar on the Helidon classpath. The client library needs to be configured and loaded by the Helidon messaging connector.

configured and loaded by Helidon messaging connector.

WARNING: Don't forget to start your Helidon app with `--add-opens=java.base/java.io=ALL-UNNAMED` to allow
WARNING: Don't forget to start your Helidon app with `--add-opens=java.base/java.io=ALL-UNNAMED` to allow legacy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When using legacy WebLogic T3 thin clients, make sure to start the Helidon application with [...] to allow reflection with the wlthint3client.

wlthint3client use reflection.

Updated version of thin T3 client compatible with modern Jakarta runtimes can be downloaded from {osdc-link} as `wlthint3client.jakarta`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated versions of the thin T3 client, that are compatible with modern Jakarata runtimes, can be downloaded from ....

wlthint3client use reflection.

Updated version of thin T3 client compatible with modern Jakarta runtimes can be downloaded from {osdc-link} as `wlthint3client.jakarta`.
Jakarta based thin client can be placed on Helidon classpath and used with this specialized connector or
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jakarta-based thin clients, however, can be placed on the Helidon classpath and used with this specialized connector or the [...].

Copy link
Contributor

@ljamen ljamen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 30 - change URL for prod. It is set to UAT.

@danielkec danielkec force-pushed the 5911_wls_helidon_integration branch from a608885 to 4de5ffb Compare June 30, 2023 11:46
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
docs/mp/integrations/wls.adoc Outdated Show resolved Hide resolved
@ljamen ljamen merged commit 68a7062 into helidon-io:helidon-3.x Jun 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants