[Message Prev][Message
Next][Thread Prev][Thread Next][Message
Index][Thread Index]
Re: Multiple Endpoints
- Subject: Re: Multiple Endpoints
- From: James
- Date: Tue, 23 Sep 2003 22:27:00 +0000
Stuart,
My vote would be to always go with the naming you use for services. As
in:
KCSoft.Slimp3.ServerName:Slimp3name
In essence your plugin based app is the same as the windows service
system. The master app keeps an eye on things but is really only a
device to start/stop and register devices. If you create it as a device
with subs which then have subs life is just too confusing ;-)
In an upcoming program, to make things easy for the end user I am using
a schema file that details devices and give frienldy names to elements
of the schema. To decide what the device is and what posible information
could come from it I use the first two elements, and use the remaining
elements for targeting. So far it is working very well.
With a spec 1.2 hat on:
"If a device exists on the xAP network with a logical name a.b.c, a
second device may not use the logical name a.b.c.d."
so
KCSoft.xAPConsole.anya FF123400 (the main runtime EXE)
> KCSoft.xAPConsole.anya.SliMP3 FF123500
> KCSOft.xAPConsole.anya.TiVoYAC FF123600
would be bad (I will admit I could be wrong)
The schema file is @ www.mi4.biz/downloads/schema.txt if you want a
look..
James
On Tue, 2003-09-23 at 20:55, Stuart Booth wrote:
> Here's an example of what I'm doing. I still haven't written the
> documentation for this application configuration yet. It's dead easy
> when you know what you're doing, but in the mean time I've just
> packaged everything up individually so that they look different.
>
> I have a standard/generic user interface, or a 'runtime' if you like.
> It's completely unaware of the modules it'll load until it discovers
> them dynamically at run-time. Then it configures itself and the
> 'plugins' it has found so that they behave as independent xAP modules.
>
> The runtimes currently come only as a console application and a
> Windows Service shell. Haven't finished the GUI version yet.
>
> The plugins perform certainly individual services;
> - CID monitoring
> - Internet dialup monitoring
> - TiVo OSD
> - SliMP3, etc
>
> Say you want to run two of those together in one user interface? I was
> getting cheesed off with multiple separate applications running (as
> well as writing/maintaining the same runtime shell application over
> and over.
>
> If the runtime starts up and finds only the SliMP3 plugin module then
> it sends out h/bs and receives messages at the following ('anya' is
> the name of my main PC):
>
> KCSoft.SliMP3.anya FF123400
>
> This is easy and makes perfect sense to me. It's exactly the same as
> if there was a real dedicated EXE that implemented the SliMP3 logic.
>
> If it detects multiple plugins (say SliMP3 and TiVoYAC), then it
> configures itself differently:
>
> KCSoft.xAPConsole.anya FF123400 (the main runtime EXE)
> KCSoft.xAPConsole.anya.SliMP3 FF123500
> KCSOft.xAPConsole.anya.TiVoYAC FF123600
>
> I'm not entirely happy with this yet. For instance, what if I run 2
> separate instances of this EXE, with different plugins?
>
> EXE number 1:
>
> KCSoft.xAPConsole.anya FF123400 (the main runtime EXE)
> KCSoft.xAPConsole.anya.SliMP3 FF123500
> KCSOft.xAPConsole.anya.TiVoYAC FF123600
>
> EXE number 2:
>
> KCSoft.xAPConsole.anya FF345600 (the main runtime EXE)
> KCSoft.xAPConsole.anya.CallerID-OSD FF345700
> KCSOft.xAPConsole.anya.InternetDialup-OSD FF345800
>
> Problem one is that they both share the same address for the main EXE,
> when they are two separate instances. Note that this is the default
> configuration. You can easily adjust the values via the application
> config file, so it's not a showstopper, but by default it doesn't seem
> right.
>
> But it's the difference between the standalone runtime + plugin and
> the multiple plugin runtime addressing that bothers me. I can't change
> my device topology without messing heavily with the addressing.
>
> Windows Services
>
> Finally, a note on Windows Services. When you install the Windows
> Service runtime interface (rather than a console or GUI app), no
> matter how many (1 or 2 or 5, whatever) plugins it loads, it *always*
> registers them individually. It's just the same as installing all 5
> separately and individually.
>
> KCSoft.SliMP3.anya FF123400
> KCSoft.TiVoYAC.anya FF345600
> KCSoft.CallerID-OSD.anya FF789000
>
> When working with the Services applet in the Control Panel this makes
> a lot of sense and feels right. And seems to me to work really well.
>
> And if you read all that and got down to here, well done for not
> nodding off!!!
>
> S
xAP_Development Main Index |
xAP_Development Thread Index |
xAP_Development Home |
Archives Home
|