W3Objects Overview Framework to aid in the construction of - - PDF document

w3objects overview
SMART_READER_LITE
LIVE PREVIEW

W3Objects Overview Framework to aid in the construction of - - PDF document

6th International World-Wide Web Conference Santa Clara, CA, USA, April 5-11, 1997 Object-oriented Web Servers and Data Modelling Workshop $ 'LVWULEXWHG 2EMHFW2ULHQWHG :HE 6HUYHU David Ingham Research Associate, Arjuna Project Department of


slide-1
SLIDE 1

1

1

6th International World-Wide Web Conference Santa Clara, CA, USA, April 5-11, 1997 Object-oriented Web Servers and Data Modelling Workshop

David Ingham Research Associate, Arjuna Project Department of Computing Science, Newcastle University, U.K. Email:

dave.ingham@ncl.ac.uk

URL:

http://www.cs.ncl.ac.uk/~dave.ingham/

$ 'LVWULEXWHG 2EMHFW2ULHQWHG :HE 6HUYHU

2

W3Objects Overview

  • Framework to aid in the construction of Web-based applications

– key goal is to provide an extensible Web architecture

  • W3Objects are encapsulated entities

– interface inheritance provides polymorphism – code reuse achieved using behavioural inheritance

  • W3Objects are organised and named within contexts
  • Referencing mechanisms ensure referential integrity and

migration transparency (See WWW5 paper)

  • Inter-object communication via remote procedure call (RPC)
slide-2
SLIDE 2

2

3

W3Objects Site Architecture

‘extensible’ Web server W3Objects gateway module nameserver

HTTP

Web browser W3Objects (services) W3OServers host boundary naming contexts

RPC 4

Web Access to W3Objects

HTTP

HTTP Request GET w3o/banking/ balance?acc=1234 HTTP/1.0

balance banking

HTTPReq headersIn, dataIn status, headersOut, body

R R

HTTP Response HTTP 200 OK <headers> <body>

R R

RPC RPC

Web server Nameserver W3OServer

slide-3
SLIDE 3

3

5

Site Management Features

  • Scalability through transparent distribution

– arbitrary allocation of services to machines, transparent to users

  • Transparent service migration

– services may be migrated between processes and hosts – referential integrity ensured

  • Introduction and removal of services

– new services added by registering them in the nameserver

  • Support for stateful services

– W3Objects persist across requests – session-state can be held in memory or optionally on disc – persistence support provided

  • Management operations accessible via API or Web interfaces

6

Comparison with Alternative Techniques

  • Common Gateway Interface

– highly inefficient – centralised services – poor support for session-based services

  • Server APIs

– performance benefits over CGI – poor isolation of faults – centralised services – poor support for session-based services

slide-4
SLIDE 4

4

7

W3Objects Referencing Model

  • Aims

– to provide referential integrity – to provide migration transparency – to provide flexible mechanisms to support differing object requirements

  • Integration of referencing techniques

– all W3Objects support forward referencing with chain short-cutting – cheapest guarantee of referential integrity – per reference customisation for fault-tolerance or performance

  • Implementation built using Shadows
  • Deployed within W3Objects servers

– guarantees integrity of links between W3Objects

8

Object Migration & Short-cutting

Step 1 Step 3 Step 2 1 2 1 2 1 2 O O O O’ O’’ O’

slide-5
SLIDE 5

5

9

Obtaining References

Step 1 Step 3 Step 2 Space A Space B Space C O O O

10

Name-servers

maintaining bindings between names and objects

name-server 1

O

“A” name-server 2 “B”

1 2

slide-6
SLIDE 6

6

11

Name-servers & Call-back

providing alternative paths to objects

Step 1 Step 3 Step 2

12

Referencing Model Summary

  • Forward referencing

– default mechanisms for all W3Objects – achieves referential integrity – provides migration transparency – chain-shortcutting reduces points of failure

  • Name-servers

– used to provide name to object bindings – used to provide alternative paths to an object

  • Callback

