Introduction to Java EE (J2EE). CSE, IITB Umesh Bellur Session Objectives Understanding the value propositions of J2EE Getting a big picture of J2EE architecture.

Slides:



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

J2EE Overview.
J2EE Architecture Overview
Introduction to Java EE (J2EE)
An architecture for webb applications, J2EE
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
 Java  Python  Bigtable(Bt) is a distributed storage system for managing structured data that is designed to scale to a very large size.  Query Language.
Distributed System Using Java 2 Enterprise Edition (J2EE) B.Ramamurthy.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
Layers & Tiers Umair Javed Lec - 41.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Module 1 Enterprise Java Technologies. Enterprise Java Technologies Topics to be Covered: Environment & Architecture Java EE Platform Specification Java.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
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
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
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.
Introduction to J2EE Dr. N. A. Joshi.
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.
J AVA SE, EE, AND ME Compiled (with permission) from Sang Shin’s Introduction to Java EE Online Course Introduction to Java EE Online Course.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Introduction to Java EE (J2EE)
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.
Seminar: Enterprise JavaBeans. Agenda Agenda Java™ 2 Platform Java™ 2 Platform Java™ 2 Platform,Enterprise Edition(J2EE) Java™ 2 Platform,Enterprise Edition(J2EE)
Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,
Enterprise Computing COSC 617 Jeff Schmitt September 7,2006.
Enterprise Java v012405J2EE Introduction1 Enterprise Computing and J2EE Introduction.
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.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Introduction to J2EE Architecture Portions by Kunal Mehta.
第十四章 J2EE 入门 Introduction What is J2EE ?
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.
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.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
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.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
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.
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.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
J2EE Platform Overview (Application Architecture)
Java EE.
Introduction to J2EE Architecture
Distributed System Using Java 2 Enterprise Edition (J2EE)
Intro to J2EE Concepts.
Presentation transcript:

Introduction to Java EE (J2EE)

CSE, IITB Umesh Bellur Session Objectives Understanding the value propositions of J2EE Getting a big picture of J2EE architecture and platform Getting high-level exposure of APIs and Technologies that constitute J2EE  You don't have to understand all the details Understanding why J2EE can be used for as a platform for development and deployment of web services

CSE, IITB Umesh Bellur What is J2EE?

CSE, IITB Umesh Bellur Challenges Portability Diverse Environments Time-to-market Core Competence Assembly Integration Key Technologies J2SE ™ J2EE ™ JMS Servlet JSP Connector XML Data Binding XSLT Products App Servers Web Servers Components Databases Object to DB tools Legacy Systems Databases TP Monitors EIS Systems Enterprise Computing

CSE, IITB Umesh Bellur What Is the J2EE? Open and standard based platform for  developing, deploying and managing  n-tier, Web-enabled, server-centric, and component-based enterprise applications

CSE, IITB Umesh Bellur The Java™ Platform High-End Server Java Technology Enabled Desktop Workgroup Server Java Technology Enabled Devices

The Java TM Platform Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) JVM Java Card APIs CardVM Optional Packages Personal Basis Profile Personal Profile Foundation Profile CDC MIDP CLDC KVM Java 2 Platform Micro Edition (J2ME TM ) * Under development in JCP

CSE, IITB Umesh Bellur What Makes Up J2EE? API and Technology specifications Development and Deployment Platform Standard and production-quality implementation Compatibility Test Suite (CTS) J2EE brand J2EE Blueprints Sample codes

CSE, IITB Umesh Bellur Open and Standard Solution Use "component and container" model in which container provides system services in a well-defined and as industry standard J2EE is that standard that also provides portability of code because it is based on Java technology and standard-based Java programming APIs

CSE, IITB Umesh Bellur Why J2EE?

CSE, IITB Umesh Bellur Platform Value to Developers Can use any J2EE implementation for development and deployment  Use production-quality standard implementation which is free for development/deployment  Use high-end commercial J2EE products for scalability and fault-tolerance Vast amount of J2EE community resources  Many J2EE related books, articles, tutorials, quality code you can use, best practice guidelines, design patterns etc. Can use off-the-shelf 3rd-party business components

CSE, IITB Umesh Bellur Platform Value to Vendors Vendors work together on specifications and then compete in implementations  In the areas of Scalability, Performance, Reliability, Availability, Management and development tools, and so on Freedom to innovate while maintaining the portability of applications Do not have create/maintain their own proprietary APIs

CSE, IITB Umesh Bellur Platform Value to Business Customers Application portability Many implementation choices are possible based on various requirements  Price (free to high-end), scalability (single CPU to clustered model), reliability, performance, tools, and more  Best of breed of applications and platforms Large developer pool

CSE, IITB Umesh Bellur J2EE APIs & Technologies

CSE, IITB Umesh Bellur J2EE 1.4 APIs and Technologies J2SE 1.4 (improved) JAX-RPC (new) Web Service for J2EE J2EE Management J2EE Deployment JMX 1.1 JMS 1.1 JTA 1.0 Servlet 2.4 JSP 2.0 EJB 2.1 JAXR Connector 1.5 JACC JAXP 1.2 JavaMail 1.3 JAF 1.0

CSE, IITB Umesh Bellur Java EE 5 JAX-WS 2.0 & JSR 181 Java Persistence EJB 3.0 JAXB 2.0 JavaSever Faces 1.2 – new to Platform JSP 2.1 – Unification w/ JSF 1.2 StAX – Pull Parser – new to Platform

CSE, IITB Umesh Bellur Servlet & JSP (JavaServer Pages)

CSE, IITB Umesh Bellur What is a Servlet? Java™ objects which extend the functionality of a HTTP server Dynamic contents generation Better alternative to CGI, NSAPI, ISAPI, etc.  Efficient  Platform and server independent  Session management  Java-based

CSE, IITB Umesh Bellur Servlet vs. CGI CGI Based Webserver CGI Based Webserver Request CGI1 Child for CGI1 CGI Based Webserver Servlet Based Webserver JVM Request CGI1 Child for CGI1 Request Servlet1 CGI Based Webserver Servlet Based Webserver JVM Servlet1 Request CGI1 Child for CGI1 Request CGI2 Request Servlet1 CGI Based Webserver Child for CGI2 Servlet Based Webserver JVM Servlet1 Request CGI1 Child for CGI1 Request CGI2 Request Servlet1 Request Servlet2 CGI Based Webserver Child for CGI2 Servlet Based Webserver JVM Servlet1 Servlet2 Request CGI1 Child for CGI1 Request CGI2 Request CGI1 Request Servlet1 Request Servlet2 CGI Based Webserver Child for CGI2 Child for CGI1 Servlet Based Webserver JVM Servlet1 Servlet2 Request CGI1 Child for CGI1 Request CGI2 Request CGI1 Request Servlet1 Request Servlet2 Request Servlet1 CGI Based Webserver Child for CGI2 Child for CGI1 Servlet Based Webserver JVM Servlet1 Servlet2 Request CGI1 Child for CGI1

CSE, IITB Umesh Bellur What is JSP Technology? Enables separation of business logic from presentation  Presentation is in the form of HTML or XML/XSLT  Business logic is implemented as Java Beans or custom tags  Better maintainability, reusability Extensible via custom tags Builds on Servlet technology

CSE, IITB Umesh Bellur EJB (Enterprise Java Beans)

CSE, IITB Umesh Bellur What is EJB Technology? A server-side component technology Easy development and deployment of Java technology-based application that are:  Transactional, distributed, multi-tier, portable, scalable, secure, …

CSE, IITB Umesh Bellur Why EJB Technology? ● Leverages the benefits of component-model on the server side ● Separates business logic from system code  Container provides system services ● Provides framework for portable components  Over different J2EE-compliant servers  Over different operational environments ● Enables deployment-time configuration  Deployment descriptor

CSE, IITB Umesh Bellur EJB Architecture

CSE, IITB Umesh Bellur Enterprise JavaBeans Entity BeanMessage-Driven Bean Synchronous communicationAsynchronous communication Stateless Stateful Bean managed Persistence (BMP) Container managed Persistence (CMP) Session Bean

CSE, IITB Umesh Bellur JMS (Java Message Service)

CSE, IITB Umesh Bellur Java Message Service (JMS) Messaging systems (MOM) provide  De-coupled communication  Asynchronous communication  Plays a role of centralized post office Benefits of Messaging systems  Flexible, Reliable, Scalable communication systems Point-to-Point, Publish and Subscribe JMS defines standard Java APIs to messaging systems

CSE, IITB Umesh Bellur Connector Architecture

