Advertisement

Implementing Orthogonally Persistent Java

  • Alonso Marquez
  • Stephen M. Blackburn
  • Gavin Mercer
  • John Zigman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2135)

Abstract

Orthogonally persistent Java combines the power of abstraction over persistence with Java’s rich programming environment. In this paper we report our experience in designing and implementing orthogonally persistent Java. Our design approach is anchored by the view that any system that brings together Java and orthogonal persistence should as far as possible avoid diluting the strengths of Java or the principles of orthogonal persistence. Our approach is thus distinguished by three features: complete transparency of persistence, support for both intra and inter application concurrency through ACID transactions, and the preservation of Java’s property of portability. In addition to discussing design and implementation, we present results that show that our approach performs credibly.

Keywords

Real Object Java Virtual Machine Runtime Overhead Class Loader Java Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Atkinson et al. 1996]
    Atkinson, M. P., Jordan, M. J., Daynes, L., AND Spence, S. 1996. Design issues for Persistent Java: A type-safe, object-oriented, orthogonally persistent system. In R. Connor AND S. Nettles Eds., Seventh International Workshop on Persistent Object Systems (Cape May, NJ, U.S.A., May 1996), pp. 33–47. Morgan Kaufmann.Google Scholar
  2. [Atkinson and Morrison 1995]
    Atkinson, M. P. AND Morrison, R. 1995. Orthogonally persistent systems. The VLDB Journal 4,3 (July), 319–402.Google Scholar
  3. [Blackburn and Stanton 1999]
    Blackburn, S. M. AND Stanton, R. B. 1999. The transactional object cache: A foundation for high performance persistent system construction. In R. Morrison, M. Jordan, AND M. Atkinson Eds., Advances in Persistent Object Systems, Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3) Sept. 1–3, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 37–50. Morgan Kaufmann.Google Scholar
  4. [Blackburn and Zigman 1999]
    Blackburn, S. M. AND Zigman, J. N. 1999. Concurrency—The fly in the ointment? In R. Morrison, M. Jordan, AND M. Atkinson Eds., Advances in Persistent Object Systems, Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3) Sept. 1–3, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 250–258. Morgan Kaufmann.Google Scholar
  5. [Carey et al. 1993]
    Carey, M. J., DE Witt, D. J., AND Naughton, J. F. 1993. The OO7 benchmark. In P. Buneman AND S. Jajodia Eds., Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, Washington, D.C., May 26–28, 1993, Volume 22 of SIGMOD Record (June 1993), pp. 12–21. ACM Press.Google Scholar
  6. [Carey et al.]
    Carey, M. J., DeWitt, D. J., Franklin, M. J., Hall, N. E., McAuliffe, M. L., Naughton, J. F., Schuh, D. T., Solomon, M. H., Tan, C. K., Tsatalos, O. G., AND White, S. J. 1994. Shoring up persistent applications. In R. T. Snodgrass AND M. Winslett Eds., Proceedings on the 1994 ACM-SIGMOD Conference on the Management of Data, Volume 23 of SIGMOD Record (Minneapolis, MN, U.S.A., May 24–27 1994), pp. 383–394. ACM.Google Scholar
  7. [Daynès 2000]
    Daynès, L. 2000. Implementation of automated fine-granularity locking in a persistent programming language. Software: Practice and Experience 30,4 (April), 325–361.Google Scholar
  8. [GemStone Systems 1999]
    GEMSTONE SYSTEMS. 1999. GemStone/J. http://www.gemstone.com/.
  9. [Haerder and Reuter 1983]
    Haerder, T. AND Reuter, A. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys 15,4 (Dec.), 287–317.Google Scholar
  10. [He et al. 2000]
    He, Z., Blackburn, S. M., Kirby, L., AND Zigman, J. N. 2000. Platypus: Design and implementation of a flexible high performance object store. In Proceedings of the Ninth International Workshop on Persistent Object Systems, Lillehammer, Norway September 6–9, 2000 (2000).Google Scholar
  11. [Hohlfeld and Yee 1998]
    Hohlfeld, M. AND Yee, B. 1998. How to migrate agents. http://www.cs.ucsd.edu/users/bsy/pub/migrate.ps.
  12. [Jordan and Atkinson 1999]
    Jordan, M. J. AND Atkinson, M. P. 1999. Orthogonal persistence for Java?-A mid-term report. In R. Morrison, M. Jordan, AND M. Atkinson Eds., Advances in Persistent Object Systems, Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3) Sept. 1–3, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 335–352. Morgan Kaufmann.Google Scholar
  13. [Lewis et al.]
    Lewis, B., Mathiske, B., AND Gafter, N. 2000. Architecture of the PEVM: A high-performance orthogonally persistent Java virtual machine. In Proceedings of the Ninth International Workshop on Persistent Object Systems, Lillehammer, Norway September 6–9, 2000 (2000).Google Scholar
  14. [Marquez et al. 2000]
    Marquez, A., Zigman, J. N., AND Blackburn, S. M. 2000. Fast, portable orthogonally persistent Java. Software: Practice and Experience 30,4 (April), 449–479.Google Scholar
  15. [Moss 1992]
    Moss, J. E. B. 1992. Working with persistent objects: To swizzle or not to swizzle. IEEE Transactions on Software Engineering SE-18, 8 (August), 657–673.Google Scholar
  16. [Moss and Hosking 1996]
    Moss, J. E. B. AND Hosking, A. L. 1996. Approaches to adding persistence to Java. In M. Jordan AND M. Atkinson Eds., First International Workshop on Persistence and Java (Drymen, Scotland, September 16–18 1996). Available online at: http://www.dcs.gla.ac.uk/~carol/Workshops/PJ1Programme.html.
  17. [Sun Microsystems 1999]
    SUN MICROSYSTEMS. 1999. Java Data Objects Specification, JSR-12. http://java.sun.com/aboutjava/communityprocess/jsr (July), Sun Microsystems Inc., 2550 Garcia Avenue, Mountain View, CA 94043.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Alonso Marquez
    • 1
  • Stephen M. Blackburn
    • 2
  • Gavin Mercer
    • 1
  • John Zigman
    • 1
  1. 1.Department of Computer ScienceAustralian National UniversityCanberraAustralia
  2. 2.Department of Computer ScienceUniversity of MassachusettsAmherstUSA

Personalised recommendations