Software Elements of Electronic Business Sites

Similar documents
13. Databases on the Web

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

KINGS COLLEGE OF ENGINEERING 1

Enterprise Software Architecture & Design

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Chapter 10 Web-based Information Systems

when your Jaguar is caught in the Web

Daniel A. Menascé, Ph. D. Dept. of Computer Science George Mason University

Chapter 15 Plug-ins, ActiveX, and Applets

Enterprise Web based Software Architecture & Design

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

SUB Gfittingen A nd Editi S«BEX- SAN FRANCISCO PARIS DUSSELDORF SOEST LONDON

CPET 581 E-Commerce & Business Technologies. Topics

The SAP Internet Programming Model, Part 1

Active Server Pages Architecture

About the Authors. Who Should Read This Book. How This Book Is Organized

Introduction. WWW history. Application concepts, WWW and HTTP Perspectives on (mobile) communications. Fredrik Alstorp Torbjörn Söderberg

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Software Architecture

CS WEB TECHNOLOGY

Web as a Distributed System

Sixth Edition. Building an E-commerce Web Site. Building an E-commerce Site: A Systematic Approach. Most important management challenges:

CHAPTER 7 WEB SERVERS AND WEB BROWSERS

Introduction to Java Servlets. SWE 432 Design and Implementation of Software for the Web

The Ins & Outs of InternetTransaction M anagem ent. Laury Behrens DIS Research

Chapter 8 Web-based Information Systems

Active Server Pages: Technology for Creating Dynamic Web Pages and Webenabled

Professional JavaScript With DHTML, ASP, CGI, FESI, Netscape Enterprise Server, Windows Script Host, LiveConnect And Java By Sing Li, Andrea Chirelli

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

Chapter 10 Web-based Information Systems

5/11/2009. Better to light a candle than to curse the darkness. Case Study: Reconnaissance Leaks & Corporate Assets

Global Servers. The new masters

CSC 551: Web Programming. Spring 2004

Chapter 11 Program Development and Programming Languages

Front End Programming

Chapter 10 Web-based Information Systems

1.264 Lecture 15. Web development environments: JavaScript Java applets, servlets Java (J2EE) Active Server Pages

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.

COMS 359: Interactive Media

4. กก ( Web-based Technology ) (System Development Life Cycle : SDLC) ก ก ก

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

HTML HTML. Chris Seddon CRS Enterprises Ltd 1

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Internet tools supporting creation and management of technological environment of CAD/CAM systems

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4

Web-based technology for cheminformatics

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

COPYRIGHTED MATERIAL

IST 220: Application Layer

Web Standards. Web Technologies. Web Standards. URI and URL

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

Recommendations for Web Development and Deployment Using Team Developer

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

COSC 2206 Internet Tools. The HTTP Protocol

SECTION II: JAVA SERVLETS

Hands-On Perl Scripting and CGI Programming

gateways to order processing in electronic commerce. In fact, the generic Web page access can be considered as a special type of CGIs that are built i

Databases and the Internet

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Lesson 5: Multimedia on the Web

20. Web Hosting 웹프로그래밍 2016 년 1 학기 충남대학교컴퓨터공학과

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network

Introduction To Web Architecture

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

Bruce Moore Fall 99 Internship September 23, 1999 Supervised by Dr. John P.

Web Engineering (CC 552)

Re : Technical Report on Providing the Dynamic HTML for AHaPe Plc.

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 9: Writing Java Applets. Introduction

IBM A Assessment: Developing IBM Lotus Notes and Domino 8.5 Applications.

JavaScript CS 4640 Programming Languages for Web Applications

Web Systems & Technologies: An Introduction

Using ImageZoom 2. Zoom In. Quick Zoom In: To double the size of the image, click on the point that you want to zoom in.

Servlet Performance and Apache JServ

Programming web-based applications

JavaScript CS 4640 Programming Languages for Web Applications

Programming web-based applications. World Wide Web (WWW) Protocols for the web. A.Lioy - Politecnico di Torino (2009) C-1

Servlets and JSP (Java Server Pages)

The World Wide Web. Internet

Module 3 Web Component

WEB ADMINISTRATION (WEBMASTER)

Ch04 JavaServer Pages (JSP)

Connecting with Computer Science Chapter 5 Review: Chapter Summary:

COMS 469: Interactive Media II

IT2353 Web Technology Important Questions 2 Marks and 16 Marks Unit 1 Part A 1. Differentiate Internet with Intranet. 2. What are HTML tags? 3.

Lesson 5: Multimedia on the Web

Browser and Server Models. Jim Fawcett CSE686 - Internet Programming Spring 2011

Example project: Fedenet portal site

Web based Applications, Tomcat and Servlets - Lab 3 -

Web Architecture and Technologies

CapeConnect Three. Concepts

Web Servers and Security

IBM LOT-985. Developing IBM Lotus Notes and Domino(R) 8.5 Applications.

Performance comparison of dynamic web platforms

Webopac Setup Guide October 2017

Acknowledgments. From Aaron

1.1 A Brief Intro to the Internet

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology

Transcription:

Software Elements of Electronic Business Sites Daniel A. Menascé, Ph. D. www.cs.gmu.edu/faculty/menasce.html 1 Implementation Options Client Server Client-side: client-side scripts Java applets Server-side: CGI servlets -side scripts Fast CGI Web browser API 2 1

Client-Side: Applets Client Server <HTML><HEAD></HEAD> <BODY> <H1>My Applet</H1><BR> <APPLET CODE=MyApplet.class WIDTH=250 HEIGHT=25> </APPLET> </BODY> </HTML> Code class for applet assumed to be in the same directory as HTML page. 3 Client-Side: Applets Client Server 1. The browser requests the applet code from the. 2. The applet is executed by the browser in its JVM. 4 2

Running Applications at the Server: CGI Scripts Application new process created and killed after execution. If the app is written in Java a new JVM has to be started each time. good isolation and security stateless application 5 HTML Forms Application at (e.g., C executable, Perl script) <FORM ACTION= http://someserver/cgi-bin/myapplication > <INPUT TYPE= text NAME= keyword VALUE= books > <INPUT TYPE= submit NAME= submit VALUE= Go > </FORM> variable passed to application at default value of variable passed to Application at CGI: Common Gateway Interface 6 3

CGI Directories How does the knows that a request is for the execution of an application as opposed to a request to retrieve a static file? One can tell the Web where the CGI applications are and one can even alias the directory. In Apache: ScriptAlias /cgi-bin/ /home/~menasce/cgibin 7 Running Applications at the Server: Servlets Servlet Engine (e.g., Jserv, Jrun) Application (servlet) The Servlet engine loads a class in the JVM process and creates an instance of the Servlet class (at engine startup or at first request to Servlet). The same Servlet handles all requests (need to provide synchronization for access to global variables). 8 4

Running Applications at the Server: Servlets Servlet Engine (e.g., Jserv, Jrun) Application (servlet) Jserv: download from http://java.apache.org/ Needs Java Servlet Development Kit: http://java.sun.com 9 Running Applications at the Server: Server APIs application runs in the same context as poor isolation and security statefull applications easy to implement Application 10 5

CGI scripts vs. API: performance impact 25 Server Throughput (req/sec) 20 15 10 5 20.0 14.3 time to create/destroy cgiprocess= 40% time to execute application. 0 0 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 1819 20 21 22 2324 25 26 27 2829 30 Number of Concurrent Requests CGIscripts Server-side scripting 11 Running Applications at the Server: Fast CGI TCP or IPC Application persistent process good isolation and security statefull applications easier to implement 12 6

Running Applications at the Server: Server Side Scripting 2 1,6 5 3 script script interpreter 4 generated page 13 Application Server Implementation Options CGI scripts (e.g., to process HTML forms) A new process is started for each request. Stateless application. Server APIs (e.g., NSAPI, ISAPI) Application code is loaded and executed in the same context as the. Poor security and no isolation. FastCGI Web and application communicate via light weight TCP or local IPC. Application can be persistent and statefull 14 7

Application Server Implementation Options (cont d) Server-side scripting Server interprets scripts or programs embedded in pages before returning them to the client: MS Active Server Pages (ASP) permits the use of JavaScript and VBScript combined with ActiveX controls written in any programming language. Netscape s LiveWire permits the use of -side JavaScript. 15 Implementation Options Client Server What are the relative advantages and disadvantages of client-side vs. -side computing in electronic commerce? 16 8