Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
Advertisements

11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
WebLogic Clustering - Failover, and Load Balancing Bryan Ferrel and Ramarao Desaraju CS 522 Computer Communications December 4, 2002.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
An architecture for webb applications, J2EE
A DAPT IST Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003.
JBoss Seam: Contextual Components Jason Bechtel
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
Enterprise Java Beans Welcome to the world of “Distributed System” Presented By: Sameer Nanda Date: 12/17/03.
Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Transactional Services Ricardo Jiménez-Peris Marta Patiño-Martínez Technical University of Madrid 1 st Adapt Workshop 23 rd -24 th September 2002 Madrid,
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Introduction to EJB INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Using Runtime Information for Adapting Enterprise Java Beans Application Servers Mircea Trofin *, John Murphy ** Performance Engineering Laboratory * DCU,
IMS Technical Conference IMS Java Remote Database Services Kyle Charlet.
PowerTier EJB in High-Performance Applications John Killoran European Technical Services Manager Persistence Software.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Developing and Deploying Business Components using PowerJ.
Bologna, 19th-20th February 20045th Plenary TAPAS Workshop JBoss Clustering and Configuration Service Implementation Giorgia Lodi
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Advanced Java Session 7 New York University School of Continuing and Professional Studies.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Overview Of Enterprise Java Bean (EJB) COSC 513 Presentation Mei Li March 17, 2001.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
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.
Session Beans INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
JavaOne '99 Confidential Performance and Scalability of EJB-based applications Sriram Srinivasan Principal Engineer, BEA/WebLogic.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Java Servlets & Java Server Pages Lecture July 2013.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© 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,
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 EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
EJB Enterprise Java Beans JAVA Enterprise Edition
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
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.
Java Servlets By: Tejashri Udavant..
Introduction to J2EE Architecture
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Distributed Object-based systems
Understanding and Designing with EJB
Component-based Applications
Understanding and Designing with EJB
Enterprise Java Beans.
Presentation transcript:

Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003

Adaptability goals for BS Adaptability to failure –Fault tolerance –Transparent failover –Exactly-once semantics Adaptability to load –Load distribution oSupport for CS load adaptability

Overview J2EE –Replication based on group communication JBoss Replication strategies –Maximalist and minimalist examples –Commonalities Conclusion

J2EE Three layers: –web –business –database Designed for distribution, not replication HTTP request Entity Bean EJB Container Session Bean Database Layer Servlet Web Container

Containers and Components J2EE developers create “components” Web and EJB tiers are “containers” running components Component: class or group of related classes Container: “engine” or environment that instantiates and invokes the component

Component state EJB specifies serialization of bean state (for entity beans, only with CMP) For HttpSession, apply standard Java serialization to contents LayerComponentStateSerialization WebServletHttpSession– EJB Stateless SB Instance data N / A Stateful SBFields Entity BeanProperties

J2EE: Transactions Transaction manager: 2-phase coordinator Governs database transaction through JDBC driver One logical transaction associated with current thread Association propagated with remote calls

Transactional attributes EJB “deployment descriptor”: transactional attributes per method “Required”: if not present, EJB container must create one “Mandatory”: association must be present in client (i.e. servlet)

JBoss Mature open-source implementation of J2EE Replication since v3.0 –Passive –Component state transmitted in GC messages HttpSession SFSB instance data ?Entity bean data –Transaction manager unaware of replication

“Maximalist” proposal Every request and response “logged” by multicast to all replicas Not only HTTP req/resp but also any other component –Database component (above JDBC) Periodic state updates On failure, new replica replays from last state point Transactions? Must be replicated

“Minimalist” proposal Use GC sparingly All processing for a request in one transaction, on one replica Multicast all state changes in a single message to all replicas –For exactly-once, includes request ID, full HTTP response On failure, let client retry

“Minimalist”: commit J2EE transaction not replicated Custom TX participant on local node sends message First committer wins –Loser aborts transaction –Database-level locking useful but not required

Common framework? Intervenes in all request/response pairs, at both ends –including HTTP and database Listens to transactions Invokes “replication manager” embodying the replication policy RM performs group communication, invokes components, sets sate Dummy implementation: standard non- replicated behavior

Conclusion Research opportunities –Replication + transactions –Group communication support –Database (separate Madrid project) Open questions –Choose replication strategy now, or explicitly allow for alternatives Discussion