M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.

Slides:



Advertisements
Similar presentations
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Advertisements

CORBA - Common Object Request Broker Architecture.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
By Dr. Jiang B. Liu 12. The Java Beans. Java Beans n JavaBeans is a portable, platform-independent software component model written in Java. It enables.
JAVA BEANS By Madhuri Kakumanu. What is a Java Bean? “ A Java Bean is a reusable software component that can be visually manipulated in builder tools.”
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.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Charlie Crocker Vice President Farallon Geographics, Inc. An Overview of Internet Mapping Technology.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Introducing JavaBeans Lesson 2A / Slide 1 of 30 JDBC and JavaBeans Pre-assessment Questions 1.Which of the given symbols is used as a placeholder for PreparedStatement.
Web-based Software Development - An introduction.
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
® 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.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Introduction to Java Beans CIS 421 Web-based Java Programming.
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.
WEB SERVER SOFTWARE FEATURE SETS
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
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.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Lorenz: Visitor Beans: An Aspect-Oriented Pattern Aspect-oriented pattern: describes a solution to a tangling problem in a particular context.
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
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.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Java Server Pages Can web pages be created specially for each user?
Introduction to Oracle Forms Developer and Oracle Forms Services
Web-based Software Development - An introduction
Accessing the Database Server: ODBC, OLE DB, and ADO
Structure of a web application
Distributed Computing
Introduction to Oracle Forms Developer and Oracle Forms Services
Java Beans Sagun Dhakhwa.
Introduction to Oracle Forms Developer and Oracle Forms Services
What is RMI? Remote Method Invocation
Introduction to J2EE Architecture
Enterprise Java Beans.
Presentation transcript:

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary to support Web sites that use dynamic data – data that is prepared as needed from one or more databases, from template files, from scripts, and from user input. WAS are necessary to support Web sites that use dynamic data – data that is prepared as needed from one or more databases, from template files, from scripts, and from user input. WAS are integrated with some database products e.g. Oracle or provided as separate products. WAS are integrated with some database products e.g. Oracle or provided as separate products. WAS work in conjunction with a Web server such as Apache or MS-IIS. Sometimes, the application server is integrated with the Web server. WAS work in conjunction with a Web server such as Apache or MS-IIS. Sometimes, the application server is integrated with the Web server.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” System Architecture TCP Browser Client Operating System TCP Web Server WAS HTML Data Management

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Typical Examples of WAS use Integration with Legacy Systems and databases. Integration with Legacy Systems and databases. Web Site Support. Web Site Support. Web-integrated System Development. Web-integrated System Development. Personal Computer System Deployment. Personal Computer System Deployment. E-Commerce. E-Commerce. Performance Management. Performance Management.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” WAS Architecture Web Server Application Server Database Interface Logic Data HTML SQL ODBC JDBC

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” The “factoring” technique WAS architecture separates the interface from application logic and both of those are separated from the data. WAS architecture separates the interface from application logic and both of those are separated from the data. This technique is commonly known as “factoring”. This technique is commonly known as “factoring”. Primary factors of the architecture: Web servers, application servers and databases. Primary factors of the architecture: Web servers, application servers and databases. Primary factors can communicate with other elements such as plug-ins and components. Primary factors can communicate with other elements such as plug-ins and components.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” WAS architecture extended Web Server Application Server Database Interface Logic Data HTML SQL ODBC JDBC Plug-insTemplatesComponentsStored procs

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Sub-programs Sub-programs can be used to augment any part of the application server architecture. Sub-programs can be used to augment any part of the application server architecture. Sub-programs can be: helper applications and plug-ins, applets and servlets, scripts. Sub-programs can be: helper applications and plug-ins, applets and servlets, scripts. Browser Web Server Applet, Helper, script Servlet, Plug-in, script

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Components and Objects Application servers involve object-oriented technology in the form of components and objects. Components are relatively large entities (consisting of 0…n objects). Their purpose is frequently expressed in terms of business logic. Application servers involve object-oriented technology in the form of components and objects. Components are relatively large entities (consisting of 0…n objects). Their purpose is frequently expressed in terms of business logic. Through well-defined interfaces they are able to communicate between and among a variety of languages and computers. Through well-defined interfaces they are able to communicate between and among a variety of languages and computers. Three (3) overlapping technologies: Microsoft’s Component Object Model (COM), Sun’s Javabeans/EJB and OMG’s CORBA. Three (3) overlapping technologies: Microsoft’s Component Object Model (COM), Sun’s Javabeans/EJB and OMG’s CORBA.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” JavaBeans – Basic features JavaBeans are re-usable software components that are designed to be manipulated in a graphical development tool. JavaBeans are re-usable software components that are designed to be manipulated in a graphical development tool. JavaBeans can live within server side environments such as scripts running on Web Servers or Servlets/JSPs. JavaBeans can live within server side environments such as scripts running on Web Servers or Servlets/JSPs. The JavaBeans API enables: introspection (bean reports how it works to the development tool), customization (behavior can be overridden), events (beans communicate through events), properties (beans contain accessible properties), persistence (beans can be saved and restored). The JavaBeans API enables: introspection (bean reports how it works to the development tool), customization (behavior can be overridden), events (beans communicate through events), properties (beans contain accessible properties), persistence (beans can be saved and restored).

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” JavaBeans – Basic features (cont.) JavaBeans do not descend from a base class or a common interface. JavaBeans do not descend from a base class or a common interface. JavaBeans must be able to run in at least two environments. When in an development tool, the bean runs in a design environment. Alternatively, the bean runs in a run-time environment. JavaBeans must be able to run in at least two environments. When in an development tool, the bean runs in a design environment. Alternatively, the bean runs in a run-time environment. JavaBeans run within containers; they do not have their own address spaces. JavaBeans run within containers; they do not have their own address spaces.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Properties, events & methods The three most important features of a Java Bean are the set of properties it exposes, the set of methods it allows other components to call, and the set of events it fires. Properties are named attributes associated with a bean that can be read or written by calling appropriate methods on the bean. Properties are named attributes associated with a bean that can be read or written by calling appropriate methods on the bean. The methods a Java Bean exports are normal Java methods which can be called from other components or from a scripting environment. The methods a Java Bean exports are normal Java methods which can be called from other components or from a scripting environment. Events provide a way for one component to notify other components that something interesting has happened. Events provide a way for one component to notify other components that something interesting has happened.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Network Access Mechanisms Java Bean Java Bean Java Bean Database Server CORBA Server Java Server RMI IIOP Database Protocol JDBC Java Beans Application

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Network Access Mechanisms The three primary network access mechanisms that are available to Java Beans developers on all Java platforms are: Java RMI (Remote Method Invocation). Development of distributed Java Applications. Java IDL. The Java IDL system implements the OMG CORBA distributed object model. All the system interfaces are defined in the CORBA IDL interface definition language. Java stubs can be generated from these IDL interfaces, allowing Java Beans to call into IDL servers, and vice versa. The use of Java IDL allows Java Bean clients to talk to both Java IDL servers and other non-Java IDL servers. JDBC (Java Database Connectivity).

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” JavaBean Accessor Methods Properties are always accessed via method calls on their owning object. For readable properties there will be a getter method to read the property value. For writeable properties there will be a setter method to allow the property value to be updated.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” JAR files Java Beans are packaged and delivered in JAR files, which are a new technology supported in JDK1.1. JAR files are used to collect class files, serialised objects, images, help files and similar resource files. A JAR file is a ZIP format archive file that may optionally have a manifest file with additional information describing the contents of the JAR file. All JAR files containing beans must have a manifest describing the beans.

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Java Server Pages (JSP) Επιλογή Υπαλλήλου <% try { Class.forName("weblogic.jdbc.pool.Driver"); java.sql.Connection db = java.sql.DriverManager.getConnection("jdbc:weblogic:pool:empPool",“me",“you"); java.sql.Statement st = db.createStatement(); java.sql.ResultSet rs; %> <% String toQuery = "SELECT distinct emp_name FROM employer“; rs = st.executeQuery(toQuery); %> <FORM ACTION="emp_lookup.jsp" METHOD="post" name="frm1" onSubmit="return check_frm()">

M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” JSP (cont.) ΟΝΟΜΑ ΥΠΑΛΛΗΛΟΥ: <SELECT name="full_option" onChange="frm1.emp_name.value= frm1.full_option.options[selectedIndex].text;"> <% rs.close(); st.close(); db.close(); } catch (java.sql.SQLException ex) { %> [ Error in database access – Reporting error: ]