dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Execution of web services by the VRS


From: Charles Shuller
Subject: Re: [DotGNU]Execution of web services by the VRS
Date: Sat, 12 Oct 2002 15:52:09 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020923

I'm still a newbie, but what about a "plugin" type of approach. Where you define specific interface functions to start and stop the web-service, ws_start, ws_stop, ws_unload (ws = web service). Forking a new process to actually load, unload, and otherwise manage the plugin might be a good idea, so you can easily kill it if something goes wrong, as opposed to loading the plugin directly into the VRS process. Is it difficult to determine if a .dll/.so is IL or not? If not, determine the executable type on load(maby before forking the process to load it) and place it in the proper environment. I know at one point I determined that it would be fairly straight forward to author portable (u*ix and win32, don't remember if I checked for VMS or not, and OS/390 has OE (which I understand is actually a Linux Distro now) code to do this, and I suspect this is still the case.

--Charles

Eric Altendorf wrote:
I need some help here, folks.

So, I'm working on the VRS service manager (the module that orchestrates the actual fulfillment of external web service requests). I'm at a point where I need to figure out just how the service manager actually invokes a web service. This of course ties into the whole execution environment question.

The service manager is a C# program. Web services (aka executable data objects / EDO's) should be able to be written in "any language". These services should be able to be loaded, unloaded, and reloaded in memory by the service manager. I see two possibilities:

* A service written in C# or another IL-compatible language should be able to be loaded via reflection into the same process. Nice for efficiency.

* A service written in a native binary format would have to execute in a separate process. Hopefully this separate process would be written to load and not exit until asked to unload or reload...and somehow the results would need to be efficiently communicated back to the VRS process. I'm not sure how this would work.

Any ideas? I'm willing to postpone the second and concentrate on the first, which should be as easy as defining a "VRSService" or "VRSEDO" or "VRSWebService" or some such interface, with methods like "serve()", which web services would have to implement.

Please share any thoughts...

eric

PS: Cross-posting to DotGNU dev maillist for greater visibility...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]