Mike Dean wrote:
> Hello all,
> I am considering using Webware (specifically MiddleKit, for the time
> being) for an application I am working on to manage farm records. I'd
> like to use MiddleKit (or something like it) so that I can move the
> application very quickly between platforms (its first incarnation will
> be for Windows, but Linux and the Web are potential targets as well).
> But I have a couple of questions...
If portability is your goal, you could just stick with simple, portable SQL
and use the DB-API for database access. Using mxODBC (which costs $ for
commercial use) you can access any Windows database using the DB-API, and
there are also DB-API adapters for MySQL, PostgreSQL, etc.
In other words, I probably wouldn't choose MiddleKit just for its
portability -- I would choose it for all of the other reasons you would want
to use an object-relational mapper.
> First, are there any major performance or other issues with using
> MiddleKit's object-oriented data approach versus directly
> accessing the
> data with SQL and a db module? I've never used an ORM, so I
> am quite in
> the dark as to its relative merits performance-wise.
I don't remember seeing any performance numbers. MiddleKit will be much
slower than direct SQL calls if you are doing the equivalent of a SQL join,
because MiddleKit doesn't use SQL joins to pull in data from related tables,
but instead must use separate queries. On the other hand, MiddleKit does
caching which may speed up simple object access. I suppose there are some
applications where MiddleKit would prove to be faster, and some applications
where direct SQL would be faster.
> Also, how difficult is it to write a database adapter for MiddleKit?
> I'd like to be able to serialize my data to Access and MS SQL Server
> databases. I'd be more than willing to work on writing such adapters
> should I choose to use Middle Kit. And how closely tied is
> core to the SQL-way of thinking? Would it be very difficult
> to write an
> adapter that stores its data in a 'non-traditional' database like
There is already a MiddleKit MS SQL Server adapter that uses the mxODBC
package. It should be really simple to write an MS Access adapter too.
Using a non-SQL database is possible but would certainly require more work
than simply supporting another SQL database, because it hasn't been done
> And one final question - is anything being done to (optionally) take
> advantage of some of the more bleeding-edge Python features
> (specifically iterators and properties)?
Not to my knowledge. But I can definitely see how MiddleKit could certainly
benefit from both properties and iterators.