[aida] Aida and Magma

Rob Rothwell r.j.rothwell at gmail.com
Sun Sep 28 16:20:23 CEST 2008

So there is a working Aida GLASS port as well?  If I could get that working,
I'd take a look at WebTransactionMonitor.  I came back to Magma because my
limitations are in my external data sources.  With a Magma Server, I can
gain the power of Smalltalk "updaters" that crawl through my
PatientEncouner's and update various parts of their model.  With GLASS
(which would be fun to use, don't get me wrong!), I would have to produce
files for it's consumption.
However...I will take a look at WebTransactionManager if I can find it!

The reason I was looking to do this is that all my apps are "the same," just
a bit different--all centered around PatientEncounter's and collecting
manual data that is not available any other way than chart review.

For that reason, I am also thinking of storing the "field description" for
aspects of the PatientEncounter in class methods of the model that will
return the proper Aida WebElement.  Beautiful, really.  Then any app I write
will just need to know that I want to display that aspect, and it will know
how to do it!

Then, even with Magma, I get to share PatientEncounter data across all my
apps and display it correctly with Aida!

Thanks...I have a version of GLASS that runs; I'll look around again for the
Swazoo & Aida port so I can take a look at this WebTransactionManager.


On Sun, Sep 28, 2008 at 10:05 AM, Janko Mivšek <janko.mivsek at eranova.si>wrote:

> Hi Rob,
> Rob Rothwell wrote:
>> For a data entry application with Magma, you can simply create a session
>> and #begin it, if you are willing to #commitAndBegin regularly when you
>> change things, or #abort; #begin if you need to check for changes.
>> In an Aida application, you could easily #abort and #begin at the top of
>> every view method, and #commitAndBegin with all your action methods, but
>> since Aida is already providing "persistency" with the domain model, it
>> seems like you could pretty easily create a special "Magma Aware" Aida by
>> adding some well placed commits, aborts, and begins in the right places
>> within Aida and creating a "magmaSession" property for your application.
>> Would it be hard to hook into the Aida code that reads and writes the
>> domain model to provide such behavior?
> This is actually done that way in Gemstone GLASS port of Aida. Essentially
> you have a commit after every request, then a new transaction auto begins.
> But for performance (and solving the problem of parallel requests) Aida has
> its own WebTransactionMonitor, which coordinates transactions among parallel
> requests. Actually there is only one transaction context open at any moment
> and where we just coordinating commits. By default simply by committing when
> there is a time or at least every 10s. But an app can request an explicit
> commit to be sure data is really saved to the database.
> I could say that an existing WebTransactionMonitor can probably easily be
> adapted for Magma as well, so if someone has a time ...
> Janko
> --
> Janko Mivšek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.aidaweb.si/pipermail/aida/attachments/20080928/3b19b39b/attachment.htm 

More information about the Aida mailing list