Introduction to J2EE Architecture

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.
Apache Struts Technology
Technical Architectures
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Layers & Tiers Umair Javed Lec - 41.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
CS 483 Enterprise and Web Application Programming
Apache Struts Technology A MVC Framework for Java Web Applications.
CS6320 – J2EE L. Grewe MOTIVATION: E-commerce and Enterprise Computing Models Four models for e-commerce and enterprise computing: Four models for e-commerce.
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Understanding and Managing WebSphere V5
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
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.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
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.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
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.
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
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
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.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
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.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
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.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
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.
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.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Apache Struts Technology A MVC Framework for Java Web Applications.
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
Structure of a web application
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Netscape Application Server
N-Tier Architecture.
Introduction to Oracle Forms Developer and Oracle Forms Services
EJB (Enterprise Java Beans)
Introduction to Oracle Forms Developer and Oracle Forms Services
J2EE Application Development
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Understanding and Designing with EJB
Lecture 1: Multi-tier Architecture Overview
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Enterprise Java Beans Bina Ramamurthy 1/13/2019 B.Ramamurthy.
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Understanding and Designing with EJB
Enterprise Java Beans.
Knowledge Byte In this section, you will learn about:
Intro to J2EE Concepts.
Presentation transcript:

Introduction to J2EE Architecture

Distributed Multi-tiered Applications The J2EE platform uses a multi-tiered distributed application model for both enterprise applications Application logic is divided into “components” according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multi-tiered J2EE environment to which the application component belongs

Service Technologies include: Java Database Connectivity The J2EE technologies can be broadly classified into four different categories: Client-side technologies Component technologies Service technologies Communication technologies Component technologies include: Servlets Java Server Pages Enterprise JavaBeans Session Beans Entity Beans Service Technologies include: Java Database Connectivity Java Transaction API and Service

Client-Server Architecture Application Business Logic Data Presentation Logic Clear division between Application and Data Entire processing load on client Server acts as traffic controller 2-Tier Architecture

Client-Server: The Drawbacks Business logic present on each client Client waits longer for response Business logic + presentation logic bundled together-therefore scalability problems Load on server and network as all clients send request to 1 server Tiny change to application— entire application has to be changed, and the clients upgraded

3-Tier Architecture MIDDLE TIER/ APPLICATION TIER CLIENT TIER DATA/EIS TIER DATA Presentation Logic Business Logic Receives request for data, retrieves it, and returns it to client

3-Tier Architecture: the benefits Firewall Business logic shared between clients; same data returned by data & application tier –presented differently on different clients Application Server Business logic can be changed without impacting clients Middle tier can be hidden behind firewall Maximum use of available system resources Parts of architecture can be rewritten without rewriting whole app

Traditional n-Tier Architecture Firewall Browser Application Logic= Presentation logic + Business Logic Infrastructure services provide additional functionalities required by application, such as messaging services and transactional services.

Traditional n-Tier Architecture: The Characteristics Business logic and presentation logic in same module Database connectivity through same module Scalability low Business logic difficult to update Client & Server – stateless communication Business logic unaware of different client identities Client has to maintain state

Overcoming the drawbacks - Improving the system PROBLEM SOLUTION Middle Tier contains one App object Extend the middle tier to create one more layer For different types of needs-different app objects required Allow multiple application objects to reside on the server Use interfaces to communicate between application objects Different application objects may not be able to communicate with each other

Component n-tier Architecture Interfaces Component A Database Component B Component C Application object broken into components that can communicate with each other, through interfaces

Component Based n-Tier Systems Comp A Comp B Comp C Database Component objects maintain identity and encapsulate remote methods Components can be designed to maintain session state on server Business logic can be modified without affecting other logic

Layered Architecture MIDDLEWARE Component A Database Component B Business Logic Layer Presentation Layer Database Layer MIDDLEWARE Component A Component B Component C Database JDBC-ODBC Bridge, perhaps

Various models of architecture Traditional n-Tier Client-Server Component-based n-Tier Layered Which architecture would suit which scenario?? Distributed nature of application Scalability Depends on Performance Memory Management

J2EE Architecture Component-based Multi-tier HTML EJB Servlets JSP J2EE is a layered architecture J2EE framework designed based on… HTML EJB Servlets JSP Using these we can design applications that are… Distributed Component-based Flexible Scalable Multi-tier

J2EE Architecture J2EE multi-tiered applications are generally considered to be three-tiered applications because they are distributed over three different locations client machines the J2EE server machine the database or legacy machines at the back end

J2EE Architecture Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage

J2EE goals Robustness Scalability Simplicity Maintainability Testability Reusability

J2EE Containers The application server maintains control and provides services through an interface or framework known as a container There are five defined container types in the J2EE specification

J2EE Containers Three of these are server-side containers: The server itself, which provides the J2EE runtime environment and the other two containers An EJB container to manage EJB components A Web container to manage servlets and JSP pages The other two container types are client-side: An application container for stand-alone GUIs, console An applet container, meaning a browser, usually with the Java Plug-in

J2EE Container Two most important containers: Web Containers EJB Containers EJBs Web Components (JSP/Servlets) Holds the following components: Entity beans Stateful session beans Stateless session beans Message beans Manages threading for components Provides necessary interface with web server Containers provide medium for services to communicate with domain layer

J2EE Components As said earlier, J2EE applications are made up of components A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components

Components Client components run on the client machine, which correlate to the client containers Web components -servlets and JSP pages EJB Components

Packaging Applications and Components Under J2EE, applications and components reside in Java Archive (JAR) files These JARs are named with different extensions to denote their purpose, and the terminology is important

Various File types Enterprise Archive (EAR) files represent the application, and contain all other server-side component archives that comprise the application Client interface files and EJB components reside in JAR files Web components reside in Web Archive (WAR) files

Deployment Descriptors Deployment descriptors are included in the JARs, along with component-related resources Deployment descriptors are XML documents that describe configuration and other deployment settings (remember that the J2EE application server controls many functional aspects of the services it provides) The statements in the deployment descriptor are declarative instructions to the J2EE container; for example, transactional settings are defined in the deployment descriptor and implemented by the J2EE container

Deployment Descriptors Most J2EE Web Services vendors provide a GUI tool for generating deployment descriptors and performing deployment because creating manual entries is tedious and error prone The deployment descriptor for an EJB component must be named ejb-jar.xml, and it resides in the META-INF directory inside the EJB JAR file

EJB Components EJB components are server-side, modular, and reusable, comprising specific units of functionality They are similar to the Java classes we create every day, but are subject to special restrictions and must provide specific interfaces for container and client use and access We should consider using EJB components for applications that require scalability, transactional processing, or availability to multiple client types

EJB Components- Major Types Session beans These may be either stateful or stateless and are primarily used to encapsulate business logic, carry out tasks on behalf of a client, and act as controllers or managers for other beans Entity beans Entity beans represent persistent objects or business concepts that exist beyond a specific application's lifetime; they are typically stored in a relational database