Re: Architecture Question

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Nick Malik (nickmalik_at_hotmail.nospam.com)
Date: 09/11/04


Date: Sat, 11 Sep 2004 22:08:46 GMT

My brain is not so sharp... help me to understand what you want to do...

You want to have a central object. You want client apps to tell the central
object: "please inform me of these events". You want your central object to
generate events back to the clients by scanning a database using a web
service.

Is this true? If so:

I would suggest that you create an additional component. A singleton object
that you manage with Remoting. This is the dispatcher.

This object is the event broker. The windows service will simply scan the
database and when it finds an event it wants to share, it sends the event to
the dispatcher.

The client objects call the dispatcher and pass in a delegate that they want
called when an event occurs. Perhaps they also pass in enough info so the
dispatcher can decide what event to send to them.

The dispatcher simply waits for an event to arrive, then dispatches it to
all qualified listeners.

--- Nick

"Joshua Belden" <JoshuaBelden@discussions.microsoft.com> wrote in message
news:AB701FCB-7501-45FB-9434-20523FD7BCDC@microsoft.com...
> Small architecture question I'm hoping someone can answer?
>
> I want to create a Windows Service Component that will periodically poll a
> database for data changes, respond to several client application messages,
> and in turn notify clients of events that they can then respond to.
>
> I'm clear on creating the Windows Service, as well polling the database,
> however, not sure on the other two.
>
> Immediately I thought of Remoting; responding to events seems
> straightforward. It quickly became confusing though trying to wrap my head
> around having a singleton object running in the service that will also
talk
> to the rest of the windows service.
> I'm also concerned about performance on the Singleton call.
>
> My next thought was to use sockets and send and recieve messages that way
> but wasn't sure if there would be considerable overhead using sockets vs
> remoting. Not to mention the complexity of network programming.



Relevant Pages

  • RE: Can I serialize cached credentials for later authentication on
    ... The logon session only disappears when all tokens referencing it are closed, ... Note that the original request made no assumption with regards to the moment ... When the network is unavailable for client ... Service application on the same client machine so that this Windows Service ...
    (microsoft.public.platformsdk.security)
  • Re: I am at a lost.... WCF
    ... I can consume the WCF service that hosted in a remote Windows Service. ... Make sure we have changed the client configuration to align the server address. ... My first guess would be that there is a firewall in the way ... I did follow your conversation with the original poster and today I ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Looking For Code Sample and Request Feedback
    ... I would prefer to use a Windows Service but a web service will do to. ... What is very easy to do on a Server 2003 and with VBNet? ... > I am looking for a code sample that communicates from a client to a remote> Windows Service on another computer over the internet, that is the Windows> Service performing instructions the client sends. ... the client does the office automation and the actual> communication of the commands to this server. ...
    (microsoft.public.dotnet.languages.vb)
  • RE: NetworkService - Could not establish secure channel for SSL/TL
    ... I understand you have a .net based windows service ... Based on my understanding on this, the problem is still likely a permission ... issue specific to the client machine's authentication certificate. ...
    (microsoft.public.dotnet.framework)
  • Guarantee reload of assembly when change is made on network share
    ... A single windows service is to be installed on the ... enterprise client workstations. ... replace a *.dll on the file network share that the client service uses ...
    (microsoft.public.dotnet.distributed_apps)