Dortmund, 10 - 11 February 2003 Giorgia Lodi Department of Computer Science University of Bologna A.Amoroso,V.Ghini,

Slides:



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

TAPASDelivMarch04 1 TAPAS Deliverables for March 04 (Trusted and QoS-Aware Provision of Application Services) Santosh Shrivastava Newcastle University.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
An architecture for webb applications, J2EE
WebSphere Diego Leone. Summary Story and birth What is WebSphere?/Goals Main features Advantages/Disadvantages Conclusions.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003.
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.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Distributed System Using Java 2 Enterprise Edition (J2EE)
INTRODUCING THE JAVA EE PLATFORM Ch-5. Introduction Java is a  platform-independent programming language  secure and robust applications  may run on.
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.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Chapter 4: Core Web Technologies
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
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.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Bologna, September 2003 Giorgia Lodi Department of Computer Science University of Bologna V.Ghini, F. Panzieri.
Introduction to J2EE Architecture Portions by Kunal Mehta.
JBoss at Work JAW Motors Application Chapter 1-3 Jeff Schmitt October 9, 2006.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0 정재웅 선임 연구원. 기술로 고객의 마음을 움직입니다 Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.JEUS 2/29 Agenda WAS 개요 JEUS System.
Java 2 Enterprise Edition Presented by: Reem Osama Shehata Supervised by: Dr. Sherif Aly 16 th March 2006.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
A Secure JBoss Platform Nicola Mezzetti Acknowledgments: F. Panzieri.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Newcastle upon Tyne, September 2002 V. Ghini, G. Lodi, N. Mezzetti, F. Panzieri Department of Computer Science University of Bologna.
Bologna, September 2003 Giovanna Ferrari School of Computing Science University of Newcastle.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Enterprise Java Overview Panos Konstantinidis Java Developer JUG Leader & Java Champion
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.
What is J2EE Platform The Java 2 Platform Enterprise Edition (J2EE) defines the standard for developing multitier enterprise applications.
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 System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
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.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
IAB-Feb 04 1 TAPAS Progress Report (Trusted and QoS-Aware Provision of Application Services) Santosh Shrivastava Newcastle University.
J2EE Platform Overview (Application Architecture)
WebSphere Diego Leone.
Introduction to J2EE Architecture
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
Distributed System Using Java 2 Enterprise Edition (J2EE)
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Enterprise Java Beans Bina Ramamurthy 1/13/2019 B.Ramamurthy.
Component-based Applications
Presentation transcript:

Dortmund, February 2003 Giorgia Lodi Department of Computer Science University of Bologna A.Amoroso,V.Ghini, N. Mezzetti, F. Panzieri

Dortmund, February Summary System Model Auction Scenario J.J.J.: J2EE, JBOSS, JONAS QoS-Aware Containers Deployment phase Configuration Service Run Time Support Service References

Dortmund, February System Model (1/2) An ASP can host different applications (e.g. auction application, video conference, games, etc…). Some applications might communicate with each other. The middleware platform, inside the ASP, consists of a group of Application Servers. The Application Servers communicate with each other. An application can consist of a certain number of components hosted by different Application Servers. The ASP is a cluster of different machines connected by a network and running possibly heterogeneous Operating Systems. In a single machine, more than one application server can be in execution concurrently (e.g. emulation of a cluster).

Dortmund, February System Model (2/2) Application Server z Application Server b Application 1 Application 2 (Auction) Application 3 Application n … ASP Middleware Platform …. network …. Application Server a OSX Linux Solaris Pentium SparcPPC Application Server b Application Server c Application Server z

Dortmund, February Auction Scenario (1/3) An end-user (seller, bidder) registers with an application owner (e.g. E-bay) by signing a contract. The contract entitles the end-user to use the auction application. The end-user may access the auction through HTTP requests and may use a piece of software which controls contract’s rights and obbligations. The application owner asks ASP (e.g. Adesso) for hosting the auction application: they establish a SLA between each other. The SLA can be described using SLAng, which is a notation generator. The ASP hosts the application providing a suitable platform through which the auction is executed.

