Java Transaction Processing: Design and Implementation