A technique for providing a transaction management subsystem for an
enterprise computing environment in which multiple concurrent and/or
nested transactions may access the same Enterprise JavaBeans (EJBs)
simultaneously. The transaction management subsystem provides a view for
each transaction which includes an independent version of an EJB's
business logic and its instance data. When an application or application
user has made modifications to an EJB version and requests to commit the
modifications, a determination is first made as to whether committing the
modifications will result in an unacceptable data conflict with other
versions of the same EJB. If no unacceptable data conflict will occur, and
after resolution of those conflicts that can be resolved, the
modifications are committed. The management subsystem also supports nested
transactions, where each subtransaction may have an independent view of an
EJB. Subtransactions may commit or roll back independently. Changes made
by a transaction are represented using a tree structure that is internally
managed by the application.
Μια τεχνική για ένα διοικητικό υποσύστημα συναλλαγής για ένα επιχειρηματικό περιβάλλον στο οποίο οι πολλαπλάσιες ταυτόχρονες ή/και τοποθετημένες συναλλαγές μπορούν να έχουν πρόσβαση στην ίδια επιχείρηση JavaBeans (EJBs) ταυτόχρονα. Το διοικητικό υποσύστημα συναλλαγής παρέχει μια άποψη για κάθε συναλλαγή που περιλαμβάνει μια ανεξάρτητη έκδοση μιας επιχειρησιακής λογικής EJB και των στοιχείων περίπτωσής της. Όταν μια εφαρμογή ή ένας χρήστης εφαρμογής κάνει τις τροποποιήσεις σε μια έκδοση EJB και ζητά να δεσμεύσει τις τροποποιήσεις, ένας προσδιορισμός γίνεται αρχικά ως προς το εάν η παράδοση των τροποποιήσεων θα οδηγήσει σε ένα απαράδεκτο στοιχείο συγκρούεται με άλλες εκδόσεις του ίδιου EJB. Εάν καμία απαράδεκτη σύγκρουση στοιχείων δεν θα εμφανιστεί, και μετά από το ψήφισμα εκείνων των συγκρούσεων που μπορούν να επιλυθούν, οι τροποποιήσεις δεσμεύονται. Το διοικητικό υποσύστημα υποστηρίζει επίσης τις τοποθετημένες συναλλαγές, όπου κάθε subtransaction μπορεί να έχει μια ανεξάρτητη άποψη ενός EJB. Το Subtransactions μπορεί να δεσμεύσει ή να κυλήσει πίσω ανεξάρτητα. Οι αλλαγές που γίνονται από μια συναλλαγή αντιπροσωπεύονται χρησιμοποιώντας μια δομή δέντρων που ρυθμίζεται εσωτερικά από την εφαρμογή.