Enterprise applications often have to work with data from multiple databases. Rather than directly connecting an application to several databases, an intermediary layer on top of a database can expose database data more conveniently to the middle tier.
Some intermediary data services provide a Web service interface to the data, but it is also possible for that intermediary tier to be a JDBC-accessible virtual database. Such a virtual database can then provide its own schema, pulling data from possibly several underlying databases.
In this interview with Artima, JBoss CTO Sacha Labourey talks about one such intermediate virtual database, MetaMatrix, that his company recently acquired. JBoss will soon make MetaMatrix's technology available under an open-source license.
Labourey highlights some of the benefits of using an intermediate virtual database tier for applications that wish to avoid tight coupling with legacy database schema:
There are multiple forms of lock-ins [to a database]. First, there is vendor lock-in. If you use Oracle, then you may have a lock-in there. The other form of lock-in is into a specific database schema.
[Using a virtual layer] can help you eliminate both forms of lock-in. First, the vendor lock-in, because you are not targeting a specific vendor, you are targeting this virtual intermediary layer. In the intermediary layer, you are going to define the virtual schema, and that means you don't ... have to use the same schema as the back-end [provides]. You can have a different schema. If you one day have to change your back-end schema, you do that, and then just update the intermediary schema so that it maps to that new schema.
|Sacha Labourey, CTO of JBoss, describes the benefits of a virtual database tier. (10 minutes 10 seconds)|
What techniques do you prefer when you have to access multiple legacy databases from one application?Post your opinion in the discussion forum.
Bill Venners is president of Artima, Inc. He is author of the book, Inside the Java Virtual Machine, a programmer-oriented survey of the Java platform's architecture and internals. His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Bill has been active in the Jini Community since its inception. He led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services. Bill also serves as an elected member of the Jini Community's initial Technical Oversight Committee (TOC), and in this role helped to define the governance process for the community.
Frank Sommers is Editor-in-Chief of Artima Developer. He also serves as chief editor of the IEEE Technical Committee on Scalable Computing's newsletter, and is an elected member of the Jini Community's Technical Advisory Committee. Prior to joining Artima, Frank wrote the Jiniology and Web services columns for JavaWorld.