Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Similar documents
Distributed Multitiered Application

J2EE Interview Questions

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

(9A05803) WEB SERVICES (ELECTIVE - III)

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Designing a Distributed System

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

PLATFORM TECHNOLOGY UNIT-5

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Problems in Scaling an Application Client

Deccansoft Software Services. J2EE Syllabus

Chapter 6 Enterprise Java Beans

Oracle 10g: Build J2EE Applications

NetBeans IDE Field Guide

Enterprise Java Security Fundamentals

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

index_ qxd 7/18/02 11:48 AM Page 259 Index

Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat

Java Enterprise Edition

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Application Servers in E-Commerce Applications

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Master Thesis An Introduction to the Enterprise JavaBeans technology and Integrated Development Environments for implementing EJB applications

Developing Applications with Java EE 6 on WebLogic Server 12c

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

JDBC Today C HAPTER 1 INTRODUCTION

Building the Enterprise

BEAWebLogic. Server. Introduction to WebLogic Server and WebLogic Express. Version 8.1 Revised: June 28, 2006 Part Number:

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Advanced Java Programming

BEA WebLogic. Server. Introduction to WebLogic Server and WebLogic Express

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

SUN Enterprise Development with iplanet Application Server

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Enterprise Java and Rational Rose -- Part I

BEAWebLogic. Server. Deploying Applications to WebLogic Server

Oracle Developer Day

In the most general sense, a server is a program that provides information

BEA WebLogic Server. and BEA WebLogic Express. Introduction to BEA WebLogic Server 6.1

these methods, remote clients can access the inventory services provided by the application.

ENTERPRISE beans are the J2EE components that implement Enterprise Java-

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Contents at a Glance

JBoss SOAP Web Services User Guide. Version: M5

Java J Course Outline

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

Java EE 5 Development for WebSphere Application Server V7

Course Content for Java J2EE

Expeditor Client for Desktop. Web Container and Web Applications

Sun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)

JAVA & J2EE UNIT -1 INTRODUCTION

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

open source community experience distilled

Java EE 7: Back-End Server Application Development

Fast Track to Java EE

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

Enterprise JavaBeans, Version 3 (EJB3) Programming

The Umbilical Cord And Alphabet Soup

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

QUALITY SUPPORT FROM THE SOURCE.

Enterprise Java and Rational Rose - Part II

Introduction to componentbased software development

Rational Application Developer 7 Bootcamp

JavaEE Interview Prep

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Oracle9iAS Tech nicaloverview

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java Programming Language

Enterprise JavaBeans. Layer:01. Overview

Table of Contents. Introduction... xxi

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Exam Questions 1Z0-850

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

Oracle Fusion Middleware 11g: Build Applications with ADF I

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

IBM Rational Application Developer for WebSphere Software, Version 7.0

Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager

Introduction to Java EE (J2EE)

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

CO Java EE 7: Back-End Server Application Development

Oracle Developer Day

WAS: WebSphere Appl Server Admin Rel 6

1 Markus Eisele, Insurance - Strategic IT-Architecture

Web Application Architecture (based J2EE 1.4 Tutorial)

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

Programming Web Services in Java

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

BEAWebLogic. Platform. Introducing WebLogic Platform. Version 8.1 Document Date: July 2003 Part Number:

The team that wrote this redbook

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

Module 3 Web Component

Introduction to J2EE...xxvii. Chapter 1: Introducing J2EE... 1 Need for Enterprise Programming... 3 The J2EE Advantage... 5

Java EE Patterns 176

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year!

Ch04 JavaServer Pages (JSP)

