A DAPT IST-2001-37126 Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
An architecture for webb applications, J2EE
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Container Managed Persistence. General Guidelines Home and Remote interfaces are implemented the same as for bean managed persistence Entity Bean class.
Persistent State Service 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.
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.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003.
Communication in Distributed Systems –Part 2
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
A DAPT IST Demonstrator Specification Stuart Wheater Arjuna Technologies Ltd., UK.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
IMS Technical Conference IMS Java Remote Database Services Kyle Charlet.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
J2EE Part 2: Enterprise JavaBeans CSCI 4300 Images and code samples from jGuru EJB tutorial,
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Bologna, 19th-20th February 20045th Plenary TAPAS Workshop JBoss Clustering and Configuration Service Implementation Giorgia Lodi
Entity Beans BMP Celsina Bignoli
Middleware Technology (J2EE/EJB) Entity Bean. 2 Introduction to Entity Beans Persistence Concepts Entity beans are persistent objects that can be stored.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Container-Managed Persistence (CMP) Entity Beans Lesson 3A / Slide 1 of 42J2EE Server Components Objectives In this lesson, you will learn to: Identify.
Bologna, September 2003 Giorgia Lodi Department of Computer Science University of Bologna V.Ghini, F. Panzieri.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Enterprise Java Beans Part II Kyungmin Cho 2001/04/13.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
The Triad of Beans I Oleh: Dini Addiati ( ) Fahrurrozi Rahman ( Y) Irfan Hilmy ( ) Salman Azis A ( ) Aziiz Surahman.
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.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
J2EE Structure & Definitions Catie Welsh CSE 432
J2EE Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Enterprise JavaBeans Understanding EJB Components Version 0.1 Kamal Wickramanayake
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Spring Remoting Simplifying.
Tu sca ny 1 The Tuscany Java SCA Runtime 20 August 2006.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
The Proxy Pattern SE-2811 Dr. Mark L. Hornick 1. The Proxy Pattern has many variations, but in general: The Proxy Pattern uses an proxy object as a surrogate.
EJB Overview: Constraint Types and Enforcement in JBoss Elissa Newman Fluid Meeting 6/3/04.
Entity Beans & Persistence Chris Alexander CS 486 Spring 2001.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
R. Jiménez-Peris Scalability Evaluation of the Replication Support of JOnAS, an Industrial J2EE Application Server A. Paz, F. P é rez-Sorrosal, M. Patiño-Martínez,
Session Beans Based on: Patel, Brose, Silverman, Mastering Enterprise JavaBeans 3.0.
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
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.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Enterprise Java Beans N.V.RAJASEKHAR REDDY. Definition of EJB EJBs are the components that are the set of classes and interfaces deployed within a container.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
EJB Replication Graham, Iman, Santosh, Mark Newcastle University.
Enterprise Applications WS2003/04 Assignment-II Team: Shashikanth. D Bharath Kumar. P Gopi Kishore. D.
Middleware Technology (J2EE/EJB) EJB Fundamentals.
EJB Enterprise Java Beans JAVA Enterprise Edition
1 Web services for DIP LDIWG meeting C.H.Sicard 7 Jan 2003.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
Understanding and Designing with EJB
Inventory of Distributed Computing Concepts
Distributed Object-based systems
Objectives In this lesson, you will learn to:
Understanding and Designing with EJB
Presentation transcript:

A DAPT IST Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003

A DAPT ADAPT Bologna meeting, Dec Outline Framework recap EJB implementation Web-service implementation Transaction interception Deployment support Some open issues Summary

A DAPT ADAPT Bologna meeting, Dec Framework recap Generic API for interface between standard J2EE server and replication algorithm –Allow different replication algorithms to be plugged in –Protect replication development from upgrades in the server Circulated paper designs from May onwards Presented at Brussels meeting

A DAPT ADAPT Bologna meeting, Dec ComponentMonitor API Approach: module barriers between J2EE container and replication algorithm Replication code implements interface ComponentMonitor Container provides services to replication code through interfaces –ContainerSupport provides top-level container services –ComponentHandle stands for component

A DAPT ADAPT Bologna meeting, Dec Intercepting invocations Component Monitor Handle ? call() Container diverts invocation to ComponentMonitor Response call(ComponentHandle, Request) CM may perform arbitrary computation + communication To continue execution, it forwards call to ComponentHandle InterceptedNormal

A DAPT ADAPT Bologna meeting, Dec Communicating component state Component Monitor Handle Component Monitor Handle State ComponentMonitor does not reference component directly Instead, uses serializable ComponentHandle Gets and sets state as opaque serializable “blob” (bytes)

