Reputation: 3
I was unsure how to word this in order to search for it.
What I have is an Automated Control Center for the company I work for that runs on a Windows Server 2012 VM. This app that I created (that I incorporated several of the previous programmer's apps into it) connects to several SQL tables and updates information from data that is provided via sever other in-house vb apps as well as our main ERM application that handles orders, inventory, BOMs, etc for each item our company sells.
I created my own windows notification pop-up (completely from scratch because for some reason in Windows 10 since last update the normal call to notification pop-up is not creating a pop-up... plus my pop-up [which looks identical in form and function to the standard windows 8 - 10 pop-up] also has a pin it function to hold the notification on screen indefinitely)
The reason for this is because on my notification pop-up, I have indicator checkboxes that switch light graphics that go green, yellow, orange, red indicating the status of the different modules that need to be running and connecting and processing the facets of the business that keep us in business.
Currently I have to be remote logged into the Windows Server VM to monitor this "monitor" (I made the pop-up a pin in place so I could minimize the main form and just glance at this to make sure it is running)
The reason I have to monitor it is because the previous programmer (the guy I took over for) did not put proper data validation on the other clients and user's can sometime slip garbage data through to the processor which then craps out and then I need to troubleshoot it and get whatever module running again.
So, now to my actual question...
I want to make another app that connects to this one in some way (either directly through sharing of a xml/text file or tcp/ip) that would look identical to my notification form that would sit on my pc and allow me to monitor this program so I do not have to remote into the VM.
I'm not specifically asking for anyone to write me this code, but I have had thoughts on what direction I might want to proceed, but was looking for more expert opinions on how to proceed (saving me some trial and error and thus reducing wasted time and headaches) if anyone has attempted such a thing and can guide me.
So, this main app uses the settings.settings file to store variable data as well as several local and off-site SQL database tables to store business related data.
I was thinking of generating a file that had pertinent info about the status of each module and then having a client read from it (this would also allow me to store that file on our webserver and access it off-site without punching a hole in our firewall to allow it to connect to the main program)
So this is more like me asking if anyone has any better thoughts on this.
Upvotes: 0
Views: 68
Reputation: 3
Thinking about it, I think I came up with a solution (unless someone has a better way [within the same level of complexity or less])
I will add to each update of the controls on the form (which already updates a variable for each object on the notification form (this was because the main modules run on a background thread)
The notification pop-up gets refreshed on the cycle timer that runs for the main program that runs in the same thread as the main form GUI. As this timer runs it causes the notification form to check the status of each of the variables that are updated from the background thread as far as what stage it is in and what is running/not running, etc.
So I will just expand on that and update a text file with this information that the client program will read and display.
OR I might just have it create another small table in the already existing SQL database that the client can read from. Probably better that way, though our running joke is based on the fact that the previous guy loved to use tables for storing EVERYTHING that included variables for the program itself.
I really don't want to rely on creating a VPN to tunnel into the environment here, nor creating an exception in our firewall to allow this program access via tcp/ip or udp protocols on hindsight.
Upvotes: 0
Reputation: 641
I have a couple thoughts:
So the next part depends on if the information is still valid if its "old". I do this kind of thing in two ways
(if you don't care about information that you missed or is old, which doesn't really sound like you)
(the "better way")
Upvotes: 1