1 ph.d. student of eecs department, syracuse university research work is performed at community...

32
1 Ph.D. student of EECS department, Syracuse University Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University Research work is performed at Community Grids Lab, Indiana University [email protected] [email protected] , , [email protected] [email protected] 501 Morton N. St, Suite 222, Bloomington IN 47404 501 Morton N. St, Suite 222, Bloomington IN 47404 Community Community Grids Lab, Indiana University Grids Lab, Indiana University by Xiaohong by Xiaohong Qiu Qiu ilding Desktop Applications with Web Service ilding Desktop Applications with Web Service in a Message-based MVC Paradigm in a Message-based MVC Paradigm

Upload: gervase-todd

Post on 17-Jan-2018

212 views

Category:

Documents


0 download

DESCRIPTION

3 Current projects of CGL NSF Middleware Initiative (NMI) NSF Middleware Initiative (NMI) 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 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 NaradaBrokering NaradaBrokering A open source messaging infrastructure/middleware for collaboration, peer-to-peer, and Grid applications A open source messaging infrastructure/middleware for collaboration, peer-to-peer, and Grid applications collaboration environments collaboration environments GlobalMMCS A open source multimedia collaboration system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session control) GlobalMMCS A open source multimedia collaboration system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session control) Collaborative SVG, PowerPoint, and OpenOffice etc. Collaborative SVG, PowerPoint, and OpenOffice etc.

TRANSCRIPT

Page 1: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

11

Ph.D. student of EECS department, Syracuse UniversityPh.D. student of EECS department, Syracuse UniversityResearch work is performed at Community Grids Lab, Indiana UniversityResearch work is performed at Community Grids Lab, Indiana University

[email protected]@syr.edu, , [email protected]@indiana.edu

501 Morton N. St, Suite 222, Bloomington IN 47404501 Morton N. St, Suite 222, Bloomington IN 47404CommunityCommunity Grids Lab, Indiana UniversityGrids Lab, Indiana University

by Xiaohong Qiuby Xiaohong Qiu

Building Desktop Applications with Web Services Building Desktop Applications with Web Services in a Message-based MVC Paradigmin a Message-based MVC Paradigm

Page 2: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

22

BackgroundBackgroundCGL researchCGL research – g– general area is technology support for eneral area is technology support for Synchronous and Asynchronous Resource SharingSynchronous and Asynchronous Resource Sharing

e-learninge-learning e-science e-science

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

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

Web ServicesWeb Services Define loosely coupled software components across internet Define loosely coupled software components across internet

interacting with messages. interacting with messages.

Peer-to-peer GridsPeer-to-peer Grids link services, resources and clients in dynamic decentralized link services, resources and clients in dynamic decentralized

fashionfashionThe system consists of The system consists of a sea of message-based Servicesa sea of message-based Services (e.g. shared SVG (e.g. shared SVG as a Web Service)as a Web Service)Services linked by Services linked by publish-subscribepublish-subscribe messaging infrastructure (e.g. messaging infrastructure (e.g. NaradaBrokering)NaradaBrokering)

Page 3: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

33

Current projects of CGLCurrent projects of CGL

NSF Middleware Initiative (NMI)NSF Middleware Initiative (NMI) CGL, Extreme Lab of IU, University of Texas, University of CGL, Extreme Lab of IU, University of Texas, University of

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

NaradaBrokeringNaradaBrokering A open source messaging infrastructure/middleware for A open source messaging infrastructure/middleware for

collaboration, peer-to-peer, and Grid applicationscollaboration, peer-to-peer, and Grid applications

collaboration environmentscollaboration environments GlobalMMCSGlobalMMCS A open source multimedia collaboration A open source multimedia collaboration

system (multiple video conferencing technology that system (multiple video conferencing technology that supports Java A/V, H323, real player clients; XGSP session supports Java A/V, H323, real player clients; XGSP session control) control)

Collaborative SVG, PowerPoint, and OpenOffice etc.Collaborative SVG, PowerPoint, and OpenOffice etc.

Page 4: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

44

