[OT][ANN] - SqueakDBX first stable version 1.0!!!

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

[OT][ANN] - SqueakDBX first stable version 1.0!!!

Mariano Martinez Peck

This is a bit off topic but as there were some mails about relational persistence in another threads, I tough It could be useful for someone.


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



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

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

Lukas Renggli
On Mon, Apr 20, 2009 at 10:20 PM, Mariano Martinez Peck
<[hidden email]> wrote:
> This is a bit off topic but as there were some mails about relational
> persistence in another threads, I tough It could be useful for someone.

Thank you for announcing this release, this is definitely not OT. I
think it is very important for open-source projects like Pharo, Squeak
and Seaside to have the access to relational databases like Oracle.
Although when having a free choice I would rather use PostgreSQL (or
no relational database at all), but sometimes customers explicitly ask
to integrate or use an existing database. If the same driver can be
used for various types, the better. I will definitely look at
SqueakDBX.

Cheers,
Lukas

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

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

Mariano Martinez Peck


On Mon, Apr 20, 2009 at 8:19 PM, Lukas Renggli <[hidden email]> wrote:
On Mon, Apr 20, 2009 at 10:20 PM, Mariano Martinez Peck
<[hidden email]> wrote:
> This is a bit off topic but as there were some mails about relational
> persistence in another threads, I tough It could be useful for someone.

Thank you for announcing this release, this is definitely not OT. I
think it is very important for open-source projects like Pharo, Squeak
and Seaside to have the access to relational databases like Oracle.
Although when having a free choice I would rather use PostgreSQL (or
no relational database at all), but sometimes customers explicitly ask
to integrate or use an existing database. If the same driver can be
used for various types, the better. I will definitely look at
SqueakDBX.

Thanks for your nice words. That's exactly why we did SqueakDBX. It's nice to see that other people get the idea.

Seaside give Smalltalk a big push into the real enterprise applications. For a long time Smalltalk was used for several purposes like research, simulation, education, and so on.

We also want to give a little push in the persistence aspect.

Greetings,

Mariano
 


Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
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: [OT][ANN] - SqueakDBX first stable version 1.0!!!

Philippe Marschall
In reply to this post by Lukas Renggli
2009/4/20 Lukas Renggli <[hidden email]>:
> On Mon, Apr 20, 2009 at 10:20 PM, Mariano Martinez Peck
> <[hidden email]> wrote:
>> This is a bit off topic but as there were some mails about relational
>> persistence in another threads, I tough It could be useful for someone.
>
> Thank you for announcing this release, this is definitely not OT. I
> think it is very important for open-source projects like Pharo, Squeak
> and Seaside to have the access to relational databases like Oracle.

Agreed. Oracle support has already been explicitly asked for.

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

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

stephane ducasse
In reply to this post by Lukas Renggli
This is why ESUG sponsored this work :)

Stef

On Apr 20, 2009, at 11:19 PM, Lukas Renggli wrote:

> On Mon, Apr 20, 2009 at 10:20 PM, Mariano Martinez Peck
> <[hidden email]> wrote:
>> This is a bit off topic but as there were some mails about relational
>> persistence in another threads, I tough It could be useful for  
>> someone.
>
> Thank you for announcing this release, this is definitely not OT. I
> think it is very important for open-source projects like Pharo, Squeak
> and Seaside to have the access to relational databases like Oracle.
> Although when having a free choice I would rather use PostgreSQL (or
> no relational database at all), but sometimes customers explicitly ask
> to integrate or use an existing database. If the same driver can be
> used for various types, the better. I will definitely look at
> SqueakDBX.
>
> Cheers,
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
> _______________________________________________
> 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: [OT][ANN] - SqueakDBX first stable version 1.0!!!

Mariano Martinez Peck
In reply to this post by Philippe Marschall


On Tue, Apr 21, 2009 at 3:47 AM, Philippe Marschall <[hidden email]> wrote:
2009/4/20 Lukas Renggli <[hidden email]>:
> On Mon, Apr 20, 2009 at 10:20 PM, Mariano Martinez Peck
> <[hidden email]> wrote:
>> This is a bit off topic but as there were some mails about relational
>> persistence in another threads, I tough It could be useful for someone.
>
> Thank you for announcing this release, this is definitely not OT. I
> think it is very important for open-source projects like Pharo, Squeak
> and Seaside to have the access to relational databases like Oracle.

Agreed. Oracle support has already been explicitly asked for.

And now that oracle buys Sun (mysql) hahaha.
 

Cheers
Philippe
_______________________________________________
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