Web Engineering Introduction - WordPress.com...•Large-scale commercial sites developed by...

Preview:

Citation preview

Web EngineeringIntroduction

Husni

Husni@trunojoyo.ac.id

Outline

• What is Web Engineering?

• Evolution of the Web

• Challenges of Web Engineering

• In the early days of the Web, we built systems using informality, urgency, intuition, and art • Informality leads to an easy work environment—one in

which you can do your own thing.

• Urgency leads to action and rapid decision making.

• Intuition is an intangible quality that enables you to “feel” your way through complex situations.

• Art leads to aesthetic form and function—to something that pleases those who encounter it.

•Problem is—this approach can and often does lead to problems

Why?

• As Web Apps become larger and more complex,• Informality remains, but some degree of requirements gathering

and planning are necessary

• Urgency remains, but it must be tempered by a recognition that decisions may have broad consequences

• Intuition remains, but it must be augmented by proven management and technical patterns

• Art remains, but it must be complemented with solid design

• Bottom line—we must adapt the old-school approach to the realities of a Web 2.0 world

....and the response is

Web Engineering

What is Web Engineering?

Technologies, tools and methods to support systematic approaches to the development,

deployment and maintenance of high-qualityweb systems

What is a Web system?

• Web site

• Internet application

• Application based on web technologies

• Portal

• Platform

• ......

The Web

•An indispensable technology• In virtually every aspect of modern living

•A transformative technology• Changes the way we do things• Changes the way we acquire and disseminate information

•An evolving technology

•Bottom line—high impact on everyone in the modern world

WebApps

• The term Web application (WebApp) encompasses:• Everything from a simple Web page that might help a consumer

compute an automobile lease payment to a comprehensive website that provides complete travel services for business people and vacationers.

• Included within this category are complete websites, specialized functionality within websites, and information-processing applications that reside on the Internet or on an Intranet or Extranet.

WebApp Attributes

• Network intensiveness

• Concurrency

• Unpredictable load

• Performance

• Availability

• Data driven

• Content sensitive

• Continuous evolution

• Immediacy

• Security

• Aesthetics

WebApp Types

• Informational

•Download

•Customizable

• Interaction

•User input

• Transaction-oriented

• Service-oriented

•Portals

•Database access

•Data warehousing

Goals of the Course

• Learning about concepts (methods) and processes to build a good quality web apps

• Learning about the technologies behind today’s web systems• HTTP, HTML, CSS, CGI, PHP, SSI, ....• XML, XSLT, XPATH, XLINK, XHTML, VoiceXML, .....• Java Servlets, Java Applets, JSP, JavaScript, AJAX, ....

• Learning about tools and frameworks to support development• Silverlight, Google Web Toolkit, ...........• WebML/Web Ratio

• Learning about architectural issues• Simple client-server to multi-tier architectures• Caching• Virtual hosting

Goals of the Course ....

But most importantly

• Understanding the core concepts in order to be able tocritically assess new technologies, tools etc.• being able to get beyond the hype

• being able to ask the right questions

• being able to relate “new” technologies to existing/oldtechnologies

• being able to select the right technology/tool for a particularproject

Web 1

Web 2

Web 3

Web 4

Web Usability in Action

• Throughout the course we will introduce various issues related to web usability by looking at:• Adaptation of web sites to large screen devices

• Adaptation of web sites to multi-touch devices

• End-user adaptation of web sites to different devices

• You will have a chance to participate in studies

• We will discuss the technologies behind various forms ofadaptation

Course Attendance

It is considered essential that students “actively participate” in the course by attending lectures and presentation sessions, as well as doing the

exercises

Evolution of the Web

• Conceived in 1989 to allow geographically dispersed people to share information

• Information stored on different servers

• Information retrieved and viewed by means of a singlebrowsing interface

• Information consisted mainly of text documents inter-linkedbased on hypertext model

Web-Based Hypertext Model

The Web Today

• Environment to deliver all kinds of information and services• multimedia of different types (images, video, animations, audio)• software distribution• applications (search engines, calculators, design tools, ... )• complex systems (e-Commerce, enterprise planning, ....)

• Platform for collaboration• discussion forums• social networking sites• collaborative authoring (wikipedia, .... )• web conferencing and meeting systems• .....

Web Nowadays ...

• Increasing number of documents generated dynamicallyrather than being stored statically

Web Trends

• Universal platform for distributed and mobile systems

• Integration of information and application services• single point of access

• uniform model of access

• Distribution of computation and information• enterprise architectures

• GRID computing, cloud computing

• Mobile clients• ability to access the web from a range of client devices

Adaptive Web Sites

• Personalization• adapt content, functionality and presentation to user

• Context-Awareness• adapt content, functionality and presentation to situation and/or task at hand

(i.e. user context)

• Internalisation / Localisation• adapt content, functionality and presentation to particular community

• language• currency• cultural acceptance• .....

CNN

Detik

Web Infrastructure

• Nowadays web infrastructure is used in many ways• Small static web sites

• Large-scale publishing

• Access to complex applications

• Integration of services

• Intranets

• Application-specific infrastructure

• Publish-Subscribe

• Reactive Information Environments

• .....

Corporate View

• Necessity of Web Presence

• e-Commerce

• Moving into Global Markets

• Opportunity for small companies to project their corporate presence in same way as large companies

• Opportunities for virtual enterprises and B2B

• 365/24/7 operation

• Use of Intranets

• Standard Interface to Software

Effects of the Web

• Brings users into direct contact with information and application services• focus on interface organisation and ease-of-use

• Globalisation of services• cater for users with varying requirements, skills, languages and cultures

• government drives to provide access for ALL – including people with disabilities

• Highly-dynamic• services, sites and user communities rapidly evolve

• user presence (“only a click away”)

Quality

• Little customer loyalty

• Quality keeps customers

• 3 main quality criteria• Reliability

• Usability

• Security

• Other criteria:• Availability

• Scalability

• Maintainability

• Time to Market

Types of Applications on the Web

3 main types of applications on the web

• web hypermedia applications• authoring and publishing of information based on hypertext model

• technologies – HTML, XML, multimedia, ...

• developers - writers, designers, teachers, ...

• web software applications• web interface to software

• technologies – Java Server Pages, Databases, J2EE, ...

• developers - programmers

• web applications• combination of the above

Need for Web Engineering

• Private individuals, businesses, governments and all sorts have come to rely on the web

• Web-based systems and applications now deliver a wide range of information and application services to a diversity of users

• Web technologies increasingly being adopted as a universal platform for all kinds of applications

• Large-scale commercial sites developed by multi-disciplinary teams of people with diverse skills and backgrounds, using cutting edge technologies

• In many ways, the development, deployment and maintenance of web sites more complex than traditional software development

Differences to Software Engineering

• Variety of people involved in development• programmers, database experts, designers, content providers, ...

• Typically developed for unknown set of users with no training

• Intrinsic characteristics of web applications• reliance on communication technologies

• multi-platform accessibility

• hypertext-based interaction (non-sequential)

• range of technologies

• Speed of development and evolution

Multi-Disciplinary Nature of Web Engineering

• Software Engineering

• Hypermedia Engineering

• Information Engineering

• Graphical Design

• Usability Engineering

• Network Management

Must provide tools that can separate concerns, allow developers to worktogether and can allow them to use familiar styles of working and tools

Users

• Generally unknown• expectations, behaviour patterns not known at development time

• more difficult to design interface

• no training

• dealing with globalisation - different cultures, languages, etc.

• Nowadays covers a variety of roles• browsers

• customers in e-Commerce

• content providers

• editors

• ........

Information Sources

• Dealing with a range of information sources and systems• database systems

• file systems

• multimedia storage devices

• Variety of types and formats of multimedia content• images, sound, animation, video, ..... in different formats

• documents of different forms

• text in different languages (alphabets)

• clients may only be able to handle certain formats

• certain formats may be specific to certain clients

Technologies

• Web developers must work with a range of technologies andlanguages• document formats (HTML, XML, VoiceXML ...)• presentation (CSS, XSLT, ...)• programming (CGI, PHP, JavaScript, JSP, Java, ....)• databases• content management systems• web servers• application server• ......

• Made even more difficult because of the rapid development of new technologies and standards

Maintenance

• Web sites evolve continuously without specific releases• Maintenance cycles may be days or even hours

• Content, functionality, structure and presentation may changesignificantly from one moment to the next

• Necessary to provide some sort of controls over changes• accuracy and quality of content

• translation of content into different languages

• conforms to corporate presentation guidelines

• modifications to structure and navigation

• modifications to services

• .......

Legal, Social and Ethical Issues

• Copyright• content

• links

• Privacy

• Criminal Activities

• Libel versus Freedom of Speech

• Internationalisation of Laws

• Access for the disabled and minorities

• Next Week• Basic Technologies: Protocols and Web Servers

Recommended