Building block 3 - object relational mapping engine

Building block 3 - object relational mapping engine: Service’s access to the databases is done via object relational mapping (ORM) in the PLASH platform. The ORM engine in PLASH platform is implemented by Hibernate framework as described in the yellow box on the bottom of Fig. 1. The Hibernate framework is a commonly used ORM framework in enterprise systems. The main reason for having ORM engine as the agent to perform database access is that this intermediate agent will take the responsibility of understanding query languages and database configurations which vary from implementation to implementation. Currently the following databases are supported by the PLASH platform – Oracle, DB2, Microsoft SQL server, MySQL, PostgreSQL and Sybase SQL server.

Other methods to access database are also available. Direct access to database is possible but is only limited to internal services. This design is to reserve a raw communication channel to database as programmers may encounter issues regarding performance or object-relational impedance mismatch. On the other hand, JDBC transport built on the service bus of PLASH platform is also capable to provide database access and handle heterogeneous databases. However the programming work needed to master JDBC transport is more than that of Hibernate.

Finally, clients usually do not access the database. Rather, services should handle the data storage and retrieval for clients. However, if needed, a client can obtain access permission from the PLASH platform and connects to the database via JDBC transport. In this manner security can be enforced.