39
Korea Advanced Institute of Science and Technology Spring 2012 WST500: Introduction to Web Science and Technology Dept. of Computer Science & Web Science and Technology In-Young Ko Web Software Engineering

WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Korea Advanced Institute of Science and Technology

Spring 2012

WST500:

Introduction to Web Science and Technology

Dept. of Computer Science &

Web Science and Technology

In-Young Ko

Web Software Engineering

Page 2: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Today’s Plan

Introduction

Characteristics of Web Applications Product-related Characteristics

User-related Characteristics

Development-related Characteristics

Web Software Engineering Issues Web Application Modeling

Web Services Engineering

Conclusion

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

2

Page 3: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

The Origin of the Web

A proposal to build a global hypertext system for CERN

Spring 2012

Tim Berners-Lee,

1989

“Information Management: A Proposal”

www.w3.org/History/1989/proposal.html

WST 500 Copyright (c) In-Young Ko, KAIST

3

Page 4: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Document vs. Web-based SW

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

4

Page 5: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web as a Software Platform

Spring 2012

http://www.w3.org/2007/08/sb_gitex/all.htm#(4)

WST 500 Copyright (c) In-Young Ko, KAIST

5

Page 6: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

The Web: A Platform for Software Engineering

Provides repositories for searching software component services

Provides a medium for deploying software components as services

Supports protocols to access software services

Supports an environment to dynamically compose (assemble or synthesize) software systems

Spring 2012

Web-based Software Environment

Web Services

Customized Applications

Customized Applications

Customized Applications

Customized Applications

WST 500 Copyright (c) In-Young Ko, KAIST

6

Page 7: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Characteristics of Web Applications

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

7

Page 8: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

50 Best Websites 2009

1. Flickr 2. California Coastline 3. Delicious 4. Metafilter 5. popurls 6. Twitter 7. Skype 8. Boing Boing 9. Academic Earth 10.OpenTable 11.Google 12.YouTube 13.Wolfram|Alpha 14.Hulu 15.Vimeo 16.Fora TV 17.Craiglook

Spring 2012

17. Shop Goodwill 18. Amazon 19. Kayak 20. Netflix 21. Etsy 22. PropertyShark.com 23. Redfin 24. Wikipedia 25. Internet Archive 26. Kiva 27. ConsumerSearch 28. Metacritic 29. Pollster 30. Facebook 32. Pandora and Last.fm 33. Musicovery 34. Spotify

35. Supercook 36. Yelp 37. Visuwords 38. CouchSurfing 39. BabyNameWizard.co

m's NameVoyager 40. Mint 41. TripIt 42. Aardvark 43. drop.io 44. Issuu 45. Photosynth 46. OMGPOP 47. WorldWideTelescope 48. Fonolo 49. Get High Now 50. Know Your Meme

http://www.time.com/time/specials/packages/completelist/0,29569,1918031,00.html

WST 500 Copyright (c) In-Young Ko, KAIST

8

Page 9: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Categories of Web Applications

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

9

Page 10: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Applications

Web is evolving into an application medium

Web applications: “full-fledged, complex software systems providing interactive, data intensive, and customizable services” [Kap06]

Characteristics of Web applications Document centricity Non-linear hypertext Spontaneity of users Constantly changing user requirements Network centricity Multidisciplanary Multi-culturality …

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

10

Page 11: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Content, Hypertext and Presentation

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

11

Page 12: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Product-related Characteristics

Content Document-centric character and multimediality usability

requirements, dynamic content generation and updates

Quality demands high frequency of updates, high quality requirements

Hypertext Non-linearity of hypertext contents modeling, usability

requirements

Disorientation and cognitive overload modeling, usability requirements

Presentation Aesthetics

Self-explanation without documentation consistent navigation system or interaction behavior, usability requirements

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

12

Page 13: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Understanding Users’ Needs

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

13

Page 14: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Supporting Various User Types and Environments

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

14

Page 15: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

User-related Characteristics

Social context: users Spontaneity (types and numbers of users cannot be predicted)

architecture design, performance requirements

Multiculturality internationalization, personalization

Technical context: network and devices Quality of service for varying bandwidth, reliability and stability

of transmission medium adaptation, testing

Multi-platform delivery (heterogeneous devices and browsers) adaptive architecture, testing

Natural context: location and time Globality internationalization, security, privacy, location-

awareness support

Availability (instant delivery mechanism) stability, time-aware services

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

15

Page 16: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Multi-disciplinary Development

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

16

Page 17: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Community Development

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

17

Page 18: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Development-related Characteristics (1/2)

The development team

Multidisciplinarity (print publishing + software development + marketing + computing + art +…) a team of designers, domain experts, and IT experts

Community development component & service standards, collaborative development

Technical infrastructure

Inhomogeniety (Web applications depend on two separate external components: server and browser) inter-operation

Immaturity (caused by time-to-market pressure) record keeping of development knowledge

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

18

Page 19: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Development-related Characteristics (2/2)

Process

Flexibility (impossible to adhere to a rigid, predefined project plan)

Parallelism (subgroup development, parallel running of development phases)

Integration

Internal integration (integration with legacy systems)

External integration (integration of content and services of external Web applications) information integration, multi-tiered architecture design

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

19

Page 20: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Evolution

Continuous change

Constant change of requirements and conditions

Competitive pressure

Need shorter product lifecycles and short development cycles

Fast pace

Short lifespan and frequent updates

Require permanent maintenance

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

20

Page 21: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Software Engineering Issues

Spring 2012

21

WST 500 Copyright (c) In-Young Ko, KAIST

Page 22: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Software Engineering

“Web Engineering is the application of systematic and quantifiable approaches (concepts, methods, techniques, tools) to cost-effective requirements analysis, design, implementation, testing, operation, and maintenance of high-quality Web applications, and the scientific discipline concerned with the study of these approaches.” [Desphande et al.]

Software Engineering = Engineering + Computer Science & Mathematical Principles

Web Software Engineering = Software Engineering + Special Concerns about the Characteristics of Web applications

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

22

Page 23: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Software Engineering Issues

Web Application Modeling

Web Services Engineering Service-Oriented Architecture (SOA)

Dynamic Service Composition and Adaptation

End User Mashups

Web Software Reliability

Web Application Usability

Other Web Applications Semantic Web Applications

Social Web Applications

Linked Data Applications

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

23

Page 24: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Requirements of Application Modeling

Spring 2012

‘What’ and ‘how’ of

an application

[Kap06]

Traditional Applications

Web Applications

WST 500 Copyright (c) In-Young Ko, KAIST

24

Page 25: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Application Modeling (1/2)

Clear separation of the three levels

Reduce complexity in providing different hypertext structures and presentations for different types of users based on the same information structure

Separation of concerns

Provide different access paths to the same content

Hypertext modeling needs to be done based on recurring navigation patterns

Consistent presentation structure

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

25

Page 26: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Application Modeling (2/2)

Aspects Static (less behavior) vs. dynamic (interactive) Web

applications

Phases Information-driven approach – starting with content

modeling

Presentation-driven approach – starting with modeling of presentation aspects

Customization Adapt Web applications based on context, e.g., users’

preferences, device characteristics, or bandwidth restrictions

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

26

Page 27: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Web Application Modeling Methods

Entity-Relationship (ER) Model

Data engineering model

For representing structural aspects (entities, groupings, and relationships)

e.g., WebML, RMM, Hera

Unified Modeling Language (UML)

Object-oriented modeling language

Structural diagrams – class, component, composite structure, deployment diagrams, etc.

Behavioral diagrams – use case, state, activity, etc.

e.g., UWE, OOHDM, OO-H

Spring 2012

[Kap06]

WST 500 Copyright (c) In-Young Ko, KAIST

27

Page 28: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Connections & Services

Spring 2012

www.say-service.com/approach.php...ang%3Den

http://www.augmented.org/pix/arconcept.jpg

http://static.howstuffworks.com/gif/wifi-phone-3.jpg

http://public.cenriqueortiz.com/images/feature-smart-phone.png

http://www.wifigator.com/b-img/publicsafety_diag.jpg

http://www.blogcdn.com/www.tuaw.com

/media/2007/06/iphone_email.png

WST 500 Copyright (c) In-Young Ko, KAIST

28

Page 29: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Layers in Service Engineering

Spring 2012

Connections

WiFi Blutooth WiMax LAN Various types

of connections

in everywhere

HSDPA

Devices

Many networked

devices

surrounding us

… Services and Information

Various services and

information that can

be accessed in

anywhere

Customized

applications

Applications

• Multi-dimensional Information Management

• Mobile Life-Navigation Systems

• Social Community Recommendations …

WST 500 Copyright (c) In-Young Ko, KAIST

29

Page 30: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

New Challenges

Small Scale vs. Large Scale

Short Term vs. Long Term

Instantaneous vs. Diachronic

Individual vs. Social

Planned vs. Spontaneous

Proactive (off-line) vs. Reactive (on-the-fly) service

compositions

Developer made vs. User made

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

30

Page 31: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Two Perspectives

User-centricity

On-demand application composition (mash-up)

Connecting users’ (high-level) needs to the services, devices, and connections

Dynamism

Making applications work with different services and devices under different connection environments

Memorizing and reusing useful applications for certain situations and environments

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

31

Page 32: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

User-centric Computing Paradigms

Task-driven Computing [Zhenyu Wang & David Garlan]

“Users can interact with the system in terms of high-level tasks instead of individual services or applications”

Activity-based Computing [www.activitybasedcomputing.com]

Provide activity-centered collection of applications, services, and data

Activity adaptation to the available resources on heterogeneous computing devices

Goal-driven Computing [Kangkang Zhang, Qingzhong Li, Qi Sui]

Enable users to achieve their high-level task goals

Improve the flexibility of service cooperation and composition

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

32

Page 33: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Layers

Composition Layer

• Task-driven service selection and composition

• Dynamic service reconfiguration and optimization

Distributed Service Repositories

Service Mash-ups

Client-application Repositories

Service Layer

• Distributed context and service information management

• Seamless service handover

• Diachronic service management

Task Layer

• Task authoring & feedback

• Dynamic download and installation of client applications

• Social-network-based group interactions

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

33

Page 34: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

End-user Mashups (1/2)

Mashup reuse and versioning

Mashup testing and dependability

Visual composition modeling

End-user programming paradigms

Spring 2012

Yahoo! Pipes

WST 500 Copyright (c) In-Young Ko, KAIST

34

Page 35: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

End-user Mashups (2/2)

Spring 2012

Lighting Service

Display Service

Room Climate

Control Service

Storyboard UI

WST 500 Copyright (c) In-Young Ko, KAIST

35

Page 36: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Dynamic Service Composition

Spring 2012

User Requirement

Changes

Exceptional

Situations

Environmental

Changes

Applications

Context Awareness

Support

Context-sensitive

Component Brokering

Dynamic Application

Composition and

Reconfiguration

WST 500 Copyright (c) In-Young Ko, KAIST

36

Page 37: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

Conclusion – Internet of Services

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

37

Inte

rne

t o

f S

erv

ice

s -

Te

ch

no

log

y M

ap

, L

ars

Kir

ch

ho

ff

http

://w

ww

.la

rs-k

irch

ho

ff.d

e/g

o/r

ese

arc

h/c

om

me

nts

/in

tern

et-

of-

se

rvic

es-t

echn

olo

gy-m

ap

/

Page 38: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Web Science and Technology

References

Gerti Kappel, Elke Michlmayr, Birgit Pröll, Siegfried Reich, Werner Retschitzegge, Web Engineering - Old wine in new bottles?, International Conference on Web Engineering (ICWE), Munich 2004, LNCS 3240, pp. 6-12.

Wieland Schwinger, Koch Nora, Modeling Web Applications, In Gerti Kappel (eds.), Web Engineering – The Discipline of Systematic Development of Web Applications, John Wiley & Sons, 2006.

M. Matera, F. Rizzo, G. Toffetti Carughi. Web Usability: Principles and Evaluation Methods. In E. Mendes, N. Mosley (eds.), Web Engineering. Springer Verlag, ISBN: 3-540-28196-7, 2006.

Michael N. Huhns, Munindar P. Singh, Service-Oriented Computing: Key Concepts and Principles, IEEE Internet Computing, January/February 2005.

Daniel, F.; Matera, M.; Weiss, M.; , Next in Mashup Development: User-Created Apps on the Web, IT Professional, vol.13, no.5, pp.22-29, Sept.-Oct. 2011.

Margaret Burnett, Curtis Cook, Gregg Rothermel, End-User Software Engineering, Communications of the ACM, Vol. 47, No. 9, pp. 53-58, September 2004.

Spring 2012

38

WST 500 Copyright (c) In-Young Ko, KAIST

Page 39: WST500: Introduction to Web Science and Technologyislab.kaist.ac.kr/Lecture/wst500_2012_Spring/pdf/wst500_ko.pdf · WST500: Introduction to Web Science and Technology Dept. of Computer

Questions?

Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST

39