Persistence in VW

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Persistence in VW

Oleg Richards
Hello Guys!

Few days i am walking around with one question in my head. How to  
make persistence for my financial reporting system done in visual  
works with the latest seaside. Now it stores all its data in image,  
but i want to run another one with a "playground". So i need transfer  
data. I also need some good backup for my data. Just take a look at m  
y data sizes:

1) Schemas and descriptions costs really nothing
2) Main size is from reports: Each period has 45 reports, each report  
has about 500 records. Sometimes we also have a budget period and  
forecast. So per year we have: 12*45*500 = 270000 decimal numbers.

Guys what do you recommend for me? Boris, i've read that you have  
your own minimalistic ORM. Can you help me with it?

And first of all i need persistence for backup and data transfer, for  
current task one VM is enough. So solution may be used only to load  
and save data.


Cheers, Oleg
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Persistence in VW

Boris Popov, DeepCove Labs (SNN)
Oleg,

You might be the perfect candidate to look at what Cincom folks are
doing with their Seaside + GLORP efforts for upcoming releases by
joining vw-dev mailing list if you aren't already on it; see
http://parcplace.net for details.

Quoting: http://tinyurl.com/2ltn6s

"We see the enthusiasm surrounding Seaside, and have gotten a lot of
questions about what we plan to do with the Cincom Smalltalk port of
Seaside. We plan to support Seaside, and that support will include a
relational persistence solution."

Michael, do you have any idea how usable GLORP's ActiveRecord might be
by now for simple use cases like Oleg's?

Thanks!

-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: [hidden email] [mailto:seaside-
> [hidden email]] On Behalf Of Oleg Richards
> Sent: Tuesday, December 11, 2007 1:18 PM
> To: [hidden email]
> Subject: [Seaside] Persistence in VW
>
> Hello Guys!
>
> Few days i am walking around with one question in my head. How to
> make persistence for my financial reporting system done in visual
> works with the latest seaside. Now it stores all its data in image,
> but i want to run another one with a "playground". So i need transfer
> data. I also need some good backup for my data. Just take a look at m
> y data sizes:
>
> 1) Schemas and descriptions costs really nothing
> 2) Main size is from reports: Each period has 45 reports, each report
> has about 500 records. Sometimes we also have a budget period and
> forecast. So per year we have: 12*45*500 = 270000 decimal numbers.
>
> Guys what do you recommend for me? Boris, i've read that you have
> your own minimalistic ORM. Can you help me with it?
>
> And first of all i need persistence for backup and data transfer, for
> current task one VM is enough. So solution may be used only to load
> and save data.
>
>
> Cheers, Oleg
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Michael Lucas-Smith-3

> Michael, do you have any idea how usable GLORP's ActiveRecord might be
> by now for simple use cases like Oleg's?
>  
Yeah I think it'd be fine with that - and if it cannot automatically
represent the models the way Oleg wants, he can build custom descriptors
to map it the way he wants too using regular Glorp.

Oleg, jump in the water is fine :)

Cheers,
Michael
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Oleg Richards
Hello Boris and Michael!

Thanks for your advises. I want to ask for a few more questions:

I have a lot of inheritance: Template - Flow template; different kind of rows; reconciliated report. How will they work?

Currently i am storing all data in class side dictionaries and a lot of binding was done with dictionaries too. Can i keep them or i should remake bindings for the relation needs through ids.

Should i keep my dictionaries or i should make afinders un database in place of them?

And main problem: I have a report object which stores a values in hash where the row code (3 letter) is a key and money amount is a value. How can i store this in db using glorp? I dont have special class for it, so how to do mapping? Can u show me example?

Boris are you using ActiveRecord and GLORP too?

Oleg
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Boris Popov, DeepCove Labs (SNN)
In reply to this post by Oleg Richards
Re: [Seaside] Persistence in VW

No, we have our own db mapping framework at the core of our application. With GLORP there is quite a bit of flexibility as far as your mapping is concerned, but it has relational db as the store, so you would need to be familiar with it somewhat. Other options are gemstone, boss files or xml :)

Cheers!

-Boris
(Sent from a BlackBerry)

