This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new c8025d66910 (chores) documentation: initial cleanup of fundamentals c8025d66910 is described below commit c8025d6691008470b2c974c83e17075319fb2772 Author: Otavio R. Piske <angusyo...@gmail.com> AuthorDate: Fri Dec 9 15:53:25 2022 +0100 (chores) documentation: initial cleanup of fundamentals Signed-off-by: Otavio R. Piske <angusyo...@gmail.com> --- docs/main/modules/getting-started/pages/index.adoc | 62 ++++------------------ 1 file changed, 10 insertions(+), 52 deletions(-) diff --git a/docs/main/modules/getting-started/pages/index.adoc b/docs/main/modules/getting-started/pages/index.adoc index 2cb3a6ae30c..315e494c86f 100644 --- a/docs/main/modules/getting-started/pages/index.adoc +++ b/docs/main/modules/getting-started/pages/index.adoc @@ -13,12 +13,12 @@ A famous book about design patterns is the http://www.amazon.com/Enterprise-Inte Integration Patterns: Designing, Building, and Deploying Messaging Solutions_] written by Gregor Hohpe and Bobby Wolf. The E.I.P. book, as it is known, describes 65 design patterns for asynchronous messaging systems. The book gives each of them a name and an image - intended to be used in architectural diagrams. -[[BookGettingStarted-TheCamelproject]] +[[BookGettingStarted-TheCamelProject]] == The Apache Camel Core project The http://camel.apache.org[Apache Camel Core] is an open-source, Java-based project that helps users to implement many of the design patterns described in the E.I.P. book. As such, we suggest that our users have a copy of the E.I.P. book as one of their references. -[[BookGettingStarted-OnlinedocumentationforCamel]] +[[BookGettingStarted-OnlineDocumentationForCamel]] == Online documentation for Camel The links on the right-side allow easy navigation between different topics within a guide. Our documentation tries to cover the topics for both novice and experienced users. However, experienced users may want to skip the subjects they are familiar with. @@ -44,64 +44,22 @@ The Javadoc API that are the most relevant for Camel end users are in the follow * https://www.javadoc.io/doc/org.apache.camel/camel-api/current/index.html[camel-core] * https://www.javadoc.io/doc/org.apache.camel/camel-support/latest/index.html[camel-support] -[[BookGettingStarted-ConceptsandterminologyfundamentaltoCamel]] +[[BookGettingStarted-ConceptsAndTerminologyFundamentalToCamel]] == Concepts and terminology fundamental to Camel -In this section some of the concepts and terminology that are -fundamental to Camel are explained. This section is not meant as a -complete Camel tutorial, but as a first step in that direction. +In this section, we explain some of Camel’s fundamental concepts and features. We also introduce you to basic enterprise integration terminology. [[BookGettingStarted-endpoint]] [[BookGettingStarted-Endpoint]] === Endpoint +When we talk about inter-process communication, such as client/server or microservices, we often use the term _endpoint_ to refer to a software entity. In this context, a characterist of an endpoint is that it is contactable at an _address_. The address may itself convey additional characteristics of an endpoint. For instance, the address `host:port` conveys both the port and network name of a TCP-based communication endpoint. -The term _endpoint_ is often used when talking about inter-process -communication. For example, in client-server communication, the client -is one endpoint and the server is the other endpoint. Depending on the -context, an endpoint might refer to an _address_, such as a `host:port` -pair for TCP-based communication, or it might refer to a _software -entity_ that is contactable at that address. For example, if somebody -uses `www.example.com:80` as an example of an endpoint, they might be -referring to the actual port at that host name (that is, an address), or -they might be referring to the web server (that is, software contactable -at that address). Often, the distinction between the address and -software contactable at that address is not an important one. - -Some middleware technologies make it possible for several software -entities to be contactable at the same physical address. For example, -CORBA is an object-oriented, remote-procedure-call (RPC) middleware -standard. If a CORBA server process contains several objects then a -client can communicate with any of these objects at the same _physical_ -address (host:port), but a client communicates with a particular object -via that object's _logical_ address (called an _IOR_ in CORBA -terminology), which consists of the physical address (`host:port`) plus an -id that uniquely identifies the object within its server process. (An -IOR contains some additional information that is not relevant to this -present discussion.) When talking about CORBA, some people may use the -term "endpoint" to refer to a CORBA server's _physical address_, while -other people may use the term to refer to the _logical address_ of a -single CORBA object, and other people still might use the term to refer -to any of the following: - -* The physical address (`host:port`) of the CORBA server process -* The logical address (`host:port` plus `id`) of a CORBA object -* The CORBA server process (a relatively heavyweight software entity) -* A CORBA object (a lightweight software entity) - -Because of this, you can see that the term _endpoint_ is ambiguous in at -least two ways. First, it is ambiguous because it might refer to an -address or to a software entity contactable at that address. Second, it -is ambiguous in the _granularity_ of what it refers to: a heavyweight -versus lightweight software entity, or physical address versus logical -address. It is useful to understand that different people use the term -_endpoint_ in slightly different (and hence ambiguous) ways because -Camel's usage of this term might be different to whatever meaning you -had previously associated with the term. - -Camel provides out-of-the-box support for endpoints implemented with -many different communication technologies. Here are some examples of the -Camel-supported endpoint technologies. +The distinction between the address and the software contactable at that address is often not important. + +*Note*: in the past, other technologies (such as CORBA) used the terminology _endpoint_ in ways that could appear ambiguous. To prevent any confusion, we clarify that Camel uses it solely in the way we have described above. + +Camel provides out-of-the-box support for endpoints implemented with many different communication technologies. Here are some examples of the supported endpoint technologies: * A JMS queue. * A web service.