CSE, IITB Umesh Bellur Connector Architecture Defines standard API for integrating J2EE technology with EIS systems  CICS, SAP, PeopleSoft, etc. Before Connector architecture, each App server has to provide an proprietary adaptor for each EIS system  m (# of App servers) x n (# of EIS's) Adaptors With Connector architecture, same adaptor works with all J2EE compliant containers  1 (common to all App servers) x n (# of EIS's) Adaptors

CSE, IITB Umesh Bellur m x n Problem Before Connector Architecture App Server1 App Server App Server3 App Server2 SAP EIS4 EIS3 m n EIS 2

CSE, IITB Umesh Bellur JAAS (Part of J2SE 1.4) (Java Authentication & Authorization Service)

CSE, IITB Umesh Bellur JAAS: Authentication Pluggable authentication framework  Userid/password  Smartcard  Kerberos  Biometric Application portability regardless of authentication schemes underneath  JAAS provides authentication scheme independent API  Authentication schemes are specified Login configuration file, which will be read by JAAS

CSE, IITB Umesh Bellur JAAS Pluggable Authentication

CSE, IITB Umesh Bellur Other J2EE APIs & Technologies

CSE, IITB Umesh Bellur JNDI Java Naming and Directory Interface Utilized by J2EE applications to locate resources and objects in portable fashion  Applications use symbolic names to find object references to resources via JNDI  The symbolic names and object references have to be configured by system administrator when the application is deployed.

CSE, IITB Umesh Bellur JDBC Provides standard Java programming API to relational database  Uses SQL Vendors provide JDBC compliant driver which can be invoked via standard Java programming API

CSE, IITB Umesh Bellur J2EE Management (JSR-77) Management applications should be able to discover and interpret the managed data of any J2EE platform Single management platform can manage multiple J2EE servers from different vendors Management protocol specifications ensure a uniform view by SNMP and WBEM management stations Leverages JMX

CSE, IITB Umesh Bellur J2EE Deployment (JSR-88) - J2EE 1.4 Tools J2EE Platforms Standard Deployment API (Universal Remote) IDEs Vendor Deploy Tools Management Tools

CSE, IITB Umesh Bellur J2EE App Server App JMX JMX defacto Dynamic Deployment JMX API into the J2EE 1.4 platform A single technology for the J2EE platform JMX

CSE, IITB Umesh Bellur J2EE is an End-to-End Architecture

CSE, IITB Umesh Bellur The J2EE Platform Architecture B2B Applications B2C Applications Web Services Wireless Applications Application Server Enterprise Information Systems Existing Applications

CSE, IITB Umesh Bellur N-tier J2EE Architecture

CSE, IITB Umesh Bellur J2EE Component & Container Architecture

CSE, IITB Umesh Bellur JNDI J2SE JMS RMI/IIOP JDBC Database App Client App Client Container HTTP/ HTTPS J2SE RMI J2SE JNDI JMS RMI/IIOP JDBC JTA JavaMail JAF JNDI JMS RMI/IIOP JDBC JTA JavaMail JAF HTTP/ HTTPS Applet Container Applet JSP Servlet EJB Web ContainerEJB Container RMI J2SE J2EE Containers & Components

CSE, IITB Umesh Bellur Components Handle Concurrency Security Availability Scalability Persistence Transaction Life-cycle management Management Presentation Business Logic Containers Handle

CSE, IITB Umesh Bellur Containers & Components Containers do their work invisibly – No complicated APIs – They control by interposition Containers implement J2EE – Look the same to components – Vendors making the containers have great freedom to innovate

CSE, IITB Umesh Bellur J2EE Application Anatomies

CSE, IITB Umesh Bellur DB & EIS Resources Browser Stand-alone Web ServerEJB Server Web Server EJB Server Possible J2EE Application Anatomies

CSE, IITB Umesh Bellur J2EE Application Anatomies ● 4-tier J2EE applications – HTML client, JSP/Servlets, EJB, JDBC/Connector ● 3-tier J2EE applications – HTML client, JSP/Servlets, JDBC ● 3-tier J2EE applications – EJB standalone applications, EJB, JDBC/Connector ● B2B Enterprise applications – J2EE platform to J2EE platform through the exchange of JMS or XML-based messages

CSE, IITB Umesh Bellur Which One to Use? ● Depends on several factors  Requirements of applications  Availability of EJB tier  Availability of developer resource