Marek Prochazka JOTM: Overview and Perspectives

Slides:



Advertisements
Similar presentations
January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Advertisements

21 Copyright © 2005, Oracle. All rights reserved. Oracle Application Server 10g Transaction Support.
Web Services Transaction Management (WS-TXM) Michael Felderer Digital Enterprise Research Institute
Ed Felt & Sriram Srinivasan BEA Systems, Inc. Advanced Distributed Transaction Processing with BEA WebLogic Server ™ 6.0.
JNDI Java Naming Directory Interface JNDI is an API specified in Java that provides naming and directory functionality to applications written in Java.
Transactions Celsina Bignoli Motivations Atomic operations –Group of operation that must all succeed or all fail Network or machine.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
© City University London, Dept. of Computing Distributed Systems / Distributed Systems Session 9: Transactions Christos Kloukinas Dept. of Computing.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
1 James Lynn Hewlett-Packard Middleware Division EJB Architecture Design Strategies and Performance Optimizations.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
A DAPT IST Initial Work on Transactional Composite Web Services and Visual Composition tool Ricardo Jiménez-Peris, Marta Patiño-Martínez Alberto.
Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003.
The Architecture of Transaction Processing Systems
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 11: Transactions Dr. Michael R. Lyu Computer Science & Engineering.
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
Version # Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1999 by Carnegie.
Transaction Management WXES 2103 Database. Content What is transaction Transaction properties Transaction management with SQL Transaction log DBMS Transaction.
TRANSACTION PROCESSING TECHNIQUES BY SON NGUYEN VIJAY RAO.
Page 1 13/08/2015 The development of Web Transactions Mark Little, Distinguished Engineer, HP.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
EJB. Component Characteristics An enterprise Bean typically contains business logic that operates on the enterprise’s data. An enterprise Bean’s instances.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Enterprise Java Beans - (EJB)
© jGuru.com EJB Transactions. Transactions Simple Transaction –Transaction = more than one statement which must all succeed (or all fail) together.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Distributed Transactions March 15, Transactions What is a Distributed Transaction?  A transaction that involves more than one server  Network.
Enterprise JavaBeans EJB Container Services. EJB container Enterprise JavaBeans are deployed in an EJB container within the application server EJB container.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Java Transaction API Sean C. Sullivan
Java-Based Middleware IT 490 Stan Senesy IT Program NJIT.
JOnAS 3.2 July 1, 2003 François Exertier.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
J2EE Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Transaction Services in Component Frameworks Bruce Kessler Comp250CBS March 2, 2004.
Abstraction of Transaction Demarcation in Component-Oriented Middleware Romain Rouvoy - Philippe Merle Jacquard INRIA Project LIFL –
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Jini Architecture Introduction System Overview An Example.
ProActive components and legacy code Matthieu MOREL.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
Jini Architectural Overview Li Ping
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Data Access with Spring.
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
Java Transactions Service Presented by: Dina Sarhan Rana El Hattab.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
红杉树(中国)信息技术有限公司公司 地址:杭州市天目山路 176 号西湖数源软件园 11 号楼 3 层 电话: (86) Transaction & JAVA Fondy Wang 12/7/07.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
JTA | Developer Conference JBoss Transactions Ivo Studenský JBoss QA Engineer, Jiří Pechanec JBoss QE Supervisor, Red Hat Sep 10th, 2009.
Prepared by Mehmet Küçüksayan Mustafa Ecmel Özdemir
The OMG Approach (continued)
Inventory of Distributed Computing Concepts and Web services
The evolution of a transaction processing system
Objectives In this lesson, you will learn about:
Presentation transcript:

Marek Prochazka JOTM: Overview and Perspectives

(JOTM) - Sept. 2 nd 2002 Presentation Outline è JOTM overview  What is it (interfaces, services, functionality)  Relation to standards  Communication protocols: RMI/(JRMP, Jeremie), RMI/IIOP(David)  Target platforms (JOnAS, …)  Research work status è JOTM perspectives  Engineering refactoring code base, separating single-JVM and multiple-JVM transaction manager, add-ons, recovery, etc.  Research CNT/ONT, transactions in component world, adaptable transaction manager, …)

(JOTM) - Sept. 2 nd 2002 JOTM Overview è JOTM = Java Open Transaction Manager  JTA-compatible transaction manager  Functional and mature implementation (used in JOnAS) è JOTM functionality  Transaction demarcation  Registration of transaction participants  Local and distributed transactions Multiple transaction coordinators and resource managers Transaction context propagation  Two-phase commit protocol  ACID properties Atomicity Consistency

