• No results found

Web Service Architecture for e Learning

N/A
N/A
Protected

Academic year: 2020

Share "Web Service Architecture for e Learning"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

Ph.D. student of EECS department, Syracuse University

Research work is performed at Community Grids Lab, Indiana University

[email protected], [email protected]

501 Morton N. St, Suite 222, Bloomington IN 47404

Community Grids Lab, Indiana University

by Xiaohong Qiu

Web Service Architecture for e-Learning

(2)

Background

l

CGL research

– general area is technology support for

Synchronous and Asynchronous Resource Sharing

n e-learning

n e-science

l

Grids

n manage and share (typically asynchronously) resources (people,

computers, data, applications etc.) or distributed services in a centralized fashion.

l

Web Services

n Define loosely coupled software components across internet

interacting with messages.

l

Peer-to-peer Grids

n link services, resources and clients in dynamic decentralized fashion

l The system consists of a sea of message-based Services (e.g. shared SVG

as a Web Service)

l Services linked by publish-subscribe messaging infrastructure (e.g.

(3)

Current projects of CGL

l

NSF Middleware Initiative (NMI)

n CGL, Extreme Lab of IU, University of Texas, University of

Chicago, Argon National Lab, a suite of grid services including portlets interface for middleware environment

l

NaradaBrokering

n A open source messaging infrastructure/middleware for

collaboration, peer-to-peer, and Grid applications

l

collaboration environments

n GlobalMMCS A open source multimedia collaboration

system (multiple video conferencing technology that

supports Java A/V, H323, real player clients; XGSP session control)

(4)

Research on a generic model of building applications

l Applications: distributed, Web/Internet, desktop l motivations

n CPU speed (Moore’s law) and network bandwidth (Gilder’s law)

continue to improve bring fundamental changes

n Internet and Web technologies have evolved into a global information

infrastructure for sharing of resources

n Applications getting increasingly sophisticated, e.g.

l Internet collaboration enabling virtual enterprises; l large-scale distributed computing)

n Requires new application architecture that is adaptable to fast

technology changes with properties l scalability

l Reusability l Interoperability l Reliability

(5)

Summarization of the situation

l The subsystem of Internet has evolved into stability

n TCP/IP network stack dominating the communication protocol domain; n IP forms the low-level sphere surrounding hardware network core

l Construction of distributed operating system over the Internet has not

completed and keeps adding new functionalities to the general purpose platform

n One current effort focuses on building of messaging infrastructure tailored for disparate

applications

l Evolution of application architectures

n client-server model

n Multi-tier (e.g. three-tier) model n Peer-to-peer

n A variety of distributed model (e.g. Java RMI, CORBA, COM/DCOM, J2EE, .NET) n Grids

n Web Services and SOA

l Web application deployment shows diverse directions but have common

features

n User interfaces

n Services for the sharing of information and resources (e.g. through unicast and multicast of group communication)

n In the most general sense, collaboration is the core problem and service of Web applications, although “collaboration” usually refers to system with real-time synchronous and compelling time constraints

l Next generation of Web client should enable pervasive accessibility

n Ubiquitous availability to clients fro heterogeneous platforms (e.g. Windows, Linux, Unix, and

PalmOS)

(6)

Physical network

Virtual distributed operating system Messaging infrastructure

Application

Network system in a layered stack

(7)

NaradaBrokering

One can bind SOAP to NaradaBrokering and allow use

of any of NaradaBrokering transpor

NaradaBrokering is placed in SOAP handler and controls

transport, security and reliable messaging using

WS-Security and WS-Reliable Messagin

For a stream, one first uses port 80 and conventional

(8)
(9)

Our approach

l

Building applications centered on messages

l

Separation of application architecture from

messaging infrastructure

l

Focus on exploration in design space and

study system composition and interaction.

n

Event models

and

Publish/Subscribe scheme

n

Message-based MVC Paradigm

for

distributed, Web, and desktop applications

l

MMVC and MVC

l

MMVC and Web Services

l

MMVC and collaboration

(10)

Related technologies

l

Batik SVG browser

(an open source project from

Apache that supports SVG 1.0)

n A presentation style application is representative and complex in

nature (we experiments with multiplayer-online game with high interactivity and compelling time constraints)

n Similar applications includes Microsoft PowerPoint, Adobe

Illustrator, Macromedia Flash

l

SVG

(W3C specifications for Scalable Vector Graphics)

n A language for describing 2D vector and mixed vector/raster

graphics in XML.

l

DOM

(W3C specifications for Document Object Model)

n Programmatic interfaces for access and manipulate structured

document object

(11)

Methodology

l Proposing an “explicit Message-based MVC” paradigm (MMVC) as

the general architecture of Web applications

l Demonstrating an approach of building “collaboration as a Web service” through monolithic SVG experiments.

n As an example, we present architecture for three types of collaboration

─ monolithic, thin client, and interactive client.

l Bridging the gap between desktop and Web application by leveraging the existing desktop application with a Web service interface through “MMVC in a publish/subscribe scheme”.

n As an experiment, we convert a desktop application into a distributed

system by modifying the architecture from method-based MVC into message-based MVC.

l Proposing Multiple Model Multiple View and Single Model Multiple View collaboration as the general architecture of “collaboration as a Web service” model.

l Identifying some of the key factors that influence the performance of message-based Web applications especially those with rich Web

(12)

What is message-based MVC?

l

Message-based Model-View-Controller (MMVC)

is a general approach of building applications

with a message-based paradigm

n emphasizes a universal modularized service model with

messaging linkage

n Converges desktop application, Web application, and

Internet collaboration

n MVC and Web Services are fundamental architecture from

desktop to Web applications, MMVC has general importance as a uniform architecture

n MMVC allows automatic collaboration, which simplifies the

(13)
(14)
(15)

Monolithic collaboration model

NaradaBrokeri ng

Identical programs receiving identical events

master

SVG browser

client

master master

SVG browser

client

other master

SVG browser

client

other master

SVG browser

(16)

SVG DOMModel as Web Service

NaradaBroker ing

master

SVG

client

masterView master

SVG

clientother

View

master

SVG

clientother

View

master

SVG

clientother

View

SMMV collaborative Web Service model

(17)

master

SVG

client

masterView master

SVG clientother View master SVG clientother View master SVG clientother View Brok er

MMMV collaborative Web Service model

Share input port

SVG DOMModel as Web Service

NaradaBrokering

SVG DOMModel

as Web Service SVG DOM

Model

as Web Service SVG DOM

Model

as Web Service

Brok

(18)

Model View Controller

a. MVC Model

Controller

View

Display

Model

Messages contain control information Decomposition of SVG Browser

b. Three-stage pipeline

High Level UI

Raw UI Display

Rendering as messages Events as

messages

Semantic

Events as

messages Rendering asmessages

Figure 1 Reformulation of SVG to message based MVC in a Web Service Model

Input port Output port

(19)

Method-based MVC vs. message-based MVC

B

Subscribe

to event class

A

Broker

Setup anevent

class(topic)

publish anevent

class Sendevent

message based

A register call back method B

invoke call back method with event

(20)
(21)

Shared SVG Browser on PDA

b. Decomposed WS optimized for thin clients

Rendering as messages Events as

messages

Messages contain control information Semantic

High Level UI R F I O

U F I O Web Service

Event (Message) Service

Raw UI Display Shared SVG Browser on PC

a.Non-decomposed collaborative SVG requiring minimal changes to the original source code

Messages contain control information

Event (Message) Service

R F I O

SVG Browser Semantic High Level UI

Raw UI Display

Collaborative Events and

Web Service messages

Internet Game

c. Decomposed WS optimized for performance

Messages contain control information Semantic

R F I O

U F I O

WebService

Event (Message) Service

High Level UI Raw UI Display

Input port Output port Events asmessages Rendering asmessages Input port Output port

Collaborative Events and

Web Service messages

Collaborative Events and

Web Service messages

(22)

Monolithic SVG Experiments

l

Collaborative SVG Browser

n

Teacher-Students scenario

n

Static Shared SVG contents

n

Dynamic Share SVG contents

l

Hyperlink

l

Interactivity and animation (JavaScript binding)

l

Collaborative SVG Chess game

n

Two players-multiple observers scenario

(23)

Collaborative SVG Chess Game

(24)

Figure 5 Collaborative SVG Event processing chart

Raw UI events

(e.g. Mouse and key events)

High Level UI events

(e.g. SVG/DOM events)

Semantic events

(e.g. Application events such as “capture” in chess

game)

Collaborative events

(e.g. Master Events which has context

information of collaboration and

information from previous stages)

(25)

Component A

(Event Source)

Component B

(Event Listener)

register for event notification

issue event occurrence

(26)

Java delegation event model

Event Source

register eventxlisteners

Invoke call back method with eventx

x

EventListener

1

x

EventListener 2

x

(27)

Topic-based Publish/subscribe model

Subscriber 1 Subscriber 2 Subscriber 3 Subscriber 4 Subscriber 5

Publisher 1 Publisher 2

Topic A Topic B Topic C

brok er brok

er brok

er brok

er

(28)

Subscribe to event class Broker Setup anevent class(topic) publish anevent

class Sendevent

Component

A ComponentB

Figure2 Event-driven message-based Publish/Subscribe scheme

Figure3 Shared Input Port of Collaborative SVG

Broker

Input port Output port

View GVT Rendere r User Port JavaScript SVG DOM

Application as Web Service

Port

Facing

Resource

Renderingas

messages Eventas messages

Model

Master client

Set up an event class (topic)

Publish

an event to collaborativeclients

Subscribe to the topic

Facing

Input port Output port

View GVT Rendere r User Port JavaScript SVG DOM

Application as Web Service

(29)

Figure 3 Architecture of collaborative SVG browser on PC XGSP Session control Server NaradaBrokering Event (Message) Service Infrastructure •• Master client SVG browser 1

F I R

O

Other client SVG browser 2

F I R

O

Other client SVG browser n

F I R

O

Control to/from all SVG browsers in the collaborative session Data from master client Control to/from XGSP Data to other clients Control to/from XGSP Data from master client Control to/from XGSP

(30)

NaradaBrokering Event (Message) Service Infrastructure •• XGSP Session control Server

SVG WS 1

Internet Game

SVG WS 2

SVG WS n

••

SVG display 1

SVG display 2

SVG display n

Control to/from SVG WS1,2, …, n

Control to/from XGSP, SVG display 2 Rendering to SVG display 2

Control to/from SVG WS1,2, …, n

Rendering from SVG WS 2

Control to/from SVG display 2

(31)
(32)

Important principals

l One should split at points where the original method based linkage involved serializable Java objects.

n Serialization is needed before the method arguments can be

transported and this is familiar from Java RMI.

l “Spaghetti” classes implied that additional state information would need to be transmitted if we split at points where classes spanned interfaces from different modules.

n Batik often involved large classes that implemented many different

interfaces. These interfaces often came from different parts of the program and crossed the possible stages mentioned above.

(33)

Implicit State

subscribe

A B

Broker

publish send

event

Separated component/service model

subscribe

A

View B

Broker

publish send

event

Conventional shared state model

Shared state

(34)

The changes bring up issues that

cause a challenge to the system

l

Timing becomes a compelling issue

n

with the separation of client and Web Service server,

original assumption and design principle break since

time scope drastically increases from tens of

microsecond level (e.g. a Java method call) to a few

milliseconds level (network latency plus system

overhead).

l

Object serialization is a must have toolkit

n

messages, as a linkage vehicle, contains component

(35)

Summary of message-based MVC

l Provision of a universal paradigm with a service model converging desktop applications, Web applications, and Internet collaboration

l Web applications built on messages can achieve important features such as scalability

l The message-based approach is an indispensable part of the big picture of system design with a separate intermediate messaging layer

n Reduce deployment overhead of applications

n Increase portability of application by decoupling application architecture

with underlying platforms

l It conforms to service oriented architecture with loosely coupled messages linkage, which we expect to have an increasingly

(36)

Future Work

l

Performance analysis

l

Performance optimization

l

Apply the concept to other applications

(37)

References

l Community Grids Lab

n University Web site http://www.communitygrids.iu.edu/ n CGL Web site http://www.infomall.org

l Additional Projects http://grids.ucs.indiana.edu/ptliupages/

l Publications http://grids.ucs.indiana.edu/ptliupages/publications/

l CGL activities summary (2003-2004)

http://grids.ucs.indiana.edu/ptliupages/publications/CGLHandout.pdf

l Current major projects of CGL

l NSF Middleware Initiative (NMI) at www.OGCE.org

l NaradaBrokering at www.NaradaBrokering.org

l Collaboration environments

n GloblaMMCS at http://www.globalmmcs.org/

(38)

Observations

l The overhead of the Web service decomposition is not directly measured in this table although the changes in T1-T0 in each row reflect the different network transit times as we move the server from local to organization locations.

l This client to server and back transit time is only 20% of the total processing time in the local examples.

l We separately measured the overhead in NaradaBrokering itself which

consisting of forming message objects, serialization and network transit time with four hops (client to broker, broker to server, server to broker, broker to client). This overhead is 5-15 milliseconds depending on the operating

mode of the Broker in simple stand-alone measurements. The contribution of NaradaBrokering to T1-T0 is larger than this (about 30 milliseconds in preliminary measurements) due to the extra thread scheduling inside the operating system and interfacing with complex SVG application.

Figure

Figure 1 Reformulation of SVG to message based MVC in a Web Service ModelInput portOutput port
Figure 5 Collaborative SVG Event processing chartRaw UI events
Figure 3 Architecture of collaborative SVG browser on PCXGSPSession controlServerNaradaBrokeringEvent(Message)ServiceInfrastructure ••• Master client SVG browser 1FIROOther clientSVG browser 2FIROOther client SVG browser nFIROControl to/fromall SVG browser

References

Related documents

In the standard k-epsilon model the eddy viscosity is determined from a single turbulence length scale, so the calculated turbulent diffusion is that which occurs only at the

of articles Hereditary hemorrhagic and thrombosis disease 1 EGFR gene mutation screening 1 Mutant gene for different depression 1 Radiation-induced thyoid carcinoma 1

The results support our previous work in an all-male sample, which showed no differences in cortical activation between controls and individuals with ADHD during the CPT and no

Misalnya, majoriti responden menyatakan mereka marah dan kecewa apabila memikirkan cara industri mencemarkan alam sekitar, kerajaan patut memberi subsidi kepada penyelidikan

Six validated tools were used to screen for the full range of mental health disorders including developmental disorders like Personality Disorder, Attention Deficit

31.1.3 expenses incurred in investigating and determining the loss indemnifiable by the Insurer, to the extent that they were considered necessary under the circumstances.

This also forms the basis of this project which is to study the flow, coefficient of lift and subsequently different angles of attack on a fixed airfoil and also to explore and

Sports Cover If you select this Cover, you will be Covered in the event of Total Disability or Partial Disability as a result of a Sports Injury, subject to any Exclusions and