– used in conjunction with name-servers to eliminate common paths – used with references to minimise invocation overhead

slide-7
SLIDE 7

7

13

Manageable W3Object Services

  • Strong separation of presentation logic from functional aspects
  • A service is logically represented as a single object
  • Internally a service object contains view objects

– a view either represent a complete page or a page component – views are either static or dynamic; private or shared

  • Presented pages are created by assembling view objects
  • Manageability is obtained through inheritance

– develop application without consideration for Web presentation – develop Web interface using view components – dynamic views glue the Web interface to the functional interface

14

Views

W3Object services dynamic component navigation bar component shared view manager

These are the instructio ns describ in g how these services being used. These are th e instructions describing ho w th ese serv ices

view manager

These are the instructio ns describing how these services being
  • used. Th ese are the instructions
describing how these services being c These are the instructio ns describ in g how these services being used. These are th e instructions describing ho w th ese serv ices

view manager

  • bject

state

  • bject

methods

These are the instructio ns describ in g how these services being used. These are th e instructions describing ho w th ese serv ices

client presentation

  • bject

state

  • bject

methods

These are the instructions describing how these services being used. These are the instructions describing how these services These are the instructions describing how these services being used. These are the instructions describing how these services These are the instructions describing how these services being used. These are the instructions describing how these services These are the instructions describing how these services being used. These are the instructions describing how these services

S1 S2 V2 V1

slide-8
SLIDE 8

8

15

Service Management Features

  • Web interface can be configured at run-time without outages
  • Isolation of commonality

– shared views are updated once; changes automatically propagated

  • Encapsulation

– entire service can be managed as a single object

  • Service evolution

– views can be created, modified and removed – views can be migrated, e.g., created privately then shared

  • Accessible management interface

– all management operations can be accessed via Web interfaces

16

Manageable Object Internals

httpGet() httpPost() migrate() HTTP Manage View Object

  • bject

state

  • bject

specific create() remove() view manager

A C D

dispatcher request response

B

slide-9
SLIDE 9

9

17

Scripted Views

  • Implemented using W3OScript

– server-side scripting language based on tcl – safe tcl interpreter augmented with W3Object-specific commands – implemented using Embedded Tk (ET)

  • Can be used to define presentation logic

– tailored presentations

  • Provides glue between Web interface and functional interface

– user classes can define new W3OScript operations

  • W3OScript resources can be configured using Web interfaces

18

Example: Supporting Metadata

slide-10
SLIDE 10

10

19

Alternative Approaches

  • Style sheets can provide consistent look and feel

– use is encouraged – does not help maintaining consistency of replicated data

  • Server-side includes (SSI)

– server-parsed templates may include CGI calls – improves flexibility – poor performance

  • W3Objects

– pre-parsing where possible to improve performance – overheads of RPC can be alleviated with caching

20

Data Modelling: Object Wrapping

  • Web access to legacy systems requires gateways

– protocol translations – interface translation

  • Object-oriented model is suitable for legacy system gateways

– strong separation of interface & implementation – object wrapping allows legacy resources to be treated as native

  • Wrapping using W3Objects provides Web gateway
  • Distributed objects offer increased flexibility
  • Scripted presentation logic simplifies management
slide-11
SLIDE 11

11

21

Summary

  • W3Objects provides a Web-to-object gateway
  • Distributed object technology provides a scaleable platform for

Web service provision

  • Smart referencing mechanisms support referential integrity and

migration transparency

  • Support for building Web services

– persistence, concurrency control, etc. – support for session-based applications

  • Manageable services

– strong separation of presentation and functional logic – scripted resources

22 David Ingham Research Associate, Arjuna Project Department of Computing Science, Newcastle University, U.K. Email:

dave.ingham@ncl.ac.uk

URL:

http://www.cs.ncl.ac.uk/~dave.ingham/

KWWSDUMXQDQFODFXNZREMHFWV

7KLV ZRUN KDV EHHQ SDUWLDOO\ IXQGHG E\