Enterprise Java Beans

Similar documents
Distributed Multitiered Application

Chapter 6 Enterprise Java Beans

Enterprise Software Architecture & Design

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

WebSphere 4.0 General Introduction

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

It Is a Difficult Question! The Goal of This Study. Specification. The Goal of This Study. History. Existing Benchmarks

Java Enterprise Edition

Oracle 10g: Build J2EE Applications

(9A05803) WEB SERVICES (ELECTIVE - III)

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

J2EE Interview Questions

Enterprise Web based Software Architecture & Design

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

Enterprise JavaBeans. Layer:01. Overview

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

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

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.

Plan. Department of Informatics. Advanced Software Engineering Prof. J. Pasquier-Rocha Cours de Master en Informatique - SH 2003/04

Application Servers in E-Commerce Applications

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

Course Content for Java J2EE

Essential Software Architecture

Enterprise Java and Rational Rose - Part II

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

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

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

Java Programming Language

Oracle WebLogic Server 12c: Administration I

Factsheet of Public Services Infrastructure (PSi) Updated on: 1st Sep 03

Building the Enterprise

Deccansoft Software Services. J2EE Syllabus

Oracle WebLogic Server 11g: Administration Essentials

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

Chapter 10 Web-based Information Systems

The team that wrote this redbook

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

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

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

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

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

Services Oriented Architecture and the Enterprise Services Bus

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

TECNIA INSTITUTE OF ADVANCED STUDIES

Example Purchase request JMS & MDB. Example Purchase request. Agenda. Purpose. Solution. Enterprise Application Development using J2EE

COWLEY COLLEGE & Area Vocational Technical School

History of Enterprise Java

Migrating traditional Java EE applications to mobile

Introduction to componentbased software development

Multi-tier architecture performance analysis. Papers covered

open source community experience distilled

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

WebSphere Application Server, Version 5. What s New?

Java J Course Outline

CO Java EE 7: Back-End Server Application Development

Agent-Enabling Transformation of E-Commerce Portals with Web Services

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Oracle9iAS Tech nicaloverview

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

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

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management

JAVA & J2EE UNIT -1 INTRODUCTION

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Planning the Future with Planets The Planets Interoperability Framework. Presented by Ross King Austrian Research Centers GmbH ARC

Web Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics

Appendix A - Glossary(of OO software term s)

A General ecommerce Platform with Strong International and Local Aspects

Oracle Fusion Middleware

"Web Age Speaks!" Webinar Series

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

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

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

Java EE 7: Back-End Server Application Development

Java EE Patterns 176

Market leading web application server product

Enterprise Java and Rational Rose -- Part I

Virtual Credit Card Processing System

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

SUN Enterprise Development with iplanet Application Server

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Chapter 2 Introduction

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

Introduction to JSP and Servlets Training 5-days

Inside WebSphere Application Server

Using JNDI from J2EE components

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

Plants By WebSphere Ajax Sample Application Installation, Setup and Configuration WebSphere Application Server v8.0

Oracle Communications Services Gatekeeper

Problems in Scaling an Application Client

Designing a Distributed System

ive JAVA EE C u r r i c u l u m

JAVA Training Overview (For Demo Classes Call Us )

iseries & WebSphere Express

Using Open Source Middleware for Securing Applications

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Transcription:

Enterprise Java Beans Taking IT easy with Middleware Premkumar Devanbu, Center for Software Systems Research Dept. of Computer Science, University of California, Davis, CA, USA.

Outline Introduction, Motivation and Overview. Session Beans Entity Beans EJB Services: Naming, Transactions, and Security. Comparison of EJB and.net

Outline Introduction, Motivation and Overview. Session Beans Entity Beans EJB Services: Naming, Transactions, and Security. Comparison of EJB and.net

Distributed IT Systems are ubiquitous Web e-business systems Web Intranet systems (e.g. personnel, registration, grading, etc at a University.) Government systems (e.g., taxation, welfare programs, research grants)

and challenging!! Networking Administration Fault-tolerance Persistence Transactions Load handling Security Resource pooling/caching Replacement Interoperability Legacy sytems. Logging/auditing

They do have similarities!! Application-level commonalities: Login/authentication Pricing computations (can be complex!) Session logic (e.g., shopping cart) Tax Computations Payment/Credit card

They share infra-structure! Typical common elements: Data-base management Protocol handlers (TCP/IP) Security (cryptography, key management). Transaction management. Load management/scheduling So component-based approach is very appealing!.but! How to provide an environment for a component market to thrive?

What we would like: A common architectural style, with good separation of concerns. A operational infra-structure (i.e., a container) that provides good services to components Well-defined, standardized, interfaces for components Tool support (automate the repetitive tasks) provided by EJB,.NET, CCM etc.

We ll start with: A common architectural style, with good separation of concerns. A operational infra-structure (i.e., a container) that provides good services. Well-defined, standardized, interfaces Tool support (automate the repetitive tasks)

The Architectural Style Should be simple, yet general. Should provide good separation of concerns. To support easier evolution To support many different vendors/systems Simplify personnel/training issues.

Evolution of Container Style In the beginning: (Simple Client-Server) Proprietary Protocols o Complex Clients o Complex Servers o Commitment to vendor o Hard to evolve. o Hard to administer

Evolution of Container Style Things get better (RDB/xDBC) Proprietary Protocols o Data management separated. o Easier to scale database server o Application logic still complex o Hard to evolve applications o Still have Complex Clients o Hard to administer clients

Evolution of Container Style here come Servlets Servlets Go Here! Web Browser Only! HTTP o Clients much simpler o Trival to administer o Servlet becomes very complex: o GUI o Persistence o Business Logic, etc.

Introducing The EJB Style. Servlet Container EJB Container HTTP JDBC o Business Logic handled by EJBs. o Database persistence also by EJBs. o GUI concern handled by servlets.

What are these containers? Servlet Container EJB Container HTTP JDBC Handle common functionality for all the contained things. Communications. Threading, stopping/starting Resource pooling Global/session state

What do containers do? Servlet Container EJB Container HTTP JDBC Servlet Container: HTTP Protocol Web Request/response Threading Servlet/session state Cookies EJB Container Communications. Threading/Start/Stop Resource pooling Transactions Security Data Persistence, etc.

Further refining. Servlet Container EJB Container HTTP JDBC Session Beans Handle each user s session, and contain the business logic. Entity Beans Handle the storage/retrievel of data, and any other data access and querying functionality. J2EE framework includes both containers!

What is an Enterprise Java Bean? A server-side component that provides some unit of functionality, and is compliant with interfaces that allow it to operate with the J2EE container. Implemented as a collection of Java classes, that implement certain required interfaces.

Examples A typical purchase transaction: A shopping cart EJB A credit card EJB (remote, at Visa/Amex) A shipping EJB An inventory control EJB

Business Partner Systems SERVLETS JSPs Enterprise Java Beans J2EE Server Connectors Databases Legacy Systems Business Partner Systems

The EJB Universe Tools Provider Tools Bean Provider EJBs Application Integrator EJB Platform Vendors EJB Platform Implementation Application Application Package Deployment Specialist System Operator

Moving ahead: A common architectural style, with good separation of concerns. A operational infra-structure (i.e., a container) that provides good services. Well-defined, standardized, interfaces Tool support (automate the repetitive tasks) provided by EJB,.NET, CCM etc.

A typical old-style component business method Transfer(amount, account1, account2) { /* 1. Do security authenticate account */ /* 2. Signal beginning of transaction */ /* 3. Access Database for account1 */ /* 4. Access Database for account2 */ /* 5. Update accounts 1 and 2 in memory */ /* 6. Write out account1 to database */ /* 7. Write out account2 to database */ /* 8. Signal Commit of Transaction */ } Programmer must handle persistence, transactions, security

With Container-managed security, persistence and Transactions Transfer(amount, account1, account2) { /* 1. Do security authenticate account */ /* 2. Signal beginning of transaction */ /* 3. Access Database for account1 */ /* 4. Access Database for account2 */ /* 5. Update accounts 1 and 2 in memory */ /* 6. Write out account1 to database */ /* 7. Write out account2 to database */ /* 8. Signal Commit of Transaction */ } All other Details automatically taken care of by container!!!

Is this Magic? No! Container performs the services, under instructions from deployment specialist! Container performs services by intercepting bean operations. OBSERVER pattern is used, along with DECORATOR. Programmer can customize some things by programming if so desired, and tools generate code in other cases. TEMPLATE pattern.

How The Container intervenes EJB Remote object EJB Container Services EJB Container EJB

The process Write EJB, with just business logic. Describe services required, in a separate deployment descriptor. Run a Tool, which generates interceptor code that is run by the remote proxy. The interceptor code handles all the calls to the middleware-provided services.

Advantages Application/business logic is much simpler. Separation of concerns. Easy to change use of services (transactions, security, persistence) without re-programming.