Java EE Transaction Processing with Oracle RAC



Java EE has developed into an extremely mature and proven platform for the development of business applications. It provides a rich array of technologies and specifications for the design, development and deployment of many types of enterprise applications. This course focuses on how to develop transaction processing applications based on the foundations of Java EE, Oracle Real Application Clusters (RAC) and reliable messaging to provide the following capabilities:

  • High Performance (service and data layers)
  • High Availability (failover, load balancing, rolling upgrades)
  • High Resilience (fault tolerance, recovery)

The following concepts will be presented. Each concept will not only be explained conceptually but also practical examples and labs will be provided to demonstrate the use of each technology.

  • Transaction concepts such as local and distributed transactions including XA and 2PC
  • Java Transactions (JTS, JTA)
  • Java Persistence (JPA, Hibernate)
  • Introduction to Java Messaging (JMS, Oracle AQ, WebSphere MQ)
  • Introduction to Java Batch Processing (Java EE 7 RI on Glassfish)
  • Java EE ecosystem (EJB3, CDI, JSF)

Samples will be supplied for the Java EE 7 reference implementation based on Glassfish 4. Additional application servers can also be used as the basis for the course but some examples may not be available due to the lack of Java EE 7 specifications such as Java Batch (JSR 352).

In addition to the Java EE specifications the following technologies will also be presented, in most cases in comparison to Java EE specifications:

  • Hibernate in comparison to JPA
  • Spring in comparison to CDI
  • Spring Batch in comparison to Java Batch
This course comprises of a set of independent skills modules which can be taken separately or as a whole. If required a custom course can be constructed from these modules and detailed module overview including the table of contents and learning goals of each module is available on request.

You Will Learn

Solution architects and enterprise developers will learn the skills they require to help them design and implement reliable and fast transaction processing applications using Java EE and Oracle RAC. The guidelines and samples provided can be used as a starting point for the development of Java EE transaction processing applications as they include the best practices learned from previous projects.

Foundation Pack

Foundation Packs are self-contained educational lessons including base concepts, code and lab samples. They provide the fundamentals of a subject matter which can be built on in later modules and reused in projects. This course comprises of a foundation pack for Java EE Transaction Processing containing the following modules:

  • Transactions
    • Distributed transaction management using JTA and JTS
    • Database and queuing resource managers
    • Oracle Real Application Clustering (RAC) with failover of transactions
  • Reliability
    • Transaction recovery – shared transaction log files and database
    • Multiple Oracle RAC instances – services, ONS and FAN
    • JMS persistent queues
  • Availability
    • Application server clustering
    • Multiple RAC instances (with Data Guard standby) – Oracle Maximum Availability
    • WebSphere MQ shared queue managers
  • Management
    • Java Management Extensions (JMX), REST and a custom JSF management console
    • Data driven diagnostics for near-time problem analysis and capacity planning
    • Java EE and Oracle performance monitoring using tools such as i3 and BMC
  • Performance
    • Optimized JPA mapping and database modelling (sequences, indexes, partitioning)
    • Optimized JMS (WebSphere MQ) usage (message sizing <= 64K, groups)
    • Custom caching for various data life cycles (reference data to security authorization)

Extension Packs

The following additional Extension Packs for Java EE Transaction Processing can be taken together with the foundation package or independently:

  • Advanced Data Layer Performance Tuning:
    • Oracle RAC database modelling
    • Database partitions
    • Tuning JPA mappings
  • High Availability:
    • Integration of Oracle RAC transparent database failover with connection pools
    • Using Oracle RAC services and workload advisors for application partitioning
    • Cluster singletons
  • Zero Downtime Concepts
    • Managing database schema changes with Oracle 11g Edition Based Redefinition (EBR)
    • Disaster recovery with Oracle Active Data Guard
    • Replication and application management with Oracle GoldenGate

Target Skills

Java EE
Oracle RAC
High Availability

This is a list of the types of skills covered by this course

Contact Us

Your Name (required)

Your Email (required)


Your Message