Browse Prior Art Database

System & Method for Rutime Mashup Services Diagnosis

IP.com Disclosure Number: IPCOM000186037D
Original Publication Date: 2009-Aug-06
Included in the Prior Art Database: 2009-Aug-06
Document File: 3 page(s) / 121K

Publishing Venue

IBM

Abstract

In today's AJAX and mashup web applications, runtime browser-side errors are just inevitable which are hard to detect and debug in development time. Traditional server side analytics tools like Tivoli Website Analyzer cannot detect such errors either. This publication introduces a system and method to detect, analyze and then resolve such runtime errors.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

System & Method for Rutime Mashup Services Diagnosis

Firstly let's go through some possible runtime errors in a typical AJAX / mashup web application. For a full Ajax application, e.g., GMail,

when some connection related problems occur, the application

cannot access further data afterwards. Even worse, a Google Maps mashup application developer used some out-dated APIs and non-official tricks to load map tiles from a temporary partner site. When the API as well as the underlying partnership has changed, users of the application will frequently experience map tile loading errors even when the network connection is good.

All the problems are due to the complexity of the runtime environment of mashup

applications.

can be hardly tested on server.

would rely on a number of factors:

Browser compatibility: an old browser with buggy implementations in HTML,

JavaScript and CSS support, and required features (Script, Plugin) turned off will most likely break a mashup application
Network environment: if required content are inaccessible due to regional


2.

networking problems or firewall security constraints will surely cause a mashup to fail
3rd Party service: a mashup involving multiple 3rd party services shall require all

parties ALWAYS online and PERMANENTLY supporting current API & data formats, a small change or outage in any one of them will cause the entire mashup to break.

There are so many potential pitfalls, but there's no way to easily detect and diagnose runtime errors in mashup applications so far, largely due to the highly dynamic and variable client environments, and poor support from server side analytics. So that mashup applications usually require manual testing on huge variety of platforms.

So no we propose a systematic approach to detect, test and resolve such errors,

A typical mashup application is usually based on client browser,

which

And the success execution of a Mashup application

1.

3.

1

[This page contains 2 pictures or other non-text objects]

Page 2 of 3

that

We will first run a mashup application in testing environment with a

1.

JavaScript-based diagnosis tool in place to detect browser DOM tree changes, capture the patterns and automatically generate assertions using maximum similarity models.

After the assertions are generated, JavaScript Assertion Analytics Code will be

2.

generated and injected in end user requests for the mashup application. The

Assertion Analytics Code will detect successful loading of mashup resources as

well as possible errors, and then return error descriptions to a Analytics

Portal.

The errors report shall include necessary information like involving 3rd part

3.

service, sympton (403, 404, timeout...