Research on a generic model of building applicationsResearch on a generic model of building applications

Applications: Applications: distributed, Web/Internet, desktopdistributed, Web/Internet, desktopmotivationsmotivations

CPU speed (Moore’s law) and network bandwidth (Gilder’s law) CPU speed (Moore’s law) and network bandwidth (Gilder’s law) continue to improve bring fundamental changescontinue to improve bring fundamental changes

Internet and Web technologies have evolved into a global information Internet and Web technologies have evolved into a global information infrastructure for sharing of resourcesinfrastructure for sharing of resources

Applications getting increasingly sophisticated, e.g. Applications getting increasingly sophisticated, e.g. Internet collaboration enabling virtual enterprises; Internet collaboration enabling virtual enterprises; large-scale distributed computing)large-scale distributed computing)

Requires new application architecture that is adaptable to fast Requires new application architecture that is adaptable to fast technology changes with propertiestechnology changes with properties

scalabilityscalabilityReusabilityReusabilityInteroperabilityInteroperabilityReliabilityReliabilityHigh performanceHigh performanceLow costLow cost

Page 5: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

55

Summarization of the situationSummarization of the situationThe subsystem of Internet has evolved into stabilityThe subsystem of Internet has evolved into stability

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

Construction of distributed operating system over the Internet has not Construction of distributed operating system over the Internet has not completedcompleted and keeps adding new functionalities to the general purpose platform and keeps adding new functionalities to the general purpose platform

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

Evolution of application architecturesEvolution of application architectures client-server modelclient-server model Multi-tier (e.g. three-tier) modelMulti-tier (e.g. three-tier) model Peer-to-peer Peer-to-peer A variety of distributed model (e.g. Java RMI, CORBA, COM/DCOM, J2EE, .NET)A variety of distributed model (e.g. Java RMI, CORBA, COM/DCOM, J2EE, .NET) GridsGrids Web Services and SOAWeb Services and SOA

Web application deployment shows diverse directions but have common Web application deployment shows diverse directions but have common featuresfeatures

User interfacesUser interfaces Services for the sharing of information and resources (e.g. through unicast and multicast of group Services for the sharing of information and resources (e.g. through unicast and multicast of group

communication) communication) In the most general sense, collaboration is the core problem and service of Web applications, although 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“collaboration” usually refers to system with real-time synchronous and compelling time constraints

Next generation of Web client should enable pervasive accessibilityNext generation of Web client should enable pervasive accessibility Ubiquitous availability to clients fro heterogeneous platforms (e.g. Windows, Linux, Unix, Ubiquitous availability to clients fro heterogeneous platforms (e.g. Windows, Linux, Unix,

and PalmOS)and PalmOS) Uniform Web interface that provides a platform with aggregation of multiple servicesUniform Web interface that provides a platform with aggregation of multiple services

Page 6: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

6

Architecture of network system

FileServer

Laptop

Cellularphone

PDA

Desktop

Workstation

Database

IBM

Supercomputer

Shared

WANNetwork Core

router

router

ATMswitch

IPTCP UDP

HTTP

SMTP

protocolsApplication

H323

FTP

WS

DL

routing

(SOAP)

ServiceWeb

Conferencing

A/V

Stre

amin

g

Browsers

Web

Multiplayer game

Whiteboard

Overla

ynetwork

Applications

Messaging Infrastructure

Grid computing

P2P

SystemSha

red File

Telnet

Med

iaS

SL

Page 7: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

77

Our approachOur approachBuilding applications centered on messagesBuilding applications centered on messagesSeparation of application architecture from Separation of application architecture from messaging infrastructuremessaging infrastructureMessage-based MVC Paradigm Message-based MVC Paradigm forfor distributed, Web, and desktop applicationsdistributed, Web, and desktop applications MMVC and MVCMMVC and MVC MMVC and Web Services MMVC and Web Services MMVC and collaboration MMVC and collaboration MMVC and messaging infrastructureMMVC and messaging infrastructure

Page 8: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

88

Related technologiesRelated technologies

