Enterprise Java v012405J2EE Introduction1 Enterprise Computing and J2EE Introduction.

Slides:



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

J2EE Architecture Overview
פתרונות J2EE וטכנולוגיות Oracle Mr. Liran Zelkha, Chief Architect
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.
Distributed System Using Java 2 Enterprise Edition (J2EE) B.Ramamurthy.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
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.
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
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
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.
CS 483 Enterprise and Web Application Programming
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Understanding and Managing WebSphere V5
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Web-based Software Development - An introduction.
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.
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.
Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Talarian Proprietary Talarian’s New JMS Offering and Sun Partnership.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Introduction to J2EE Architecture Portions by Kunal Mehta.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
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.
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.
Introduction to Java EE (J2EE). CSE, IITB Umesh Bellur Session Objectives Understanding the value propositions of J2EE Getting a big picture of J2EE architecture.
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.
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 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.
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
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
Apache Geronimo Open Source J2EE Application Server Getting up to speed with Apache Geronimo - Copyright 2005 Tom McQueeney 1 Getting up to speed with.
J2EE Platform Overview (Application Architecture)
Introduction to J2EE Architecture
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
Web-Services-based Systems Architecture, Design and Implementation
Java EE Overview The problem Java Enterprise Edition attempts to solve: maximize the use of Java technologies by providing a suite of Java technology specifications.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Presentation transcript:

Enterprise Java v012405J2EE Introduction1 Enterprise Computing and J2EE Introduction

Enterprise Java v012405J2EE Introduction2 Objectives Understand complexity of enterprise applications Understand N-Tier architectures Differentiate between Java platforms –J2SE, J2ME, and J2EE High-level understanding of J2EE architecture and components

Enterprise Java v012405J2EE Introduction3 From Simple ClientDatabase Server JDBC

Enterprise Java v012405J2EE Introduction4 To Complex Fat Client (SWING) Enterprise Application Order Database Inventory Management CRM System Management Console Browser Client CORBA Client SOAP Client RMI HTTP SOAP IIOP JDBC SNMP/JMX Custom Also: PDAs, Cell, etc.

Enterprise Java v012405J2EE Introduction5 Enterprise Applications Extend their reach, reduce costs, lower response times Provide easy access for customers, employees, and suppliers Provide services that integrate existing Enterprise Information Systems (EIS) with new business functions –highly available –Secure –reliable/scaleable

Enterprise Java v012405J2EE Introduction6 Enterprise Application Requirements Highly Available –Business is being bet on the system in many cases Secure –Sensitive systems –Sometimes ‘anonymous’ clients Scalable –Unpredictable system loads Wide variety of systems, platforms, languages, and APIs to integrate

Enterprise Java v012405J2EE Introduction7 N-Tier Architectures Developed to manage complexity and scalability issues –Middle tier implements new functionality –client-tier hides the complexity while taking advantage of low administration web-based interfaces Enables system to be composed of different parts Areas of functionality can be ‘scaled up’ as demand requires Definitely more complex than the simple client-server application

Enterprise Java v012405J2EE Introduction8 Load Balancer Web Server Web Server Web Server FIREWALLFIREWALL FIREWALLFIREWALL Business Logic Business Logic Database Business System Business System Dynamic Web Content Dynamic Web Content For Fat Clients

Enterprise Java v012405J2EE Introduction9 Java 2 Enterprise Edition ‘Standard’ for developing multi-tier, enterprise applications Simplify development of multi-tier applications –Handle difficult middleware requirements Transactions Security Distributed objects Scaling

Enterprise Java v012405J2EE Introduction10 Java Platforms Java 2 Micro Edition (J2ME) –Java applications for ‘micro’ devices –PDAs, cell phones, set-top boxes Java 2 Standard Edition (J2SE) –Used by J2EE. Write-Once Run-Anywhere –‘JDK’ Java 2 Enterprise Edition (J2EE) –N-Tier server-side applications

Enterprise Java v012405J2EE Introduction11 J2EE Components J2EE Platform J2EE Compatibility Test Suite J2EE Reference Implementation Sun Blueprints Design Guidelines for J2EE

Enterprise Java v012405J2EE Introduction12 Compatibility Test Suite Verifies platform vendors have correctly implemented to the spec J2EE 1.3 Compatible Implementations –BEA Weblogic Server 7.0, Borland Enterprise Server, Computer Associates Advantage Joe, Fujitsu Interstage, IBM Websphere, Macromedia JRun 4, Oracle 9i App Server, Pramati Server 3.0, SAS AppDev Studio, Silverstream App Server, Sun ONE Application Server, Sybase EAServer 4.1, TMax Soft JEUS 4.0, TriFork Application Server 3.1, J2EE SDK 1.3 J2EE 1.4 –“Web Services” J2EE 1.5 –“Ease of Use”

Enterprise Java v012405J2EE Introduction13 Reference Implementation Operational definition of the J2EE platform Proves spec is implementable Programmer experimentation Download At: –

Enterprise Java v012405J2EE Introduction14 Blueprints Set of best practices

Enterprise Java v012405J2EE Introduction15

Enterprise Java v012405J2EE Introduction16 J2EE Platform Our main focus – standard execution environment for enterprise components

Enterprise Java v012405J2EE Introduction17 J2EE Architectural Model

Enterprise Java v012405J2EE Introduction18 J2EE Architecture Diagram

Enterprise Java v012405J2EE Introduction19 Containers, Components, and Connectors

Enterprise Java v012405J2EE Introduction20 Application Components Application Clients Applets Servlets, JSP pages, filters, and web event listeners –Referred to as ‘Web Components’ Enterprise Java Beans –Business logic for J2EE application –transactional

Enterprise Java v012405J2EE Introduction21 Application Component Categories Deployed, managed, and executed on the J2EE server –JSPs, Servlets, EJBs Deployed and managed on the J2EE server, but executed on the client platform –HTML pages –Applets embedded within HTML pages Deployment and management not fully addressed by J2EE specification –Application Clients

Enterprise Java v012405J2EE Introduction22 Containers Provide run-time support to application components –Provides Java 2 Standard Environment –Provides APIs to access standard set of J2EE services Interposed between application clients and J2EE services –allows for declarative (versus programmatic) implementation of services (e.g., security, transactions, and state management) Understands application packaging forms for deployment Part of a J2EE ‘server’ –Typically implemented from an existing transaction processing infrastructure

Enterprise Java v012405J2EE Introduction23 Containers (Cont) Deployment descriptor is the contract between a component and the container –TellerBean – no one can invoke the ‘closeAccount’ method unless they are in the ‘manager’ role –Essentially an XML config file Other Services –Lifecycle management Create and Destroy components as as demand and resources require –Resource Pooling Object pooling, connection pooling, thread pooling

Enterprise Java v012405J2EE Introduction24 Connectors Integrate EIS systems with J2EE system components –CICS –Tandem –SAP/R3 –PeopleSoft –See:

Enterprise Java v012405J2EE Introduction25 JCA Overview

Enterprise Java v012405J2EE Introduction26 JCA Scenario

Enterprise Java v012405J2EE Introduction27 J2EE Services

Enterprise Java v012405J2EE Introduction28 Services (Cont) Java Naming and Directory Interface (JNDI) –Look up objects (services) JDBC –Access to relational databases and other repositories JavaMail –Send and receive mail –Order confirmations, customer feedback –Requires Java Activation Framework (JAF) CORBA Compliance –JavaIDL and RMI/IIOP

Enterprise Java v012405J2EE Introduction29 Services (Cont) Java Transaction API (JTA) –Components may manage transactions –Usually, better left to platform XML Deployment Descriptors –Custom tool development Java Message Service (JMS) –Asynchronous communication with fault tolerance

Enterprise Java v012405J2EE Introduction30 Services (Cont) HTTP –Client-side API defined in java.net –Standard: HTTPs –HTTP over Secure Socket Layer (SSL) JAXP –Java API for XML Parsing

Enterprise Java v012405J2EE Introduction31 Services (Cont) J2EE Connector Architecture (JCA) –Standardized access to EIS Security Services –JAAS allows services to authenticate and enforce access controls –JACC allows security implementations to be ‘plugged into’ a J2EE application server

Enterprise Java v012405J2EE Introduction32 Services (Cont) Management –Manage servers using an enterprise bean –Some JMX support Deployment –Contract between deployment tools and J2EE products –J2EE product provides a plug-in component that the tool can use to deploy applications into the product

Enterprise Java v012405J2EE Introduction33 Services (Cont) Web Services –Deployment of web service clients and service endpoints fully specified –Web service clients JAX-RPC for SOAP Web service calls –Web service endpoints Implementation using enterprise beans –Java API for XML Registries for registry support

Enterprise Java v012405J2EE Introduction34 Transactions Transactional Resources –JDBC Connections –JMS Sessions –XATransaction Resource Adapters Transaction boundaries specified programmatically and declaratively Transactions may span multiple components and transactional resources

Enterprise Java v012405J2EE Introduction35 Transaction Scenarios

Enterprise Java v012405J2EE Introduction36 J2EE Security Goals Security should be portable and interoperable Security policy specified declaratively in deployment descriptors whenever possible Non-goals –Does not dictate a security policy –Does not mandate a specific security technology

