J
Jeff Johnson
[VS2005, i.e., Framework 2.0]
I'm setting up a small distributed application. Clients will have a UI and
submit jobs to a server. Beyond simply needing to know when the job
completes, there may be stopping points where the operator needs to take
manual action. Simply put, I'm making a small-scale workflow system.
I'm not a fan of polling. I don't want the client app constantly pinging a
database or Web service to query the status of jobs. I'd rather there be a
callback mechanism and the client only be notified when an "interrupt"
occurs. To this end I was wondering about remoting, although it may be
overkill for what I'm doing. I was thinking that the client app would expose
a remote object and then include its URI along with all the information
needed to run the job. Then, when the server needed to tell the client
something, it would dynamically create a channel based on the URI and call
the object. If the client isn't up (the operator submits a job at 5:20 and
goes home at 5:30; the job needs a response at 5:45) the server will write
an entry to a DB or message queue which the client app will check the next
time it's started.
Are there better methods for this kind of scenario? Any pointers would be
appreciated.
I'm setting up a small distributed application. Clients will have a UI and
submit jobs to a server. Beyond simply needing to know when the job
completes, there may be stopping points where the operator needs to take
manual action. Simply put, I'm making a small-scale workflow system.
I'm not a fan of polling. I don't want the client app constantly pinging a
database or Web service to query the status of jobs. I'd rather there be a
callback mechanism and the client only be notified when an "interrupt"
occurs. To this end I was wondering about remoting, although it may be
overkill for what I'm doing. I was thinking that the client app would expose
a remote object and then include its URI along with all the information
needed to run the job. Then, when the server needed to tell the client
something, it would dynamically create a channel based on the URI and call
the object. If the client isn't up (the operator submits a job at 5:20 and
goes home at 5:30; the job needs a response at 5:45) the server will write
an entry to a DB or message queue which the client app will check the next
time it's started.
Are there better methods for this kind of scenario? Any pointers would be
appreciated.