Design question

rbb

Newcomer
Joined
Jul 19, 2004
Messages
21
I have been going back on forth on a design issue. I have a helpdesk solution used by our company that is simply a VB client & a SQL backend that runs on our LAN. I am attempting to rewrite it in 2005 (from 2003) to learn more about the new 2.0 framework and whatnot. My question is, what is a more efficient way for concurrent users to communicate when the add/edit/delete tickets?

Currently I have a timer control that fires off every X minutes to query the DB and look at the update date on the record. Anything new/updated/deleted gets returned in a disconnected recordset and I process this on the client making the appropiate changes to the ticket listing. It works well, but I wonder if it is slow due to the constant queries.

I have been thinking of a second choice with a server service that utilizes messaging. I don't have much experience in this, but I'm sure I could figure it out. But basically, when the client makes a change, it would send a message to the server service, which would then send out a broadcast to any other clients that may be logged in. This scenerio gets rid of unncessary SQL querries, and seems to be more efficient.

Does anyone have any quidance or suggestions? If the messaging is the way to go, does anyone know of a solid tutorial? Is there another option I am missing?

TIA,

Rob
 
The publish/subscribe scenario you describe would be a good choice and there are several third party tools/frameworks/middlewares you can use to help you do this but I'm not sure it would be worth it in the end. How many people actually use this help desk tool? If it's only a few on your LAN, I wouldn't worry about too many queries. How much time do you have to work on this? If it's just a few weeks you might not be able to finish it.

Also, have you considered an ajaxified web interface instead of a VB client? The Ajax technique came about from trying to create rich-web clients that do basically what you are describing. Heck, you might even be able to find a help desk application already written that does everything you need. Why waste your time building something when you can buy it now?
 
If you are using SQL then Notification Services is worth investigating.

As a rule you should avoid polling as a way of detecting changes as it can cause performance issues as the number of users increase. Another side effect is it can keep a PC from going into power saving mode as it keeps seeing activity etc.
 
Back
Top