Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Slides:



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

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
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.
Technical Architectures
Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
BICS546 Client/Server Database Application Development.
Layers & Tiers Umair Javed Lec - 41.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
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
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Introduction to Servlet & JSP
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.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Introduction to J2EE Dr. N. A. Joshi.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
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.
Introduction to Java EE (J2EE)
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Enterprise Computing COSC 617 Jeff Schmitt September 7,2006.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
第十四章 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.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Java 2 Enterprise Edition Presented by: Reem Osama Shehata Supervised by: Dr. Sherif Aly 16 th March 2006.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Introduction to Java EE (J2EE). CSE, IITB Umesh Bellur Session Objectives Understanding the value propositions of J2EE Getting a big picture of J2EE architecture.
XML and Web Services (II/2546)
SOA support in J2EE Platform overview Primitive SOA support Support for service-orientation principles Contemporary SOA support.
3-Tier Architecture Chandrasekaran Rajagopalan Cs /01/99.
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.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Java Servlets and Java Server Pages
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.
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.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Introduction to Java Web Programming Gregg Sporar
J2EE Lecture 10: EJB 3.0 Overview
J2EE Platform Overview (Application Architecture)
Introduction to J2EE Architecture
Design and Maintenance of Web Applications in J2EE
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Computer Based Adaptive Testing
JavaServer Faces: The Fundamentals
Presentation transcript:

Bayu Priyambadha, S.Kom

What is J2EE?

* Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric, and component- based enterprise applications

* Things that make up an enterprise application * Presentation logic * Business logic * Data access logic (and data model) ‏ * System services * The evolution of enterprise application framework reflects * How flexibly you want to make changes * Where the system services are coming from

High-End Server Java Technology Enabled Desktop Workgroup Server Java Technology Enabled Devices

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

Evolution of Enterprise Application Frameworks

* Single tier * Two tier * Three tier * RPC based * Remote object based * Three tier (HTML browser and Web server) ‏ * Proprietary application server * Standard application server

* Dumb terminals are directly connected to mainframe * Centralized model (as opposed distributed model) ‏ * Presentation, business logic, and data access are intertwined in one monolithic mainframe application

* Pros: * No client side management is required * Data consistency is easy to achieve * Cons: * Functionality (presentation, data model, business logic) intertwined, difficult for updates and maintenance and code reuse

* Fat clients talking to back end database * SQL queries sent, raw data returned * Presentation,Business logic and Data Model processing logic in client application Database SQL request SQL response

* Pro: * DB product independence (compared to single-tier model) ‏ * Cons: * Presentation, data model, business logic are intertwined (at client side), difficult for updates and maintenance * Data Model is “tightly coupled” to every client: If DB Schema changes, all clients break * Updates have to be deployed to all clients making System maintenance nightmare * DB connection for every client, thus difficult to scale * Raw data transferred to client for processing causes high network traffic

* Thinner client: business & data model separated from presentation * Business logic and data access logic reside in middle tier server while client handles presentation * Middle tier server is now required to handle system services * Concurrency control, threading, transaction, security, persistence, multiplexing, performance, etc. Database SQL request SQL response RPC response RPC request

* Pro: * Business logic can change more flexibly than 2-tier model * Most business logic reside in the middle-tier server * Cons: * Complexity is introduced in the middle-tier server * Client and middle-tier server is more tightly-coupled (than the three-tier object based model) * Code is not really reusable (compared to object model based) ‏

* Business logic and data model captured in objects – Business logic and data model are now described in “abstraction” (interface language) ‏ * Object models used: CORBA, RMI, DCOM * Interface language in CORBA is IDL * Interface language in RMI is Java interface Database SQL request SQL response Object response Object request

* Pro: * More loosely coupled than RPC model * Code could be more reusable * Cons: * Complexity in the middle-tier still need to be addressed

* Browser handles presentation logic * Browser talks Web server via HTTP protocol * Business logic and data model are handled by “dynamic contents generation” technologies (CGI, Servlet/JSP, ASP) ‏ Database SQL request SQL response HTML response WEB Server HTML request

* Pro: * Ubiquitous client types * Zero client management * Support various client devices * J2ME-enabled cell-phones * Cons: * Complexity in the middle-tier still need to be addressed

* Moving from single-tier or two-tier to multi-tier architecture * Moving from monolithic model to object-based application model * Moving from application-based client to HTML-based client

Multi-tier No separation among presentation, business logic, database Hard to maintain Separation among presentation, business logic, database More flexible to change, i.e. presentation can change without affecting other tiers Single tier

Object-based 1 Binary file Recompiled, relinked, redeployed every time there is a change Pluggable parts Reusable Enables better design Easier update Implementation can be separated from interface Only interface is published Monolithic

Why J2EE?

* 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

* 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

* 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

JEE APIs & Technologies

* Java API for RESTful Web Services (JAX-RS) 1.1 * Implementing Enterprise Web Services 1.3 * Java API for XML-Based Web Services (JAX-WS) 2.2 * Java Architecture for XML Binding (JAXB) 2.2 * Web Services Metadata for the Java Platform * Java API for XML-Based RPC (JAX-RPC) 1.1 * Java APIs for XML Messaging 1.3 * Java API for XML Registries (JAXR) 1.0

* Java Servlet 3.0 * JavaServer Faces 2.0 * JavaServer Pages 2.2/Expression Language 2.2 Standard Tag Library for JavaServer Pages (JSTL) * Debugging Support for Other Languages 1.0

* Contexts and Dependency Injection for Java (Web Beans 1.0) * Dependency Injection for Java 1.0 * Bean Validation 1.0 * Enterprise JavaBeans 3.1 * (includes Interceptors 1.1) * Java EE Connector Architecture 1.6 * Java Persistence 2.0 * Common Annotations for the Java Platform 1.1 * Java Message Service API 1.1 * Java Transaction API (JTA) 1.1 * JavaMail 1.4

* Java Authentication Service Provider Interface for Containers * Java Authorization Contract for Containers 1.3 * Java EE Application Deployment 1.2 * J2EE Management 1.1 * Java EE-related Specs in Java SE * Java API for XML Processing (JAXP) 1.3 * Java Database Connectivity 4.0 * Java Management Extensions (JMX) 2.0 * JavaBeans Activation Framework (JAF) 1.1 * Streaming API for XML (StAX) 1.0