A DAPT ADAPT Bologna meeting, Dec EJB implementation of API Types of EJBs –Entity bean –Stateless session bean –Stateful session bean ComponentHandle contains –JNDI name of bean –Session ID (for SFSB) –Primary key object (for entity bean) Intercept persistence methods for entity bean

A DAPT ADAPT Bologna meeting, Dec EJB Invocation Interception Persistence Manager EJB Container Interceptors EJB

A DAPT ADAPT Bologna meeting, Dec EJB Invocation Interception Persistence Manager EJB Container Interceptors EJB Component Monitor Call Management Persistence Management

A DAPT ADAPT Bologna meeting, Dec EJB Persistence Invocation Interception Persistence Manager EJB Container Interceptors EJB

A DAPT ADAPT Bologna meeting, Dec EJB Persistence Invocation Interception Persistence Manager EJB Container Interceptors EJB Component Monitor Call Management Persistence Management Wrapper

A DAPT ADAPT Bologna meeting, Dec Axis web service objects Implement a web service (port type) WSDL2Java tool –Generates Java interface from WSDL definition –Developer creates object as implementation of interface Deployed in Axis configuration file –“Scope”: instance per request, per client session, or per server –Request scope is stateless, others stateful

A DAPT ADAPT Bologna meeting, Dec Web service implementation of API ComponentHandle –Service name –Session ID (when session scope) We generate this State transmission –Serialized form of web service object Automatic translation of EJB references –When deserialized, new object replaces old

A DAPT ADAPT Bologna meeting, Dec Handlers in Axis Handler model defined by Sun (JAX-RPC) handleRequest () handleResponse() handleRequest() handleResponse() Service Object HTTP

A DAPT ADAPT Bologna meeting, Dec handleRequest() handleResponse() handleRequest() handleResponse() Service Object static call() call() ComponentMonitorComponentHandle Proxy AXIS TxHandlerWSMonHandler “Normal” Axis chain Handlers disabled Component Interception

A DAPT ADAPT Bologna meeting, Dec Container Transactions EJB Transaction Manager Persistence Manager DataSource (XAResource) Read, Write begin, commit prepare, commit, rollback

A DAPT ADAPT Bologna meeting, Dec Container Transactions Transaction Manager Persistence Manager DataSource (XAResource) Read, Write begin, commit prepare, commit, rollback Transaction Interceptor begin, commit EJB

A DAPT ADAPT Bologna meeting, Dec Container Transactions Persistence Manager DataSource (XAResource) Read, Write begin, commit prepare, commit, rollback Transaction Interceptor EJB

A DAPT ADAPT Bologna meeting, Dec Remote Deployment (Farming) Component Monitor Container Support Component Monitor Container Support

A DAPT ADAPT Bologna meeting, Dec Remote Deployment (Farming) Component Monitor Container Support Component Monitor Container Support Notification

A DAPT ADAPT Bologna meeting, Dec Remote Deployment (Farming) Component Monitor Container Support Component Monitor Container Support Transmission

A DAPT ADAPT Bologna meeting, Dec Remote Deployment (Farming) Component Monitor Container Support Component Monitor Container Support Deployment

A DAPT ADAPT Bologna meeting, Dec Open issues I: Persistence Persistent creation vs. instantiation of existing object –Requires clarification in API So far, test applications based on entity beans, CMP BMP should be equivalent –ejbStore() and ejbLoad() have same timing, semantics In practice, developers don’t rely entirely on entity beans –Considered inefficient

A DAPT ADAPT Bologna meeting, Dec Persistence through SFSBs Consider stateful session bean that accesses DB –Each method invocation may read and modify DB as well as bean state Replication algorithm should wait till commit before synchronizing state on other replicas Bean should not access other state outside beans, DB –Standard development guideline With these cautions, we believe mechanism is adequate

A DAPT ADAPT Bologna meeting, Dec Open issues II: Client-side invocation ComponentMonitor Stub ComponentMonitor Stub ComponentMonitor Cluster 1 Cluster 2

A DAPT ADAPT Bologna meeting, Dec What stub could do Select target host for invocation Select means of communication –Group communication instead of RMI Add information to request and response –Session ID –List of alternate hosts Applies to J2EE invocation more than web services –Stub code is downloaded from server

A DAPT ADAPT Bologna meeting, Dec Open Issues III: Message-Driven Beans Natural base for asynchronous service implementation Stateless component with one method –void onMessage(javax.jms.Message) Variant of existing invocation model –Response is posted to a JMS Session (not return value from invocation)

A DAPT ADAPT Bologna meeting, Dec Summary API has stabilized –Some loose ends to be tied up –Core methods work correctly Demonstrated in “toy” replication algorithms Replication algorithm development can begin