Changes to frontend interactions
Currently, the JavaFX frontend interacts with the rest of the application by making request-response style in-process method calls (that is, CommandGateway
for commands and QueryGateway
for queries), as shown here:
One very simple way to replace these in-process calls is to introduce some form of Remote Procedure Call (RPC). Now our application looks similar to the following:
Figure 10.2 – Introducing remote interaction with the frontend
When working with in-process interactions, we are simply invoking methods on objects within the confines of the same process. However, when we switch to using out-of-process calls, there are quite a few considerations. These days when working with remote APIs, we have several popular choices in the form of JSON-based web services, GraphQL, gRPC, and more. While it is possible to make use of a completely custom format to facilitate the communication, DDD advocates...