Patrick Linskey, BEA: Well this should be interesting. I'm Patrick Linskey, I work for BEA for more than about a year, before that I worked for a company called Solarmetric: That makes an object relational mapping framework.
BEA acquired us a year ago andI'm the lead of the team responsible for that and also getting involved in the rest of what BEA does with data. So I actually, from an ORM standpoint, get to solve two problems in one little kind of minute we have for talking here.
The gentleman on my left mentioned that object relational mapping is a band aid. I think that this is a very common perception. There's a strong desire to find this uber model, the one thing that can solve all of our persistence needs, and one way to do all that. And I think that the most important thing to remember about objects in databases is that the formatyou want to store your data in, and the format you want to use your data in, are almost never the same. So there's inherently almost always some sort of mapping that happens even if it's just taking the bits in memory and writing them to be bits on disk. There's still a transformation on to disk that is happening and you're exporting, memories are different constraints for loading that data back in etc.
So there's always some sort of a mapping happening, and the important thing is figuring out a solution that works for your business needs, your technical needs and that will work moving forward in the future. I think that the biggest thing there is the API that you use to interact with the data: The way that you access the data and the way you manage your transactions and the way that you manage your units of work and things like that. The mapping exercise, storing it into whatever format you might be using, ideally, if you can use a unified API for communicating with your data or some small number of unified APIs that are interoperable, then how you map your data becomes a tuning exercise. Whether you're storing data whether you're using an object database or a relational database or a LDAP store or a network database or a flat file or whatever, it becomes an exercise in politics and optimization. Rather than in kind of upfront, let's start designing, now we must decide how we are going to store our database.