Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
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
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
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
Web Science and Technology
Web Document vs. Web-based SW
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
4
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
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
Characteristics of Web Applications
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
7
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
Web Science and Technology
Categories of Web Applications
Spring 2012
[Kap06]
WST 500 Copyright (c) In-Young Ko, KAIST
9
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
Web Science and Technology
Content, Hypertext and Presentation
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
11
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
Web Science and Technology
Understanding Users’ Needs
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
13
Web Science and Technology
Supporting Various User Types and Environments
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
14
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
Web Science and Technology
Multi-disciplinary Development
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
16
Web Science and Technology
Community Development
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
17
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
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
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
Web Software Engineering Issues
Spring 2012
21
WST 500 Copyright (c) In-Young Ko, KAIST
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
/
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
Questions?
Spring 2012 WST 500 Copyright (c) In-Young Ko, KAIST
39