Uploaded by evans lubansa

Unit 1- Introduction to Web Engineering and Its Requirements (1)

advertisement
WEB ENGINEERING
Unit 1: Introduction to Web
Engineering and its
requirements
Unit 1
Aim
• The aim of this unit is to introduce the student to Web
Engineering concepts and how web concepts can be
applied in developing web applications.
The unit will also cover:
• Basic principles of mark-up languages
• HTML 5 document structure
• Structuring text
• Block level and inline elements
Objectives
Discuss
Discuss the concept of the World Wide Web
Differentiate
Differentiate Web Engineering from Software
Engineering
Describe
Describe Web Applications and their attributes.
Discuss
and apply
Discuss and apply the different categories of Web
applications as they evolve.
The Internet
and the World
Wide Web
(www)
Questions:
• What is the Internet?
• What is WWW?
Write a definition of the Internet
Write a definition of the WWW
Describe the differences between the two
• The world-wide network of computer networks sharing
information
• Information shared over the Internet (not exhaustive)
The Internet
– Email
– FTP
– Instant Messaging
– WWW
– Chat
– VOIP e.g. Skype
– P2P (Peer-to-peer) networks
The World Wide
Web (WWW)
• The worldwide collection of millions of
inter-linked documents (web pages) on
the Internet
• Two main technologies define the
WWW
• HTML (HyperText Markup
Language)
• The language used to write web
pages
• HTTP HyperText Transfer Protocol
• The communication rules that
specify how web pages are
transmitted over the Internet
How the WWW Works
• The user selects the address of a web page they want to
view, e.g. http://tinyurl.com/6ynbvx
• Web addresses are known as URLs (Universal Resource
Locators)
• The request is made using HTTP
• The server receives the request
• If the client is allowed the requested page:
• The server finds the web page (a HTML document)
• Sends a copy back over the Internet to the client
• Again HTTP is used for communication between the
client and server
• The web browser understands HTML and displays the
web page for the user.
• The user views the page, clicks on a hyperlink and the
whole process starts over again.
HTML (HyperText
Markup Language)
• This is an example of a HTML
document.
• HTML describes the structure of
a web page, i.e. which part of the
page is a heading, a paragraph, a
list, a table etc
CSS (Cascading Style
Sheets)
• CSS specifies the design of
a web page:
• E.g. the fonts, colours,
positions of different
parts of the page
Web Applications
• You hear a lot about web applications these days.
• Usually with the term ‘cloud computing’
• The distinction between ‘web’ applications and ‘desktop’ applications is
becoming less meaningful on a yearly basis.
• Most desktop applications incorporate internet functionality.
• Most web applications now imitate the look and feel of desktop
applications.
Web Applications
• In the most general sense, we break a web application into
three ‘layers’, each responsible for a different part of the
system.
• The Presentation layer, which handles the user frontend
• The Application layer, which handles the ‘business logic’
• The Data layer, which handles storage and retrieval of data.
• This is usually called an N-Tier architecture, where N is the
number of tiers.
Web Applications
• There is now even an operating system fully designed to work on
the web.
• Google’s Chrome OS
• Desktop applications still have numerous benefits:
• Bandwidth is still a major bottleneck in highly interactive
performance
• Privacy and security is easier when you have control over the data
• It’s possible to optimise for the desktop context
Web Applications
• Different tools are used to handle the complexities of each of the
tiers.
• We separate them out to ensure maximum flexibility when we build
applications.
• At the user level, languages such as Javascript and formats such as
CSS are commonplace.
• For the application levels, PHP, Ruby or other server-side languages
are used.
• For the data level, MySQL and Oracle are common.
Web Applications
• It has never been more important to be able to develop
dynamic websites.
• People expect a lot of websites
• Web applications offer many advantages to both developers
and users:
• Easily maintained
• Easily deployed
• Always available
• Provided you have an internet connection
Attributes of Web Applications
• Network Intensiveness
• Concurrency
• Unpredictable Load
• Performance
• Availability
• Data Driven
• Content Sensitive
• Continuous Evolution
• Security
• Aesthetics
Web Categories
Information Web Applications
• You decide to build a home page and a few supplementary pages
that describe the Web App and its products and services.
• An informational Web App contains read-only content with
simple navigation and links.
Web App Categories
Download Web Apps
• When you begin to add content that describes more functionality of a Web
App such as security system hardware
• You will need to provide this information through PDF (Portable Document
Format) specification files describing each functionality that can be
downloaded from the website.
Web App Categories
Customizable Web Apps
• You will need to tailor the content presented at the website to the specific
needs of each customer type, using jargon and presenting content that will
meet their needs.
• You do a major overhaul of your initial Web App and create a new one that is
customizable for each user.
Web App categories
Interaction web apps
• Traffic increases rapidly, and before long you have hundreds of visitors each
day (after all, people worry about effective solutions for home and business
security).
• You want to create a feeling of community among your visitors—a place
where people can chat, ask and answer questions, provide product
testimonials, and the like.
Web App Categories
User Input Web Apps
• Implementing forms-based input so that every request from a
user is organized in a predictable manner using automation
• But at least one does not have to transcribe a variety of disparate
inputs and sources of information.
Web App Categories
Transaction-Oriented Web Apps
This provides the user with a series of algorithms for computing
hardware and monitoring functionality based on forms-based
input.
Web App Categories
Service Oriented Web Application
• You are now ready to provide a comprehensive design assistance
capability.
• The user inputs a description of a space graphically and is then
assisted in the design of a security system for that space.
• This service can lead directly to a particular part of the system as
requested.
Web App Categories
Portals
• Time passes, and your dedicated hard work pays off with thousands of
visitors each day and you do not have the time to answer each.
• To help solve the problem you begin providing links to appropriate
websites that do have answers.
• Before long, a portion of your site channels users to a wide variety of
useful information sources.
Web App Categories
Database Access
• Your product line and customer base grow dramatically, and it
becomes necessary to build these different databases as need arises.
• These databases can be queried using aspects of the user input
elements of the Web App.
Web App Categories
Data Warehousing
• As the business grows and becomes a major international supplier of
goods and services to meet the needs of many countries, you must tap
information about local building regulations, suppliers, installers, and
the like.
• You need to gain access to multiple databases and extract information
that will be useful for your customers.
• You begin to build a large-scale data warehousing component for the
Web App
Conclusion
• There are a lot of things we’re going to need to learn to build dynamic websites.
• Building client interfaces
• Building server-side applications
• Manipulating server-side databases.
• This will involve encountering a reasonable number of new languages, formats and
frameworks.
• Ajax, PHP, MySQL and XML
• By the end of this module though, you will be able to build genuinely interesting
web pages that combine your code with existing APIs.
Download