CGI vs Servlets Raghu Havaldar Dept of Computer Science Iowa State University.

Slides:



Advertisements
Similar presentations
Internationalization of HTML client-server applications Andrea Vine iPlanet Internationalization Architect.
Advertisements

Lecture plan Information retrieval (from week 11)
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Server-Side vs. Client-Side Scripting Languages
got ? Research Project – April 1998 Hang Xia, Mark Wang, Richard S. Chang Updated: R Norman, August 1999.
Administrative  Philosophy  Class survey  Grading  Proposal (5 points max)  Small projects (10 points each max)  Project (40 points max)  Presentation.
Servlets and a little bit of Web Services Russell Beale.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Administrative  Philosophy  Class survey  Grading  Project  Presentation.
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
For more Lectures and Notes Visit
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Comp2513 Java Servlet Basics Daniel L. Silver, Ph.D.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.
Web-Enabling the Warehouse Chapter 16. Benefits of Web-Enabling a Data Warehouse Better-informed decision making Lower costs of deployment and management.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Chapter 6: Hostile Code Guide to Computer Network Security.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Web-based Software Development - An introduction.
Server-side Technologies
INTRODUCTION TO WEB DATABASE PROGRAMMING
Applets & Servlets.
Lesson 8 DATA EXCHANGE. Transmission Modes Type 1 - Simplex  Simplex transmission: sends data in one direction only. A radio broadcast is a good example.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Working with scripts. HTTP Was too limited Not dynamic.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Introduction to JavaServer Pages February 23, 2000 Chris Hagner Noblestar Systems Corporation
1 CS122B: Projects in Databases and Web Applications Spring 2015 Notes 03: Web-App Architectures Professor Chen Li Department of Computer Science CS122B.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
Active Server Pages Server-Side Scripting and Client-Side Scripting.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Java Servlets and Java Server Pages Norman White Stern School of Business.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Java for networking Module Introduction Data Communications Communication architecture Application.
21/12/20151 T h i s p r e s e n t a t i o n w i l l p r o b a b l y i n v o l v e a u d i e n c e d i s c u s s i o n, w h i c h w i l l c r e a t e a.
Middleware 3/29/2001 Kang, Seungwoo Lee, Jinwon. Description of Topics 1. CGI, Servlets, JSPs 2. Sessions/Cookies 3. Database Connection(JDBC, Connection.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Java Servlets and Java Server Pages
How CGI and Java Servlets are Run By David Stein 14 November 2006.
The Online World DATA EXCHANGE 2. Introduction Devices on a network use a variety of methods to communicate with each other and to transmit data. This.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
Lesson 2: First Java Programs. 2.1 Why Java? Java is one of the most popular programming languages in the world. Java is a modern object-oriented programming.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
CS122B: Projects in Databases and Web Applications Spring 2017
CS122B: Projects in Databases and Web Applications Winter 2017
Servlets.
Java Servlet Ziad A. Al-Sharif.
CS122B: Projects in Databases and Web Applications Winter 2018
Introduction to Servlets
CS122B: Projects in Databases and Web Applications Spring 2018
CS122B: Projects in Databases and Web Applications Winter 2019
Presentation transcript:

CGI vs Servlets Raghu Havaldar Dept of Computer Science Iowa State University

CGI Was designed in the early days of the web has evolved into a powerful and a useful model for server-side programming The Common Gateway Interface, or CGI, is a standard for externalgateway programs to interface with information servers such as HTTP servers

recent developments include use of Perl on the client-side too when a web server receives a CGI request, it needs to start a script, allow it to run, get back the results and pass them back to the web client. Dynamic environment

Servlets Servlets is the opposite to the applets it’s a server-side applet run inside the environment of the web server the browser can submit a request to the servlet for execution developed by Javasoft to support server-side programming a parallel to the CGI model

The servlets execute in the JVM loaded by the Web Server. Its loaded only once, and live until it is explicitly unloaded. Results in better performance, higher speed. Brings in platform-independence, power of a full- blown language - Java, and compatibility with other popular environments like COM, CORBA and C++. The web server basically supports the Java Servlet API. It defines how the web server communicates with the servlet engine.

The Servlet Engine is responsible to actually load and unload the servlets and communicate with the web server. The engine in principal is a set of servlets which together do the work.

Comparison Servlets use the Java environment. All the positive features of Java are a strong motivation for a secure, scalable and robust deployment over the Internet/Intranet. Servlets has all benefits of a CGI-type language Servlets are an easier and friendlier development environment

Servlets has a increasingly strong developer base and expertise. CGI has a better base, and larger support, as of now. In servlets, the developer need not worry about inner workings of the web server. Faster design and development. In contrast, it looses the tremendous control and customization which the CGI model brings along. This control is especially important when you are working in multiple different environments with different security and administration needs.

CGI-Perl combo is the most popular. Perl is interpreted. So, it brings in all the positive and negatives of an interpreted language. For example, simplicity, customization - +ve, and slower speed, a newer and a semi-language, not memory- resident servlets have a powerful named - servlet chaining. Do not have a similar philosophy in CGI-Perl. CGI-Perl has a strong backing of most of industry and educational institutions. Servlets are newer, but gaining acceptance.

CGI-Perl model is proven, unlike Servlets (although reports are coming in on the awesome speed and efficiency of the servlets). CGI-Perl is a big security risk. Servlets can take advantage of the Java Security Model CGI is going to stay. Servlets are however gaining popularity. An interface between CGI-Perl and the Servlets is a good direction to move to. This solution is currently being worked on (alpha version is available).