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

Client doc 294 #1464

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

Client doc 294 #1464

wants to merge 11 commits into from

Conversation

amandalindsay
Copy link
Contributor

@amandalindsay amandalindsay commented Jan 9, 2025

See Docs ticket for details and SOW: https://hazelcast.atlassian.net/browse/DOC-294

In summary, this docs work involves:

  • moving some information from the Getting Started with Clients topic into a new Clients & API Overview topic
  • drafting a new Clients & API Overview topic that compares using clients versus APIs
  • tweaking the nav structure to create new Client and API sub-headings (note the question I have about moving memcache under APIs rather than clients)
  • updating the Java client topic with more information about embedded versus standalone Java client

This PR is now ready for review now that a decision has been made on how to refer to Clients & APIs (see docs ticket).

Note that the client features graphic on the main HZC website may change but, in the meantime, we will continue to link to it until a decision is made about what to do with it.

Copy link

netlify bot commented Jan 9, 2025

Deploy Preview for hardcore-allen-f5257d ready!

Name Link
🔨 Latest commit 3a5bb63
🔍 Latest deploy log https://app.netlify.com/sites/hardcore-allen-f5257d/deploys/679116f1bb7f9d00087d91ab
😎 Deploy Preview https://deploy-preview-1464--hardcore-allen-f5257d.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@fawazghali fawazghali requested review from yuce and emreyigit January 9, 2025 13:16
Copy link
Contributor

@yuce yuce left a comment

Choose a reason for hiding this comment

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

Here are a few ideas...

docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/java.adoc Show resolved Hide resolved
docs/modules/clients/pages/java.adoc Outdated Show resolved Hide resolved
Copy link
Contributor

@emreyigit emreyigit left a comment

Choose a reason for hiding this comment

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

I've went over on other comments and requested changes. Agreed @yuce and @ihsandemir. I think there is a misunderstanding about some concepts. I'm confused here what we are aiming. Instead of putting induvial comments, I prefer to clarify the cores first. I think having a meeting would be good idea to discuss the goal and cores.

@amandalindsay amandalindsay marked this pull request as ready for review January 20, 2025 13:49
@amandalindsay amandalindsay requested a review from a team as a code owner January 20, 2025 13:49
Copy link
Contributor

@oliverhowell oliverhowell left a comment

Choose a reason for hiding this comment

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

Some minor suggestions and quite a few questions where we might need @yuce perspective

docs/modules/ROOT/nav.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/hazelcast-clients.adoc Outdated Show resolved Hide resolved
docs/modules/clients/pages/memcache.adoc Outdated Show resolved Hide resolved
= Overview
:description: Overview of the main Hazelcast clients and APIs

Hazelcast clients and programming language APIs allow you to extend the benefits of operational in-memory computing to applications in these languages. These clients and APIs are open source and supported by Hazelcast.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Hazelcast clients and programming language APIs allow you to extend the benefits of operational in-memory computing to applications in these languages. These clients and APIs are open source and supported by Hazelcast.
Hazelcast clients and APIs enable you to extend the benefits of operational in-memory computing to applications in several programming languages. The Hazelcast clients documented here are open source and supported by Hazelcast.

Are the APIs still open source? Think this might have been true when hazelcast itself was o/s but not sure it is now...

Do we will have any community clients that are not officially supported? See Redis page for example of how they treat this: https://redis.io/docs/latest/develop/clients/

NOTE: Not all features are available in every client. For an overview of what each client offers,
see the link:https://hazelcast.com/developers/clients/?utm_source=docs-website[clients page].

== Client versus API
Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder about this section title - I wasn't at the original meetings so maybe missing some context but, Java aside, it seems to come down to what language you're using i.e. if there is a client library for your language then you would use this. e.g. is there actually an option to not use the Go client and directly use an API instead? I think this needs clarification and will affect the following content in this section.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Perhaps "Use a Client or API?"

docs/modules/clients/pages/client-overview.adoc Outdated Show resolved Hide resolved

If you are interested in using a standalone or lightweight Java client, you can try the {java-client-new}. This client is currently available as Beta functionality but can interact with a Hazelcast cluster without being a full member. Please note that the {java-client-new} doesn't have full feature parity with the {java-client} yet and is not recommended for production environments. For more info, see xref:java#java-client-standalone-beta[].
Hazelcast provides a {java-client} which you can use to connect to a Hazelcast cluster. `hazelcast-<VERSION>.jar` is bundled in the Hazelcast standard package, so you simply add this file to your classpath to begin using the client as if you are using the Hazelcast API.
Copy link
Contributor

Choose a reason for hiding this comment

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

Think these changes are going to collide with the other in flight Java PR - the Java 17 version being available as Beta and the Java 8 version accelerating past as GA, which complicates things. Might be worth reverting the changes on these pages and I'll fold any suggestions in to my PR e.g. line 20.

NOTE: *Clients* refer to the Hazelcast _libraries_ used to connect to a Hazelcast cluster and exchange data. Clients use a binary protocol for communication with the cluster and encode the data in various formats such as Compact, JSON, etc. Clients are available in various programming languages, and are typically embedded as libraries in customer applications.
*APIs*, by comparison, are the _interfaces_ with the Hazelcast platform. These do not require the use of specific libraries to connect and are generally text based — for example, the REST interface.

=== Clients (for client/server mode)
Copy link
Contributor

Choose a reason for hiding this comment

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

If embedded mode is only available for Java, are we over complicating things by detailing these differences here (rather than on that page) and giving the illusion of choice where there isn't one?


=== APIs (for embedded mode)

If you do not want to use a client to configure the cluster, you can use APIs to configure Hazelcast in embedded mode, where Hazelcast members run in the same Java process as your application.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this true?

docs/modules/clients/pages/hazelcast-clients.adoc Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants