Presentation is loading. Please wait.

Presentation is loading. Please wait.

Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.

Similar presentations

Presentation on theme: "Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva."— Presentation transcript:

1 Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva

2 CS3772 Today: An Application Server  Overview What is an Application Server? Why would it be used? How is it implemented?  Our Project: Enterprise JavaBeans Application Server Enterprise JavaBeans Container/Deployer

3 CS3773 What Is an Application Server?  A program in a distributed network  Provides business logic for an application program  Supports thousands of simultaneous clients  Works in a three tier networking architecture

4 CS3774 Three Tier Application

5 CS3775 Why an Application Server?  Makes distributed applications programming easier Programmers do not have to be concerned with distributed computing (e.g. resource management, etc.) Application server does this  Many simultaneous clients  Security for all clients

6 CS3776 Implementation of an Enterprise JavaBeans Application Server  Three Major Parts Beans Perform the business logic Container The “Operating System” of the Application Server Deployer Installs Beans and web components on the Application Server

7 CS3777 Enterprise JavaBeans  Enterprise JavaBeans is an architecture for setting up program components  Components are Beans  Beans run on a server as part of client/server model  Can be deployed across all major operating systems

8 CS3778 Container: Introduction  What does the container do? Runtime Support for Beans Lifecycle Management of Beans Transaction & Security Management Scalable Management of Resources

9 CS3779 Client View of Container EJBOjects EJBHome Bean 1 Bean 2 container client EJB Spec 2.0

10 CS37710 Session Bean Lifecycle does not exist readypassive ready in TX ejbcreate() ejbPassivate() ejbActivate() timeout afterBegin() afterCompletion() EJB Spec 2.0

11 CS37711 Container Implementation  Implemented in Java Multiple instances of a Java Bean may be instantiated Running or active Java Beans are managed in a thread pool Passive or waiting beans are managed separately

12 CS37712 Deployer: Introduction  What does the deployer do? Installs/uninstalls enterprise applications onto the server Manages installed applications Can be either a command-line based or graphical tool

13 CS37713 Responsibilities of the Deployer  For each enterprise bean, the deployer: Reads bean properties from deployment descriptor Generates and compiles RMI stubs/skeletons Sets up the bean's security environment Sets up the bean's transaction environment Registers the bean in JNDI space (see next slide)

14 CS37714 What Is JNDI?  JNDI: Java Naming and Directory Interface

15 CS37715 What is JNDI? (cont'd)  JNDI: Java Naming and Directory Interface API that provides a standard for connection and use of various naming services (e.g. DNS, LDAP) Used in a Java Application Server to locate Enterprise JavaBeans' home and remote interfaces Implemented our own naming service to accomplish this.

16 CS37716 Deployer Implementation  Makes use of standard Java tools Generates Java source files Uses javac and rmic to compile, create stubs and skeletons Binds remote and home interfaces using JNDI service provider Support for security, transactions not yet implemented

Download ppt "Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva."

Similar presentations

Ads by Google