Skip to Main Content
Transparent and seamless integration is essential for service-oriented system engineering. This paper targets the integration of data access systems and Java. The access system can service simple data queries or complex transactions. Examples of access systems include accesses to XML databases and language objects. The integration is two-fold: space integration and time integration. Transparent space integration allows new access functions to be added to a Java class when a new access system becomes available, even without the source code of that Java class. Ultimate integration enables an object in the data access system to be accessed as a plain old Java object (pojo). As the industry put more and more computing cores into a single socket, computers are becoming even more powerful. Oftentimes the concurrency control is the bottleneck which prevents data-sharing application software from fully utilizing the available computing power. We provide time integration by adding the concept of concurrency control on the access systems into Java and coordinate the control across Java runtime environment and the access systems. For instance, we integrate the transaction processing in the database and the concurrency control in the Java runtime environment. Thus, our integrated system, called DJ, provides both efficient concurrency control and intuitive programming model via time and space integration, respectively. This paper present the overall DJ system and then focus on the algorithms of two key components, extension methods and concurrency offloading.