SlideShare a Scribd company logo
Web logic classes in mumbai
 Why use transactions? 
 What capabilities does BEA WebLogic Server 
6.0 provide? 
 How to program? 
 How to configure and monitor? 
 References 
 Questions & Answers
 Ensure data integrity when accessing more 
than one data store, especially in distributed 
environment 
 Simple model for application programmer: 
AA - atomic 
CC - consistent 
II - isolated 
DD - durable
 A transaction is a higher-level unit of work 
than a database query or an object 
invocation 
BEA WebLogic Server allows transactions to be 
given a semantic name (“TransferFunds” or 
“ReserveSeat” or “CheckOut”) 
Transaction Name is reported in error messages 
Statistics subtotals categorized by Transaction 
Name
 Transactions are subject to timeout 
30 second default 
 Application code (or the EJB container) can 
mark a transaction “rollback only” 
 In an overloaded system, BEA WebLogic 
Server: 
Times out requests (who waits 30+ seconds for a 
Web page to return?) 
Avoids wasted work on “doomed” transactions 
Eventually refuses to begin new transactions 
when there are too many already running 
(configurable parameter)
 Multiple servers may participate in a distributed 
transaction 
 Clustered or non-clustered 
 Need not be in same administrative domain 
 Requires connectivity and permissions 
 Clients may initiate transactions and infect 
multiple servers 
 Commit responsibility is handed off to a server 
 Clients may not enlist resources or register 
synchronization callbacks 
 Multiple XA resources may participate in same 
transaction 
 More than one coordinated by “two-phase commit” 
algorithm
 JDBC 
Recognized any JDBC driver that implements 
JDBC 2.0 XA extensions 
BEA provides Type 2 XA driver for Oracle 8.1.6 
client 
JDBC wrapper enhances performance 
 JMS 
Supports XA, can participate in JTA transactions 
All storage types: database, file, non-persistent 
 EJB 
Automatically manages transactions based on 
EJB’s deployment descriptor
Transaction 
Manager 
XA-Capable 
Resource 
EJB Container 
Application 
JDBC 
JTA Wrapper 
JDBC 
JMS 
XA 
JDBC 
JTA
 Boxcar algorithm for multiple commit 
records per I/O 
 One-phase commit optimization 
 Read-only branch optimization 
 Dynamic resource enlistment optimization 
 Piggy-back transaction propagation 
 Multiple operations per coordination message 
 Asynchronous, parallel coordination 
architecture with retry
 Good news! In many cases, transactions are 
controlled by the EJB Container, and an 
application programmer writes no code for 
transactions 
 The UserTransaction object provides simple 
begin/commit/rollback functionality for 
applications that need to explicitly demarcate 
transaction boundaries 
 More powerful transaction objects normally used 
by the Application Server and EJB Container are 
available to applications with complex 
transactional requirements 
 BEA WebLogic Server extensions for convenience 
and added value
 UserTransaction 
 Basic methods to begin, commit, rollback transactions 
and get/set status 
 TransactionManager 
 Adds suspend, resume, get thread’s current Transaction 
object 
 Transaction 
 Represents on transaction, controls enlistment and 
synchronization 
 Synchronization 
 Callback interface for before/after completion 
notification 
 XAResource 
 Xid 
 Various exceptions and status codes
 weblogic.transaction.TxHelper 
Static methods to get Transaction, 
UserTransaction, and TransactionManager 
objects 
 weblogic.transaction.Transaction 
Get/set transaction name, transaction properties 
Get/set rollback reason 
Get timeout information 
Get Xid 
 weblogic.transaction.TransactionManager 
XA resource registration 
Get transaction object by Xid 
Force suspend/resume (without XA calls)
 Transaction Timeout Seconds 
Default number of seconds for transaction timeout, 
unless overridden by API call or EJB container 
 Abandon Timeout Seconds 
After X number of seconds, stop trying to resolve 
branch(es) of a committed transaction and log an 
error 
Should never happen unless resource dies during 
commit processing and does not come back 
 Forget Heuristics 
