Backend app on base of clients events
Hi,
add-in backend application conception (considered for web client and HTML Web Client):- in zenon Supervisor we have one workspace, main global project, main project and its subprojects (a lot).
- it works as one app. Something like apps with static void main(){}, or I would say like backend app. It deploys only once, and only once it imported to the main project in zenon.
- this app monitorise all connected web clients, from each of running projects. And on the basis of client action (events), app react on it. Runs or stops services/wizards, or change some UI for client.
- app is like entry point for all clients.
- app have something like events classification.
- all clients exhibits his events, and that events may be similar. And reaction on that events may be similar too.
- app detects, that clientNr1 have eventNr1, so app knows, that it must run for clientNr1, methodNr1 (service or wizard or whatever) and that method handles eventsTypeNr1.
- methodNr1 works like multifuction, and many clients may run it in parallel.
- visual it something like "returntType methodNr1(numberOfClientPC, typeOfEvent, additionalParrameters...)"
- that method may be overloaded.
- method may return value, and in base of it, app knows if it need to run others methods. It depends from event.
- app works normally in main thread.
- each client or methods have it owns thread. If that point is reasonable.
- clients may run that developed methods in parallel. And no collisions effected.
- with help of zenon-API, server monitorise the events, and app reacts on that.
- if client disconnects, or runtime is closing, app need to correctly end all threads (tasks). It depends on event type.
- each client accumulate their own logs. In case of error it is logged.
- some unit, deploy and production tests are in deal. (Have seen one project on github)
- app and methods using entity Framework, if it will be possible.
- app using JavaScript if it will be possible to enhance ergonomic for operator. Or for adding elements, affects, what we can't do with standard functionality in zenon Supervisor.
- app may use google fonts.
- in developing app we may use CI/CD, if it possible.
- app and projects using git for VC.
- operator interacts vs client like with standard web page (it must be familiar for user from the box).
Does web client acts like normal browser (interpreter)? May I use JavaScript inside of it?
Is each of above points can take place in zenon? Are that conception of app may be realisable in zenon?
This is a migrated post! Originally posted on 21.10.2021 by user Oleksandr. Please be aware that information can be outdated.
Disclaimer
This document governs the use of our Community Forum. By registering and using the platform, you accept these conditions.
The COPA-DATA Community Forum serves to encourage the exchange of information and experience about the zenon software between forum users respectively zenon users.
Please mind that any published information on the Community Forum is the subjective opinion and view based on the experience and the level of knowledge of the author. COPA-DATA does not overtake any responsibility for the content and the accuracy of the shared information.
Users of the Community Forum are encouraged to share only well-founded experiences and to point out any risks associated with the implementation of proposed solutions to problems. COPA-DATA at its absolute discretion, reserves the right to moderate the forum. In this connection COPA-DATA may remove any information containing false facts, potentially dangerous solutions, bad language or content that may insult, degrade or discriminate others. COPA-DATA may block a non-complying user from forum access if the user violated this provision.
COPA-DATA reserves the right to change this document from time to time at own discretion.
Ing. Punzenberger COPA-DATA GmbH
Karolingerstraße 7b · 5020 Salzburg · Austria
www.copadata.com