Distributed applications, windows, dialogs
With nyssr.net parts of the application can be freely distributed over the network. A single node can host very many microservices. You don't need a separate application for each independent microservice, as with Spring Boot, for example. There is also no need for a web server for each service, or a container, or additionally a load balancer, if several instances of a service are to be used.
Therefore, nyssr.net microservices can be smaller than with REST. And we can use that to outsource small parts of the UI in standalone microservices.
Independent UI services
By independent, we mean that UI Microservices
- do not work on the server that the client is connected to
- are not directly connected to the client
- do not communicate with the client via the application
- do not use a web server
- can work on nodes that are far away from the client
- also do not have to be located in the cloud
This only works,
- when the communication protocols can address the client directly
- or an object can be addressed, which can forward the communication directly to the client
RemoteSkin for Swing uses the first approach, since the client node can be addressed directly. RemoteSkin for Web uses the second approach, a renderer written in Google Darts in the web browser, with a counterpart target in the WebServer.
In both cases, you can write UI services that are distributed and independent on the network and can be used by multiple applications. And still work in one session.
Is that efficient?
Of course. We do not have a new connection setup. We use an extremely fast protocol. And a dialog microservice is about 10-30 kilobytes (not megabytes) in size. Compare that to your Spring Boot microservice.