1 - Intro Flashcards
What is a Web App?
Distributed Information Management System (DIM)
Enables management, sharing, finding and presentation
Does so over a network, in a distributed fashion
Typically has many users, often geographically separated
Ideally DIMS enable users to access timely, relevant and useful info in a seamless manner
Think MyCampus, Twitter
Information Architecture (user focused)
User Personas
User needs matrix
Site design / URL design
Wireframes and Walkthroughs
System Architecture (system focused)
Specifications and requirements
High level system architecture
Sequence diagrams
Entity relationship diagrams
High level system architecture
Diagram
User Client Middleware/Application Server Backend/Database Server (Databases, Files, Indexes)
User
Human or machine which
- Initiates and interacts with the client
- Ranges in skills and abilities
- Has requirements that need to be satisfied
Client
Program sitting on client device which
- Accepts response messages
- Acts on the message
- either communicating to user
- or affecting environment in some way
- Sends request messages
Messaging - Request Message
Sent to server from a user agent to
- ask for information
- send information to be stored
- either from user input
- or some device (sensor)
Messaging - Response Message
Sent from server to user agent to:
- Return the request information
- Affect some change in environment
Messaging - Request Message Protocol
Usually an HTTP request
Embedding any data to be sent
Messaging - Response Message Protocol
Is an HTTP response
With content that is usually in XML - e.g. XHTML, VoiceXML, WML, etc.
Middleware/Application Server
Central component which
- accepts request messages from clients
- returns response messages
- co-ordinates the application components
Backend/Database
Typically on separate node and:
- stores the data for the application
- Provides the data when needed
- Needs to scale and be reliable
- Could be a database, an index, a flat file
Web dev is complex and difficult due to?
Lots of different types of technologies and languages (markup, scripting, database)
Shifting standards (DOM, XML, JSON)
Different web browsers and compatibility
HTTP is a stateless protocol
Rate of change for expectations of functionality ( web 2.0, ajax, web apps, etc)
HOWEVER increasingl adopting established software engineering methods
Interpreted languages
No compilation stage to raise errors and warnings
Scripts will run until they reach an error, typically wont be an error message or will be useless
HTML is
Hyper Text Markup Language
Describes content of a web page for browser to display
Made up of tags and plain text