Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.

Slides:



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

11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
J2EE Architecture Overview
An architecture for webb applications, J2EE
Oracle Fusion Middleware 11g Abhishek Khanolkar. What is Oracle Fusion? “Oracle Fusion Middleware is a ‘preintegrated’ portfolio of customer- proven software.
AP 11/01 Software Components with JavaBeans The JavaBeans API discussion began with a reminder that M. D. McIlroy (1968) made a plea for catalogs of software.
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.
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.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.
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.
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.
CS 483 Enterprise and Web Application Programming
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Web-based Software Development - An introduction.
Distributed System Using Java 2 Enterprise Edition (J2EE)
J2EE Application Server Deployment and Performance Optimization for Enterprise Application Service Thesis presentation Author: Xiaoyang Wang.
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.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
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)
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.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Comp2513 JavaBeans, EJB and J2EE Daniel L. Silver, Ph.D.
第十四章 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.
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.
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.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)
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.
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.
©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
EJB Enterprise Java Beans JAVA Enterprise Edition
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
2 목차 n WebLogic Architecture n J2EE Spec PreView n WebLogic Basic n Weblogic JDBC n Weblogic JNDI n Weblogic EJB Architecture n Weblogic EJB Deployment.
J2EE Platform Overview (Application Architecture)
Web-based Software Development - An introduction
Introduction to J2EE Architecture
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Inventory of Distributed Computing Concepts
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Presentation transcript:

Enterprise Java Beans CS-422

Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed a class of server products to enable the creation of highly scaleable applications. –Used proprietary interfaces to OLTP (On-line Transaction Processing) tools like BEA Tuxedo and IBM TXSeries APIs are are not standardized Applications developed on one application server were not portable to another application server –every application ended up being custom written once one vendor‘s application server was installed, you were stuck with it and at the mercy of that vendor vendor’s did a good job of convincing you how easy it was to use their product but were really trying to sell customization and consulting services

WORA Java’s “Write Once, Run Anywhere” philosophy allows Java applications to be written once and then run anywhere there is a JVM Java 2 Enterprise Edition (J2EE) allows WORA to be applied to application server technology and server-side components to provide an application server that will allow application portability Java 2 APIs are platform independent and vendor neutral –each API provides a common programming interface to a generic type of infrastructure service –Java 2 APIs have the goal of extending Microsoft’s ODBC philosophy a step further to include all infrastructure services

J2EE Industry Acceptance To be successful J2EE must have wide industry acceptance –APIs would be useless if infrastructure vendors don’t implement support for the J2EE APIs –Sun made alliances with many Industry leaders to insure the success of J2EE Transaction Management –IBM, Compaq/Tandem, BEA Systems Persistence Management –Oracle, Sybase, Informix Directory Services –HP, Netscape, IBM

J2EE APIs Enterprise Java Bean (EJB) API Java Naming and Directory Interface (JNDI) Remote Method Invocation/Internet Inter-ORB Protocol Java IDL Servlets and JSP Java Messaging Service (JMS) Java Transaction Service JTS) Java Transaction API (JTA) Java Database Connectivity (JDBC)

EJB API The EJB API defines a server component model –provides portability across application servers –implements automatic services on behalf of the application components

JNDI API Provides access to naming and directory services –DNS, NDS, NIS+, LDAP, COS used to look up interfaces used to create EJBs, JDBC connections and other things

RMI/IIOP Allows the creation of remote interfaces for distributed computing –default protocol (JRMP, Java Remote Method Protocol) is proprietary, based on Java’s serialization APIs –RMI-IIOP a JDK 1.3 extension of RMI that allows the use of IIOP (Internet Inter ORB Protocol) for RMI communication. J2EE Spec requires this as the standard protocol for communications between the different tiers of the J2EE architecture.

Java IDL Creates remote interfaces to support CORBA communications in the Java platform –includes IDL compiler and a lightweight ORB allows the integration of non-Java based components

Servlets and JSP Used for creation of thin client interfaces for the presentation of information and collection of user inputs Support the dynamic HTML generation and session management for browser based clients

JMS Used for asynchronous communication between distributed objects Supports asynchronous communications through various messaging systems, such as reliable queueing and publish-and-subscribe services

JTA Provides a transaction demarcation API provides the infrastructure for transaction management –open, committ, roll back –if the transaction spans multiple beans deployed on the same server or on widely dispersed servers, the server vendor is responsible for proper implementation od transaction control –transactions spanning multiple servers require the propigation of transaction context between servers over IIOP

JTS API Defines a distributed transaction management service based on CORBA’s Object Transaction Service

JDBC Provides uniform access to relational databases such as DB2, Oracle, SQL Server and Sybase Provides provides interfaces to RDBMs both for data definition and query/insert/update/delete latest version provides for database connection pooling

Where we stand on J2EE... In CS-328 we covered the following APIs: –JDBC –RMI –JavaIDL –HTTP and the Web –JNDI In CS-422 we’ve covered: –Servlets and JSP What’s left: –JMS (to be covered in CS-328) –JTA (some day) –JTS (some day) –EJB

What is Enterprise Java Beans Defines a model for the development and deployment of reusable Java server components –Components are pre-developed pieces of applications code that can be assembled into working application systems The EJB Architecture logically extends the Java Beans component model to support server components Server components run in an application server A Java application server provides an optimized execution environment for server-side Java application components –by combining traditional OLTP (On-line Transaction Processing) technologies with a Java application server delivers a high performance, highly scalable, robust execution environment specifically suited to support Internet enabled application systems

Containers J2EE doesn’t specify how a J2EE runtime should be built, but instead provides an abstraction of the runtime infrastructure as a “container” –Component contract –Container Service APIs –Declaritive services –Other container services The EJB Specification defines 4 types of containers: –an applet container to run applets –an application-client container for running standard Java application clients –a Web Container for hosting Java servlets and JSPs –an EJB Container for hosting Enterprise Java Beans

J2EE Applicatiuon Server Web Container J2EE Container Architecture Applet Container Application Client Container EJB Container RMI/IIOP JNDI JTA JDBC JMS JavaMail JAF RMI/IIOP JNDI JTA JDBC JMS JavaMail JAF Java Servlets JSP Pages Databases and Other Resources JMS JDBC EJBs App.Client Applet

The EJB Container An EJB server must provide one or more EJB containers which provide homes for the enterprise beans The EJB container manages the beans housed in it –responsible of registering the bean –providing a remote interface for it –creating and destroying object instances –checking security –coordinate distributed trancactions –can optionally manage persistent data within the object any number of EJB claees can be installed in a particular conrainer but each class can only be assigned to a particular container

EJB Container Client EJB Object (Client view) EJB Home (bean identifier) Enterprise Bean Deployment Descriptor Environment The EJB Object interface intercepts all method calls and implements transactions, state management, persistence,and security services for the bean based on deployment descriptor settings The EJB Home interface is accessible through JNDI and implements all lifecycle services for the bean.

Transient and Persistent Objects Session Beans (transient object) –session beans are created and exist usually for a single user session –performs operations on behalf of the client –may be transactional but are not usually recoverable after a system crash –can be stateless or can maintain conversational state across methods and transactions –container manages the conversational state of a session bean if it needs to be evicted from memory –must manage its own persistent data Entity Bean (persistent object) –an object representation of persistent data that are maintained in a permanent data store (like a database) –a primary key identifies each instance of the entity bean –are transactional and are recoverable following a system crash