Skip to content

Commit

Permalink
faq.html - fix links
Browse files Browse the repository at this point in the history
  • Loading branch information
mwallnoefer authored Jun 12, 2024
1 parent a8278b0 commit 918d3be
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion www/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <h2 id="is-jolie-compatible-with-this-language-or-framework">Is Jolie compatible
<h2 id="why-a-new-language-and-not-just-a-new-libraryframework-e.g.-in-java">Why a new language and not just a new library/framework (e.g., in Java)?</h2>
<p>A language is necessary to impose constraints and use them to build powerful abstractions. In Jolie, the central abstraction is that all programs are microservices by construction. Microservices can then be composed and deployed with native language primitives.</p>
<p>An example of why this is useful is that programmers cannot break loose coupling: two Jolie microservices cannot <em>share</em> data, they can only <em>exchange</em> data by communicating. Data can be shared only among processes in the same microservice. This prevents having hidden shared data structures that can break thread-safety and reusability.</p>
<p>Another example comes from our <a href="http://docs.jolie-lang.org/#!documentation/basics/communication_ports.html#interfaces">interfaces</a>. It is designed to ensure that all Jolie messages can be handled by all the different protocols that we support -- e.g., HTTP (GWT, some REST-based things, XML, JSON, ...), SODEP (a binary protocol) -- and communication mediums -- e.g., local sockets, TCP/IP sockets, bluetooth, local memory. Then, our composition primitives (e.g., <a href="http://docs.jolie-lang.org/#!documentation/architectural_composition/aggregation.html">aggregation</a>) can be used to build complex systems without having to worry about the underlying communication details of the included microservices.</p>
<p>Another example comes from our <a href="https://docs.jolie-lang.org/v1.12.x/language-tools-and-standard-library/basics/interfaces/index.html">interfaces</a>. It is designed to ensure that all Jolie messages can be handled by all the different protocols that we support -- e.g., HTTP (REST with XML, JSON, ...), SOAP, SODEP (a binary protocol) -- and communication mediums -- e.g., local sockets, TCP/IP sockets, bluetooth, local memory. Then, our composition primitives (e.g., <a href="https://docs.jolie-lang.org/v1.12.x/language-tools-and-standard-library/architectural-composition/aggregation/index.html">aggregation</a>) can be used to build complex systems without having to worry about the underlying communication details of the included microservices.</p>
<p>We also paid attention at not re-inventing the wheel when not necessary. Since Jolie offers a Java API and can be run from inside of a Java program, you can also see Jolie as a Java library that you can use with the syntax of the Jolie language.</p>
<h2 id="what-is-the-relation-between-jolie-and-enterprise-service-bus">What is the relation between Jolie and Enterprise Service Bus?</h2>
<p>There are some shared ideas between Jolie and <a href="http://en.wikipedia.org/wiki/Enterprise_service_bus">ESB</a>, like integration is a central piece of the puzzle, but Jolie is not an ESB. Jolie is a programming language, so if you wanted you could <em>build</em> your own ESB using the primitives that Jolie provides. Jolie can also be used inside of existing ESBs.</p>
Expand Down

0 comments on commit 918d3be

Please sign in to comment.