Advertisement

Informatik - Forschung und Entwicklung

, Volume 22, Issue 2, pp 59–69 | Cite as

Anwendungs- und Transaktionsisolation unter Java

  • Jens MüllerEmail author
  • Wilhelm G. Spruth
Reguläre Beiträge
  • 227 Downloads

Zusammenfassung

Die Java Platform, Enterprise Edition (Java EE, frühere Bezeichnung: J2EE) wurde entwickelt, um den Einsatz von Java in unternehmenskritischen Transaktionsanwendungen, wie etwa Finanzbuchhaltungs- oder Warenwirtschaftssystemen, zu ermöglichen. Die Programmierung ist jedoch immer noch sehr aufwendig, wenn es darum geht, die Isolation parallel laufender Transaktionen zu gewährleisten. Die Einhaltung der Transaktionsisolation ist eine Grundvoraussetzung, um die zugrunde liegenden Daten in einem konsistenten Zustand zu halten. Der vorliegende Beitrag analysiert die existierenden Probleme und gibt einen Überblick über die derzeitig verfügbaren oder diskutierten Lösungsansätze.

Schlagworte

ACID  Application Isolation API  Enterprise JavaBeans  Isolation  J2EE  Java EE  Java Virtual Machine  JSR-121  Multi-Tasking Virtual Machine  Persistent Reusable Java Virtual Machine  Virtual Machine Container  Transaktion 

Abstract

The Java Platform, Enterprise Edition (Java EE, previous term: J2EE) has been designed to permit the use of Java for mission critical transactional business applications such as financial accounting or enterprise resource planning systems. When programming such applications it is still difficult to assure the isolation between transactions executing in parallel. Compliance with transaction isolation is a basic requirement to keep underlying data in a consistent state. This paper analyses existing problems and gives an overview of the solutions that are presently available or under discussion.

Keywords