(JOTM) - Sept. 2 nd 2002 Use by clients è Getting the UserTransaction interface via JNDI interface UserTransaction { void begin( ); void commit( ); void rollback( );... } è Explicit transaction demarcation è Involving operations upon objects (EJB) to transactions  Implicit transaction propagation

(JOTM) - Sept. 2 nd 2002 Use by application servers (middleware layer) è Getting the TransactionManager interface via JNDI Transaction TransactionManager.getTransaction( ); interface Transaction { void commit( ); void rollback( ); boolean enlistResource(XAResource,...); void registerSynchronization(Synchronization);... } è Explicit transaction demarcation è Declarative transactions (EJB transaction attributes) è Registration of synchronization objects and XA resources

(JOTM) - Sept. 2 nd 2002 Java Transaction API (JTA)

(JOTM) - Sept. 2 nd 2002 Current JOTM Implementation What is and what is not implemented è Implemented  JTA stuff All interfaces Local and distributed transactions (JDBC 2.0 standard extension)  Timer management  JDBC 1.0 wrapper (JDBC 2.0 pseudo driver)  Communication protocols supported RMI (Sun’s JRMP, Jeremie) RMI/IIOP (David) è Not implemented  Recovery In case of a crash, ACIDity is not assured  Communication Preprocessing needed Full CORBA RMI/IIOP support missing

(JOTM) - Sept. 2 nd 2002 What we have planned and accomplished è Grow a shared expertise  More members: Bull, FranceTelecom, LIFL, Uni. of Valenciennes, INRIA, Experlog, IMAG, Christophe Ney, Atomicos (potential partner)  Knowledge base at è Leverage the existing code base  BTP proof of the concept implementation (Experlog)  Reengineering proposal for the OTS support (LIFL)  Advanced transactions prototypes (Valenciennes, Charles Uni.)  Recovery support analysis (INRIA)  Integration of CAROL (unified code base for support of RMI and RMI/IIOP)

(JOTM) - Sept. 2 nd 2002 What we have planned and accomplished (cont.) è Developing a more generic architecture  2 architecture meetings  Architecture proposals from several parties  Short-time and long-time strategies

(JOTM) - Sept. 2 nd 2002 Implementation of CNT/ONT by University of Valenciennes è CNT = (Close) Nested Transaction Model è ONT = Open Nested Transaction Model è JOTM code modification  New JOTM branch è Status: CNT almost implemented

(JOTM) - Sept. 2 nd 2002 Bourgogne Transactions by Charles University è Support for advanced transaction models  Dependencies, sharing, delegation  Support for user-defined transaction models  Prototype implemented using JOTM è Extending component interface by transaction context propagation specification  Transaction propagation policy specification using NT&CT attributes

(JOTM) - Sept. 2 nd 2002 JOTM Workplan è Engineering  Short-time steps  Improving functionality (communication)  New functionality (OTS compatibility, recovery) è Research  Work with long-time perspective  Rebuilding JOTM  Advanced transaction models  JOTM for Fractal

(JOTM) - Sept. 2 nd 2002 Refactoring the code Short-time steps è Simplifying the code è Consolidate the javadoc documentation è Separation of the single-JVM and multiple-JVM transaction manager parts  Sometimes called local/distributed transactions  Single-JVM transactions do not deal with transaction context propagation  Multiple-JVM transactions are dependent on the communication protocol used è CAROL: Short-time solution for multi-RPC integration  Pre-processing not needed  CosNaming resource binding  RMI/JRMP context propagation

(JOTM) - Sept. 2 nd 2002 è No equivalent for some OTS methods in JOTM  Coordinator interface register_subtran_aware(SubtransactionAwareResource) Control create_subtransaction() PropagationContext get_txcontext()  Current interface S tring get_transaction_name() Control get_control() è Differences between JTA and OTS  JTA: javax.transaction.Transaction suspend()  OTS: Control Current.suspend() void resume(Control which)  Transaction and Control interfaces are different è OTS supports nested transactions  JTA supports flat transactions only Support for OTS

(JOTM) - Sept. 2 nd 2002 Support for Recovery è Recovery: Crucial feature è Enabling JOTM by recovery  Log manager Logging all transactional significant events Logging two-phase commit states Logging all data related to all transaction participants  Recovery manager: Employing the log after a JOTM crash, during recovery Reconnection to all participating resources/sub-coordinators Reconnection to all JDBC connections (XA resources) Committing or rolling back transactions depending on their state  Enabling the JOTM code by logging in appropriate events

