[squeak-dev] Re: [ANN] - SqueakDBX first stable version 1.0!!!

Andreas Raab andreas.raab at gmx.de
Mon Apr 20 21:15:05 UTC 2009


Congrats! Looks like you guys have been making tons of headways. One 
question: Is there a straightforward set of instructions for how to run 
SqueakDBX on Windows? The only thing I see referenced says "load it from 
SqueakSource/Universes" and somehow I don't think that this will get me 
OpenDBX to begin with ;-) A couple of instructions about how to install 
SqueakDBX and OpenDBX specifically on Windows would be greatly welcome.

Cheers,
   - Andreas

Mariano Martinez Peck wrote:
> 
> Hi folks:
> 
> After a continuous work since January 08, we are very glad to announce 
> our first stable version of SqueakDBX.
> 
> For those who don't know what this is about, the aim of this project is 
> to build an OpenDBX (http://www.linuxnetworks.de/doc/index.php/OpenDBX/) 
> wrapper which will allow users to perform relational database operations 
> (DDL, DML and SQL) through a truly open source library. Through this 
> feature, the squeak community will hopefully be able to interact with 
> major database engines, such as Oracle and SQL Server, besides those 
> which are open source, like PostgreSQL, MySQL or Sqlite. Moreover, by 
> integrating this with GLORP (http://www.glorp.org/), will allow us to 
> generate a complete and open source solution to relational data base access.
> 
> 
> Why did we do squeakDBX?
> 
> reeThere are several approaches to persistence in Squeak, some very 
> interesting: OODB like Gemstone and magma, image, CouchDB or TokyoT/C, 
> and so on. All of this options get sense if you can actually decide the 
> way you will persist your objects.
> 
> However, this is not something that happens very frequently. FREQUENTLY, 
> the client (the one who pays you for making the software) requires you 
> to use a particular persistence strategy (RDBMS). Not only that, but 
> also a database in particular (like Oracle, MS SQL, and so on). They 
> have lots of reasons: they already have license for it, they have 
> support and companies for it, they know SQL, they want to do selects, 
> legacy systems, and so on. But Squeak only provides drivers for MySQL 
> and PostgreSQL natively, so... what would you do in the rest of the 
> cases? move to another language? OK, we don't. We want to program 
> systems in Squeak.
> 
> If you know about SqueakDBX you can just see changelog here: 
> http://wiki.squeak.org/squeak/6109; If you don't, you should continue 
> reading ;)
> 
> SqueakDBX features:
> 
> -Cross-platform support: Linux, Windows (using MinGW) and Mac. See 
> http://wiki.squeak.org/squeak/6108
> -Runs on Squeak and Pharo.
> -Mini VM blocks when using FFI (asynchronous queries). See 
> http://wiki.squeak.org/squeak/6060#External%20call%20implementation.
> -Own SqueakDBX plugin (experimental). Ability to easily change the 
> external call strategy (FFI or our own plugin).
> -Support for: Oracle, PostgreSQL, MySQL, MS SQL Server, ODBC and SQLite3
> -Transactional concept: begin transaction, commit and rollback. See 
> http://wiki.squeak.org/squeak/6071
> -Mappings from String to specific types in selects. See 
> http://wiki.squeak.org/squeak/6075
> -Special OpenDBX options: multistatements, encryption, compression, 
> paged results, MySQL modes, and more. See http://wiki.squeak.org/squeak/6068
> -Automated database connection ralease (although manual disconnection is 
> recommended ;-)
> -Automated results retrieving in order to do another query, after doing 
> a query and not iterating ALL results
> -Lots of unit tests that buck up our project ;-) (85 right now). See 
> http://wiki.squeak.org/squeak/6077.
> -Lots of benchmarks and comparison with native drivers (PostgreSQL and 
> MySQL). See http://wiki.squeak.org/squeak/6063.
> -Error handling: Not only errors, but levels associated with an error in 
> order to avoid FFI calls (if you get a fatal error, it has no sense to 
> do another query and the resources must be free). See 
> http://wiki.squeak.org/squeak/6076
> -Query timeout (this is very useful for web applications) and page size 
> can be set for each query. See http://wiki.squeak.org/squeak/6069
> -Very completed documentation in wiki and getting started.
> -Code critics and SwaLint were run several times.
> -Good design (at least all the major refactors demonstrated that).
> 
> Full documentation, installation and getting started instructions can be 
> found at wiki page: http://wiki.squeak.org/squeak/6052 . We spent a lot 
> of time in it. It has all the information you may need and is in 
> continuos development.
> 
> Benchmarks: We have a lot of SqueakDBX benchmarks and also some for 
> native squeak drivers (PostgreSQL and MySQL) and SqueakDBX seems to be 
> faster than both of them. You can read more here: 
> http://wiki.squeak.org/squeak/6063
> 
> Packages can be installed from Universe (3.10) or SqueakMap. Current 
> version is 1.0. Sources can be download from SqueakSource 
> http://www.squeaksource.com/SqueakDBX (it requires FFI installed).
> OpenDBX version: 1.4.
> 
> Remember that you can compile OpenDBX by yourself or use precompiled 
> binaries. For more information please read: 
> http://wiki.squeak.org/squeak/6129.
> 
> GLORP integration: Actually, this may include two parts:
> 
> 1) The integration of GLORP with squeak is completely hardcoded with 
> PostgreSQL native driver. Because of this, first we will do a refactor 
> in GLORP in order to enable it to support different drivers. We will 
> create a PostgreSQL driver with the things that GLORP already has. We 
> invited Alan Night to have dinner with us when he came to Argentina. We 
> told him our ideas and discuss for a while till we got a first design of 
> this refactor. We have already started this part.
> 2) Create a SqueakDBX driver for GLORP just like the one we are planning 
> to do for PostgreSQL.
> 
> The last squeak port of GLORP is very old and there is nobody to do it. 
> A friend of us, Diogenes Moreira, has accepted this job, so, thanks to 
> him, we hope to have latest GLORP releases in Squeak.
> You can see our Glorp progress here: http://wiki.squeak.org/squeak/6132
> 
> 
> Help is always wanted. We would really appreciate if you:
> 
> -Give us opinions, comments, ideas, new features, complaints and so on.
> -Tell us if you find a bug.
> -Tell us if you test SqueakDBX with other RDMBS or OS different from the 
> ones we tested. Just to know if it works or not :)
> 
> If you try SqueakDBX and you write something somewhere like a blog, let 
> us know. We have this link: http://wiki.squeak.org/squeak/6131 where we 
> put useful links for all the people.
> 
> Special thanks to:
> 
> -ESUG, for supporting us through Summer of Talk 08;
> 
> -To Norbert (author of openDBX) for his help and to all the people who 
> tested it and help us.
> 
> Cheers,
> 
> SqueakDBX team
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 




More information about the Squeak-dev mailing list