Archive for the 'Announcements' Category
I’d like to take a moment to provide a small status update on what’s been going on in the DB2 on Rails world. The Alphaworks starter toolkit hasn’t been update for a long time, so someone may wrongly assume that the project is not maintained, but nothing could be further from the truth. The toolkit will be updated in order to provide a Windows one click install alternative sometime in the near future, but the real action these days has moved to Rubyforge.
The development and improvement of the IBM_DB Ruby driver and ActiveRecord adapter is considered a priority and there is continuos work carried out by the API development team. In fact, another important update for the ibm_db gem was released just yesterday. The gem makes the installation and upgrade process very straightforward on both Windows and Linux. If you’ve already installed a previous version through RubyGems, all you have to do in order to upgrade to the current 0.9.4 version, is run: gem update (with sudo if on Linux/Unix).
The new gem fixes a few bugs and, more interestingly, adds support for XML columns in Rails 2 style migrations. This means that you can define tables that take advantage of pureXML, with the new “sexy migration” syntax. Here is an example:
class CreateCustomers < ActiveRecord::Migration
def self.up
create_table :customers do |t|
t.string :name
t.xml :info
t.timestamps
end
end
def self.down
drop_table :customers
end
end
Concisely, the main message is: DB2 works with Rails 2, it’s supported by IBM and there are many customers who are successfully using it for their projects.
You may not be able to use minor conveniences (like rake db:create), given that these aren’t implemented for DB2 by the Rails team, but that won’t affect your ability to use DB2 on Rails. That said, on a side note, I started working on a Rails plugin called DB2 Extended in order to simplify the development process for you, and add DB2 specific functionalities to the framework. It’s a personal project, not an IBM one, and it’s still in its infancy, but feel free to take advantage of it and contribute with your own patches.
It’s all about you
The API team efforts would be wasted if they weren’t focused on what really interests you. It is therefore important that you let us know about your experiences with the DB2 on Rails stack, send us your feedback, be it encouragingly kind words or frustrated ones.
If you discover a bug, it’s crucial that you log a ticket on Rubyforge. And if you are unsure about it being an actual bug please don’t be shy, and feel free to start a discussion thread on the fora. We thank you in advance for your partecipation.
May 02 2008 | Announcements | No Comments »
Just in time for halloween, we released a new version of DB2. If you are in to instant gratification, you can get DB2 Express-C v9.5 immediately from http://www.ibm.com/db2/express . I am not going to provide a detailed description of what is new in this version but I will say that if you were impressed with DB2 pureXML before you will be absolutely amazed what you can do with XML in DB2 v9.5 and DB2 Express-C includes pureXML at no charge, naturally. Oh, and it is all available to a Ruby on Rails programmer.
If you like running your database servers on Linux then you will really like DB2 Express-C v9.5. DB2 engine on Linux now uses threaded (as opposed to process) model of execution. This means that your database server will now use a lot less memory and you will be doing a lot less figuring out how to set it up for optimum memory utilization. In v9.5 you can replace a dozen or so memory tuning parameters with a single one. While threaded engine is new to Linux, DB2 for Windows has always been threaded. Less time to tune database server means more time to spend writing really cool Ruby on Rails applications with DB2. Oh, and I almost forgot … you no longer have to be root to install DB2 on Linux.
If you like counting money (and who doesn’t), there is a new datatype which is really good. It is called DECFLOAT and it allows you to do money arithmetic without loosing any of it in rounding. The really cool thing is that if you run DB2 Express-C on Linux on POWER 6servers (System p or System i) you have hardware assist right in silicone that makes these operations blazingly fast. We will have to wait for Intel and AMD to put decimal arithmetic in to their silicone. Intel, AMD, are you listening?
If you are building applications that deal with credit card data (here we go with the money again), or need to comply with privacy legislation or need to do anything to identify the actual originator of a transaction and record all actions performed in an audit log then you are also in luck with DB2 v9.5. Let’s say you are building a online store application and will want to accept credit cards. You may not know it yet, but your application will have to comply with something called PCI DSS. An whether you know it or not, if you can’t prove that you comply, your merchant account will be revoked so unless you figured out a way of how to take cash on the web, you will be out of business. I am not going to describe the exact details of how DB2 helps you comply with PCI but I say that being able to identify the end user completing a transaction rather then some proxy id you are using to connect from your code in to the database is the key component of it. Another important aspect is beign able to record everything that is going on in an audit log that can be reviewed and shown to the auditor when asked. Oh, and DB2 can encrypt data both in database and on the wire but believe it or not, the first two features I talked about are actually more important for achieving compliance and staying in business. And these features apply to more then just PCI DSS. The same requirements exist for complying with privacy and corporate governance legislation.
There are also a lot of new functions that make DB2 run faster and make it more scalable like optimistic locking. Then there is a raft of functions that make it easier to manage, back up and recover if need be. There is also a brand new and, you guessed it, free IBM Data Studio for building database objects, working with XML and creating web services (both SOAP and RESTfull) but I will save these topics for another post.
November 01 2007 | Announcements and Uncategorized | 2 Comments »
I know it’s no longer news for many, but for some it might still be: IBM_DB 0.6.5 gem refresh is available at rubyibm on RubyForge (prepackaged for win32/*nixes, and source code under MIT). This is the first refresh since the production/stable release 0.6.0, and contains a few important fixes for db:schema:dump/load for boolean, XML data type default option, and a reconnect regression. To refresh your environment is as simple as with any other Ruby gem: “gem install ibm_db”, and choose the appropriate platform of your choice (i.e. ‘mswin32’ for Windows, or ‘ruby’ for any *nix flavour). The online documentation also serves a few simple install verification examples, too.
And yes, this is the same IBM_DB2 adapter and driver you first encountered while installing Starter Toolkit. It evolved a bit though, it became more mature, fit to support all DB2 platforms (Linux, Unix, Windows, zOS and i5 systems), and ready to expand its support to other IBM data servers. In fact, the gem install now available makes it so easy, that you may want to give it a try whenever you have a couple of minutes.
Here’s another hint, if you already have access to a DB2 server, you might even be interested to try a “thin” DB2 client environment: IBM DB2 Driver for ODBC and CLI, and the Rails enablement IBM_DB 0.6.5 gem. And that makes you ready to test your Rails application prototypes on existing DB2 8 or 9 data servers. No, I really mean it, just go download latest FP2 for IBM DB2 Driver for ODBC and CLI, unzip and place its bin in the path, then install IBM_DB gem and kick-start your db:migrate for a test.
And if you need help or you find something unexpected, make sure IBM_DB developers hear from you through rubyibm Forum or Tracker.
May 16 2007 | Announcements | Comments Off
Next »