(JOTM) - Sept. 2 nd 2002 Recovery Challenges è Problems  Lack of specification (JTA vs XA resources)  Lack of implementation (JDBC 2.0/3.0 drivers)  Lack of documentation  No OTS support in JOTM è Divide et impera  Local recovery Single JVM XA resources only –Persistent XA resources –Persistent Resource Manager  Distributed recovery OTS implementation (persistency needed!)

(JOTM) - Sept. 2 nd 2002 Engineering: Others Tasks è Employing Monolog è Fractalization  Refactoring the code before fractalization  Related to research workplan

(JOTM) - Sept. 2 nd 2002 Refactoring JOTM: two branches è Engineering – short time steps  JTA implementation  BT prototype  CNT/ONT prototype  BTP prototype  OTS implementation  Activity Service implementation è Research – long time work  Identification of JOTM building blocks Transaction Manager Lock Manager Log Manager Resource Manager Dependency Manager Communication Manager  Defining their interfaces  Implementation / refactoring JOTM

(JOTM) - Sept. 2 nd 2002 Refactoring JOTM è Requirement of common abstractions  The notion of Transaction  The notion of Resource or Participant Recoverable, compensable,...  Transaction identification  Transaction demarcation Significant events, commit protocols, …  The notion of Coordinator or Terminator  Delegation  Dependencies è Transaction Manager: Engine based on abstractions

(JOTM) - Sept. 2 nd 2002 Selecting JOTM Model Proposal by University of Valenciennes JOTM TMPI (Transaction Model Provider Interface) XA TCNTONT Business Tx Bourgogne Tx … JOTM Abstract Engine JOTM TSPI (Transaction Service Provider Interface) CORBA OTS OASIS BTP …Sun JTS

(JOTM) - Sept. 2 nd 2002 JOTM and Containers s cope of transactions JOTM TMPI XA TCNT Business T JOTM Abstract Engine JOTM TSPI Corba OTS OASIS BTP Sun JTS EJB Container EB CCM Container CC WS Container WS Atom A1.1 Cohesion C1 A1.2A1.3 CurrentTransactions ={C1, A1.1, A1.2, A.1.3, …} BTP client

(JOTM) - Sept. 2 nd 2002 JOTM and Containers Context propagation through several containers Atom A1.1 Cohesion C1 A1.2A1.3 JOTM TMPI XA TCNT Business T JOTM Abstract Engine JOTM TSPI Corba OTS OASIS BTP Sun JTS EJB Container EB CCM Container CC WS Container WS CurrentTransactions ={C1, A1.1, A1.2, A.1.3, …} Context Propagation BTP client Remark : Context may be transformed between containers

(JOTM) - Sept. 2 nd 2002 Selecting JOTM Model Proposal by LIFL

(JOTM) - Sept. 2 nd 2002 Selecting JOTM Model Proposal by INRIA è Experiencing the work done by engineering branch  Implementations of specifications JTA, OTS, BTP, …  Advanced transaction models prototypes Bourgogne Transactions, CNT/ONT, …  Communication CAROL, … è Analyzing requirements/limitations è Proposal of key building blocks and their interfaces è Developing the JOTM core è Developing add-ons and personalities

(JOTM) - Sept. 2 nd 2002 JOTM Building Blocks Proposal by INRIA JTAOTSBTPONTBTAS JOTM Core Transaction Manager Lock Manager Log Manager Lock Manager Resource Manager …

(JOTM) - Sept. 2 nd 2002 JOTM Building Blocks Examples è Transaction Manager  begin, commit, abort  JTA, OTS: two-phase commit protocol  BTP: different commit protocol è Lock Manager  Lock, unlock, define_conflict_table, relax_conflict  None of JTA, OTS, BTP, … takes care of locking è Resource Manager  Register_resource, … è Log Manager  Read_record, write_record  What is “log record” (open-nested transactions: storing compensating actions)

(JOTM) - Sept. 2 nd 2002 Adaptable Transactional Services è Building blocks basic interfaces è Meta-level interface allowing modify basic interface semantics

(JOTM) - Sept. 2 nd 2002 Transactions in Components è Continuing the work on Bourgogne Transactions  Transaction context propagation as a part of the component interface  Multiple interfaces: Multiple units of concurrency control è How transactions should be treated in Fractal-like component world?  What is transaction context  How it should be propagated  What policies for propagation of a transaction to a component  How and where to specify such policies (EJB attributes)  Concurrency control policies specification (EJB: every component is always locked)