July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.

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.
J2EE Architecture Overview
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
1 James Lynn Hewlett-Packard Middleware Division EJB Architecture Design Strategies and Performance Optimizations.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
CS 483 Enterprise and Web Application Programming
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
July 16 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão.
© 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.
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)
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
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.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Developing and Deploying Business Components using PowerJ.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
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. 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.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is designed based.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
® 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 Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Introduction to Enterprise JavaBeans Topics In Systems Architecture Barry Herbold
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.
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.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Enterprise JavaBeans: Fundamentals. EJB Fundamentals(c)CDAC(Formerly NCST)2 Contents Introduction Technology Overview EJB Architecture EJB Specification.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
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.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
J2EE Lecture 10: EJB 3.0 Overview
J2EE Platform Overview (Application Architecture)
Introduction to J2EE Architecture
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Inventory of Distributed Computing Concepts
Component-based Applications
Understanding and Designing with EJB
Enterprise Java Beans.
Knowledge Byte In this section, you will learn about:
Presentation transcript:

July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão

July 23th, Summary J2EE/EJB (Chapter 16)  The J2EE Architectural Solution  The EJB Architectural Solution  EJB Programming  Deployment Descriptors  System Deployment Decisions

July 23 th, J2EE/EJB – A case study of an Industry-Standard Computing Infrastructure

July 23th, History In early 1990s was developed CORBA on which…  Distributed objects could communicate and interact with each other seamlessly and transparently. After, Sun Microsystems pushed the Java programming Language to support RMI (Remote Method Invocation) The Microsoft release the framework.Net In 1997 Sun Microsystems releases the framework J2EE/EJB J2EE/EJB :: Chapter 16

July 23th, Requirements and qualities “The Wimbledon Tennis tournament experienced almost 1 billion Web access in 1999, with hits per minute (7000 per second) during one match” J2EE/ EJB aims to:  Provide a component-based architecture for building distributed OO applications in Java Scalability – e.g. web access Availability – 24/7 Security - AA Usability – access in different forms Performance – latency Portability – run in a variety of computing platforms Interoperability – server side components implemented on different vendors Extensibility – e.g. struts, JSF… J2EE/EJB :: Chapter 16

July 23th, Architectural Solution 3 major features  A multi-tiered distributed application model  A server-side component model  Built-in transaction control Fonte: Components and Services  EJB – server-side component  JSP  Java Servelt  JMS – Java Message Service  JNDI  JTS – Java Transaction Service  JCA – Java Connector Architecture  COM Bridge  RMI over IIOP  JDBC J2EE/EJB :: Chapter 16

July 23th, The EJB Architectural Approach Fonte: J2EE/EJB :: Chapter 16

July 23th, The EJB Architectural Approach {2} Session Beans  Stateless session beans  Stateful session beans Entity Beans  Container Manager Persistence  Bean Manager Persistence J2EE/EJB :: Chapter 16

July 23th, The EJB Architectural Approach – achieving qualities GoalTactics Used Availability/ReliabilityHeartbeat Transactions Passive Redundancy Implementation TransparencyMaintain existing interfaces Semantic Coherence InteroperabilityAdherence to defined protocols PerformanceConfiguration Files Load balancing Maintain multiple copies ScalabilityLoad balancing J2EE/EJB :: Chapter 16

July 23th, EJB - Programming To create EJB server-side component, the developer must provide two interfaces:  Home Contain the life cycle methods of the EJB  Remote Business methods offered by the bean J2EE/EJB :: Chapter 16

July 23th, EJB – Programming {2} J2EE/EJB :: Chapter 16

July 23th, EJB – Entity Bean J2EE/EJB :: Chapter 16

July 23th, EJB – Interface Home J2EE/EJB :: Chapter 16

July 23th, EJB – Remote Interface J2EE/EJB :: Chapter 16

July 23th, Deployment Descriptor It is XML document associated with an EJB that:  Describes the type of the bean (session or entity)  Describes the classes used for home, remote and the bean classes  Specifies the transactional attributes (access control)  Specified if the persistence in the entity bean is handled automatically by the container or performed explicitly by the bean code This the SEMANTIC COHERENCE tactic implemented J2EE/EJB :: Chapter 16

July 23th, Deployment Descriptor – ejb-jar.xml J2EE/EJB :: Chapter 16

July 23th, Database Descriptor J2EE/EJB :: Chapter 16

July 23th, State Management – A performance decision Stateful Session Bean  Must be used to atomic actions  …else may high the overhead in terms of application performance Stateless Session Bean  Many request to the server…  …and persist the data on later  E.g. shopping cart J2EE/EJB :: Chapter 16

July 23th, Entity Bean – to Use or Not Use? That’s the question Typical e-commerce system with an 85% read-only and 15% update transaction mix when implemented with entity beans achieved only half of this performance Causes of degradations:  Containers…are the black boxes  Bad state management  Additional beans participate in the transaction J2EE/EJB :: Chapter 16

July 23th, Distribution and Scaling Issues Two ways of increasing the processing power in the server tier  Scaling up, or “vertical” scaling Adding memory or faster processors in a single machine  Scaling out, or “horizontal” scaling The server application is distributed across more the one machine  Increased redundancy  Cost efficiency J2EE/EJB :: Chapter 16

July 23th, Distributed Transactions Two phase commit protocol is often essential in building enterprise-wide system  Is it always necessary?  What about the overhead involved in managing them?  What about several remote calls that pass over the network?  What about the architect experience for that? J2EE/EJB :: Chapter 16

July 23th, Resource Pooling Transactions Connections to the databases do not need to be re- established continuously, thus improving application performance J2EE/EJB :: Chapter 16

July 23th, Dependence on Java Virtual Machine Performance If the heap size is big, garbage collection will be infrequent…and this can slow down the server processing, giving the impression that the server is slow in unresponsive J2EE/EJB :: Chapter 16

July 23th, References Bass L., Clements P. and Kazman R. Software Architecture in Practice. Second Edition, “a luz no fim do túnel pode ser um trem vindo em sua direção” J2EE/EJB :: Chapter 16