33
www.monash.edu.au IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Metadata and meaning (the semantic web) (h) Interactivity

IMS5401 Web-based Systems Development

  • Upload
    wren

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

IMS5401 Web-based Systems Development. Topic 2: Elements of the Web (g) Metadata and meaning (the semantic web) (h) Interactivity. Agenda. Topic 2 (g): The Semantic web: Rationale Key elements of the semantic web Implications for system developers Topic 2 (h) Web interactivity - PowerPoint PPT Presentation

Citation preview

Page 1: IMS5401 Web-based Systems Development

www.monash.edu.au

IMS5401Web-based Systems Development

Topic 2: Elements of the Web(g) Metadata and meaning (the semantic web) (h) Interactivity

Page 2: IMS5401 Web-based Systems Development

www.monash.edu.au2

Agenda

1. Topic 2 (g): The Semantic web: Rationale2. Key elements of the semantic web3. Implications for system developers4. Topic 2 (h) Web interactivity5. Types of web interactivity6. Implications for web developers

Page 3: IMS5401 Web-based Systems Development

www.monash.edu.au3

Elements of the Web

THE WEB

Connecting computers

Digital representationof documents

Display and organisation of

documents

Linkingdocuments

Page 4: IMS5401 Web-based Systems Development

www.monash.edu.au4

1. Topic 2(g): The Semantic Web: Rationale

• The imprecision/variability of language• The importance of context in human

communication and information• The inadequacy of computers in dealing with

human communication• Topic-based searches in search engines• Attempted solutions and their failings

– Metadata– “Smart (er)” search software

• Semantics = the study of meaning; hence the semantic web

Page 5: IMS5401 Web-based Systems Development

www.monash.edu.au5

Including semantics in the web

• Existing web elements: lots of information content, but little semantic content (HTML)

• Therefore the user must interpret context and meaning to identify relevant pages; (problems for computers)

• Want to include the meaning of information as well as the information

• Computer-based searches of the web must be able to match the meaning of the query with the meaning of the web information

Page 6: IMS5401 Web-based Systems Development

www.monash.edu.au6

Changing the web

• Should we change the web or build a second version?

• Existing web works and has too much existing content to be re-built

• Therefore, continue to use existing web as the method for storing and accessing documents

• Existing web is poorly-designed for precise searching and data-centred transactions

• Therefore, build semantic web separately from it• (Can this approach work?)

Page 7: IMS5401 Web-based Systems Development

www.monash.edu.au7

The web as a database

Databases• Limited/defined scope• Controlled• Structured• Precisely-defined data• Structured queries (SQL)

The web• Unlimited• Uncontrolled• Unstructured• Poorly-defined

(undefined?) data• Unstructured queries

(Google, etc)

Page 8: IMS5401 Web-based Systems Development

www.monash.edu.au8

2. Key elements of the semantic web

• The semantic web concept has many theoretical elements. Key ones include:– Metadata, HTML and XML– XML and XML Schema– Resource Description Framework (RDF) and RDF

Schema– Ontologies and OWL– Intelligent agents and computerised searches– Digital signatures

• Level of theoretical and practical development of these elements is very variable

Page 9: IMS5401 Web-based Systems Development

www.monash.edu.au9

Metadata, HTML and XML

• Remember the limitations of HTML for storing metadata?

• XML (eXtensible Mark-up Language) gives improved mark-up capabilities to enable data in documents to be tagged to incorporate meaning

• XML enables all page elements to be tagged• XML enables web page creators to define

their own tags to define page elements which don’t fit ‘normal’ tags

Page 10: IMS5401 Web-based Systems Development

www.monash.edu.au10

XML and XML Schema

• XML tags to define meaning are not enough for true database functionality; need uniformity in document structures

• XML Schema is a language for defining standard structures to XML documents

• Originally implemented in XML (copied from SGML) with document type definitions (DTDs)

• DTDs are generally too limited; hence other schema languages like XML Schema

• Document is associated with a schema and can be checked for validity

Page 11: IMS5401 Web-based Systems Development

www.monash.edu.au11

RDF and RDF Schema

• RDF is a data modelling language used to identify specific types of objects and relationships between them in a form which can be represented in an XML document

• RDF uses Uniform Resource Indicators (URIs) to identify objects and relationships between them – eg <Martin> <created> <slides> can be represented

as a set of URIs• RDF Schema defines object structures which

enable checking that a given RDF uses valid objects and relationships

Page 12: IMS5401 Web-based Systems Development

www.monash.edu.au12

Ontologies and OWL

• An ontology defines what things (objects) can exist in the world

• Create ontologies which provide standard terminologies for objects and their properties

• Ontologies can be cross-referenced from XML documents to relate objects being described in different documents

• OWL: Web Ontology Language for creating an ontology

• Dublin Core = one example of an ontology

Page 13: IMS5401 Web-based Systems Development

www.monash.edu.au13

“Intelligent” agents and computerised searches

• Semantic web envisages a high level of automated (machine-based) searches for objects

• Agents: software which can do the searching, checking and retrieval of data objects on the semantic web

• Agents can be user-driven (function on command) or built-in to physical devices (function automatically when triggered by some signal)

Page 14: IMS5401 Web-based Systems Development

www.monash.edu.au14

Digital signatures

• How do we (or our agents) decide on the reliability of the information we get from the semantic web (ie who provided it)?

• Digital signatures can be attached to documents to verify who created them

• Agents can check the digital signature of the information they get and verify with the user that this is a satisfactory source

• Digital signatures will be encrypted to protect from fraud

Page 15: IMS5401 Web-based Systems Development

www.monash.edu.au15

Others

• Lots and lots of variants of these plus different forms of implementation of them

• Heavy overlap with the artificial intelligence community. Replace search for intelligent machines with search for means for embedding meaning into documents, so they can be accessed ‘intelligently’ by dumb machines

• See tute material for a bewildering variety of initiatives/ideas/products

Page 16: IMS5401 Web-based Systems Development

www.monash.edu.au16

3. Implications for Systems Developers

• Attempts to structure and classify knowledge have gone on for thousands of years. Level of success? … depends on your point of view!

• Developers of web metadata and the semantic web are trying to repeat this work on an even larger range of media and information types

• The anarchic nature of the web means that the standards people can work only by persuasion

• Who will be willing to conform, and for what purposes?

Page 17: IMS5401 Web-based Systems Development

www.monash.edu.au17

Using the web

• Can the web be made to function as:– A network of documents?– A network of indexed and classified

documents?– A network of linked data-containing objects?– A network of “intelligent” data-containing

objects structured to work like a giant database?

• How achievable are each of these possibilities?

• What does this mean for web usage and applications?

• What does it mean for web development?

Page 18: IMS5401 Web-based Systems Development

www.monash.edu.au18

4. Topic 2 (h): Web Interactivity

• We are used to computer systems which are designed to be interactive:– prompt us with options about what is possible– accept and store input from us as users– provide output as required

• Eg automatic teller machine, reservation system, etc

• System has a programmed interface which changes in response to our input, and which allows us to enter queries or data for storage

• How well can the web support interactivity?

Page 19: IMS5401 Web-based Systems Development

www.monash.edu.au19

Interactivity in a ‘normal’ system

Database

User Interface

(prompts userfor input -query or new data

for database;Displays output)

User (makes query

or provides inputto database)

New data/ query details

Response to query

Input

Output

Page 20: IMS5401 Web-based Systems Development

www.monash.edu.au20

Programming and interactivity in ‘normal’ systems

• User(client) creates connection to host machine (server) on which programme is running

• Connection remains ‘live’ while user session is running

• User is prompted by programme and provides input which the programme accepts and responds to

• Programmimg languages enable an extremely wide range of types of user input and machine response

Page 21: IMS5401 Web-based Systems Development

www.monash.edu.au21

• Ideal model of dynamic web site content and user input:

Web Page DatabaseUser

Prompt for input

User input

Up-dated database content to display

User input to up-date database

5. Web interactivity

Page 22: IMS5401 Web-based Systems Development

www.monash.edu.au22

Actual interactivity in web-based systems

• The web has several features in its design which limit its ability to handle interactivity– It is designed around pages, not data– It is based on static, not dynamic page content– HTTP establishes no on-going connection between

the client machine and the server machine. Therefore, requests for information by the client and responses and information from the server are passed separately and independently from one another

• Interactivity is much harder to achieve - restricted and more messy

Page 23: IMS5401 Web-based Systems Development

www.monash.edu.au23

Web Interactivity: Two types

• Client-side interactivity: designed to change the appearance or behaviour of the web page in response to the user’s input (ie left-hand side of earlier diagram)

• Server-side interactivity: designed to enable a user’s input to be taken by web page and sent back to the server web site to be used as input to another program running on the server (ie right hand side of earlier diagram)

• In both cases the interaction is done via scripts (a form of programming language)

Page 24: IMS5401 Web-based Systems Development

www.monash.edu.au24

5(a) Web interactivity: Client-side

• Used to modify the way in which a page is displayed to the user

• The script which does the work is embedded in the web page HTML

• A variety of HTML tags allow you to use scripts in various ways to get different effects

• Interface features commonly created using scripts include mouse roll-overs, animation, creation of dialogue boxes to accept user input and modify the way a page or its elements is displayed, etc

Page 25: IMS5401 Web-based Systems Development

www.monash.edu.au25

Scripting languages for client-side interactivity

• The original was Java Script (note, nothing to do with the Java programming language!)

• ECMAscript is a W3C ‘standard’ for scripting, based around Java script

• The Java programming language can be used to create applets, which are small programs embedded in the web page HTML - same effect as Java Script

• Java Script can be run by the browser; Java applets need the Java plug-in to run them

Page 26: IMS5401 Web-based Systems Development

www.monash.edu.au26

More fun with the marketplace

• Netscape developed the first version of Java Script for the Netscape browser

• Microsoft followed a couple of years later with their own version, called J Script for the IE browser

• The two languages are similar, but not identical to each other NOR to the W3C ‘standard’ ECMAscript!

• More problems for web page developers who want their page to work the same in any browser!

Page 27: IMS5401 Web-based Systems Development

www.monash.edu.au27

5(b) Web interactivity: Server-side

• Used to enable a user to enter information on a web page and send it as input to a program running on the server (eg a database program)

• Any web system, must use a server-side script to get the user input to the main program and send a reply. For example: – a system which stores transaction details

(order, payment, etc) in a database on a server;– any web interface set up to enable a user to

interact with a system (eg a web-based user query of the Monash library catalogue)

Page 28: IMS5401 Web-based Systems Development

www.monash.edu.au28

Server-side scripts and CGI (Common Gateway Interface)

• CGI is a protocol for enabling exchange of data between a web page and a program running on the server

• CGI scripts run on the server; activated by user input to a web page form

• A CGI script can provide web form input data to another program running on the server (eg a database)

• It can also accept data from a program on the server and provide it to the web page

• Write CGI scripts in many scripting languages - Perl, etc

Page 29: IMS5401 Web-based Systems Development

www.monash.edu.au29

Cookies: A way of achieving server-side interactivity

• A cookie is a text file which a server sends you with the web page you requested

• The cookie is stored by your browser; sometimes temporarily and sometimes permanently (or until you remove it)

• The cookie stores information about the user computer or user input to the web page

• When the browser asks for another page from that server, information in the cookie is sent to the server along with the request for the page

Page 30: IMS5401 Web-based Systems Development

www.monash.edu.au30

Using cookies: A simple example

• When you buy something from Amazon.com:– Amazon puts a cookie on your machine to identify

you– Amazon records your details, your purchase and

your cookie details in its sales database• Next time you ask your browser to get you

the Amazon web site:– the browser sends your customer number from the

cookie back to a CGI script on the Amazon server– The CGI script checks you on the customer

database and uses it to personalise the page it sends you

Page 31: IMS5401 Web-based Systems Development

www.monash.edu.au31

6. Implications for web developers (1)

• Building either client-side or server-side interactivity needed programming skills to write the scripts

• Programming languages are not well-structured to deal with web interactivity needs

• A range of scripting languages have been developed and new scripting capabilities built into HTML, new plug-ins for browsers, etc

• Now we have many different options for writing scripts - Microsoft’s Active Server Pages, PHP, Perl, Python, etc etc …. Very confusing!

Page 32: IMS5401 Web-based Systems Development

www.monash.edu.au32

Implications for web developers (2)

• As with writing HTML, products have also been developed to generate scripts for database interactivity, so you don’t have to program

• However, these products apparently generate code like HTML generators generate HTML - yes, it’s there, but does it work? … and with what browsers?

• Therefore, texts still recommend you write it yourself, or at least patch it yourself

Page 33: IMS5401 Web-based Systems Development

www.monash.edu.au33

Summary

• The web is not well designed for dealing with interactivity

• It’s messy, inefficient and limited in flexibility (compared to ‘normal’ system connectivity and interactivity)

• It requires significant technical skills (programming, etc) which are not easily learned (unlike HTML, for example)

• Products which make it easier are coming, but they still fall well short of making it easy

• Implications for web systems?