You are here

Transaction Management in Java Enterprise Edition Applications

Description:

Transactions allow your data to retain integrity and consistency when multiple programs access and modify data simultaneously, operations on data fail with partial completion, or even after some cases of system failure.

Designing non-trivial transactional systems require careful consideration to transaction model and strategies. They define the degree of parallelism that you can achieve in an application along with throughput. Row, table, or database locking, duration of transactions (short, medium, long running), distributed data stores and application data caching mechanisms all define the best transactional model and strategies to be used.

This training takes you through a serious look at transaction management in Java Enterprise Edition applications.

Target Groups:

  1. Java Enterprise Edition application developers (software engineers, designers, software architects)

Prerequisites:

  1. You should be familiar with Java EE application development. This training is not for those who do not have clues about transaction management.
  2. Frameworks like Spring, JPA, Hibernate will also be referenced during this training. Having some understanding about them is advantageous.

Communication Language:

English

Duration:

5 hours (Delivered with hands-on lab exercises).

Facilitator:

Kamal Wickramanayake (Profile)

Training Content:

  1. Introduction
    • Defining a transaction
    • Purpose of transactions
    • Short and long running transactions
    • Optimestic and pessimestic locking
    • Classifying implementation models
    • Classifying implementation strategies
  2. ACID Properties of a Transaction
    • Atomicity
    • Consistency
    • Isolation
    • Durability
  3. Local Transaction Model
    • Implementation options
    • Default isolation level of a database
    • JDBC default isolation level
    • Committ and write delays in databases
    • Advantages/disadvantages
  4. Programmatic Transaction Model
    • Using a transaction manager of a container
    • UserTransaction object
    • Distributed transactions
    • Transaction and thread association
    • Transaction and JDBC connection association
    • Nested transactions
    • Advantages/disadvantages
  5. Declarative Transaction Model
    • Transactional attributes
    • Advantages/disadvantages
  6. Client Orchestration Transaction Strategy
    • Example cases
    • Protocol requirements
    • Possible implementation models
    • Advantages/disadvantages
  7. Business API Layer Transaction Strategy
    • Example cases
    • Possible implementation models
    • Advantages/disadvantages
  8. High Concurrency Transaction Strategy
    • Example cases
    • Ways to reduce locking periods
    • Possible implementation models
    • Advantages/disadvantages
  9. High Speed Processing Transaction Strategy
    • Example cases
    • Possible implementation models
    • Advantages/disadvantages