Building Desktop Applications with Web Services
Download
1 / 32

Building Desktop Application with Web Services in a Message ... - PowerPoint PPT Presentation


  • 239 Views
  • Uploaded on

Building Desktop Applications with Web Services in a Message-based MVC Paradigm. by Xiaohong Qiu. Ph.D. student of EECS department, Syracuse University Research work is performed at Community Grids Lab, Indiana University [email protected] , [email protected]

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Desktop Application with Web Services in a Message ...' - RoyLauris


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

Building Desktop Applications with Web Services

in a Message-based MVC Paradigm

by Xiaohong Qiu

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

CommunityGrids Lab, Indiana University


Background l.jpg
Background

  • CGL research– general area is technology support for Synchronous and Asynchronous Resource Sharing

    • e-learning

    • e-science

  • Grids

    • manage and share (typically asynchronously) resources (people, computers, data, applications etc.) or distributed services in a centralized fashion.

  • Web Services

    • Define loosely coupled software components across internet interacting with messages.

  • Peer-to-peer Grids

    • link services, resources and clients in dynamic decentralized fashion

      • The system consists of a sea of message-based Services (e.g. shared SVG as a Web Service)

      • Services linked by publish-subscribe messaging infrastructure (e.g. NaradaBrokering)


Current projects of cgl l.jpg
Current projects of CGL

  • 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

  • NaradaBrokering

    • A open source messaging infrastructure/middleware for collaboration, peer-to-peer, and Grid applications

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

    • Collaborative SVG, PowerPoint, and OpenOffice etc.


Research on a generic model of building applications l.jpg
Research on a generic model of building applications

  • Applications: distributed, Web/Internet, desktop

  • motivations

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

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

    • Applications getting increasingly sophisticated, e.g.

      • Internet collaboration enabling virtual enterprises;

      • large-scale distributed computing)

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

      • scalability

      • Reusability

      • Interoperability

      • Reliability

      • High performance

      • Low cost


Summarization of the situation l.jpg
Summarization of the situation

  • The subsystem of Internet has evolved into stability

    • TCP/IP network stack dominating the communication protocol domain;

    • IP forms the low-level sphere surrounding hardware network core

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

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

  • Evolution of application architectures

    • client-server model

    • Multi-tier (e.g. three-tier) model

    • Peer-to-peer

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

    • Grids

    • Web Services and SOA

  • Web application deployment shows diverse directions but have common features

    • User interfaces

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

    • 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

  • Next generation of Web client should enable pervasive accessibility

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

    • Uniform Web interface that provides a platform with aggregation of multiple services



Our approach l.jpg
Our approach

  • Building applications centered on messages

  • Separation of application architecture from messaging infrastructure

  • Message-based MVC Paradigm fordistributed, Web, and desktop applications

    • MMVC and MVC

    • MMVC and Web Services

    • MMVC and collaboration

    • MMVC and messaging infrastructure


Related technologies l.jpg
Related technologies

  • Batik SVG browser (an open source project from Apachethat supports SVG 1.0)

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

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

  • SVG(W3C specifications for Scalable Vector Graphics)

    • A language for describing 2D vector and mixed vector/raster graphics in XML.

  • DOM(W3C specifications for Document Object Model)

    • Programmatic interfaces for access and manipulate structured document object

    • All modern browsers (approximately) support the W3C DOM


Methodology l.jpg
Methodology

  • Proposing an “explicit Message-based MVC” paradigm (MMVC) as the general architecture of Web applications

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

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

  • 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”.

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

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

  • Identifying some of the key factors that influence the performance of message-based Web applications especially those with rich Web content and high client interactivity and complex rendering issues.


What is message based mvc l.jpg
What is message-based MVC?

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

    • emphasizes a universal modularized service model with messaging linkage

    • Converges desktop application, Web application, and Internet collaboration

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

    • MMVC allows automatic collaboration, which simplifies the architecture design





Slide14 l.jpg

Model View Controller

Decomposition of SVG Browser

Semantic

Model

Events as messages

Rendering as messages

Controller

High Level UI

Input port Output port

View

Events as messages

Rendering as messages

Raw UI

Display

Display

Messages contain control information

a. MVC Model

b. Three-stage pipeline

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

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