Transcription:

Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related For designing, developing, assembling, and deploying component-based enterprise applications Separation of business logic from presentation Reusability, enhanceability, scalability, interoperability Umair Javed 2 J2EE Suite Core technology: Container infrastructure, language and environment support XML technology The Java API for XML Processing (JAXP) The Java API for XML-based RPC (JAX-RPC) SOAP with Attachments API for Java (SAAJ) The Java API for XML Registries (JAXR) Web Technology Java Servlets JavaServer Pages (JSP) JavaServer Pages Standard Tag Library (JSTL) JavaServer Faces (JSF) Enterprise Java Bean (EJB) technology Session beans Entity beans Enterprise JavaBeans Query Language Message-driven beans Platform services Security Transactions Resources Connectors Java Message Service Umair Javed 3 Why J2EE? Need for New multi-tier enterprise computing model in web environment A way to bring in different elements of enterprise application together Web interface design Transaction processing Meeting non-functional system requirements: Availability, reliability, enhanceability, performance, scalability, reusability, interoperability Timely development and deployment Umair Javed 4 Umair Javed 1

Why J2EE? Plus Points Portability Simplicity and long term Validity Scalability and legacy integration J2EE is collaborated with leaders throughout the enterprise software area Flexibility to implement a wide variety of existing enterprise system Encapsulates the layers of functionality in specific type of components J2EE Distributed Multitiered Applications The J2EE platform uses a distributed multitiered application model for enterprise applications Application logic is divided into components according to function. Various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belong Umair Javed 5 Umair Javed 6 J2EE Distributed Multitiered Applications [2] J2EE Distributed Multitiered Applications [3] Client-tier components run on the client machine. Web-tier components run on the J2EE server. Business-tier components run on the J2EE Application server. Enterprise information system (EIS)-tier software runs on the EIS server. Umair Javed 7 Umair Javed 8 Umair Javed 2

What is J2EE? Client Tier 4-Tier Model Web Tier 4-Tier Model EIS Tier Business Tier Umair Javed 9 Umair Javed 10 J2EE Distributed Multitiered Applications [4] Although a J2EE application can consist of the three or four tiers shown in Figure, J2EE multitiered applications are generally considered to be three-tiered These tiers are distributed over three locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. 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 Components 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 communicates with other components. The J2EE specification defines the following J2EE components: Application clients and applets are components that run on the client. Java Servlets and JSP technology components are web components that run on the server. EJB components (enterprise beans) are business components that run on the server. J2EE components are written and compiled in Java, the same way as any other program in Java. The difference between J2EE components and standard Java classes is that J2EE components are assembled into a J2EE application, are verified to be well formed and in compliance with the J2EE specification, and are deployed to production, where they are run and managed by the J2EE server. Umair Javed 11 Umair Javed 12 Umair Javed 3

J2EE Client Components A J2EE client can be a web client or an application client. Web Clients A web client consists of two parts dynamic web pages containing various types of markup language (HTML, XML, and so on), which are generated by web components running in the web tier, and web browser, which renders the pages received from the server. A web client is sometimes called a thin client. Thin clients usually do not query databases, execute complex business rules, or connect to legacy applications. Such heavyweight operations are off-loaded to enterprise beans executing on the J2EE server, where they can leverage the security, speed, services, and reliability of J2EE server-side technologies. Applets A web page received from the web tier can include an embedded applet. An applet is a small client application that executes in the JVM of browser. However, client systems will likely need the Java Plug-in and possibly a security policy file J2EE Client Components [2] Application Clients An application client runs on a client machine and provides a way for users to handle tasks that require a richer user interface than can not be provided by a markup language. Generally made up of swing, but command line is also possible Application clients directly access enterprise beans running in the business tier. However, if application requirements warrant it, an application client can open an HTTP connection to establish communication with a servlet running in the web tier. Umair Javed 13 Umair Javed 14 Client tier communication options Web Components J2EE web components are either servlets or JSPs Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content. Web tier and J2EE application Static HTML pages and applets are bundled with web components during application assembly but are not considered web components by the J2EE specification. Server-side utility classes can also be bundled with web components and, like HTML pages, are not considered web components. Umair Javed 15 As shown in Figure, the web tier, like the client tier, might include a Java- Beans component to manage the user input and send that input to enterprise beans running in the business tier for processing. Umair Javed 16 Umair Javed 4

