Lecture Outline
• Introduction to Web Engineering
• Categories of Web Applications
• Web Engineering is Multidisciplinary
• Evolution of Web Engineering
• Difference between Web Development and other Development
• Web Development Practices
• Web Development Processes
What is Web Engineering (WE)
• Web Engineering – is the application of systematic, disciplined, and
quantifiable approaches to the design, production, deployment,
operation, maintenance and evolution of Web-based software
products. [Gaedke,2000]
Web Engineering (WE)
• A holistic and pro-active approach to Web systems development
• Offers systematic approaches and disciplined processes for
development
• Deals with the management of complexity and diversity of Web
development
• Brings to Web-based system development Control
• Risk minimization
• Enhanced maintainability and quality
Basic Paradigm
• Hypertext + Internet
• Internet
• a global system of interconnected computer networks
• use the standard Internet Protocol Suite (TCP/IP)
• facilitate data transmission and exchange
• Hypertext – textual documents together with the ability to interconnect documents by links
between them as part of the document contents
• HTML: HyperText Markup Language
• the predominant markup language for web pages
• provide a means to create structured documents by denoting structural semantics for text
• E.g. headings, paragraphs, lists, links, quotes, etc.
• HTTP: HyperText Transfer Protocol
• a protocol (utilizing TCP) to transfer hypertext requests and information between servers and
browsers
• use for retrieving inter linked resources (hypertext documents)
‐
• led to the establishment of the World Wide Web in 1990
History of Web
• 1969: ARPA (Advanced Research Projects Agency)
• First small network: Stanford Research Institute, UCLA, UC Santa Barbara,
• TCP (Transmission Control Protocol)
• IP (Internet Protocol)
• 1972: Telnet protocol
• 1973: SMTP (Simple Mail Transfer Protocol)
• 1973: FTP (File Transfer Protocol)
• 1989: T. Berners‐Lee et al.:
• Word Wide Web (WWW)
• 1994: W3C (World Wide Web Consortium)
• 1996: HTTP (HyperText Transfer Protocol)
World Wide Web Consortium (W3C)
• World Wide Web Consortium (W3C)
• International consortium where member of the organizations, a full‐
time staff, and the public work together to develop Web standards
• http://www.w3.org
• W3C's mission:
• to lead the World Wide Web to its full potential by developing
protocols and guidelines that ensure long term growth for the Web
‐
Protocol Stack
Categories of Web Applications
• A Web Application is a software system based on technologies and
standards of the World Wide Web Consortium (W3C) that provides
Web specific resources such as content and services through a user
interface, the Web browser. [Kappel et al., 2004]
• Definition explicitly includes:
• Technologies
• User Interaction
• These are not Webapps:
• Technologies alone, e.g. web services
• Website without s/w components, e.g. static web pages
Categories of Web Applications
• Scope and complexity of Web applications vary widely
• Offer vastly varied functionality and have different characteristics and
requirements
Categories of Web Applications (Cont.)
• Document‐Centric (Informational)
• Precursor to Webapps, stored in server as ready made
‐
• Informational
• read only content is provided with simple navigation and links
‐
• Examples:
• static HTML pages, “home pages”
‐
• web radio
• simple presentations of companies/products
Categories of Web Applications (Cont.)
• Interactive
• content of a website is dynamically generated as response to a user request
• form based input is the primary mechanism for communication between
‐
• client and server
• Usage of HTML forms and Common Gateway Interface (CGI) techniques
‐
• radio button, string input, choice lists
• Examples:
• dynamic HTML pages
• public transport schedules
• search engines
Categories of Web Applications (Cont.)
• Transaction‐oriented (Transactional)
• complex interactions
• read and write actions
• usage of transaction management of database systems
• efficient and consistent data management
• structured data and queries
• Examples:
• online banking
• e shopping
‐
• reservation systems
Categories of Web Applications (Cont.)
• Workflow‐based (Workflow‐Oriented)
• support business processes (“workflows”) within and between enterprises
or private users access
• an application provides a complex service to the user, e.g. assists the user in
determining the mortgage payment
• use of Web services to guarantee interoperability
• Examples:
• Business to Business (B2B) Integration Frameworks
‐ ‐
• E Government
‐
• patient workflows in health care systems
Categories of Web Applications (Cont.)
• Collaborative (Collaborative Work Environment)
• support cooperation in case of unstructured flow of activities and high
degree of communication
• Unstructured operations, “groupware“
• Support shared information and workspaces
• Log entries and edits
• Mediate meetings or make decision
• Examples:
• Wiki, http://c2.com/cgi/wiki
• Google Map
Categories of Web Applications (Cont.)
• Social Web (Online Communities and Marketplaces)
• People provide their identity to small community of others with similar
interest
• Examples:
• Social networking
• Video sharing
‐
• Blogs
Categories of Web Applications (Cont.)
• Portal‐oriented
• the application channels the user to other Web content or services outside
the domain of the portal application
• “single point of access“
• Specialized portals, examples:
• Community portals
• dedicated user groups
• customer loyalty through user interaction, customer profiles
• Enterprise portals
• Allow employee and business partners focused access to different sources on info
• and services
• Via intranet, extranet
• Marketplace portals
• B2B, B2C, SCM
Categories of Web Applications (Cont.)
• Ubiquitous
• personalized services at every time at every location
• multi platform delivery (PC, PDA, mobile phone)
‐
• context dependent information
‐
• Examples:
• Display of today‘s menu on end user devices while entering a restaurant
‐
• Must consider limitations of mobile devices
• Bandwidth, screen size, memory, context
Categories of Web Applications (Cont.)
• Semantic web
• Increasing convergence of TIMES leads to domination of ubiquitous
applications
• Telecommunication, Information Technology, multimedia, Education,
Entertainment, Security
• Present information on the web
• adequate for human understanding and
• adequate for automatic manipulation
• Facilitate “Knowledge management“ on the web
Categories of Web Applications (Cont.)
Class Activity
• Classify these web sites into above discussed categories.
YOUTUBE ?
Google ?
Twitter ?
Rozee.pk ?
Dropbox ?
HBL Phone Banking?
JIRA ?
Apple Smart Watch?
LinkedIn?
Class Activity
SOLUTION
YOUTUBE - Collaborative
Google - Interactive
Twitter - Social
Rozee.pk - Portal
Dropbox - Collaborative
HBL Phone Banking - Transaction oriented
JIRA - Workflow
Apple Smart Watch - Ubiquitous
LinkedIn? - Uses Semantic web Technology
Web Engineering is Multidisciplinary
• systems analysis and design
• software engineering
• hypermedia/hypertext engineering
• requirements engineering
• human computer interaction
‐
• user interface
• information engineering
• information indexing and retrieval
• Testing
• modelling and simulation
• project management
• graphic design and presentation
WE discipline (Cont.)
• Web Engineering is not a clone of software engineering
• While Web Engineering uses software engineering principles,
it encompasses new approaches, methodologies, tools,
techniques, and guidelines to meet the unique requirements
of Web-based systems
Evolution of Web Engineering
• Progressively emerging as a new discipline addressing the
unique needs and challenges of Web-based systems
development
• Since 1998,
• Workshops
• Conferences
• Journals
• Books
Difference between Web Development and other
Development
• Web Development is Different
• Web application development has certain characteristics that
make it different from traditional software, information
system, or computer application development
• Web applications have the following characteristics:
• Web applications constantly evolve
• Web applications are inherently different from software
• Web applications are meant to be used by a vast, variable user community
• Web-based systems are content-driven (database-driven)
• Web-based systems demand a good “look and feel,”
• Web applications have a compressed development schedule, and time
• pressure is heavy
• Ramifications of failure or dissatisfaction of users of Web-based applications can be much
worse than conventional IT systems
Web Development is Different (cont.)
• Web applications have the following characteristics (Cont.)
• Web applications are developed by a small team of (often young) people with
diverse backgrounds, skills, and knowledge compared to a team of software
developers
• There are rapid technological changes
• Web development uses cutting-edge, diverse technologies and standards, and
integrates numerous varied components
• The delivery medium for Web applications is quite different from that of
traditional software
• Security and privacy needs of Web-based systems are more demanding than
that of traditional software
• The Web exemplifies a greater bond between art and science than generally
encountered in software development
Web Development Practices
• Lacks rigor, systematic approach
• The completed system is not what the user wants
• System not developed on time, cost overruns
• Lacks scalability and maintainability, hence a limited useful life
• Does not meet performance requirements
• Resources are wasted
• Complexity of Web-based systems is often deceptive and is not often
recognized by many stakeholders
• Several attributes of quality of Web-based systems are not given the due
consideration
• Web applications also fail to address cultural or regional considerations,
and privacy, moral and legal obligations and requirements
• Web systems also lack proper testing, evaluation, and documentation
Web Development Processes

IntrO To Management Chapter 1 and 2 slid

  • 1.
    Lecture Outline • Introductionto Web Engineering • Categories of Web Applications • Web Engineering is Multidisciplinary • Evolution of Web Engineering • Difference between Web Development and other Development • Web Development Practices • Web Development Processes
  • 2.
    What is WebEngineering (WE) • Web Engineering – is the application of systematic, disciplined, and quantifiable approaches to the design, production, deployment, operation, maintenance and evolution of Web-based software products. [Gaedke,2000]
  • 3.
    Web Engineering (WE) •A holistic and pro-active approach to Web systems development • Offers systematic approaches and disciplined processes for development • Deals with the management of complexity and diversity of Web development • Brings to Web-based system development Control • Risk minimization • Enhanced maintainability and quality
  • 4.
    Basic Paradigm • Hypertext+ Internet • Internet • a global system of interconnected computer networks • use the standard Internet Protocol Suite (TCP/IP) • facilitate data transmission and exchange • Hypertext – textual documents together with the ability to interconnect documents by links between them as part of the document contents • HTML: HyperText Markup Language • the predominant markup language for web pages • provide a means to create structured documents by denoting structural semantics for text • E.g. headings, paragraphs, lists, links, quotes, etc. • HTTP: HyperText Transfer Protocol • a protocol (utilizing TCP) to transfer hypertext requests and information between servers and browsers • use for retrieving inter linked resources (hypertext documents) ‐ • led to the establishment of the World Wide Web in 1990
  • 5.
    History of Web •1969: ARPA (Advanced Research Projects Agency) • First small network: Stanford Research Institute, UCLA, UC Santa Barbara, • TCP (Transmission Control Protocol) • IP (Internet Protocol) • 1972: Telnet protocol • 1973: SMTP (Simple Mail Transfer Protocol) • 1973: FTP (File Transfer Protocol) • 1989: T. Berners‐Lee et al.: • Word Wide Web (WWW) • 1994: W3C (World Wide Web Consortium) • 1996: HTTP (HyperText Transfer Protocol)
  • 6.
    World Wide WebConsortium (W3C) • World Wide Web Consortium (W3C) • International consortium where member of the organizations, a full‐ time staff, and the public work together to develop Web standards • http://www.w3.org • W3C's mission: • to lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long term growth for the Web ‐
  • 7.
  • 8.
    Categories of WebApplications • A Web Application is a software system based on technologies and standards of the World Wide Web Consortium (W3C) that provides Web specific resources such as content and services through a user interface, the Web browser. [Kappel et al., 2004] • Definition explicitly includes: • Technologies • User Interaction • These are not Webapps: • Technologies alone, e.g. web services • Website without s/w components, e.g. static web pages
  • 9.
    Categories of WebApplications • Scope and complexity of Web applications vary widely • Offer vastly varied functionality and have different characteristics and requirements
  • 10.
    Categories of WebApplications (Cont.) • Document‐Centric (Informational) • Precursor to Webapps, stored in server as ready made ‐ • Informational • read only content is provided with simple navigation and links ‐ • Examples: • static HTML pages, “home pages” ‐ • web radio • simple presentations of companies/products
  • 11.
    Categories of WebApplications (Cont.) • Interactive • content of a website is dynamically generated as response to a user request • form based input is the primary mechanism for communication between ‐ • client and server • Usage of HTML forms and Common Gateway Interface (CGI) techniques ‐ • radio button, string input, choice lists • Examples: • dynamic HTML pages • public transport schedules • search engines
  • 12.
    Categories of WebApplications (Cont.) • Transaction‐oriented (Transactional) • complex interactions • read and write actions • usage of transaction management of database systems • efficient and consistent data management • structured data and queries • Examples: • online banking • e shopping ‐ • reservation systems
  • 13.
    Categories of WebApplications (Cont.) • Workflow‐based (Workflow‐Oriented) • support business processes (“workflows”) within and between enterprises or private users access • an application provides a complex service to the user, e.g. assists the user in determining the mortgage payment • use of Web services to guarantee interoperability • Examples: • Business to Business (B2B) Integration Frameworks ‐ ‐ • E Government ‐ • patient workflows in health care systems
  • 14.
    Categories of WebApplications (Cont.) • Collaborative (Collaborative Work Environment) • support cooperation in case of unstructured flow of activities and high degree of communication • Unstructured operations, “groupware“ • Support shared information and workspaces • Log entries and edits • Mediate meetings or make decision • Examples: • Wiki, http://c2.com/cgi/wiki • Google Map
  • 15.
    Categories of WebApplications (Cont.) • Social Web (Online Communities and Marketplaces) • People provide their identity to small community of others with similar interest • Examples: • Social networking • Video sharing ‐ • Blogs
  • 16.
    Categories of WebApplications (Cont.) • Portal‐oriented • the application channels the user to other Web content or services outside the domain of the portal application • “single point of access“ • Specialized portals, examples: • Community portals • dedicated user groups • customer loyalty through user interaction, customer profiles • Enterprise portals • Allow employee and business partners focused access to different sources on info • and services • Via intranet, extranet • Marketplace portals • B2B, B2C, SCM
  • 17.
    Categories of WebApplications (Cont.) • Ubiquitous • personalized services at every time at every location • multi platform delivery (PC, PDA, mobile phone) ‐ • context dependent information ‐ • Examples: • Display of today‘s menu on end user devices while entering a restaurant ‐ • Must consider limitations of mobile devices • Bandwidth, screen size, memory, context
  • 18.
    Categories of WebApplications (Cont.) • Semantic web • Increasing convergence of TIMES leads to domination of ubiquitous applications • Telecommunication, Information Technology, multimedia, Education, Entertainment, Security • Present information on the web • adequate for human understanding and • adequate for automatic manipulation • Facilitate “Knowledge management“ on the web
  • 19.
    Categories of WebApplications (Cont.)
  • 20.
    Class Activity • Classifythese web sites into above discussed categories. YOUTUBE ? Google ? Twitter ? Rozee.pk ? Dropbox ? HBL Phone Banking? JIRA ? Apple Smart Watch? LinkedIn?
  • 21.
    Class Activity SOLUTION YOUTUBE -Collaborative Google - Interactive Twitter - Social Rozee.pk - Portal Dropbox - Collaborative HBL Phone Banking - Transaction oriented JIRA - Workflow Apple Smart Watch - Ubiquitous LinkedIn? - Uses Semantic web Technology
  • 22.
    Web Engineering isMultidisciplinary • systems analysis and design • software engineering • hypermedia/hypertext engineering • requirements engineering • human computer interaction ‐ • user interface • information engineering • information indexing and retrieval • Testing • modelling and simulation • project management • graphic design and presentation
  • 23.
    WE discipline (Cont.) •Web Engineering is not a clone of software engineering • While Web Engineering uses software engineering principles, it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of Web-based systems
  • 24.
    Evolution of WebEngineering • Progressively emerging as a new discipline addressing the unique needs and challenges of Web-based systems development • Since 1998, • Workshops • Conferences • Journals • Books
  • 25.
    Difference between WebDevelopment and other Development • Web Development is Different • Web application development has certain characteristics that make it different from traditional software, information system, or computer application development • Web applications have the following characteristics: • Web applications constantly evolve • Web applications are inherently different from software • Web applications are meant to be used by a vast, variable user community • Web-based systems are content-driven (database-driven) • Web-based systems demand a good “look and feel,” • Web applications have a compressed development schedule, and time • pressure is heavy • Ramifications of failure or dissatisfaction of users of Web-based applications can be much worse than conventional IT systems
  • 26.
    Web Development isDifferent (cont.) • Web applications have the following characteristics (Cont.) • Web applications are developed by a small team of (often young) people with diverse backgrounds, skills, and knowledge compared to a team of software developers • There are rapid technological changes • Web development uses cutting-edge, diverse technologies and standards, and integrates numerous varied components • The delivery medium for Web applications is quite different from that of traditional software • Security and privacy needs of Web-based systems are more demanding than that of traditional software • The Web exemplifies a greater bond between art and science than generally encountered in software development
  • 27.
    Web Development Practices •Lacks rigor, systematic approach • The completed system is not what the user wants • System not developed on time, cost overruns • Lacks scalability and maintainability, hence a limited useful life • Does not meet performance requirements • Resources are wasted • Complexity of Web-based systems is often deceptive and is not often recognized by many stakeholders • Several attributes of quality of Web-based systems are not given the due consideration • Web applications also fail to address cultural or regional considerations, and privacy, moral and legal obligations and requirements • Web systems also lack proper testing, evaluation, and documentation
  • 28.