Batik SVG browser Batik SVG browser (an open source project from (an open source project from ApacheApache that supports SVG 1.0)that supports SVG 1.0)

A presentation style application is representative and complex in A presentation style application is representative and complex in nature (we experiments with multiplayer-online game with high nature (we experiments with multiplayer-online game with high interactivity and compelling time constraints)interactivity and compelling time constraints)

Similar applications includes Microsoft PowerPoint, Adobe Similar applications includes Microsoft PowerPoint, Adobe Illustrator, Macromedia FlashIllustrator, Macromedia Flash

SVGSVG (W3C specifications for Scalable Vector Graphics)(W3C specifications for Scalable Vector Graphics) A language for describing 2D vector and mixed vector/raster A language for describing 2D vector and mixed vector/raster

graphics in XML.graphics in XML.DOMDOM (W3C specifications for Document Object Model)(W3C specifications for Document Object Model)

Programmatic interfaces for access and manipulate structured Programmatic interfaces for access and manipulate structured document objectdocument object

All modern browsers (approximately) support the W3C DOMAll modern browsers (approximately) support the W3C DOM

Page 9: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

99

MethodologyMethodologyProposing an “Proposing an “explicit Message-based MVCexplicit Message-based MVC” paradigm (MMVC) as ” paradigm (MMVC) as the general architecture of Web applicationsthe general architecture of Web applicationsDemonstrating an approach of building “Demonstrating an approach of building “collaboration as a Web collaboration as a Web serviceservice” through ” through monolithic SVG experimentsmonolithic SVG experiments. .

As an example, we present architecture for three types of collaboration As an example, we present architecture for three types of collaboration ─ monolithic, thin client, and interactive client.─ monolithic, thin client, and interactive client.

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

As an experiment, we convert a desktop application into a distributed As an experiment, we convert a desktop application into a distributed system by modifying the architecture from method-based MVC into system by modifying the architecture from method-based MVC into message-based MVC. message-based MVC.

Proposing Multiple Model Multiple View and Single Model Multiple Proposing Multiple Model Multiple View and Single Model Multiple View collaboration as the general architecture of “View collaboration as the general architecture of “collaboration as a collaboration as a Web serviceWeb service” model.” model.Identifying some of the key factors that influence the performance of Identifying some of the key factors that influence the performance of message-based Web applicationsmessage-based Web applications especially those with rich Web especially those with rich Web content and high client interactivity and complex rendering issues.content and high client interactivity and complex rendering issues.

Page 10: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

1010

What is message-based MVC?What is message-based MVC?

Message-based Model-View-Controller (MMVC) Message-based Model-View-Controller (MMVC) is a general approach of building applications is a general approach of building applications with a message-based paradigmwith a message-based paradigm

emphasizes a universal modularized service model with emphasizes a universal modularized service model with messaging linkagemessaging linkage

Converges desktop application, Web application, and Converges desktop application, Web application, and Internet collaborationInternet collaboration

MVC and Web Services are fundamental architecture from MVC and Web Services are fundamental architecture from desktop to Web applications, MMVC has general importance as desktop to Web applications, MMVC has general importance as a uniform architecturea uniform architecture

MMVC allows automatic collaboration, which simplifies the MMVC allows automatic collaboration, which simplifies the architecture designarchitecture design

Page 11: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

1111

MVC paradigmMVC paradigm

Model View Controller

Model

Controller

ViewMouse eventKeyboard events

Figure MVC Model

Display

Page 12: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

12

Message-based MVC model

ViewUser Interface

Raw UIDisplay

ModelWeb Service

Sematic

High Level UI

Events as messages

Rendering as messages

Input port Output port

Messages contain control information

Page 13: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

13

View n-1 View nView 1 View 2

Model

a) Single Model Multiple View

View n-1 View nView 1 View 2

Model m-1 Model mModel 1 Model 2

b) Multiple Model Multiple View

SMMV vs. MMMV as MVC interactive patterns

Page 14: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

14

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 UIDisplay

Rendering as messages

Events as messages

Semantic

Events as messages