Monolithic svg experiments l.jpg
Monolithic SVG Experiments

  • Collaborative SVG Browser

    • Teacher-Students scenario

    • Static Shared SVG contents

    • Dynamic Share SVG contents

      • Hyperlink

      • Interactivity and animation (JavaScript binding)

  • Collaborative SVG Chess game

    • Two players-multiple observers scenario

    • Complex interactivity with game intelligence


Slide16 l.jpg

Collaborative SVG Chess Game

Players

Observers


Slide17 l.jpg

R

R

R

Master client SVG browser 1

Other client SVG browser 2

Other client SVG browser n

XGSP

Session control Server

F

F

F

I

I

I

NaradaBrokering

Event (Message) Service Infrastructure

O

O

O

Control to/from

all SVG browsers in the collaborative session

Data from master client

Data from master client

Control to/from XGSP

Control to/from XGSP

• • •

Figure 3 Architecture of collaborative SVG browser on PC

Data to other clients

Control to/from XGSP

Architecture of collaborative SVG browser on PC


Slide18 l.jpg

NaradaBrokering

Event (Message) Service Infrastructure

XGSP

Session control Server

Control to/from

Control to/from

SVG WS1,2, …, n

SVG WS1,2, …, n

SVG WS 1

SVG display 2

SVG display n

SVG display 1

Rendering to SVG display 2

Rendering from SVG WS 2

SVG WS 2

Control to/from SVG display 2

Control to/from XGSP, SVG display 2

• • •

• • •

SVG WS n

Internet Game

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

Architecture of multiplayer game with SVG


Slide19 l.jpg

Collaborative events

(e.g. Master Events which has context information of collaboration and information from previous stages)

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)

Figure 5 Collaborative SVG Event processing chart

Collaborative SVG Event processing chart


Method based mvc vs message based mvc l.jpg
Method-based MVC vs. message-based MVC

Broker

Set up an event class (topic)

Subscribe to event class

Send event

publish an event class

register call back method

B

A

A

B

invoke call back method with event

method based

message based



Important principals l.jpg
Important principals

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

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

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

    • 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.

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


Implicit state l.jpg

Broker

Broker

subscribe

subscribe

publish

publish

send event

A

send event

A

B

A

B

View

Shared state

Separated component/service model

Conventional shared state model

Implicit State


The changes bring up issues that cause a challenge to the system l.jpg
The changes bring up issues that cause a challenge to the system

  • Timing becomes a compelling issue

    • 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).

  • Object serialization is a must have toolkit

    • messages, as a linkage vehicle, contains component information from both sides and keep context same. Synchronization is a factor to consider for context consistency.


Slide25 l.jpg

Performance Testing systemT1: 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


Performance results l.jpg
Performance Results system

Table 1 Timing of Stages in milliseconds


Slide27 l.jpg

Shared SVG Browser on PC system

Shared SVG Browser on PDA

Internet Game

Event (Message) Service

Event (Message) Service

Event (Message) Service

Collaborative Events and Web Service messages

Collaborative Events and Web Service messages

Collaborative Events and Web Service messages

R F I O

R F I O

Web Service

Web Service

R F I O

Semantic

Semantic

High Level UI

U F I O

SVG Browser

Input port Output port

U F I O

Semantic

High Level UI

Raw UI

Display

Rendering as messages

Events as messages

Input port Output port

Rendering as messages

Events as messages

High Level UI

Raw UI

Display

Raw UI

Display

Messages contain control information

Messages contain control information

Messages contain control information

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

b. Decomposed WS optimized for thin clients

c. Decomposed WS optimized for performance

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

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


Summary of message based mvc l.jpg
Summary of message-based MVC system

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

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

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

    • Reduce deployment overhead of applications

    • Increase portability of application by decoupling application architecture with underlying platforms

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


Observations l.jpg
Observations system

  • 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.

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

  • 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.

  • 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.


Naradabrokering l.jpg
NaradaBrokering system

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

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

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


Future work l.jpg
Future Work system

  • Performance analysis

  • Performance optimization

  • Apply the concept to other applications (e.g. OpenOffice)


References l.jpg
References system

  • Community Grids Lab

    • University Web sitehttp://www.communitygrids.iu.edu/

    • CGL Web sitehttp://www.infomall.org

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

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

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

  • Current major projects of CGL

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

    • NaradaBrokering at www.NaradaBrokering.org

    • Collaboration environments

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

      • Commercial product: Anabas at www.anabas.com

      • Collaborative SVG at www.svgarena.org


ad