ACID  Application Isolation API  Enterprise JavaBeans  Isolation  J2EE  Java EE  Java Virtual Machine  JSR-121  Multi-Tasking Virtual Machine  Persistent Reusable Java Virtual Machine  Virtual Machine Container  Transaction 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. 1.
    Appel AW (1989) Simple generational garbage collection and fast allocation. Source Softw Pract Exp 19(2):171–183, URL http://www.cs.princeton.edu/∼appel/papers/143.psCrossRefMathSciNetGoogle Scholar
  2. 2.
    Beyerle M, Franz J, Spruth WG (2005) Persistent Reusable Java Virtual Machine unter z/OS und Linux. Informatik Forsch Entw 20(1–2):102–111, URL http://www-ti.informatik.uni-tuebingen.de/∼spruth/Mirror/pers28.pdfCrossRefGoogle Scholar
  3. 3.
    Borman S, Paice S, Webster M, Trotter M, McGuire R, Stevens A, Hutchison B, Berry R (2000) A Serially Reusable Java Virtual Machine Implementation for High Volume, Highly Reliable, Transaction Processing. Technical Report TR 29.3406, IBM Hursley, URL http://www.ibm.com/servers/eserver/zseries/software/java/pdf/29.3406.pdfGoogle Scholar
  4. 4.
    Cramer T, Friedman R, Miller T, Seberger D, Wilson R, Wolczko M (1997) Compiling Java Just in Time. IEEE Micro 17(3):36–43CrossRefGoogle Scholar
  5. 5.
    Czajkowski G, Daynès L (2001) Multitasking without Compromise: a Virtual Machine Evolution. In: Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press, New York. pp 125–138, URL http://research.sun.com/projects/barcelona/papers/oopsla01.pdfGoogle Scholar
  6. 6.
    Czajkowski G, Daynès L, Nystrom N (2002) Code Sharing among Virtual Machines. In: Proceedings of the 16th European Conference on Object-Oriented Programming. Springer, Berlin, Heidelberg, New York. pp 155–177, URL http://research.sun.com/projects/barcelona/papers/ecoop02.pdfGoogle Scholar
  7. 7.
    Czajkowski G, Daynès L, Wolczko M (2001) Automated and Portable Native Code Isolation. Technical Report TR-2001-96, Sun Microsystems, URL http://research.sun.com/techrep/2001/abstract-96.htmlGoogle Scholar
  8. 8.
    Czajkowski G, Hahn S, Skinner G, Soper P (2002) Resource Consumption Interfaces for Java Application Programming – a Proposal. In: Proceedings of the 16th European Conference on Object-Oriented Programming. Springer, Berlin, Heidelberg, New York. pp 6–7, URL http://www.ovmj.org/workshops/resman/resman02.tar.gzGoogle Scholar
  9. 9.
    Czajkowski G, Hahn S, Skinner G, Soper P, Bryce C (2003) A Resource Management Interface for the Java Platform. Technical Report TR-2003-124, Sun Microsystems, URL http://research.sun.com/techrep/2003/abstract-124.htmlGoogle Scholar
  10. 10.
    Dillenberger D, Bordawekar R, Clark III CW, Durand D, Emmes D, Gohda O, Howard S, Oliver MF, Samuel F, St. John RW (2000) Building a Java virtual machine for server applications: The Jvm on OS/390. IBM Syst J 39(1):194–210, URL http://www.research.ibm.com/journal/sj/391/dillenberger.pdfCrossRefGoogle Scholar
  11. 11.
    Gosling J, Joy B, Steele G, Bracha G (2005) The Java Language Specification. 3rd edn. Addison-Wesley, BostonGoogle Scholar
  12. 12.
    Hammerschall U (2002) Applikations-Server – gestern, heute, morgen? JavaSPEKTRUM 09/2002:22–26, sep. 2002Google Scholar
  13. 13.
    Hawblitzel C, von Eicken T (1999) Tasks and Revocation for Java (or, Hey! You got your Operating System in my Language!), URL http://www.cs.cornell.edu/Info/People/hawblitz/PLDI2000-submit/luna-99-11-13.psGoogle Scholar
  14. 14.
    Heiss JJ (2005) The Multi-Tasking Virtual Machine: Building a Highly Scalable JVM. Sun Developer Network, URL http://java.sun.com/developer/technicalArticles/Programming/mvm/Google Scholar
  15. 15.
    Herrmann P, Kebschull U, Spruth WG (2003) Einführung in z/OS und OS/390. 2nd edn. Oldenbourg, MünchenGoogle Scholar
  16. 16.
    IBM Corp (2002) Enterprise JavaBeans for z/OS and OS/390 CICS Transaction Server V2.2. IBM ITSO. 2nd edn.Google Scholar
  17. 17.
    IBM Corp (2003) Persistent Reusable Java Virtual Machine User’s Guide. IBM ITSO. 5th edn. URL http://www.ibm.com/servers/eserver/zseries/software/java/pdf/prjvm14.pdfGoogle Scholar
  18. 18.
    IBM Corp (2005) Language Environment Concepts Guide. IBM ITSO. 7th edn. URL http://publibz.boulder.ibm.com/epubs/pdf/ceea8160.pdfGoogle Scholar
  19. 19.
    Java Community Process (2006) JSR-000121 Application Isolation API Specification (Final Release), URL http://jcp.org/aboutJava/communityprocess/final/jsr121/Google Scholar
  20. 20.
    Java Community Process (2006) JSR-000284 Resource Consumption Management API (Public Review Draft), URL http://jcp.org/aboutJava/communityprocess/pr/jsr284/Google Scholar
  21. 21.
    Jordan M, Czajkowski G, Kouklinski K, Skinner G (2003) Extending a J2EE Server with Dynamic and Flexible Resource Management. In: Proceedings of the 5th ACM/IFIP/USENIX International Conference on Middleware. Springer, Berlin, Heidelberg, New York. pp 439–458, URL http://research.sun.com/projects/barcelona/papers/middleware04.pdfGoogle Scholar
  22. 22.
    Jordan M, Daynès L, Czajkowski G, Jarzab M, Bryce C (2004) Scaling J2EE Application Servers with the Multi-Tasking Virtual Machine. Technical Report TR-2004-135, Sun Microsystems, Inc, URL http://research.sun.com/techrep/2004/abstract-135.htmlGoogle Scholar
  23. 23.
    Krause J, Plattner B (2000) Safe Class Sharing among Java Processes. Technical Report 3230, IBM Research, Zurich Research Laboratory, URL http://www.zurich.ibm.com/pdf/rz3230.pdfGoogle Scholar
  24. 24.
    Kuck N, Kuck H, Lott E, Rohland C, Schmidt O (2002) SAP VM Container: Using Process Attachable Virtual Machines to Provide Isolation and Scalability for Large Servers. Work-in-Progress Report, 2nd Java Virtual Machine Research and Technology Symposium, URL http://www.bitser.net/isolate-interest/papers/PAVM.pdfGoogle Scholar
  25. 25.
    Liang S, Bracha G (1998) Dynamic Class Loading in the Java Virtual Machine. In: Proceedings of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press, New York. pp. 36–44, URL http://www.bracha.org/classloaders.psGoogle Scholar
  26. 26.
    Lindholm T, Yellin F (1999) The Java Virtual Machine Specification. 2nd edn. Addison-Wesley, BostonGoogle Scholar
  27. 27.
    Müller J (2005) Anwendungs- und Transaktionsisolation unter Java. Diplomarbeit, Wilhelm-Schickard-Institut für Informatik, Eberhard Karls Universität Tübingen, URL http://www-ti.informatik.uni-tuebingen.de/∼spruth/DiplArb/jmueller.pdfGoogle Scholar
  28. 28.
    Sandén B (2004) Coping with Java Threads. IEEE Comput 37(4):20–27Google Scholar
  29. 29.
    SAP AG (2006) Application Server’s Robustness and High Availability, URL https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/73a16f1d-0e01-0010-95a6-a4f66ca1a65eGoogle Scholar
  30. 30.
    SAP AG (2007) Documentation for SAP NetWeaver Release 7.0, URL http://help.sap.com/saphelp_nw70/helpdata/en/Google Scholar
  31. 31.
    Silberschatz A, Galvin PB, Gagne G (2004) Operating System Concepts. 7th edn. John Wiley&Sons, New YorkGoogle Scholar
  32. 32.
    Smits T (2004) Unbreakable Java – A Java server that never goes down. JDJ 9(12):54–56, URL http://pdf.sys-con.com/Java/JDJDecember2004.pdfGoogle Scholar
  33. 33.
    Sun Microsystems, Inc (2004) The Multitasking Virtual Machine. Sun Inner Circle Newsletter, URL http://www.sun.com/emrkt/innercircle/newsletter/0404cto.htmlGoogle Scholar
  34. 34.
    Sun Microsystems, Inc (2006) JDK 6 Documentation: Java Thread Primitive Deprecation, URL http://java.sun.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.htmlGoogle Scholar
  35. 35.
    Sun Microsystems, Inc (2006) Multi-Tasking Virtual Machine Download, URL http://research.sun.com/projects/barcelona/mvm/Google Scholar
  36. 36.
    Sun Microsystems, Inc (2003) J2EE Connector Architecture Specification Version 1.5, URL http://java.sun.com/j2ee/connector/download.htmlGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Wilhelm-Schickard-Institut für Informatik, Arbeitsbereich Technische InformatikUniversität TübingenTübingenDeutschland
  2. 2.Institut für Informatik, Abteilung ComputersystemeUniversität LeipzigLeipzigDeutschland

Personalised recommendations