Enterprise Java v012405J2EE Introduction37 Security (Cont) Authentication –Prove identity –Basic Authentication, HTTPs client authentication, SSL mutual authentication, Form-based authentication –Application clients/JAAS Access Control –Limit access to resources based on role Can client access web page, servlet, JSP Can client invoke EJB method

Enterprise Java v012405J2EE Introduction38 Security (Cont) Deployment descriptor states security policies for declarative security APIs give access to security information –HttpServletRequest getUserPrincipal, isUserInRole –EJBContext getCallerPrincipal, isCallerInRole A J2EE product may restrict the use of certain J2SE classes and methods to secure and insure proper operation of the system.

Enterprise Java v012405J2EE Introduction39 Naming J2EE application clients, enterprise beans, and web components are required to have access to a JNDI naming environment. Containers provide naming context for components Deployment descriptors specify the component’s requirements for access to external information to the application assembler and deployers Components use JNDI interface

Enterprise Java v012405J2EE Introduction40 J2EE Applications J2EE Applications are composed of: –One or more J2EE components –Module-level deployment descriptor Lists application components as ‘modules’ Goal: –Modular application assembly –Portable deployment

Enterprise Java v012405J2EE Introduction41

Enterprise Java v012405J2EE Introduction42 Application Development Lifecycle

Enterprise Java v012405J2EE Introduction43 Interoperability

Enterprise Java v012405J2EE Introduction44 Product Extensions Product Extensions are possible to standard –Specification defines the minimum with extensions expected –Extensions may not change or add anything (classes, methods, parameters, etc.) to the packages identified by the specification –may provide additional APIs

Enterprise Java v012405J2EE Introduction45 Product Requirements No specification on the number of programs or computers it takes to implement the standard No specification on the partitioning of services No specification on the product boundaries –may need to purchase different levels of compatibility incrementally

Enterprise Java v012405J2EE Introduction46 Platform Roles J2EE Product Provider –typically operating system venders, database venders, application server vendors, or web server vendors –provide component containers, API implementations, etc. –provides deployment and management tools Application Component Provider –HTML document designers –Applet developers –EJB developers

Enterprise Java v012405J2EE Introduction47 Platform Roles (Cont) Application Assembler –assembles application components into a J2EE application Deployer –deploys software –configures J2EE application for use in a specific environment –instantiates application –expert in the deployment environment

Enterprise Java v012405J2EE Introduction48 Platform Roles (Cont) System Administrator –configuration and administration of computing and networking infrastructure –monitors operation of application Tool Provider –develops tools for the development and packaging of components

Enterprise Java v012405J2EE Introduction49 J2EE Architecture

Enterprise Java v012405J2EE Introduction50 Multi-Tier Model Client Tier –supports client access both inside and outside corporate firewall Middle Tier –supports client services through Web containers in the Web Tier –supports business logic through EJB containers in the EJB Tier Enterprise Information Tier –supports access to information through standard APIs

Enterprise Java v012405J2EE Introduction51 Client Tier Variety of client types both inside and outside the enterprise firewall –Web Browsers using plain HTML pages dynamic HTML pages generated through JSPs Applets –Standalone Java applications (portable code, non-portable install) Access Middle-Tier using web standards –HTTP, HTML, and XML Complex client interaction –communicated with through middle-tier Servlets –clients access through JavaBeans

Enterprise Java v012405J2EE Introduction52 Middle Tier Application developer supplies business code in the form of Enterprise JavaBeans EJB Container provides reliability, scalability, security,and other qualities/services for the business code –APIs to implement business code –Distributed environment to use the business code

Enterprise Java v012405J2EE Introduction53

Enterprise Java v012405J2EE Introduction54 Client Scenarios

Enterprise Java v012405J2EE Introduction55 Direct Client-EJB Access

Enterprise Java v012405J2EE Introduction56 Direct Client EIS Access

Enterprise Java v012405J2EE Introduction57 Direct Client Access to Web Content

Enterprise Java v012405J2EE Introduction58 3 Tier Web-Centric Application Scenario

Enterprise Java v012405J2EE Introduction59 Business-to-Business Scenario

Enterprise Java v012405J2EE Introduction60 J2EE Future Directions XML Data Binding (JSR-031) – JNLP –Java Network Launch Protocol –Deploy applications on server and launch on client –Java Web Start is reference implementation J2EE SPI –Make more aspects of an application server ‘pluggable’ – a possibilityhttp://java.sun.com/aboutJava/communityprocess/jsr/jsr_111_jsf.html

Enterprise Java v012405J2EE Introduction61 Future Directions (Cont) JDBC Rowsets –Standard way to send tabular data between remote components of a distributed app – Security APIs –Expand APIs available to a client that wishes to control security programmatically SQLJ Part 0 –Embed SQL statements in Java program –

Enterprise Java v012405J2EE Introduction62 References Sun’s Website –