ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

47
ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja

Transcript of ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Page 1: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ICT 512 - Advanced Web Technologies

Lecture 1: Introduction

Shakeel A. Khoja

Page 2: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Course outline 1/2

* Current Web data standards o XML, XSL, XLink, DOM, SMIL o Processing XML documents o Deploying XML data

* Current Web metadata standards o RDF, RDF-SCHEMA o Ontologies, Dublin Core o Metadata processing o Surfing the semantic web

Page 3: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Course outline 2/2

* Hypertext Linking o Open Hypermedia philosophy o Hypertext history o The Missing Link: problems and solutions * Web Site Construction o Hypermedia Engineering o Hypermedia Development Methods o Hypermedia Development Techniques o Web Site Maintenance o Case study * Web Searching o Information retrieval history o Search engine algorithms o Case studies: Harvest, Google.

Page 4: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Books and references

Text Book: Munindar P. Singh and Michael N. Huhns, Service Oriented Computing Semantics, Processes, Agents, 2005, John Wiley.

Reference Books: Leon Shklar and Rich Rosen, Web Application

Architecture, 2nd Edition, JWI. Rosenfeld L, Information Architecture for the World

Wide Web, 2nd Edition, O'Reilly 2002 Deitel, Deitel and Goldberg, Internet and World

Wide Web - How To Program, 3rd Edition, Prentice Hall 2004

Gerti Kappel, Birgit Proll, Siegfried Reich, Werner Retschitzegger, Web Engineering, JWI 2006

Various WWW sources

Page 5: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Assessment Strategy

Assessment Method Contribution to the final mark

Mid Term Examinations: 30% (15 + 15)

Final Examination: 40%

Quizzes: 15%

Assignment / Mini Project: 15%

Page 6: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Enter 21st Century!

Page 7: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Our Information Landscape

Image from: http://www.socialmedia.biz/images/masssocialmedia.png

Page 8: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Future of Information

Image from: http://novaspivack.typepad.com/nova_spivacks_weblog/metaweb_graph.JPG

Page 9: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

What is 21st Century Business?

Buyers and sellers who are:

Effective Learners Effective Collaborators Effective Creators

Image from: http://www.uniquecare.org/Collaborate%20250.jpg

What do you think?

Page 10: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

21st Century Learners: Lifelong learners Can learn how to

learn Independent learners Metacognitive Intrinsically motivated Focus on self

improvement

Image from: http://flickr.com/photos/akaicker/38149570/

Page 11: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

21st Century Collaborators: Are effective communicators. Are socially and culturally aware. Take responsibility for their role. Are flexible.

Image from: http://flickr.com/photos/wainwright/351684037/.

Page 12: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

21st Century Collaborators: Are able to delegate or

share responsibility when necessary.

Are equally comfortable as either leaders or participants.

Appreciate and internalize the essential interdependence of being part of society.

Image from: http://flickr.com/photos/pedrosimoes7/1301014184/

Page 13: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

21st Century Creators: Effectively analyze and

synthesize. Originality, innovative

and creative contributors to society.

“think outside the box”. Systems thinkers. Goal oriented and

productive. Demonstrate ethical

responsibility.

Image from: http://flickr.com/photos/jimfrazier/525695141/

Page 14: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Why Go Global?

“The World is Flat” We are no longer

bound by four walls of classroom

Authentic development experiences

Image from: http://www.csupomona.edu/~sfenglehart/%20Hst%20Images%20/Berlin%20Wall.JPEG

Page 15: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Why Go Global?

Learning (and life) is networked, digital, connected.

Create an authentic classroom environment.

Image from: http://www.psychologicalscience.org/observer/2006/0306/images/old_classroom.jpg

Page 16: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Why Go Global?

Power of networks

Screen Shot from: Chrissy Hellyer @ Teaching Sagittarian: http://teachingsagittarian.edublogs.org/

Page 17: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

New Interfaces?

Tap into the energy that people are bringing through new interfaces.

Image from: http://flickr.com/photos/bigduke6/90086641/

Page 18: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Technology Toolbox

How to pick the right tools for the job

Image from: http://flickr.com/photos/mamabarns/747588843/

Page 19: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Technology Toolbox

Page 20: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBox: Blogs

When to use a blog: individual reflection seeking feedback

Grade 5 Student Blog: http://heejae.learnerblogs.org/

Page 21: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBox: Blogs

Features of a blog: Entries posted in consecutive order,

newest on top Comments from readers extend

classroom learning Personal journal

Grade 5 Student Blog: http://heejae.learnerblogs.org/

Page 22: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBoox: Wikis

When to use a wiki collaborative knowledge building

Grade 6 Student Wiki: http://ancientafricah.wikispaces.com

Page 23: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBox: Social Networking

When to use Social Networks

Connecting students and teachers

Grade 4 Flat Classroom Project: http://connectedclassroom.ning.com/

Page 24: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Collaborative Multimedia

creative representation of ideas

Sample VoiceThread: http://voicethread.com/#home.b6073.i45532

Page 25: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBox: VoIP

When to use VoIP Communicating with

personal learning network

Connecting on a personal level

Page 26: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

ToolBox: VoIP

Features of VOIP Audio/video e-mail Audio/video chat Recording

discussions

7th Grade YackPack

Page 27: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Ultimate Goal

Learning anytime, anywhere.

Develop a global Personal Learning Network

Communicate, Connect and Collaborate

Image from: http://prblog.typepad.com/strategic_public_relation/images/2007/06/22/simple_social_network.png

Page 28: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.
Page 29: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Chapter 1:Computing with ServicesService-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 30: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Highlights of this Chapter

Visions for the Web Open Environments Services Introduced The Evolving Web Standards Bodies

Page 31: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Web As It Is

Not easy to program Designed for people to get information

Focuses on visual display (as in HTML) Lacks support for meaning

Supports low-level interactions HTTP is stateless Processing is client-server Creates avoidable dependencies among

what should be independent components

Page 32: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

The Web As It Is Becoming

Enable interactions autonomous, heterogeneous parties (information providers and users) Go beyond visual display to capture meaning

Semantic Web

Support standardized interfaces Web services

Support complex activities processes

Support rich interactions among autonomous parties agents

Page 33: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Historical View of Services over the Web

Generation Scope Technology Example

First All Browser Any HTML page

Second Programmatic Screen scraper

Systematicallygenerated HTMLcontent

Third Standardized Web services Formally described service

Fourth Semantic Semantic Web services

Semantically described service

Page 34: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Viewpoints on Services

Traditionally, a capability that is provided and exploited, often but not always remotely Networking: bundle of bandwidth-type properties Telecom: features (caller ID, forwarding) Systems: operational functions (billing, storage);

parceled up into operation-support systems Web or Grid: Web pages or Grid resources Wireless: Wireless access; messaging

By contrast, we treat services as resembling real-life services or business partners

Page 35: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

What is a Web Service?

A piece of business logic accessible via the Internet using open standards (Microsoft)

Encapsulated, loosely coupled, contracted software functions, offered via standard protocols (DestiCorp)

A set of interfaces providing a standard means of interoperating between different software applications, running on a variety of platforms and frameworks (W3C)

Our working definition: A service is functionality that can be engaged

Page 36: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Scope

Includes wherever Internet and Web technologies are employed

Internet Intranet: network restricted within an

enterprise Extranet: private network restricted to

selected enterprises Virtual Private Network (VPN): a way to

realize an intranet or extranet over the Internet

Page 37: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Service Composition

Vision Specify and provide services independently,

hiding implementations Use services in combination in novel ways Going beyond the idea of a passive object

Obviously desirable and challenging But is this what we want?

Can or should implementations be hidden? What about organizational visibility? How to assess risk? How to handle

exceptions?

Page 38: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Applications of Composable Services

Portals Legacy system interoperation E-commerce Virtual enterprises Grid computing

Page 39: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Autonomy

Independence of business partners (users and organizations)

Political reasons Ownership of resources Control, especially of access privileges Payments

Technical reasons Opacity of systems with respect to key

features, e.g., precommit in distributed databases

Page 40: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Heterogeneity

Independence of component designers and system architects

Political reasons Ownership of resources

Technical reasons Conceptual problems in integration Fragility of integration Difficult to guarantee behavior of

integrated systems

Page 41: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Dynamism

Independence of system administrators

Needed because the parties change Architecture and implementation Behavior Interactions

Make configurations dynamic to improve service quality and maintain flexibility

Page 42: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Locality: How to Handle the Above

Reduce sharing of data and metadata to reduce inconsistencies and anomalies

Reduce hard-coding, which reflects out-of-band agreements among programmers Bind dynamically to components Use standardized formats to express data Express important knowledge as metadata Use standardized languages to express

metadata Relax consistency constraints

Obtain remote knowledge only when needed Correct rather than prevent violations of

constraints: often feasible

Page 43: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

System Architectures: Centralized

Mainframe

Terminal3270

Terminal

Terminal

Terminal

Terminal

TerminalTerminal

Terminal

Terminal

Terminal

Terminal

Page 44: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

System Architectures: Client-Server

E-MailServer

WebServer

DatabaseServer

PCClient

PCClient PC

Client

WorkstationClient

Master-Slave

Page 45: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

System Architectures: Peer-to-Peer

E-MailSystem

WebSystem

DatabaseSystem

Application

ApplicationApplication

Application

Page 46: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

System Architectures: Cooperative

E-MailSystem

WebSystem

DatabaseSystem

Application

ApplicationApplication

Application

(Mediators, Proxies, Aides, Wrappers)

Agent

Agent

Agent

Agent

Agent

Agent

Agent

Agent

Page 47: ICT 512 - Advanced Web Technologies Lecture 1: Introduction Shakeel A. Khoja.

Chapter 1 Summary

Evolving perspectives on the Web Evolutions in IT architectures Open environments challenge some

fundamental assumptions of computer science Autonomy Heterogeneity Dynamism

Services, if understood correctly, can support IT in open environments