----- Original Message -----
From: [hidden email] <[hidden email]>
To: [hidden email] <[hidden email]>
Sent: Tue Dec 11 22:14:01 2007
Subject: Re: [Seaside] Persistence in VW


Hello Boris and Michael!

Thanks for your advises. I want to ask for a few more questions:

I have a lot of inheritance: Template - Flow template; different kind of
rows; reconciliated report. How will they work?

Currently i am storing all data in class side dictionaries and a lot of
binding was done with dictionaries too. Can i keep them or i should remake
bindings for the relation needs through ids.

Should i keep my dictionaries or i should make afinders un database in place
of them?

And main problem: I have a report object which stores a values in hash where
the row code (3 letter) is a key and money amount is a value. How can i
store this in db using glorp? I dont have special class for it, so how to do
mapping? Can u show me example?

Boris are you using ActiveRecord and GLORP too?

Oleg
--
View this message in context: http://www.nabble.com/Persistence-in-VW-tp14283675p14289650.html
Sent from the Squeak - Seaside mailing list archive at Nabble.com.

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Oleg Richards
Boris!

What about my other questions (inheritance, integer storage)? Can you recommend me something?

Oleg


Boris Popov-2 wrote
No, we have our own db mapping framework at the core of our application. With GLORP there is quite a bit of flexibility as far as your mapping is concerned, but it has relational db as the store, so you would need to be familiar with it somewhat. Other options are gemstone, boss files or xml :)

Cheers!

-Boris
(Sent from a BlackBerry)

----- Original Message -----
From: seaside-bounces@lists.squeakfoundation.org <seaside-bounces@lists.squeakfoundation.org>
To: seaside@lists.squeakfoundation.org <seaside@lists.squeakfoundation.org>
Sent: Tue Dec 11 22:14:01 2007
Subject: Re: [Seaside] Persistence in VW


Hello Boris and Michael!

Thanks for your advises. I want to ask for a few more questions:

I have a lot of inheritance: Template - Flow template; different kind of
rows; reconciliated report. How will they work?

Currently i am storing all data in class side dictionaries and a lot of
binding was done with dictionaries too. Can i keep them or i should remake
bindings for the relation needs through ids.

Should i keep my dictionaries or i should make afinders un database in place
of them?

And main problem: I have a report object which stores a values in hash where
the row code (3 letter) is a key and money amount is a value. How can i
store this in db using glorp? I dont have special class for it, so how to do
mapping? Can u show me example?

Boris are you using ActiveRecord and GLORP too?

Oleg
--
View this message in context: http://www.nabble.com/Persistence-in-VW-tp14283675p14289650.html
Sent from the Squeak - Seaside mailing list archive at Nabble.com.

_______________________________________________
seaside mailing list
seaside@lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
seaside@lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Alan Knight-2
Inheritance is always rather tricky against a relational database, because the concept really isn't there, so you have to map it into some compromise, trading off space, query time, and flexibility. Glorp supports two different strategies for this, which we call horizontal and filtered. Filtered inheritance means all instances are stored in one bit table, and there's a field which indicates which type this row represents. This is efficient to query, but wastes spaces. Horizontal is where each subclass is represented by an entirely separate table. This is more likely if you're trying to impose an inheritance hierarchy on an existing database, and minimizes storage, but makes querying more complex. Some kinds of queries can be inefficient. You'd want to look at the TypeResolver class and its subclasses. In the Glorp tests, GlorpInheritanceDescriptorSystem has some examples.

By comparison, storing integers and dictionaries is pretty easy :-) If you want both key and value to be simple types, then you need a table somewhere to store them. If the value is an object, you can either have the key be part of the value's table, or in a link table. GlorpDictionaryMappingTest and GlorpEncyclopediaDescriptorSystem have examples.

Neither of those things is likely to work automatically with the GlorpActiveRecord code, you'll likely have to write out the mappings. But part of the point of the way GlorpActiveRecord is done is that you can let the parts that are easy get built automatically and only have to specify the tricky parts.

At 06:01 AM 12/12/2007, Oleg Richards wrote:

Boris!

