RemoteSkin for the Web is an extension of nyssr.net that enables the creation of truly distributed web applications.
These applications differ from today's "distributed" applications, which merely provide multiple separate
microservices alongside a main application.
RemoteSkin applications are generally not executed directly on the web server. Instead, they are nyssr.net services
running on any connected node. These applications can call additional dialog services for specific UI parts, which
in turn can be executed on any node.
Web Applications
RemoteSkin applications are nyssr.net applications, meaning services that can be started and stopped. They are
started by sending a message to an application collector, which then requests a registered application factory to
create an instance of the application. This factory can be loaded on any node. If multiple nodes load this factory,
the application collector selects a factory (load balancing).
Web Dialogs
Dialogs are standard nyssr.net microservices that, like applications, can be loaded on one or multiple nodes. They
communicate directly with the browser, manipulate the DOM, and directly receive events from the browser. A dialog is
usually started by a message from the application or another dialog. When the dialog ends, the owner receives a
corresponding message. Dialogs and owners can exchange any number of messages. A dialog is not always a modal
dialog. As the example application shows, widget groups can also be outsourced to a service.
Features
- Load balancing occurs at the dialog level.
- Dialogs can be reused in other applications.
- Dialogs can be redundantly started for failover.
- All instances (applications and dialogs) are automatically terminated if the WebSocket connection dies.
- Due to the low protocol overhead, applications and dialogs can also be hosted outside of the cloud.
- The protocol can be easily extended by anyone.
- External providers can easily create and offer dialogs and widgets.