Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

.Net Beginner needs help with asynch Remoting

Hi.  New to .Net, I've been professionally programming for about 10 years.  My question is fairly broad.  Can a web service call a method/function/sub on a .Net Windows Service?  My scenario is this:  10 users will be calling a web service on Computer/Server "A", passing in a xml search string.  I'd like the web service to be able to communicate with a long-running, stateful, multi-threaded object nicknamed "SWAMI" on this Computer/Server "A" (Windows Service???).  "SWAMI" will be in charge of these various requests coming in from the web service.  With each new thread/request, "SWAMI" will call a search function on 1 to N "Manager" objects (.Net Class Library, Singleton) which "SWAMI", during it's onstart event,  has remotely created on 1 to N servers.  These remote "Manager" objects will in turn pass the search criteria via asynchronous calls to 1 to N "Peon" objects (.Net Class Library, Singleton) that the "Manager" object has created on it's OnStart event.  This is needed in order to parallel-ize a proprietary I/O intensive search function, which needs to meet certain speed requirements. 

So, in conclusion, I have "SWAMI" on server A, Calling Swami-Remotely created "Manager" objects (1 - N) on Server B, which in turn asynchronously calls Manager-created objects Peon (1 - N) on the same Server B.  The idea being that by adding Boxes/Processors (Managers and Peons) scalability is virtually unlimited. 

Have I gone over the deep edge?  Or, better yet, how far over the deep edge have I gone?

Thanks for taking a minute to read my diatribe.

Basic-Atari Guy working in a .Net World
Tuesday, February 18, 2003

Why are the Peons Singleton?

Also, have you looked into System.EnterpriseServices? I'm thinking specifically of the Pooling capabilty here, which could come in handy if the Peons were expensive to create/initialise, but were reusable.

Duncan Smart
Wednesday, February 19, 2003

The Peons are singleton because the "Manager" creates them once, during it's initialization.  The peons are basically objects containing N number of records that I search in paralell in order to speed up my overall search time. I don't want to create new Peons on every call to the Manager due to the overhead of loading the peons with their records.  I'll take a look at the enterprise stuff, thanks very much.

Basic-Atari Guy working in a .Net World
Wednesday, February 19, 2003

*  Recent Topics

*  Fog Creek Home