Dortmund, February Auction Scenario (2/3) The ASP may have a SLA with: - a SSP for using data storage resources. The SSP has a monitor used to control whether the SLA specifications are honoured - an ISP for using network resources. The ISP has a monitor used to control whether the SLA specifications are honoured. The ASP makes available a set of services/resources for running the application. The services/resources may communicate with each other using some protocol such as RMI/IIOP (possibly through WAN technology).

Dortmund, February Auction Scenario (3/3) bidder seller E-BAY contract http request contract Tapas Plug-in Netscape Explorer SLA ASP RMI/IIOP Tapas platform RMI/IIOP SLAng SLA SSP SLA SLAng network ISP router DB Tapas monitor TTP CRA SLA CSP

Dortmund, February J.J.J.: J2EE, JBOSS, JONAS J 2EE It uses a multitiered distributed application model. The application logic is divided into components according to function. Components make up the J2EE application. Components are installed in different machines depending on which tier the application component belongs to. J BOSS It is an open source application server. It integrates and develops a set of services for a full J2EE-based implementation. It is a microkernel based server and uses Java Management eXtension (JMX) for sofware integration. J ONAS It is a pure Java open source application server conforming to the J2EE specifications, as Jboss. ≠architecture (JMX), additional services.

Dortmund, February J2EE: Platform tiers The platform provided is multitiered. Client tier components run on the client machine. Web tier and Business tier components run on the J2EE server. Web tier and Business tier form the Middleware tier. Data tier runs on the Enterprise Information System servers. Client machines, J2EE servers and EIS servers interact with each other using the network provided by an ISP.

Dortmund, February J2EE: Containers A client tier component can be: - an application client running in an Application Container - a HTML client - a Java applet running in an Applet Container. HTML client and Java applet interact with Web components (e.g. servlets, JSPs) using some protocol (e.g. HTTP, SSL). Web Components run in a Web Container. Web Components and Java applications interact with EJBs through RMI/IIOP. EJBs (session beans, entity beans, message driven beans) run in an EJB Container.

Dortmund, February J2EE: Services & Containers Every container is responsible for using the underlying middleware services (e.g. JMS, JTS, JAAS, JDBC, etc…). All these services rely on J2SE.New New services added in order to provide QoS-aware containers: - Configuration Service (CS) and Run Time Support Service (RTSS). CS and RTSS use group communication technology (e.g., Event Notification System (ENS)).

Dortmund, February J2EE: Resource Adapter & Data Tier A Resource Adapter is a component running in any J2EE server that implements the J2EE Connector Architecture for a specific EIS. A Resource Adapter is analogous to a JDBC driver: they provide API in order to access a resource outside the J2EE server. Two types of “contracts” (i.e., APIs) implemented by a Resource Adapter: –Application Contract (A.C.) defines the API through which an EJB or a Web Component accesses the EIS –System Contract (S.C.) links the resource adapter to the connection, transaction and security services.

Dortmund, February J2EE: QoS-aware Containers Client machine J2EE server EIS server Data tier EIS DB JDBC/SQLJ Proprietary protocol ISPISP Java application Application container HTML client Client tier Java applet Applet container J2SE RTSS plug-in Services HTTP HTTP,SSL Web tier Business tier servlet Web container JSP J2SEJ2SE CS RTSS RMI//IIOP J2SE EJB container Session Bean Entity Bean MDB CSRTSS RMI//IIOP JMS Resource Adapter RMI//IIOP Services ENS Services Managers Transaction Connection Security Resource Adapter J2SE CS RTSS ENS A.C. S.C.

Dortmund, February The JBOSS JMX Microkernel JMX Implementation JTS/JTASecurity EJB ContainerDatabases Java Server Pages JMS Remote Management Data Sources RTSS CS

