From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3cd3b8571c28b75f X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-08-25 05:37:25 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!sjc70.webusenet.com!news.webusenet.com!elnk-nf2-pas!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!stamper.news.atl.earthlink.net!newsread2.news.atl.earthlink.net.POSTED!not-for-mail Message-ID: <3F4A02FB.5050504@noplace.com> From: Marin David Condic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 (OEM-HPQ-PRS1C03) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: A Customer's Request For Open Source Software References: <3F44BC65.4020203@noplace.com><20030822005323.2ff66948.david@realityrift.com> <20030822020403.625ffbf5.david@realityrift.com> <3F4657AD.1040908@attbi.com> <3F4828D9.8050700@attbi.com> <3F48D263.8060004@noplace.com> <3F48E863.3080806@attbi.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 25 Aug 2003 12:37:25 GMT NNTP-Posting-Host: 209.165.0.202 X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.news.atl.earthlink.net 1061815045 209.165.0.202 (Mon, 25 Aug 2003 08:37:25 EDT) NNTP-Posting-Date: Mon, 25 Aug 2003 08:37:25 EDT Organization: EarthLink Inc. -- http://www.EarthLink.net Xref: archiver1.google.com comp.lang.ada:41843 Date: 2003-08-25T12:37:25+00:00 List-Id: If you started with a "Single User" system, then all operations can take place in RAM - of whatever sort. This would be no different than editing a document with a word processor that is not journaling. If you take a power hit, you lose your work to that point in time. You get done posting transactions or generating reports - you "Exit - Save" and your work is written to a database. (The simplest form would be a stream file where you do a 'Write for your data structure.) From there, you can consider if you want to make this a multi-user system. An upgrade would be to write a wrapper around the core accounting object that acts as a "Server". Multiple clients connect, post transactions, disconnect, etc. The server is enforcing a kind of transactional integrity and it naturally lends itself to a network. (You're still stuck with a potential power-outage problem, but that isn't insurmountable. Worst case, you force writes to the database every few minutes.) There would be a couple of advantages to this approach - one technical and one financial. Starting with a simple single-user system gives you a reasonably simple goal to shoot for and lets you iron out all the bugs while building your understanding of what you are doing. The second is that you could easily release the single-user version as a freebie that would get people using it and then provide the multi-user version as a paid-for upgrade. MDC Robert I. Eachus wrote: > contents of the NVRAM get full. But my preference is to write the > entire database out when the session is done, without, of course, > overwriting the current version on disk. With proper design, you can > have a complete journalling and audit trail system with little or no > user involvement. > > -- ====================================================================== Marin David Condic I work for: http://www.belcan.com/ My project is: http://www.jast.mil/ Send Replies To: m c o n d i c @ a c m . o r g "In general the art of government consists in taking as much money as possible from one class of citizens to give to the other." -- Voltaire ======================================================================