Web Application Software

Slides:



Advertisements
Similar presentations
Communicating Information: Web Design. It’s a big net HTTP FTP TCP/IP SMTP protocols The Internet The Internet is a network of networks… It connects millions.
Advertisements

Muhammad Taimoor Khan
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
1 Internet History Internet made up of thousands of networks worldwide No one in charge of Internet - No governing body Internet backbone owned by private.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
1 Accessing the Global Database The World Wide Web.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Chapter 16 The World Wide Web Chapter Goals ( ) Compare and contrast the Internet and the World Wide Web Describe general Web processing.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Chapter 6 The World Wide Web. Web Pages Each page is an interactive multimedia publication It can include: text, graphics, music and videos Pages are.
Web Site Software Jeff Offutt SWE 432 Design and Implementation of Software for the Web “Where is the wisdom we lost in.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Programming the Web Web = Computer Network + Hypertext.
Introduction to Internet Programming (Web Based Application)
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
10/6/2015 ©2007 Scott Miller, University of Victoria 1 2a) Systems Introduction to Systems Introduction to Software Systems Rev. 2.0.
HTML for ISD Brown Bag Presentation Session 1 Why?
WEB SCIENCE. What is the difference between the Internet and the World Wide Web? Internet is the entire network of connected computers and routers used.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Web Systems & Technologies Lecture 1
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
The Internet What is the Internet? The Internet is a lot of computers over the whole world connected together so that they can share information. It.
The Internet Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Web Page Programming Terms. Chapter 1 Objectives Describe Internet and Understand Key terms Describe World Wide Web and its Key terms Identify types and.
 World wide web is a set of protocols that allows you to access any document on the net through the naming system based on URLs. www also specifies the.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
Internet and world wide web Information Technology
The World Wide Web.
CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang
CX Introduction to Web Programming
Web Programming Language
Distributed Control and Measurement via the Internet
WWW and HTTP King Fahd University of Petroleum & Minerals
Netscape Application Server
CISC103 Web Development Basics: Web site:
JavaScript and Ajax (Internet Background)
Evolution of Internet.
Browsing and Searching the Web
E-commerce | WWW World Wide Web - Concepts
Web Software Model CS 4640 Programming Languages for Web Applications
E-commerce | WWW World Wide Web - Concepts
Introducing the World Wide Web
Some Common Terms The Internet is a network of computers spanning the globe. It is also called the World Wide Web. World Wide Web It is a collection of.
PHP / MySQL Introduction
Web App vs Mobile App.
Dynamic Web Pages (Flash, JavaScript)
Introduction to Web Applications
Design and Maintenance of Web Applications in J2EE
Using Servlet Contexts to Deploy Servlets
The Internet An Overview.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
A worldwide system of interconnected computer networks.
Chapter 16 The World Wide Web.
Introduction to World Wide Web
State Handling CS 4640 Programming Languages for Web Applications
Internet and the world wide web (www)
[Robert W. Sebesta, “Programming the World Wide Web
State Handling CS 4640 Programming Languages for Web Applications
Web Application Development Using PHP
Presentation transcript:

Web Application Software Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 432 Design and Implementation of Software for the Web “Where is the wisdom we lost in knowledge? Where is the knowledge we lost in information?” – T.S. Eliot

Motivation – Overview Modern web applications are: The software is: Distributed (world-wide) Heterogeneous (hardware and software) Highly user interactive Built on new technology The software is: Very loosely coupled Written in multiple languages Often generated dynamically Diverse : In terms of software, communication, and people 16-Sep-18 © Offutt

Motivation – Overview (2) Web site software has to be better than most shrink-wrap or contract software The combination of higher quality requirements and unique technologies make for a very interesting situation (Engineers think “interesting” means fun, managers think “interesting” is scary …) This talk discusses why and in what ways web software must be better 16-Sep-18 © Offutt

General Web Terminology Web Page : Data that fits in one browser screen Static : HTML exists as a file on a computer Dynamic : Created as needed Web Site : A collection of connected web pages Web Application : A program that is deployed on the web UI is in HTML User interacts through HTTP’s request / response cycle network middleware Client Browser javascript Web Server J2EE .Net PHP App Server Java C# DB 16-Sep-18 © Offutt

Software Deployment Methods Bundled : On your computer when you buy it Shrink-wrapped : Bought at a store on a CD Downloaded from company’s website or OSS site Contract : Single customer Embedded : Installed on an electronic device Web application : On the web through a URL Component-based Concurrent / distributed One copy on the server Can be updated at any time (fast update cycle) User interactive 16-Sep-18 © Offutt

The World Wide Web is a result of the confluence of three developments Formation of the WWW The World Wide Web is a result of the confluence of three developments Fast Computers World Wide Web Internet Hypertext Theory 16-Sep-18 © Offutt

Historical Highlights Hypertext, Internet, and the Web 1945: Vannevar Bush proposes hypertext 1965: Ted Nelson coins the term “Hypertext” Douglas Engelbart invents mouse 1968: First hypertext systems (Engelbart’s “Augment/NLS”, Brown university’s HES) 1969: Arpanet 1970: Unix 1972: Tomlinson invents email 1978: First bulletin board system – Christensen and Suess 1982: < 100 sites on “pre-internet” (netnews) 1983: TCP / IP defines the internet 1986: NSFNET, SGML 1987: HyperCard (Apple), first hypertext workshop 16-Sep-18 © Offutt

Historical Highlights (cont.) 1989: WWW proposed by Berners-Lee 1990: HTML defined 1992: CERN (Switzerland) releases WWW 1993: First browser: NCSA Mosaic 1994: First widely used commercial browser: Netscape 1995: Lycos search engine, Java, DEC’s Alta Vista search engine 15 million pages 1997: 31,000,000 pages, 476,000 servers, 14,000 news groups 2000: More than 100,000,000 hosts Amount of back-end programming exceeds the front-end hypertext 2004: 3,307,998,701 pages (google), 500,000,000 hosts, 1,200,000,000 users Facebook launches 2006: Twitter launches 2010: Borders bankrupt, largest use of the internet is porn and games 16-Sep-18 © Offutt

General Hypertext Terminology Node : Atomic amount of text – smallest unit of information known to system (pages) Link : Connects one node to another. Depicted by buttons or highlighted region. Link Region (anchor) : Location in a node where link starts. Traverse (visit or view) : Moving from one node to another Backtrack : Following links in reverse Landmark : Semantically important nodes that are linked to many nodes Hypermedia : Incorporates sound, video, pictures, or other non-textual information 16-Sep-18 © Offutt

The World Wide Web The world wide web was invented by Tim Berners-Lee, an English network administrator at CERN, the Euro physics research lab in Switzerland Tim Berners-Lee’s vision of the world wide web was to make all information available to all people all the time 16-Sep-18 © Offutt

General Web Terminology Web Page : Data that fits in one browser screen Static Web Page : A web page whose HTML exists as a file on a computer Dynamic Web Page : A web page that is created as needed Web Site : A number of web pages that are semantically related and physically linked Web Site Software : Software that makes web sites dynamic Dynamic Web Pages User Interaction 16-Sep-18 © Offutt

We need web site engineering Modern Web Sites Web sites are now too complicated for individuals to manage They need to be engineered by teams of people with diverse talents: Programming skills Graphics design Usability Information layout and engineering Data communications Data base We need web site engineering 16-Sep-18 © Offutt

Important Quality Attributes for Traditional Software Efficiency of process (time-to-market) Efficiency of execution (performance) Reliability Safety Maintainability Security 16-Sep-18 © Offutt

Important Quality Attributes on the Web Reliability Usability Security Customers have little “site loyalty” and will switch quickly, thus time to market is much less important than in other application areas. (but still important!) Availability Scalability Maintainability Performance & Time to market Based on an informal survey of around a dozen software development managers, 2000. 16-Sep-18 © Offutt

Fourth Generation Web Applications (software-centered) middleware network middleware Client Web Server Application Server DB Server Browser Javascripts HTML CGI ASP JSP, etc Java C# Client-server … 3-tier … N-tier … 16-Sep-18 © Offutt

Problems Can Occur Anywhere 1995: Web sites were 100% interface 1998: Web sites were about 90% interface 2001: Web applications are less than 50% interface 2005: Web applications about 25% interface 2011 : Web application development dominates the software industry 2015 : Web app technologies have Been abstracted to frameworks, and Adapted to support mobile devices There is still a shortage of knowledgeable, skilled web programmers and software engineers 16-Sep-18 © Offutt

Summary Changes in Web Technologies 1997 Static web pages “Soft brochures” Webmasters HTML, CGI, JavaScript 1998-1999 Dynamic HTML Programs (poorly written) Confused webmasters ASP, CSS, … 2000-2004 Web applications ECommerce + Web services WebManager + programmers, DB, network, UI, graphics designers, … Java (JSP, Servlets, beans), {HT,U,X}ML, Component-based .NET 2004-2011 Web application frameworks Web 2.0 AJAX Widespread enterprise applications 16-Sep-18 © Offutt

Summary Concerns of Software Traditional Efficiency of process (time to market) Efficiency of execution Web Software Reliability Usability Scalability Security Availability Maintainability Reliability Safety Maintainability Security 16-Sep-18 © Offutt

SWE 432 Organization & Topics 432 splits web software into two aspects: The interface aspect The software aspect The interface runs on the client side Implementation of HTML is easy Achieving usability is a key, and very difficult The software runs on the server side A mixture of lots of technologies The key to other quality criteria (reliability, etc.) 16-Sep-18 © Offutt