Web App Intro

download Web App Intro

of 31

Transcript of Web App Intro

  • 7/28/2019 Web App Intro

    1/31

    Web and Web Applications:an Overview of the Technology Landscape

    IT 4203Advanced Web Development

    Jack G. Zheng

    Fall 2010

    http://www.spsu.edu/
  • 7/28/2019 Web App Intro

    2/31

    Overview

    What is the web? What is web application?

    How does it work?

    What are the major and latest technologies?

    2

  • 7/28/2019 Web App Intro

    3/31

    What is the Web?

    The Internet

    A world-wide network of networks and computers

    based on the Internet Protocol

    World Wide Web, or Web

    An Internet application based on the HTTP

    protocol

    A client/server application for information and

    services

    3

  • 7/28/2019 Web App Intro

    4/31

    Web Related Terms Web page: usually refers to a static HTML file, or a dynamically

    generated HTML document displayed in a browser.

    Web site: a collection of web pages, applications, etc., that serve acommon purpose.

    Web (based) information system: an information system that utilizes webtechnologies to deliver information and services, to users or otherinformation systems/applications.

    Web application: a specific functionality-oriented component that utilizesweb technologies to deliver information and services to users or otherapplications/information systems. A web information system usually consists of one or more web applications,

    together with information components and other non-web components.

    Webware: usually refers to web applications (or programs or software) thatdirectly serves users through web browsers.

    Web service: A software component that utilizes web technologies to deliverinformation and services to other applications/information systems.

    4

  • 7/28/2019 Web App Intro

    5/31

    Evolution of the Web Application

    Pre-web (before 1990)

    Early/simple web (1990s)

    Dynamic web (since second-half 1990s)

    Current web Infrastructural web (21st century)

    Web 2.0 (since 2005)

    5

  • 7/28/2019 Web App Intro

    6/31

    Pre-Web

    Before there was the Web, there was the Internet TCP/IP (Transmission Control Protocol/Internet Protocol) architecture

    Internet Applications Usenet, BBS, Telnet

    Email, FTP

    Web

    P2P

    Video streaming

    Instant messaging, VoIP

    Gaming

    Which one generates the most traffic volume on the Internet? Answer form: ipoque, Cisco, Sandvine

    6

    http://en.wikipedia.org/wiki/History_of_the_Internethttp://www.ipoque.com/resources/internet-studies/internet-study-2007http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-481374_ns827_Networking_Solutions_White_Paper.htmlhttp://www.sandvine.com/news/global_broadband_trends.asphttp://www.sandvine.com/news/global_broadband_trends.asphttp://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-481374_ns827_Networking_Solutions_White_Paper.htmlhttp://www.ipoque.com/resources/internet-studies/internet-study-2007http://en.wikipedia.org/wiki/History_of_the_Internet
  • 7/28/2019 Web App Intro

    7/31

    Early Web, Simple Web

    Invented by SirTim Berners-Lee, 1989

    It is a client/server application for information andother services

    Fundamental elements of the web Web server

    Web client: browser Web protocol: HTTP (Hypertext Transfer Protocol)

    Web address: URL (Uniform Resource Locator)

    Web content: HTML (Hypertext Markup Language)

    7

    http://www.w3.org/2004/07/timbl_knightedhttp://www.w3.org/2004/07/timbl_knighted
  • 7/28/2019 Web App Intro

    8/31

    The Internet

    Simple Web Architecture

    8

    Web server HTML Files

    HTTP - Response

    URL

    http://spsu.edu/index.html

    Web client: browser

    HTTP - Request

    http://en.wikipedia.org/wiki/HTML
  • 7/28/2019 Web App Intro

    9/31

    HTML

    A web page is created using HTML, a

    standard markup language to describe a web

    document/page using tags (markups)

    All content in a web page are wrapped in tags

    , ,

    , , , , etc.

    9

  • 7/28/2019 Web App Intro

    10/31

    Browser Web browser software (web client) knows how to interpret

    these tags and display them nicely to users (rendering) Provides an interface for users

    It understands HTML, scripts and works with other plug-ins

    Web browser products Market share

    http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0

    Internet Explorer

    Firefox

    Chrome WorldWideWeb

    http://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gif

    10

    http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0http://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gifhttp://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gifhttp://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gifhttp://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gifhttp://marketshare.hitslink.com/browser-market-share.aspx?qprid=0http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0
  • 7/28/2019 Web App Intro

    11/31

    Web Server Web server

    Hosts web sites, files (web pages), applications, etc.

    Processes request from clients (browsers) and send responseback to clients

    Resources on web servers are located by URLs.

    Web servers are located by the IP address and domain names.

    Major web server products Apache

    Internet Information Services (IIS)

    Market share data http://news.netcraft.com/

    http://www.securityspace.com/s_survey/data/201007/index.html

    11

    http://news.netcraft.com/http://www.securityspace.com/s_survey/data/201007/index.htmlhttp://www.securityspace.com/s_survey/data/201007/index.htmlhttp://news.netcraft.com/
  • 7/28/2019 Web App Intro

    12/31

    URL (Uniform Resource Locator)

    URL is used to locate a particular resource on a webserver

    Components of a URL

    Protocol Host (domain, IP)

    Port

    File (resource) path

    Example

    http://www.spsu.edu:80/home/about/index.html

    12

    The default port is 80;

    :80 is usually omitted.

    http is the protocol www.spsu.edu is the domain;

    .net is the top level domain

    home/about/ is the directory(path) on the server;index.html is the actual file

    (web page).

  • 7/28/2019 Web App Intro

    13/31

    HTTP

    HTTP (Hypertext Transfer Protocol) is the featurecommunication protocol for the web A web server and a browser communicate based on

    HTTP

    HTTP has two types of message HTTP Request: a message sent to the web server

    HTTP Response: a message sent by the web server(responded by the server)

    See example HTTP request and responsemessages at http://web-sniffer.net

    13

    http://web-sniffer.net/http://web-sniffer.net/http://web-sniffer.net/http://web-sniffer.net/
  • 7/28/2019 Web App Intro

    14/31

    Domain A domain is a name assigned to a server on the Internet.

    A domain name is divided into several levels starting fromthe right, and separated by dots . Example: www.spsu.edu

    Top-level domain: a highest level domain that are pre-defined; usually indicates the type of the site Created in 1980: .com, .net, .org, .edu, .gov, .int, .mil

    2 letter country code: .us, .uk, .jp, .ca, .au, .cn,

    Top level domains are managed by ICANN (http://www.icann.org) and IANA (http://www.iana.org)

    14

    EDU is the top level domain.

    SPSU is the 2nd level domain.WWW is the 3rd level domain.

    http://www.icann.org/http://www.iana.org/http://www.iana.org/http://www.icann.org/
  • 7/28/2019 Web App Intro

    15/31

    Domain Name System

    Web servers are located by IP addresses

    Domain Name System (DNS)

    A system that provides the conversion between IPaddresses and domain names

    Check IP and domain name online http://cqcounter.com/whois/

    15

    http://cqcounter.com/whois/http://cqcounter.com/whois/
  • 7/28/2019 Web App Intro

    16/31

    Put Them Together What happens after a URL is entered in the web browser?

    http://spsu.edu/index.html

    16

    DNS server(s)1. Looking for the IP of thedomain spsu.edu

    2. Returning the IP of the

    domain: 168.28.176.243

    3. Sending an HTTP request

    to 168.28.176.243

    5. Sending an HTTP response back

    4. Looking for the file /index.html

    http://spsu.edu/index.htmlhttp://en.wikipedia.org/wiki/Domain_name_systemhttp://ip-lookup.net/domain.phphttp://web-sniffer.net/?url=http://spsu.edu/index.htmlhttp://www.httpviewer.net/?url=http://spsu.edu/index.htmlhttp://www.httpviewer.net/?url=http://spsu.edu/index.htmlhttp://web-sniffer.net/?url=http://spsu.edu/index.htmlhttp://ip-lookup.net/domain.phphttp://en.wikipedia.org/wiki/Domain_name_systemhttp://images.google.com/imgres?imgurl=http://cli.gs/images/blog/server.jpg&imgrefurl=http://blog.cli.gs/2008/10&usg=__mvYGe5sea8VqfXjIPWzddPJcmG4=&h=267&w=200&sz=18&hl=en&start=213&um=1&tbnid=LFAe3rwYc0782M:&tbnh=113&tbnw=85&prev=/images?q=server&start=198&imgsz=small|medium|large|xlarge&imgtype=clipart&as_st=y&ndsp=18&um=1&hl=en&sa=Nhttp://spsu.edu/index.html
  • 7/28/2019 Web App Intro

    17/31

    Simple Web Applications

    These are usually document based webapplications

    Simple, small and fast

    Commonly used for web presence,information publishing, etc.

    http://www.atlantapetrescue.org

    http://facultyweb.ggc.usg.edu/cpark/ http://2008.desrist.org

    http://www.useit.com/alertbox/

    17

    http://www.atlantapetrescue.org/http://facultyweb.ggc.usg.edu/cpark/http://2008.desrist.org/http://www.useit.com/alertbox/http://www.useit.com/alertbox/http://2008.desrist.org/http://facultyweb.ggc.usg.edu/cpark/http://www.atlantapetrescue.org/
  • 7/28/2019 Web App Intro

    18/31

    Dynamic Web Static dynamic

    Web pages construction At design time at run time

    HTML Static HTML files dynamic HTML: a mixture of HTML, scripts,

    programming codes, executable programs, etc.

    Content source Single source multiple sources (HTML files, XML files, other files,

    databases, other websites)

    Simple complex Web navigation/interaction mode

    Click and read write/type, choose, move, slide, drag and drop,expand, draw, listen, speak, etc.

    Development Webpage authoring web application development

    18

  • 7/28/2019 Web App Intro

    19/31

    Dynamic Web Technology:

    Client Side (DHTML)

    Cascading Style Sheet (CSS) Page style (color, size, position, etc.) and layout

    Website themes

    Simple animations

    Client Scripting (JavaScript) Dynamic content: calendar

    HTML DOM manipulation: dropdown menu

    Animations: text animation

    Browser plug-ins Flash, Sliverlight, Java Applets, PDF, embedded objects,

    etc.

    19

    http://themegarden.org/http://javascriptkit.com/script/script2/eventscalendar.shtmlhttp://www.smartmenus.org/http://www.dynamicdrive.com/dynamicindex10/http://www.dynamicdrive.com/dynamicindex10/http://www.smartmenus.org/http://javascriptkit.com/script/script2/eventscalendar.shtmlhttp://themegarden.org/http://themegarden.org/
  • 7/28/2019 Web App Intro

    20/31

  • 7/28/2019 Web App Intro

    21/31

    21

    Server Side Web Applications

    Generated

    HTML

    ApplicationServer

    Web Server

    Client

    (Browser)

    Request

    Response

    Database

    Other

    Servers:

    Email,

    LDAP,

    etc.

    Static HTML

    Delegation

    http://en.wikipedia.org/wiki/HTML
  • 7/28/2019 Web App Intro

    22/31

  • 7/28/2019 Web App Intro

    23/31

    Dynamic Web Applications

    Public websites E-Commerce: shopping, banking, media, trading, etc.

    Web search engines

    Content publishing

    Web portal

    E-government, e-Learning

    Internal applications Oracle Enterprise Manager

    Microsoft SharePoint Services

    Enterprise Information Portal

    23

  • 7/28/2019 Web App Intro

    24/31

    Current Web

    Web as a platform/infrastructure Web is becoming a fundamental piece of

    enterprise information system

    Web 2.0 A general and loose concept for recent

    advancements of the World Wide Web

    24

  • 7/28/2019 Web App Intro

    25/31

    Web as a Platform

    Web becomes a fundamental platform for multi-tierenterprise information systems Add-on platform

    Web technologies are commonly and intensively used, not just forwebsites, but for all kinds of application and services.

    Separated integrated Web applications are no longer separate systems, but are integrated

    with many other applications.

    Enabling technologies Matured web application servers and frameworks: .Net, JBoss,

    SharePoint, DotNetNuke, Drupal, Structs, etc. XML family technologies and XML based application protocols

    Service Oriented Architecture and web services

    Cloud computing infrastructure

    Security infrastructure: SSL, PKI

    25

  • 7/28/2019 Web App Intro

    26/31

    26

    Multi-Tier (N-Tier) Architecture

    Middleware

    Communication

    Server

    Browser RelationalDatabases

    Presentation Tier

    Windows

    applications

    Application

    Server

    DataWarehouse

    Directories

    Application Tier Data Source Tier

    Mobile

    devices

  • 7/28/2019 Web App Intro

    27/31

    Web 2.0

    A general and loose concept for recentadvancements (roughly from 2005) of the WorldWide Web http://www.zdnet.com/videos/whiteboard/what-is-web-

    20/154425

    Human behavior aspect of Web 2.0: massiveuser participation, contribution, sharing, andcollaboration User generated content: Wiki, blog, video, news,

    reviews, etc.

    Social networking

    Folksonomy (tagging)

    27

    http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425http://www.zdnet.com/videos/whiteboard/what-is-web-20/154425
  • 7/28/2019 Web App Intro

    28/31

    Technical Aspect of Web 2.0

    Rich interface, more responsive and interactive;brings desktop experience to the web AJAX (Asynchronous JavaScript and XML), Flash,

    Silverlight

    Content push: Google Finance

    In-page navigation (MDI, TDI): Yahoo Mail, Zimbra, GoogleDocs, etc.

    Content and service aggregation and integration XML (family), RSS, JSON

    Portal

    Web services: Amazon Web Services

    Lightweight Web APIs: Google search API

    Mash-up: housingmaps.com

    28

    http://en.wikipedia.org/wiki/AJAXhttp://jackzheng.net/googleajaxsearch.aspxhttp://jackzheng.net/googleajaxsearch.aspxhttp://jackzheng.net/googleajaxsearch.aspxhttp://en.wikipedia.org/wiki/AJAX
  • 7/28/2019 Web App Intro

    29/31

    Web 2.0 Applications

    29

  • 7/28/2019 Web App Intro

    30/31

    Summary:

    Web Application Technology Trend

    Web client Browser any other application

    Web server One server handles all multiple distributed and specialized servers

    Web content HTML XML, XHTML, CSS, embedded content (Flash etc.), scripts

    Web protocol HTTP working with other protocols (video streaming, email, etc.)

    Web URL Physical document virtual entry point (resource identifier)

    30

  • 7/28/2019 Web App Intro

    31/31

    Summary

    Key Concepts Internet, web

    Web site, web page, web application, web service

    Web server, browser HTTP, URL, Domain, IP, DNS, Protocol

    HTML, DHTML, CSS, XML

    Client side, server side

    Multi-tier (n-tier) system, application server ASP.Net, Java (JSP)

    Web 2.0, API, AJAX

    31