Dortmund, February JONAS Architecture EJB ContainerWeb Container SB MDB EB Jonas J2EE Server JMXJMX EAREAR CSCS RTSSRTSS REGISTRYREGISTRY JMSJMS Servlets JSP Jadmin servlets DATABASEDATABASE DATABASEDATABASE JMXJMX WEBWEB MAILMAIL EJBEJB SECURITYSECURITY TR A NS A CT IO N

Dortmund, February Packaging (1/2) J2EE components are packaged separately and bundled into a J2EE application for deployment. A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is a XML document that describes a component’s deployment settings. An enterprise bean module deployment descriptor declares transactions attributes and security permissions for an enterprise bean. At run time, the J2EE server reads the deployment descriptor and acts upon the components accordingly.

Dortmund, February Packaging (2/2) A J2EE application with all of its modules is delivered in an Enterprise Archive (EAR) file. An EAR file is a standard Java Archive (JAR). Each EJB JAR file contains a deployment descriptor, the enterprise bean files and related files. Each application client JAR file contains a deployment descriptor, the class files for the application client and related files. Each Web Archive (WAR) file contains a deployment descriptor, the Web component files and related resources.

Dortmund, February Coding/Deploying/Running (Trust and QoS parameters derived from SLA).xml Files.class Application Developer ASP Deployer Deployment TAPAS Application Runner Configures environment Runs application (monitoring and adaptation) EAR Code Deployment Descriptors Parses Deployment Descriptors

Dortmund, February Configuration Services (CS) (1/3) Local Resource Monitor getState() AS 1 AS 2 AS 3 SLS(A) Discovery Negotiation Reservation CS Discovery Negotiation Reservation CS getAvailability(SLS) reserve() getAvalability(SLS) Booking SLS(A): % Discovery Negotiation Reservation CS

Dortmund, February Configuration Service (CS) (2/3) Discovery of available resources: –assess availability (e.g., load, network bandwidth, …) –Resource Monitor maintains state of local resources. CS –starts at application server start up time –is “enabled”, at deployment time, by: Object platform = enable_CS(SLS);

Dortmund, February Configuration Service (CS) (3/3) Enabled CS, with input = SLS, declares itself as coordinator of the group of CSs. Discovery: –Coordinator sends a request for the availability to its peers using some method like: Object State = getAvailability(SLS); Negotiation: –Every CS books its own resources –CS produces an agreed QoS contract (i.e., contract between the application and the middleware platform). Reservation: –Coordinator confirms reservation of the resources. CS stopped with the following: disable_CS();

Dortmund, February Run Time Support Service (RTSS) (1/2) It models the adaptive behaviour of our architecture. It requires the use of monitors. Monitors check the resource states as well as the requirements, within SLAs, to fulfill. A monitor, Resource Monitor, checks the resources and the QoS requirements. Resource Monitor maintains the resource states and the QoS requirements state in persistent objects. Persistent objects are used for producing log files, statistical analysis as well as irrefutable proofs. If it detects any changes, it may adopt some adaptive strategy to reconfigure the environment.

Dortmund, February Run Time Support Service (RTSS) (2/2) Adaptive strategies may trigger a re-negotiation with the CS. –Callback mechanisms, through which communicate with the application (e.g. handlers at the application layer), used when no adpative strategies can be applied. Resource Monitor enabled using: Identity RM = enable_RM (CS, SLS, AgreedQoS); The RTSS stopped with: disable_RTTS();

Dortmund, February References D.Lamanna, J.Skene and W.Emmerich ``SLAng: A Language for Defining Service Level Agreements'' London, January S.Bodoff, D.Green, E. Jendrock, M. Pawlan and B. Stearns ``The J2EE Manual'', Sun Microsystems Inc., B.Shannon "Java 2 Platform Enterprise Edition v.1.4" Sun Microsystem Inc., W.Beckman, J.Crowcroft, P.Gevros and M.Oleneva ``TAPAS Deliverable D1'', University of Cambridge and Adesso AG, Scott Stark and the Jboss Group ``JBOSS Administration and Development Second Edition'', Atlanta, USA, November , Jboss Version E. Checcet and J. Marguerite "JONAS v.2.4 Tutorial" Rice University INRIA, France.