Re: Python for Asset Management!

From: Alex Martelli (aleax_at_aleax.it)
Date: 10/18/03


Date: Sat, 18 Oct 2003 09:44:00 GMT

Mike wrote:

> thank you all for the replies, very useful!
>
> Our system will primary handle file assets and disk tracking...it will
> all be command line at first, then different UI's will be designed...

OK, so make sure to build a separate "engine" process (I would suggest
running it as a daemon serving xml-rpc) and "UI" processes (so the GUI,
commandline, web, ..., will all be different programs which access the
same daemon server and ONLY provide user interfacing).

> We already have most of the system written in c/c++, this is okey but
> I want to add platform independance and I like the way python handles
> different libraries, and its opensource!

Sure. you can access your existing C-coded functionality via SWIG, or
C++ coded functionality with Boost (or vice versa, but I find Boost
easiest for C++ interfacing, SWIG for C interfacing, personally).

> So why dont we buy some commercial software? well, we want 100% access
> to the source, and we also want to add modules to the system for each
> new project.

Sure, why go closed source if you can avoid it. Note that you can
also get open source software commercially if you need support &c (as
to whether you prefer to SAVE those $$$, that's a different issue).

> I will take a look at links and information you all provided, really
> useful! Advice on how to setup a system like this is also welcome,
> should I use a server/client solution, or just clients accessing the
> backbone(db) directly? all of your feedback is interesting, user
> experience is unvaluable!

I would write the central engine as an xml-rpc server and give it
exclusive access to "the backbone db" (except for such "offline"
bulk operations as db dumps/restores, to be presumably performed
by different administrative access). This way you can alter the
central DB without recoding all clients, etc -- the clients will
just be xml-rpc clients and you need only maintain that interface
to leave old clients unaltered. Should the central engine ever
become a bottleneck, running it on (e.g.) a 3GHz / gargantuan
caching / multiGB fast DDR dedicated AMD-64bit box, with the DB
on a nearby similarly overblown puppy with the fastest SCSI disks,
and a gigabit Ethernet in between, will provide you quite a bit of
headroom -- you may never feel a need to spread it over multiple
boxes with the attendand cache-consistency headaches (perhaps some
particularly nasty and strictly computational bottleneck might be
hied off, but from your description of your system you're unlikely
to ever get any). If you DO think in terms of scalability to
thousands or tens of thousands of concurrent accesses then some
even-more-multilayered architecture may be worth considering from
the start, but I would advise against getting too ambitious in
these terms for a budding system -- there is a real risk that by
not wanting to build anything unless it can scale up by hundreds
of times you may end up not building anything useful at all...;-).

Alex



Relevant Pages

  • Re: Remote Boot Windows XPE?
    ... With RBS the image gets downloaded and executed in RAM (RAM disk), ... 36 or 72 clients can all be getting different packets at the same time and depending on the quality of system disk caching this may lead to a lot of disk access. ... Nonetheless it seems that it would be interesting to see if the RBS performed a lot better if the image were in a ramdisk. ... It would also be nice if MS would improve remote boot support in other ways. ...
    (microsoft.public.windowsxp.embedded)
  • Re: SOS ! - Workgroup clients - MSI Packages - Error 1619
    ... > This means that the SMSPKGD$ folder will not contain the Windows Installer ... > This type of command work perfectly fine on domain clients but it fails on ... > Execution mode 1: whether a user is logged or not ...
    (microsoft.public.sms.swdist)
  • Re: XNews using hugh amounts of CPU
    ... If Yottanews is anything like his beta service ... Support with regards to Yottanews beta server. ... I would like to test it with as many clients as possible. ... non-standard command it will just disconnect you. ...
    (news.software.readers)
  • RE: Domain Time Syncing
    ... is the Windows Time Service started on the server that the clients ... Open a Command Prompt. ... Specifies the number of time samples that will be returned from the target ...
    (microsoft.public.windows.server.active_directory)
  • RE: Help! I need to stop/turn off window installer at logon
    ... Just a thought, When I install Office on the client computer, I copy the disk ... > clients, one nic, Linksys Firewall/Router. ... Even if I had the disk, where on the server do ...
    (microsoft.public.windows.server.sbs)