When resource reports a heuristic completion, log an 
error message and then tell resource to “forget”about 
that transaction
 Before Completion Iteration Limit 
Maximum number of times a server will iterate 
through registered Synchronization objects for 
the same transaction 
Prevents infinite loops when one Synchronization 
callback causes another Synchronization object 
registration 
 Max Transactions 
Maximum number of transactions that can be 
simultaneously active on a server 
 Max Unique Name Statistics 
Maximum number of transaction names 
remembered for categorizing statistic subtotals
Web logic classes in mumbai
 Transaction Log File Prefix 
Each server that coordinates a two-phase commit 
transaction writes to the transaction log at commit 
time and reads the transaction log during crash 
recovery 
A transaction log is stored in multiple files 
 Space is reclaimed automatically 
 Never delete these files 
Default location is server’s current directory 
Highly reliable file system is recommended (RAID, 
etc.) 
File naming convention: 
Prefix + ServerName + 9999 + “.tlog” (9999 = unique number)
 Transaction branches 
Connection pool name determines transaction 
branch qualifier 
Different pool names cause separate branches, 
even if connected to same database 
Databases typically provide lock isolation 
between branches, shared locks within a branch 
Benefits of multiple branches: 
 Lock isolation protects independently developed 
components from unexpected cross-interference 
Drawbacks of multiple branches: 
 Lock conflicts can cause deadlock/timeout 
 More overhead in transaction coordination, more XA 
calls
 JDBCTxDataSource wrapper for non-XA 
database drivers 
If EnableTwoPhaseCommit=“false” (the default) 
and a non-XA JDBC driver is supplied, commit() 
will fail unless this is the only transaction 
participant 
If EnableTwoPhaseCommit=“true” a non-XA JDBC 
driver may participate in a transaction with 
multiple participants, however there is a risk 
that the non-XA driver might fail at commit time 
 This is reported as a heuristic rollback exception
 Counters 
Overall 
Subtotal by XAResource 
Subtotal by Transaction name 
 Specific transactions 
List transactions more than XX seconds old 
“Old” transactions are the most interesting ones
Web logic classes in mumbai
Web logic classes in mumbai
Web logic classes in mumbai
Web logic classes in mumbai
 Ongoing integration testing and cooperation 
with XA resource providers 
 Support for transaction export/import 
to/from external systems via interposed 
gateway architecture 
 Additional internal enhancements for 
reliability, overload tolerance, and 
performance 
 Additional management, monitoring, 
statistics
 Specifications 
http://www.java.sun.com/products/jta 
http://www.java.sun.com/j2ee 
 BEA WebLogic Server 6.0 Documentation 
http://e-docs.bea.com 
 News Group 
news://newsgroups.bea.com/weblogic.develope 
r.interest.transaction
Web logic classes in mumbai

More Related Content

PPT
Weblogic - overview of application server
PPTX
Overview of atg framework
PPTX
Jasig Cas High Availability - Yale University
PPTX
ATG Architecture
PPTX
Web Basics
PPTX
Session 39 - Hibernate - Part 1
PPTX
ATG - Web Commerce @ Your Figertips
PPTX
ATG Framework,Formhandlers,Pricing
Weblogic - overview of application server
Overview of atg framework
Jasig Cas High Availability - Yale University
ATG Architecture
Web Basics
Session 39 - Hibernate - Part 1
ATG - Web Commerce @ Your Figertips
ATG Framework,Formhandlers,Pricing

What's hot (20)