What about my other questions (inheritance, integer storage)? Can you
recommend me something?

Oleg



Boris Popov-2 wrote:
>
> No, we have our own db mapping framework at the core of our application.
> With GLORP there is quite a bit of flexibility as far as your mapping is
> concerned, but it has relational db as the store, so you would need to be
> familiar with it somewhat. Other options are gemstone, boss files or xml
> :)
>
> Cheers!
>
> -Boris
> (Sent from a BlackBerry)
>
> ----- Original Message -----
> From: [hidden email]
> <[hidden email]>
> To: [hidden email]
> <[hidden email]>
> Sent: Tue Dec 11 22:14:01 2007
> Subject: Re: [Seaside] Persistence in VW
>
>
> Hello Boris and Michael!
>
> Thanks for your advises. I want to ask for a few more questions:
>
> I have a lot of inheritance: Template - Flow template; different kind of
> rows; reconciliated report. How will they work?
>
> Currently i am storing all data in class side dictionaries and a lot of
> binding was done with dictionaries too. Can i keep them or i should remake
> bindings for the relation needs through ids.
>
> Should i keep my dictionaries or i should make afinders un database in
> place
> of them?
>
> And main problem: I have a report object which stores a values in hash
> where
> the row code (3 letter) is a key and money amount is a value. How can i
> store this in db using glorp? I dont have special class for it, so how to
> do
> mapping? Can u show me example?
>
> Boris are you using ActiveRecord and GLORP too?
>
> Oleg
> --
> View this message in context:
> http://www.nabble.com/Persistence-in-VW-tp14283675p14289650.html
> Sent from the Squeak - Seaside mailing list archive at Nabble.com.
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>

--
View this message in context: http://www.nabble.com/Persistence-in-VW-tp14283675p14292647.html
Sent from the Squeak - Seaside mailing list archive at Nabble.com.

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Alan Knight [|], Cincom Smalltalk Development

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Oleg Richards
Thank you Alan!

I will look at this classes. I need a little help with ActiveRecord? Can you show me how to use it? I understand that i should inherit all my models from AR class, but what next. Should i execute something in workspace? And how to attach session  to active record?




Alan Knight-2 wrote
Inheritance is always rather tricky against a relational database, because the concept really isn't there, so you have to map it into some compromise, trading off space, query time, and flexibility. Glorp supports two different strategies for this, which we call horizontal and filtered. Filtered inheritance means all instances are stored in one bit table, and there's a field which indicates which type this row represents. This is efficient to query, but wastes spaces. Horizontal is where each subclass is represented by an entirely separate table. This is more likely if you're trying to impose an inheritance hierarchy on an existing database, and minimizes storage, but makes querying more complex. Some kinds of queries can be inefficient. You'd want to look at the TypeResolver class and its subclasses. In the Glorp tests, GlorpInheritanceDescriptorSystem has some examples.

By comparison, storing integers and dictionaries is pretty easy :-) If you want both key and value to be simple types, then you need a table somewhere to store them. If the value is an object, you can either have the key be part of the value's table, or in a link table. GlorpDictionaryMappingTest and GlorpEncyclopediaDescriptorSystem have examples.

Neither of those things is likely to work automatically with the GlorpActiveRecord code, you'll likely have to write out the mappings. But part of the point of the way GlorpActiveRecord is done is that you can let the parts that are easy get built automatically and only have to specify the tricky parts.
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Alan Knight-2
Sure. It should (hopefully) be fairly easy to use, although if you're completely new to Glorp it probably can get interesting.

Subclass your classes from ActiveRecord. Then use ActiveRecordDescriptorSystem, or your own subclass of it, as the system, and log in. If you use the main class, it'll try to use all subclasses of ActiveRecord. If you make your own subclass you can implement #defaultRootClass to make it just be subclasses of your own abstract superclass (which it expects to be a subclass of ActiveRecord).

