Title: Web Applications
1Web Applications
2Web Server
- A piece of software
- Listens for HTTP requests
- Sends back HTTP responses
3Web Server
- Apache HTTP Server
- Internet Information Services (IIS)
- Sun ONE Web Server
4Web Server
- Serves up contents (html, images, txt)
- Static contents
- Dynamic contents
5Static Contents
- HTTP request comes in
- Sends existing html file back
- ttp//www.server.com/dir1/file1.html
- ltserver root dirgt/dir1/file1.html
6Dynamic Contents
- HTTP request comes in
- Generates HTML page
- Sends generated HTML back
7Dynamic Contents
- CS Forum for CMSC 498W
- ttp//forum.cs.umd.edu/forumdisplay.php?f17
- Magic!!!
8Pros
- Static Contents
- Faster responses
- Less CPU usage
- Dynamic Contents
- Less file management
- Easier to update contents
9Web Applications
- A web application is an application delivered to
users from a web server over a network such as
the Internet or an intranet. wikipedia
10Advantages
- Only needs a web browser to use the application
(Thin Client) - Easy to distribute and update application
11Web Application Examples
- Webmail (gmail)
- Forums (CS Forum)
- Wikis (wikipedia)
- Weblogs aka blogs (blogger)
12Three-Tiered Architecture
- Web Browser
- Dynamic Content Engine
- Database
13First Tier Web Browser
- Sends Requests to middle tier
- ttp//www.amazon.com/index.jsp?item5
- Displays HTML responses
14Second Tier Dynamic Content Engine
- Processes requests
- ttp//ww.amazon.com/index.jsp?item5
- Runs index.jsp with parameter item 5
- Makes queries to the database
- Generates HTML with information from database
- Sends back response
15Third Tier - Database
- Stores data
- e.g. Amazon.coms database stores
- Items for sale
- Customer information
16Dynamic Content Engines
- Java Server Pages (JSP) and Servlets
- Active Server Pages (ASP)
- PHP
- CGI
17Technology Stacks
- L.A.M.P.
- Linux Operating System
- Apache HTTP Server
- MySQL Database
- PHP, Python or Perl Scripting Language
- J2EE
- .NET
18Server Side Caching
- Reduces web server load
- Faster response time
- Saves recently or frequently accessed resources
- file system
- memory
19URL Tricks
- ttp//www.blog.com/a_user/a_blog
- Middle tier knows to parse out a_user and a_blog
- Queries database with parameter user a_user and
blog a_blog - ttp//www.blog.com/?user_userblog_blog
- ttp//www.blog.com/post/174367.html
- Queries database for posts with id 174367
- ttp//www.blog.com/?typeostid174367
20URL Tricks
- Motivations
- Search engine indexing
- Easier to remember
- Prettier URL ?
21Wiki
- a type of ebsite that allows users to easily add
and edit content and is especially suited for
ollaborative writing - wikipedia
22Wiki Editing
- Use of Wiki syntax
- User-editable (easier than html)
- Render HTML from Wiki syntax
- Who should have access to edit?
23Wiki Usage
- Encyclopedia (wikipedia)
- Books
- Business Projects
24Blog
- a ebsite that allows authors to post items on a
regular basis and usually displayed in reverse
chronological order.
25Blog Usage
- Personal Diary
- News
- Business Projects