PPTX
State management
PPTX
NoSQL Endgame LWJUG 2021
PPTX
Academy PRO: HTML5 Data storage
PDF
The First Contact with Java EE 7
PDF
Exchange CAS server | Proxy versus redirection | 4#23
PDF
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
PPT
SQL Server 2008 Positioning
PPTX
Search engine optimization (seo) from Endeca & ATG
DOCX
Authorization in active directory
PPTX
TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”
PPT
z/Ware 2.0 Technical Overview
PPTX
Building RESTfull Data Services with WebAPI
PDF
ATG Product Modules [INTERESTING VIEW]
PDF
Autodiscover flow in active directory based environment part 15#36
PPT
ATG - Common Terminologies
PPTX
Dotnet caching techniques
PPTX
[Java eeconf 2016] spring jta principles of work with transactions. Dmytro S...
PPTX
Oracle Endeca Developer's Guide
DOC
Web services
PPTX
Chapter 8 part1
State management
NoSQL Endgame LWJUG 2021
Academy PRO: HTML5 Data storage
The First Contact with Java EE 7
Exchange CAS server | Proxy versus redirection | 4#23
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
SQL Server 2008 Positioning
Search engine optimization (seo) from Endeca & ATG
Authorization in active directory
TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”
z/Ware 2.0 Technical Overview
Building RESTfull Data Services with WebAPI
ATG Product Modules [INTERESTING VIEW]
Autodiscover flow in active directory based environment part 15#36
ATG - Common Terminologies
Dotnet caching techniques
[Java eeconf 2016] spring jta principles of work with transactions. Dmytro S...
Oracle Endeca Developer's Guide
Web services
Chapter 8 part1
Ad

Viewers also liked (6)

PPT
Web Logic Jboss Final
PDF
Capacity guide
PPSX
Oracle Weblogic 12 c
PDF
Bea Weblogic
PDF
Introduction to weblogic
PPT
Unix Administration 1
Web Logic Jboss Final
Capacity guide
Oracle Weblogic 12 c
Bea Weblogic
Introduction to weblogic
Unix Administration 1
Ad

Similar to Web logic classes in mumbai (20)

PPT
BEA_eworld_2001_jta.ppt
PPT
09 transactions new1
PPT
09 transactions new
PDF
Java Distributed Transactions
PPT
Rollin onj Rubyv3
PPTX
Geode transactions
PPTX
Geode Transactions by Swapnil Bawaskar
PPTX
Transaction and concurrency pitfalls in Java
PPT
Session 9 Tp9
PDF
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
PDF
Atomic Service Transactions
PPTX
Server system architecture
PPTX
EJB 3.0 course Sildes and matrial
PPT
J2ee Transaction Overview
PPTX
Distributed Transaction Management in Spring & JEE
PDF
Bea weblogic job_interview_preparation_guide
PDF
Case Study of Financial Web System Development and Operations with Oracle Web...
PPT
Architecture of eSobi club based on J2EE
PPTX
Transaction management transparencies
PPTX
Advanced Java Programming - Enterprise Java Beans client
BEA_eworld_2001_jta.ppt
09 transactions new1
09 transactions new
Java Distributed Transactions
Rollin onj Rubyv3
Geode transactions
Geode Transactions by Swapnil Bawaskar
Transaction and concurrency pitfalls in Java
Session 9 Tp9
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Atomic Service Transactions
Server system architecture
EJB 3.0 course Sildes and matrial
J2ee Transaction Overview
Distributed Transaction Management in Spring & JEE
Bea weblogic job_interview_preparation_guide
Case Study of Financial Web System Development and Operations with Oracle Web...
Architecture of eSobi club based on J2EE
Transaction management transparencies
Advanced Java Programming - Enterprise Java Beans client

More from Vibrant Technologies & Computers (20)

