Not that is important as far as the discussion about prevalence is
concerned, but in my case I have console applications or windows services
who are dealing with information received via messages. Think about a
process that receives a message from a client, does some processing on the
data and than it forwards it to some other entity. Theoretically, the
application can crash right in the middle of the processing phase, situation
in which the information is lost unless you save that intermediate state
somewhere. With prevalence, I think, one does not need to save intermediate
state, just for the fear it may get lost.

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] Behalf Of J. Merrill
Sent: Friday, October 06, 2006 3:25 PM
To: [email protected]
Subject: Re: [ADVANCED-DOTNET] Prevalent systems


I haven't read the original thread that inspired you to go look at
Prevalence, but ...

If your "application state" isn't the same as "the contents of the
application's database tables" (or whatever storage mechanism you're using
for "saved data"), what is it that you're not storing that you think is
important to have survive a reboot or crash?  The list of open windows and
their sizes?  The possibly-modified order and sizes of the columns in a
listview / grid display?  The set of changes that the user made on the
screen but that your application's UI design said should intentionally not
be saved until the user indicates she's finished?

If it's important to have work be recoverable before it's stored anywhere,
perhaps it should be stored more frequently.  What is the state you think
you might need to recover?

At 02:40 PM 10/6/2006, Eddie Lascu wrote
>Frans,
>
>You may be right, but I wouldn't spec a DB just for that. After reading
>about prevalence, I understand that its scope is different: a cheap, fast
>and reliable way to preserve state. The challenge that I see is that you
>must design with that in mind. Even if the repository would be a database,
>rather than the prevalent layer, you would still need to recover from a
>crash and reestablish the state of the system prior to the shut down. In
>Bamboo's case, you gotta love the interception mechanism that routes all
the
>operation through the prevalence layer so that they are logged before
>executed. All you need to do is to link your objects in the Prevalent
>Engine. How can this compare to placing the application state inside a RDB,
>using transaction logs?
>
>Regards,
>Eddie
>
>
>-----Original Message-----
>From: Frans Bouma
>Sent: Friday, October 06, 2006 2:30 PM
>To: [email protected]
>Subject: Re: [ADVANCED-DOTNET] Prevalent systems
>
>        I always say: there must be a reason why systems like Oracle, DB2
>and SqlServer use disk-based transaction logs. I.o.w.: IF
>you decide to place the application state inside a relational database (and
>why wouldn't you, they're designed for that), your
>application state is well protected and you have all the tools at hand to
>restore an application with an application state  which is
>known to be solid and fully recovered.
>
>                FB


J. Merrill / Analytical Software Corp

===================================
This list is hosted by DevelopMentor.  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to