If you've named your classes according to the generally Ruby on Rails-ish conventions, which is to say that the Customer class corresponds to the CUSTOMERS table (or the CUSTOMER table, it's not all that fussy), then it should try to generate descriptors for that automatically. It'll do a good deal better if your foreign key fields are identified as such in the database. For parts that it doesn't get right, or at all, you can implement the normal Glorp methods like #descriptorForMyClassName:, but you should only have to give it the information for the mappings it didn't get right in the first place.

There are some simple examples in the GlorpActiveRecordTests package. Once it's mapped, then you can do a number of things by sending messages to the objects or their classes that would typically require you to use the Glorp session. e.g. aClass findWhere:, anObject save, etc.

At 12:57 PM 12/12/2007, Oleg Richards wrote:

Thank you Alan!

I will look at this classes. I need a little help with ActiveRecord? Can you
show me how to use it? I understand that i should inherit all my models from
AR class, but what next. Should i execute something in workspace? And how to
attach session  to active record?





Alan Knight-2 wrote:
>
> Inheritance is always rather tricky against a relational database, because
> the concept really isn't there, so you have to map it into some
> compromise, trading off space, query time, and flexibility. Glorp supports
> two different strategies for this, which we call horizontal and filtered.
> Filtered inheritance means all instances are stored in one bit table, and
> there's a field which indicates which type this row represents. This is
> efficient to query, but wastes spaces. Horizontal is where each subclass
> is represented by an entirely separate table. This is more likely if
> you're trying to impose an inheritance hierarchy on an existing database,
> and minimizes storage, but makes querying more complex. Some kinds of
> queries can be inefficient. You'd want to look at the TypeResolver class
> and its subclasses. In the Glorp tests, GlorpInheritanceDescriptorSystem
> has some examples.
>
> By comparison, storing integers and dictionaries is pretty easy :-) If you
> want both key and value to be simple types, then you need a table
> somewhere to store them. If the value is an object, you can either have
> the key be part of the value's table, or in a link table.
> GlorpDictionaryMappingTest and GlorpEncyclopediaDescriptorSystem have
> examples.
>
> Neither of those things is likely to work automatically with the
> GlorpActiveRecord code, you'll likely have to write out the mappings. But
> part of the point of the way GlorpActiveRecord is done is that you can let
> the parts that are easy get built automatically and only have to specify
> the tricky parts.
>
>
>

--
View this message in context: http://www.nabble.com/Persistence-in-VW-tp14283675p14300415.html
Sent from the Squeak - Seaside mailing list archive at Nabble.com.

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Alan Knight [|], Cincom Smalltalk Development

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Oleg Richards

Alan Knight-2 wrote
Sure. It should (hopefully) be fairly easy to use, although if you're completely new to Glorp it probably can get interesting.

Subclass your classes from ActiveRecord. Then use ActiveRecordDescriptorSystem, or your own subclass of it, as the system, and log in. If you use the main class, it'll try to use all subclasses of ActiveRecord. If you make your own subclass you can implement #defaultRootClass to make it just be subclasses of your own abstract superclass (which it expects to be a subclass of ActiveRecord).

If you've named your classes according to the generally Ruby on Rails-ish conventions, which is to say that the Customer class corresponds to the CUSTOMERS table (or the CUSTOMER table, it's not all that fussy), then it should try to generate descriptors for that automatically. It'll do a good deal better if your foreign key fields are identified as such in the database. For parts that it doesn't get right, or at all, you can implement the normal Glorp methods like #descriptorForMyClassName:, but you should only have to give it the information for the mappings it didn't get right in the first place.

There are some simple examples in the GlorpActiveRecordTests package. Once it's mapped, then you can do a number of things by sending messages to the objects or their classes that would typically require you to use the Glorp session. e.g. aClass findWhere:, anObject save, etc.

At 12:57 PM 12/12/2007, Oleg Richards wrote:

>Thank you Alan!
>
>I will look at this classes. I need a little help with ActiveRecord? Can you
>show me how to use it? I understand that i should inherit all my models from
>AR class, but what next. Should i execute something in workspace? And how to
>attach session  to active record?
>
>
>
>
>
>Alan Knight-2 wrote:
>>
>> Inheritance is always rather tricky against a relational database, because
>> the concept really isn't there, so you have to map it into some
>> compromise, trading off space, query time, and flexibility. Glorp supports
>> two different strategies for this, which we call horizontal and filtered.
>> Filtered inheritance means all instances are stored in one bit table, and
>> there's a field which indicates which type this row represents. This is
>> efficient to query, but wastes spaces. Horizontal is where each subclass
>> is represented by an entirely separate table. This is more likely if
>> you're trying to impose an inheritance hierarchy on an existing database,
>> and minimizes storage, but makes querying more complex. Some kinds of
>> queries can be inefficient. You'd want to look at the TypeResolver class
>> and its subclasses. In the Glorp tests, GlorpInheritanceDescriptorSystem
>> has some examples.
>>
>> By comparison, storing integers and dictionaries is pretty easy :-) If you
>> want both key and value to be simple types, then you need a table
>> somewhere to store them. If the value is an object, you can either have
>> the key be part of the value's table, or in a link table.
>> GlorpDictionaryMappingTest and GlorpEncyclopediaDescriptorSystem have
>> examples.
>>
>> Neither of those things is likely to work automatically with the
>> GlorpActiveRecord code, you'll likely have to write out the mappings. But
>> part of the point of the way GlorpActiveRecord is done is that you can let
>> the parts that are easy get built automatically and only have to specify
>> the tricky parts.
>>
>>
>>
>
>--
>View this message in context: http://www.nabble.com/Persistence-in-VW-tp14283675p14300415.html
>Sent from the Squeak - Seaside mailing list archive at Nabble.com.
>
>_______________________________________________
>seaside mailing list
>seaside@lists.squeakfoundation.org
>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Alan Knight [|], Cincom Smalltalk Development
knight@acm.org
aknight@cincom.com
http://www.cincom.com/smalltalk

_______________________________________________
seaside mailing list
seaside@lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Thank you!

I will give it try. Can you explain me how to deal with logins? I ve read articlr from Ramon about glorp sessions pool. But its for seaside and i am interested in workspace or in global variable.

Should i create tables first? Or activerecord wil create them?
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

keith1y
If you guys using VW really dont have a viable OODBMS persistence option
to offer perhaps you might consider porting Magma. From what I know of
the code I doubt if there is anything particularly squeak-centric. Magma
has to be easier to port than Seaside, since it doesnt use any
complicated stuff like continuations.

just a thought

Keith


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Alan Knight-2
I think somebody somewhere must have done an ODBMS that works with VisualWorks. Maybe Dale's heard of something :-)

At 04:59 PM 12/13/2007, Keith Hodges wrote:
If you guys using VW really dont have a viable OODBMS persistence option
to offer perhaps you might consider porting Magma. From what I know of
the code I doubt if there is anything particularly squeak-centric. Magma
has to be easier to port than Seaside, since it doesnt use any
complicated stuff like continuations.

just a thought

Keith


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

--
Alan Knight [|], Cincom Smalltalk Development

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Dale
In reply to this post by keith1y
A large number of our customers use the combination of VW and GemStone
for persistence. The product GemBuilder for Smalltalk (GBS) runs inside
of a VW (or VA) image and provides connectivity to a GemStone data base.

So technically VW does have a pretty good OODB-based persistence option.

Take a look at  
http://seaside.gemstone.com/docs/Announcement-ESUG2007.htm where we
describe GemStone/S LE which provides persistence for VW, the main
difference between GemStone/S LE and GemStone/S Web Edition (GLASS) is
that GemStone/S LE is not free.

Dale

Keith Hodges wrote:

>If you guys using VW really dont have a viable OODBMS persistence option
>to offer perhaps you might consider porting Magma. From what I know of
>the code I doubt if there is anything particularly squeak-centric. Magma
>has to be easier to port than Seaside, since it doesnt use any
>complicated stuff like continuations.
>
>just a thought
>
>Keith
>
>
>_______________________________________________
>seaside mailing list
>[hidden email]
>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>  
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Dale
Dale Henrichs wrote:

> A large number of our customers use the combination of VW and GemStone
> for persistence. The product GemBuilder for Smalltalk (GBS) runs
> inside of a VW (or VA) image and provides connectivity to a GemStone
> data base.
>
> So technically VW does have a pretty good OODB-based persistence option.
>
> Take a look at  
> http://seaside.gemstone.com/docs/Announcement-ESUG2007.htm where we
> describe GemStone/S LE which provides persistence for VW, the main
> difference between GemStone/S LE and GemStone/S Web Edition (GLASS) is
> that GemStone/S LE is not free.

Okay, okay, you get value for your money --- VW, VA support,
Solaris/AIX/HP, 2 CPUS, 8X larger repository, 2X shared page cache, and
technical support--- but hey other than that they're the same:)...

(still suffering from head cold),

Dale
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Roger Whitney
In reply to this post by keith1y
Since my projects are very small I use OmniBase which works fine with  
Seaside and VW.

On Dec 13, 2007, at 3:59 PM, Keith Hodges wrote:

> If you guys using VW really dont have a viable OODBMS persistence  
> option
> to offer perhaps you might consider porting Magma. From what I know of
> the code I doubt if there is anything particularly squeak-centric.  
> Magma
> has to be easier to port than Seaside, since it doesnt use any
> complicated stuff like continuations.
>
> just a thought
>
> Keith
>
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>



----
Roger Whitney              Department of Computer Science
[hidden email]        San Diego State University
http://www.eli.sdsu.edu/   San Diego, CA 92182-7720


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Oleg Richards
In reply to this post by Dale
Dale!

One question: VW will just connect to GemStone via gembuilder/s. If i'm using a Seaside for my interfaces, why should i use VW? :)

Oleg

Dale Henrichs wrote
Dale Henrichs wrote:

> A large number of our customers use the combination of VW and GemStone
> for persistence. The product GemBuilder for Smalltalk (GBS) runs
> inside of a VW (or VA) image and provides connectivity to a GemStone
> data base.
>
> So technically VW does have a pretty good OODB-based persistence option.
>
> Take a look at  
> http://seaside.gemstone.com/docs/Announcement-ESUG2007.htm where we
> describe GemStone/S LE which provides persistence for VW, the main
> difference between GemStone/S LE and GemStone/S Web Edition (GLASS) is
> that GemStone/S LE is not free.

Okay, okay, you get value for your money --- VW, VA support,
Solaris/AIX/HP, 2 CPUS, 8X larger repository, 2X shared page cache, and
technical support--- but hey other than that they're the same:)...

(still suffering from head cold),

Dale
_______________________________________________
seaside mailing list
seaside@lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Persistence in VW

Dale
Oleg,

For a greenfield Seaside application you have a good point ...

If you are using the Smalltalk GUI heavily (as nearly all of our
customers do) or if you are depending upon the VW class library, then
GBS is still a very good solution for persistence.

Dale

Oleg Richards wrote:

>Dale!
>
>One question: VW will just connect to GemStone via gembuilder/s. If i'm
>using a Seaside for my interfaces, why should i use VW? :)
>
>Oleg
>
>
>Dale Henrichs wrote:
>  
>
>>Dale Henrichs wrote:
>>
>>    
>>
>>>A large number of our customers use the combination of VW and GemStone
>>>for persistence. The product GemBuilder for Smalltalk (GBS) runs
>>>inside of a VW (or VA) image and provides connectivity to a GemStone
>>>data base.
>>>
>>>So technically VW does have a pretty good OODB-based persistence option.
>>>
>>>Take a look at  
>>>http://seaside.gemstone.com/docs/Announcement-ESUG2007.htm where we
>>>describe GemStone/S LE which provides persistence for VW, the main
>>>difference between GemStone/S LE and GemStone/S Web Edition (GLASS) is
>>>that GemStone/S LE is not free.
>>>      
>>>
>>Okay, okay, you get value for your money --- VW, VA support,
>>Solaris/AIX/HP, 2 CPUS, 8X larger repository, 2X shared page cache, and
>>technical support--- but hey other than that they're the same:)...
>>
>>(still suffering from head cold),
>>
>>Dale
>>_______________________________________________
>>seaside mailing list
>>[hidden email]
>>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>>
>>    
>>
>
>  
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside