Lecture slides - Information Management and Systems

snufflevoicelessInternet και Εφαρμογές Web

22 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

71 εμφανίσεις

www.monash.edu.au

IMS5401

Web
-
based Systems Development


Topic 2:
Elements of the Web

(g)
Metadata and meaning (the semantic web)


(h)
Interactivity




www.monash.edu.au

2

Agenda

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

2.
Key elements of the semantic web

3.
Implications for system developers

4.
Topic 2 (h) Web interactivity

5.
Types of web interactivity

6.
Implications for web developers

www.monash.edu.au

3

Elements of the Web

THE WEB

Connecting

computers

Digital

representation

of documents

Display and

organisation of


documents

Linking

documents

www.monash.edu.au

4

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

www.monash.edu.au

5

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

www.monash.edu.au

6

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?)

www.monash.edu.au

7

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)


www.monash.edu.au

8

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

www.monash.edu.au

9

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

www.monash.edu.au

10

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

www.monash.edu.au

11

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


www.monash.edu.au

12

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

www.monash.edu.au

13

“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)

www.monash.edu.au

14

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

www.monash.edu.au

15

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

www.monash.edu.au

16

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?

www.monash.edu.au

17

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?

www.monash.edu.au

18

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?

www.monash.edu.au

19

Interactivity in a ‘normal’ system


Database

User

Interface

(prompts user

for input
-

query or

new data

for database;

Displays


output)

User


(makes query

or


provides input

to database)

New data/
query details

Response to
query

Input

Output

www.monash.edu.au

20

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

www.monash.edu.au

21


Ideal model of dynamic web site content and
user input:


Web Page

Database

User

Prompt for


input

User


input

Up
-
dated database

content to display

User input to

up
-
date database

5. Web interactivity

www.monash.edu.au

22

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

www.monash.edu.au

23

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)

www.monash.edu.au

24

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

www.monash.edu.au

25

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


www.monash.edu.au

26

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!

www.monash.edu.au

27

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)


www.monash.edu.au

28

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

www.monash.edu.au

29

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

www.monash.edu.au

30

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

www.monash.edu.au

31

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!

www.monash.edu.au

32

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

www.monash.edu.au

33

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?