Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A DAPT IST-2001-37126 Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003."— Presentation transcript:

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

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

3 A DAPT ADAPT Bologna meeting, Dec. 20033 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

4 A DAPT ADAPT Bologna meeting, Dec. 20034 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

5 A DAPT ADAPT Bologna meeting, Dec. 20035 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

6 A DAPT ADAPT Bologna meeting, Dec. 20036 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)

7 A DAPT ADAPT Bologna meeting, Dec. 20037 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

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

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

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

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

12 A DAPT ADAPT Bologna meeting, Dec. 200312 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

13 A DAPT ADAPT Bologna meeting, Dec. 200313 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

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

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

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

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

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

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

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

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

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

23 A DAPT ADAPT Bologna meeting, Dec. 200323 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

24 A DAPT ADAPT Bologna meeting, Dec. 200324 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

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

26 A DAPT ADAPT Bologna meeting, Dec. 200326 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

27 A DAPT ADAPT Bologna meeting, Dec. 200327 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)

28 A DAPT ADAPT Bologna meeting, Dec. 200328 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


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

Similar presentations


Ads by Google