PPT
Buisness analyst business analysis overview ppt 5
PPT
SQL Introduction to displaying data from multiple tables
PPT
SQL- Introduction to MySQL
PPT
SQL- Introduction to SQL database
PPT
ITIL - introduction to ITIL
PPT
Salesforce - Introduction to Security & Access
PPT
Data ware housing- Introduction to olap .
PPT
Data ware housing - Introduction to data ware housing process.
PPT
Data ware housing- Introduction to data ware housing
PPT
Salesforce - classification of cloud computing
PPT
Salesforce - cloud computing fundamental
PPT
SQL- Introduction to PL/SQL
PPT
SQL- Introduction to advanced sql concepts
PPT
SQL Inteoduction to SQL manipulating of data
PPT
SQL- Introduction to SQL Set Operations
PPT
Sas - Introduction to designing the data mart
PPT
Sas - Introduction to working under change management
PPT
SAS - overview of SAS
PPT
Teradata - Architecture of Teradata
PPT
Teradata - Restoring Data
Buisness analyst business analysis overview ppt 5
SQL Introduction to displaying data from multiple tables
SQL- Introduction to MySQL
SQL- Introduction to SQL database
ITIL - introduction to ITIL
Salesforce - Introduction to Security & Access
Data ware housing- Introduction to olap .
Data ware housing - Introduction to data ware housing process.
Data ware housing- Introduction to data ware housing
Salesforce - classification of cloud computing
Salesforce - cloud computing fundamental
SQL- Introduction to PL/SQL
SQL- Introduction to advanced sql concepts
SQL Inteoduction to SQL manipulating of data
SQL- Introduction to SQL Set Operations
Sas - Introduction to designing the data mart
Sas - Introduction to working under change management
SAS - overview of SAS
Teradata - Architecture of Teradata
Teradata - Restoring Data

Recently uploaded (20)

DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
master seminar digital applications in india
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Cell Types and Its function , kingdom of life
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
Updated Idioms and Phrasal Verbs in English subject
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Lesson notes of climatology university.
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
What if we spent less time fighting change, and more time building what’s rig...
Microbial disease of the cardiovascular and lymphatic systems
Paper A Mock Exam 9_ Attempt review.pdf.
Microbial diseases, their pathogenesis and prophylaxis
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
master seminar digital applications in india
Yogi Goddess Pres Conference Studio Updates
Computing-Curriculum for Schools in Ghana
Cell Types and Its function , kingdom of life
History, Philosophy and sociology of education (1).pptx
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
Updated Idioms and Phrasal Verbs in English subject
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
LDMMIA Reiki Yoga Finals Review Spring Summer
Final Presentation General Medicine 03-08-2024.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Lesson notes of climatology university.

