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

Mariano Martinez Peck marianopeck at gmail.com
Tue Apr 21 13:13:26 UTC 2009


On Tue, Apr 21, 2009 at 11:56 AM, Klaus D. Witzel <klaus.witzel at cobss.com>wrote:

> Dear SqueakDBX team,
>
> this is indeed great news and I hope that now people turn up and give
> SqueakDBX a try in their production environment. I recall at least 2
> Squeakers who where in need of classical RDBMS support for their existing
> databases and took the freedom cc'ing them.
>
> Frank, Rob, can you give us your impressions on using SqueakDBX in your
> shop?
>

Klaus: Thanks for email. We also hope SqueakDBX be in real production
enviorments. However, I think there are few things that should be consider
right now:

- Remember SqueakDBX is just the driver. We don't have Glorp-SqueakDBX
integration ready right now. So, they will have to right SQL queries "by
hand".

- Which OS and backend are they using ?

- Do they need thing we don't yet support/test ? (store procedures and large
objects for example)

- Is it a web application or desktop ? We haven't, yet, a connection pool.
However we have to plans: 1) in a future openDBX (
http://www.linuxnetworks.de/doc/index.php/OpenDBX/Future) will do one and
will expose functions for it. 2) Adapt Ramon Leon connection pooling to
SqueakDBX (
http://onsmalltalk.com/making-a-connection-pool-for-glorp-in-seaside)


But know we really would love to have SqueakDBX in a real application and we
will give all of our help to get it work.

Thanks!

Mariano



> Thanks for the good work SqueakDBXers !
>
> /Klaus
>
> On Mon, 20 Apr 2009 22:17:30 +0200, 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
>>
>
>
>
> --
> "If at first, the idea is not absurd, then there is no hope for it". Albert
> Einstein
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090421/545a490a/attachment.htm


More information about the Squeak-dev mailing list