Web Components[2] Business Components Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. Figure shows how an enterprise bean receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program. Umair Javed 17 Umair Javed 18 Business Components[2] Business Components[3] There are three kinds of enterprise beans: session beans, entity beans, and message- driven beans. A session bean represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone. An entity bean represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A message-driven bean combines features of a session bean and a Java Message Service (JMS) message listener, allowing a business component to receive JMS messages asynchronously. Umair Javed 19 Umair Javed 20 Umair Javed 5

Enterprise Information System Tier The enterprise information system tier handles EIS software. It includes enterprise infrastructure systems such as enterprise resource planning (ERP), mainframe transaction processing, database systems, and other legacy information systems. For example, J2EE application components might need access to enterprise information systems for database connectivity. Umair Javed 21 J2EE Container [1] Normally, thin-client multitiered applications are hard to write because they involve many lines of intricate code to handle transaction and state management, multithreading, resource pooling, and other complex low-level details. The component-based and platform-independent J2EE architecture makes J2EE applications easy to write because business logic is organized into reusable components. In addition, the J2EE server provides underlying services in the form of a container for every component type. Because you do not have to develop these services yourself, you are free to concentrate on solving the business problem at hand. Umair Javed 22 J2EE Container [2] Container Services Containers are the interface between a component and the low-level platform specific functionality that supports the component. Before a web component, enterprise bean, or application client component can be executed, it must be assembled into a J2EE module and deployed into its container. J2EE Containers[3] Container Types The deployment process installs J2EE application components in the J2EE containers The assembly process involves specifying container settings for each component in the J2EE application and for the J2EE application itself. Container settings customize the underlying support provided by the J2EE server, including services such as security, transaction management, Java Naming and Directory Umair Javed 23 Umair Javed 24 Umair Javed 6

J2EE Containers[4] Container Types J2EE server The runtime portion of a J2EE product. A J2EE server provides EJB and web containers. Enterprise JavaBeans (EJB) container Manages the execution of enterprise beans for J2EE applications. Enterprise beans and their container run on the J2EE server. Web container Manages the execution of JSP page and servlet components for J2EE applications. Web components and their container run on the J2EE server. Application client container Manages the execution of application client components. Application clients and their container run on the client. Applet container Manages the execution of applets. Consists of a web browser and Java Plugin running on the client together. Packaging Applications A J2EE application is delivered in an Enterprise Archive (EAR) file. An EAR file is a standard Java Archive (JAR) file with an.ear extension. makes it possible to assemble a number of different J2EE applications using some of the same components without any extra coding. Contains J2EE modules and deployment descriptors. A deployment descriptor is an XML file that describes the deployment settings of an application, a module, or a component. Umair Javed 25 Umair Javed 26 Packaging Applications [2] EAR file structure Packaging Applications [3] J2EE Modules A J2EE module consists of one or more J2EE components for the same container type and one component deployment descriptor of that type. An enterprise bean module deployment descriptor, for example, declares transaction attributes and security authorizations for an enterprise bean. The four types of J2EE modules are EJB modules, which contain EJB class files an EJB deployment descriptor. EJB modules are packaged as JAR files with a.jar extension. Web modules, which contain servlet class files, JSP files, supporting class files, GIF and HTML files, and a web application deployment descriptor. Web modules are packaged as JAR files with a.war (web archive) extension. Application client modules, which contain class files and an application client deployment descriptor. Application client modules are packaged as JAR files with a.jar extension. Resource adapter modules, which contain all Java interfaces, classes, native libraries, and other documentation, along with the resource adapter deployment descriptor. Together, these implement the Connector architecture Resource adapter modules are packaged as JAR files with an.rar (resource adapter archive) extension. Umair Javed 27 Umair Javed 28 Umair Javed 7

Development Roles J2EE 1.4 APIs J2EE Product Provider Tool Provider Application Component Provider Enterprise Bean Developer Web Component Developer Application Client Developer Application Assembler Application Deployer and Administrator Umair Javed 29 Umair Javed 30 Umair Javed 31 Umair Javed 32 Umair Javed 8

Umair Javed 33 Umair Javed 34 J2EE Application Scenarios Umair Javed 35 Umair Javed 36 Umair Javed 9

Umair Javed 37 J2EE based Application Architecture Umair Javed 10