Web logic classes in mumbai

  • 2.  Why use transactions?  What capabilities does BEA WebLogic Server 6.0 provide?  How to program?  How to configure and monitor?  References  Questions & Answers
  • 3.  Ensure data integrity when accessing more than one data store, especially in distributed environment  Simple model for application programmer: AA - atomic CC - consistent II - isolated DD - durable
  • 4.  A transaction is a higher-level unit of work than a database query or an object invocation BEA WebLogic Server allows transactions to be given a semantic name (“TransferFunds” or “ReserveSeat” or “CheckOut”) Transaction Name is reported in error messages Statistics subtotals categorized by Transaction Name
  • 5.  Transactions are subject to timeout 30 second default  Application code (or the EJB container) can mark a transaction “rollback only”  In an overloaded system, BEA WebLogic Server: Times out requests (who waits 30+ seconds for a Web page to return?) Avoids wasted work on “doomed” transactions Eventually refuses to begin new transactions when there are too many already running (configurable parameter)
  • 6.  Multiple servers may participate in a distributed transaction  Clustered or non-clustered  Need not be in same administrative domain  Requires connectivity and permissions  Clients may initiate transactions and infect multiple servers  Commit responsibility is handed off to a server  Clients may not enlist resources or register synchronization callbacks  Multiple XA resources may participate in same transaction  More than one coordinated by “two-phase commit” algorithm
  • 7.  JDBC Recognized any JDBC driver that implements JDBC 2.0 XA extensions BEA provides Type 2 XA driver for Oracle 8.1.6 client JDBC wrapper enhances performance  JMS Supports XA, can participate in JTA transactions All storage types: database, file, non-persistent  EJB Automatically manages transactions based on EJB’s deployment descriptor
  • 8. Transaction Manager XA-Capable Resource EJB Container Application JDBC JTA Wrapper JDBC JMS XA JDBC JTA
  • 9.  Boxcar algorithm for multiple commit records per I/O  One-phase commit optimization  Read-only branch optimization  Dynamic resource enlistment optimization  Piggy-back transaction propagation  Multiple operations per coordination message  Asynchronous, parallel coordination architecture with retry
  • 10.  Good news! In many cases, transactions are controlled by the EJB Container, and an application programmer writes no code for transactions  The UserTransaction object provides simple begin/commit/rollback functionality for applications that need to explicitly demarcate transaction boundaries  More powerful transaction objects normally used by the Application Server and EJB Container are available to applications with complex transactional requirements  BEA WebLogic Server extensions for convenience and added value
  • 11.  UserTransaction  Basic methods to begin, commit, rollback transactions and get/set status  TransactionManager  Adds suspend, resume, get thread’s current Transaction object  Transaction  Represents on transaction, controls enlistment and synchronization  Synchronization  Callback interface for before/after completion notification  XAResource  Xid  Various exceptions and status codes
  • 12.  weblogic.transaction.TxHelper Static methods to get Transaction, UserTransaction, and TransactionManager objects  weblogic.transaction.Transaction Get/set transaction name, transaction properties Get/set rollback reason Get timeout information Get Xid  weblogic.transaction.TransactionManager XA resource registration Get transaction object by Xid Force suspend/resume (without XA calls)
  • 13.  Transaction Timeout Seconds Default number of seconds for transaction timeout, unless overridden by API call or EJB container  Abandon Timeout Seconds After X number of seconds, stop trying to resolve branch(es) of a committed transaction and log an error Should never happen unless resource dies during commit processing and does not come back  Forget Heuristics When resource reports a heuristic completion, log an error message and then tell resource to “forget”about that transaction
  • 14.  Before Completion Iteration Limit Maximum number of times a server will iterate through registered Synchronization objects for the same transaction Prevents infinite loops when one Synchronization callback causes another Synchronization object registration  Max Transactions Maximum number of transactions that can be simultaneously active on a server  Max Unique Name Statistics Maximum number of transaction names remembered for categorizing statistic subtotals
  • 16.  Transaction Log File Prefix Each server that coordinates a two-phase commit transaction writes to the transaction log at commit time and reads the transaction log during crash recovery A transaction log is stored in multiple files  Space is reclaimed automatically  Never delete these files Default location is server’s current directory Highly reliable file system is recommended (RAID, etc.) File naming convention: Prefix + ServerName + 9999 + “.tlog” (9999 = unique number)
  • 17.  Transaction branches Connection pool name determines transaction branch qualifier Different pool names cause separate branches, even if connected to same database Databases typically provide lock isolation between branches, shared locks within a branch Benefits of multiple branches:  Lock isolation protects independently developed components from unexpected cross-interference Drawbacks of multiple branches:  Lock conflicts can cause deadlock/timeout  More overhead in transaction coordination, more XA calls
  • 18.  JDBCTxDataSource wrapper for non-XA database drivers If EnableTwoPhaseCommit=“false” (the default) and a non-XA JDBC driver is supplied, commit() will fail unless this is the only transaction participant If EnableTwoPhaseCommit=“true” a non-XA JDBC driver may participate in a transaction with multiple participants, however there is a risk that the non-XA driver might fail at commit time  This is reported as a heuristic rollback exception
  • 19.  Counters Overall Subtotal by XAResource Subtotal by Transaction name  Specific transactions List transactions more than XX seconds old “Old” transactions are the most interesting ones
  • 24.  Ongoing integration testing and cooperation with XA resource providers  Support for transaction export/import to/from external systems via interposed gateway architecture  Additional internal enhancements for reliability, overload tolerance, and performance  Additional management, monitoring, statistics
  • 25.  Specifications http://www.java.sun.com/products/jta http://www.java.sun.com/j2ee  BEA WebLogic Server 6.0 Documentation http://e-docs.bea.com  News Group news://newsgroups.bea.com/weblogic.develope r.interest.transaction