Rendering as messages

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

Input port Output port

A comparison of MVC and MMVC model in a case of SVG application

Page 15: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

1515

Monolithic SVG ExperimentsMonolithic SVG ExperimentsCollaborative SVG BrowserCollaborative SVG Browser Teacher-Students scenarioTeacher-Students scenario Static Shared SVG contents Static Shared SVG contents Dynamic Share SVG contentsDynamic Share SVG contents

HyperlinkHyperlinkInteractivity and animation (JavaScript binding)Interactivity and animation (JavaScript binding)

Collaborative SVG Chess gameCollaborative SVG Chess game Two players-multiple observers scenarioTwo players-multiple observers scenario Complex interactivity with game intelligenceComplex interactivity with game intelligence

Page 16: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

1616

Collaborative SVG Chess GameCollaborative SVG Chess Game

Players

Observers

Page 17: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

17

Figure 3 Architecture of collaborative SVG browser on PC

XGSPSession control

Server

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

• • •

Master client SVG browser 1F

I

R

O

Other client SVG browser 2F

I

R

O

Other client SVG browser nF

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

Architecture of collaborative SVG browser on PC

Page 18: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

18

Figure 4 Architecture of collaborative Web Services drawn for particular case of Internet multiplayer game with SVG

Nar

adaB

roke

ring

Even

t (M

essa

ge) S

ervi

ce In

fras

truc

ture

• • •

XGSPSession 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

Architecture of multiplayer game with SVG

Page 19: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

19

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)

Collaborative SVG Event processing chart

Page 20: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

20

Method-based MVC vs. message-based MVC

B

Subscribe to event class

A

Broker

Set up an event class (topic)

publish an event class Send event

message based

A Bregister call back method

invoke call back method with event

method based

Page 21: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

21

Decomposition of SVG browser into stages of pipeline

Figure 4 Decomposition of SVG browser into stages of pipeline

SVG parserOutput (Renderer)

(update image buffer)

Input (UI events)(e.g. Mouse and

key events)

JavaScript(access and

manipulate DOM element)DOM tree

(before mutation)(DOM events)

DOM tree’(after mutation)

GVT tree’(GraphicsNode changes )

GVT tree(GraphicsNode events)

DecompositionPoint ModelView

Figure 4 Decomposition of SVG browser into stages of pipeline

SVG parserSVG parserOutput (Renderer)

(update image buffer)

Output (Renderer)(update image buffer)

Input (UI events)(e.g. Mouse and

key events)

Input (UI events)(e.g. Mouse and

key events)

JavaScript(access and

manipulate DOM element)

JavaScript(access and

manipulate DOM element)DOM tree

(before mutation)(DOM events)

DOM tree’(after mutation)

GVT tree’(GraphicsNode changes )

GVT tree(GraphicsNode events)

DecompositionPoint ModelView

Page 22: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

2222

Important principalsImportant principals

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

Serialization is needed before the method arguments can be Serialization is needed before the method arguments can be transported and this is familiar from Java RMI.transported and this is familiar from Java RMI.

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

Batik often involved large classes that implemented many different Batik often involved large classes that implemented many different interfaces. These interfaces often came from different parts of the interfaces. These interfaces often came from different parts of the program and crossed the possible stages mentioned above.program and crossed the possible stages mentioned above.

message-based paradigm tends to force a more restrictive message-based paradigm tends to force a more restrictive programming model where all data is shared explicitly and not programming model where all data is shared explicitly and not implicitly via interfaces crossing splitting lines. implicitly via interfaces crossing splitting lines.

Page 23: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

23

Implicit State

subscribe

A B

Broker

publish

send event

Separated component/service model

subscribe

AView

B

Broker

publish

send event

Conventional shared state model

Shared state

A

Page 24: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

2424

The changes bring up issues that The changes bring up issues that cause a challenge to the systemcause a challenge to the system

Timing becomes a compelling issueTiming becomes a compelling issue with the separation of client and Web Service server, with the separation of client and Web Service server,

original assumption and design principle break since original assumption and design principle break since time scope drastically increases from tens of time scope drastically increases from tens of microsecond level (e.g. a Java method call) to a few microsecond level (e.g. a Java method call) to a few milliseconds level (network latency plus system milliseconds level (network latency plus system overhead).overhead).

Object serialization is a must have toolkitObject serialization is a must have toolkit messages, as a linkage vehicle, contains component messages, as a linkage vehicle, contains component

information from both sides and keep context same. information from both sides and keep context same. Synchronization is a factor to consider for context Synchronization is a factor to consider for context consistency. consistency.

Page 25: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

25

Performance TestingT1: A given user event such as a mouse click can generate multiple associated DOM change events

transmitted from the Model to the View. T1 is the arrival time at the View of the first of these.T2: This is the arrival of the last of these events from the Model and the start of the processing of the

set of events in the GVT treeT3: This is the start of the rendering stageT4: This is the end of the rendering stage

Figure 8 Timing points

DecompositionPoint ModelView

T0

T4 T1T3 T2Output (Renderer)Output (Renderer)

Input (UI events)Input (UI events)

GVT tree’GVT tree’

DOM tree(before mutation)

DOM tree(before mutation)

DOM tree’(after mutation)

DOM tree’(after mutation)

GVT treeGVT treeJavaScriptJavaScript

Figure 8 Timing points

DecompositionPoint Model

DecompositionPoint ModelView

T0T0

T4T4 T1T1T3T3 T2T2Output (Renderer)Output (Renderer)

Input (UI events)Input (UI events)

GVT tree’GVT tree’

DOM tree(before mutation)

DOM tree(before mutation)

DOM tree’(after mutation)

DOM tree’(after mutation)

GVT treeGVT treeJavaScriptJavaScript

Page 26: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

26

Performance Results

Table 1 Timing of Stages in milliseconds

First arrival from Model: T1-T0

Start Process DOMT2-T0

Start RenderingT3-T0

End RenderingT4-T0

mean ± error

stddev mean ± error

stddev mean ± error

stddev mean ± error

stddev

Test 1

Solaris server

110 ±5.0

95.0 180 ±10.0

184.0 243 ±11.0

204.0 478 ±13.0

238.0

Test 2

direct connect. Desktop server

108 ±5.0

132.0 180 ±7.0

170.0 234 ±8.0

194.0 485 ±12.0

272.0

Test 3

wireless connect. Desktop server

113 ±3.0

54.0 212 ±5.0

77.0 225 ±5.0

78.0 510 ±5.0

78.0

Test 4

IBM Linux cluster node

76 ± 2.0

76.0 120±2.0

136.0 190 ± 3.0

174.0 476 ±3.0

194.0

Test 5

Solaris server

1490 ±48.0

519.0 2213 ±57.0

614.0 2275 ±56.0

597.0 2556 ±56.0

596.0

Page 27: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

27

Shared SVG Browser on PDA

b. Decomposed WS optimized for thin clients

Rendering as messages

Events as messages

Messages contain control information

SemanticHigh Level UI

R F I O

U F I O

Web Service

Event (Message) Service

Raw UIDisplay

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

SemanticHigh Level UI

Raw UIDisplay

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

Web Service

Event (Message) Service

High Level UIRaw UIDisplay

Figure 2 Three among the different ways of decomposing SVG between client and Web Service component

Input port Output portRendering as messages

Events as messages

Input port Output port

Collaborative Events and Web Service messages

Collaborative Events and Web Service messages

Three among the different ways of decomposing SVG between client and Web Service component

Page 28: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

2828

Summary of message-based MVCSummary of message-based MVC

Provision of a universal paradigm with a service model converging Provision of a universal paradigm with a service model converging desktop applications, Web applications, and Internet collaborationdesktop applications, Web applications, and Internet collaborationWeb applications built on messages can achieve important features Web applications built on messages can achieve important features such as scalabilitysuch as scalabilityThe message-based approach is an indispensable part of the big The message-based approach is an indispensable part of the big picture of system design with a separate intermediate messaging picture of system design with a separate intermediate messaging layerlayer

Reduce deployment overhead of applicationsReduce deployment overhead of applications Increase portability of application by decoupling application architecture Increase portability of application by decoupling application architecture

with underlying platformswith underlying platformsIt conforms to service oriented architecture with loosely coupled It conforms to service oriented architecture with loosely coupled messages linkage, which we expect to have an increasingly messages linkage, which we expect to have an increasingly important role for reusability, interoperability, and scalabilityimportant role for reusability, interoperability, and scalability

Page 29: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

2929

ObservationsObservationsThe overhead of the Web service decomposition is not directly measured in 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 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 network transit times as we move the server from local to organization locations. locations. This client to server and back transit time is only 20% of the total processing This client to server and back transit time is only 20% of the total processing time in the local examples. time in the local examples. We separately measured the overhead in NaradaBrokering itself which We separately measured the overhead in NaradaBrokering itself which consisting of forming message objects, serialization and network transit time consisting of forming message objects, serialization and network transit time with four hops (client to broker, broker to server, server to broker, broker to 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 client). This overhead is 5-15 milliseconds depending on the operating mode of the Broker in simple stand-alone measurements. The contribution of of the Broker in simple stand-alone measurements. The contribution of NaradaBrokering to T1-T0 is larger than this (about 30 milliseconds in NaradaBrokering to T1-T0 is larger than this (about 30 milliseconds in preliminary measurements) due to the extra thread scheduling inside the preliminary measurements) due to the extra thread scheduling inside the operating system and interfacing with complex SVG application. operating system and interfacing with complex SVG application. We expect the main impact to be the algorithmic effect of breaking the code We expect the main impact to be the algorithmic effect of breaking the code into two, the network and broker overhead, thread scheduling from OS. into two, the network and broker overhead, thread scheduling from OS.

Page 30: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

3030

NaradaBrokeringNaradaBrokeringOne can bind SOAP to NaradaBrokering and allow use One can bind SOAP to NaradaBrokering and allow use of any of NaradaBrokering transportof any of NaradaBrokering transport

NaradaBrokering is placed in SOAP handler and controls NaradaBrokering is placed in SOAP handler and controls transport, security  and reliable messaging using WS-transport, security  and reliable messaging using WS-Security and WS-Reliable MessagingSecurity and WS-Reliable Messaging

For a stream, one first uses port 80 and conventional For a stream, one first uses port 80 and conventional SOAP over HTTP and then negotiates the transport and SOAP over HTTP and then negotiates the transport and encoding to be used in messages of the streamencoding to be used in messages of the stream

Page 31: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

3131

Future WorkFuture WorkPerformance analysisPerformance analysis Performance optimizationPerformance optimizationApply the concept to other applications Apply the concept to other applications (e.g. OpenOffice)(e.g. OpenOffice)

Page 32: 1 Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University

3232

ReferencesReferencesCommunity Grids LabCommunity Grids Lab

University Web siteUniversity Web site http://www.communitygrids.iu.edu/http://www.communitygrids.iu.edu/ CGL Web siteCGL Web site http://www.infomall.orghttp://www.infomall.org

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

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

CGL activities summary (2003-2004) CGL activities summary (2003-2004) http://grids.ucs.indiana.edu/ptliupages/publications/CGLHandout.pdfhttp://grids.ucs.indiana.edu/ptliupages/publications/CGLHandout.pdf

Current major projects of CGLCurrent major projects of CGLNSF Middleware Initiative (NMI) NSF Middleware Initiative (NMI) at at www.OGCE.orgwww.OGCE.org

NaradaBrokeringNaradaBrokering at at www.NaradaBrokering.orgwww.NaradaBrokering.org

Collaboration environmentsCollaboration environments GloblaMMCSGloblaMMCS at at http://www.globalmmcs.org/http://www.globalmmcs.org/ Commercial product: Commercial product: AnabasAnabas at at www.anabas.comwww.anabas.com Collaborative SVG at Collaborative SVG at www.svgarena.orgwww.svgarena.org