AJAX Integration Approach for Collaborative Calendar-Server Web Services



Similar documents
Internet Calendaring and Scheduling Core Object Specification (icalendar) Compatible Collaborative Calendar-Server (CCS) Web Services

Integrating AJAX Approach into GIS Visualization Web Services

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Ajax: A New Approach to Web Applications

From Desktop to Browser Platform: Office Application Suite with Ajax

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

WebSphere Portal Server and Web Services Whitepaper

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

AJAX. Gregorio López López Juan Francisco López Panea

T320 E-business technologies: foundations and practice

1. Introduction 1.1 Methodology

Multilingual Interface for Grid Market Directory Services: An Experience with Supporting Tamil

Introduction to BlackBerry Smartphone Web Development Widgets

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

Chapter 12: Advanced topic Web 2.0

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Software Requirements Specification For Real Estate Web Site

AJAX: Highly Interactive Web Applications. Jason Giglio.

Adding Panoramas to Google Maps Using Ajax

Performance Testing for Ajax Applications

ECOMMERCE SITE LIKE- GRAINGER.COM

Table 1 summarizes the requirements for desktop computers running the Participant Application and the myat&t utility.

An Architecture for Web-based DSS

SysPatrol - Server Security Monitor

HP Business Process Monitor

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

Preface. Motivation for this Book

HP Business Service Management

PROJECT MANAGEMENT SYSTEM

A Web Services Framework for Collaboration and Audio/Videoconferencing

StarWind iscsi SAN: Configuring Global Deduplication May 2012

Spectrum Technology Platform

ONLINE SCHEDULING FOR THE PRIVATE CLINIC "OUR DOCTOR" BASED ON WEB 2.0 TECHNOLOGIES

Credits: Some of the slides are based on material adapted from

Software Requirements Specification

Lepide Active Directory Self Service. Configuration Guide. Follow the simple steps given in this document to start working with

User Installation Guide

Rich Internet Applications

Cloud Catcher TM Software

High Level Design Distributed Network Traffic Controller

OIT 307/ OIT 218: Web Programming

Enterprise Manager. Version 6.2. Installation Guide

Customer Bank Account Management System Technical Specification Document

Bode Collection Point Electronic DNA Sample Information Program Technical Specifications

Web Cloud Architecture

Upgrading from Call Center Reporting to Reporting for Contact Center. BCM Contact Center

MS SQL Installation Guide

Version 5 Frequently Asked Questions. Q: Once this is complete, how do I convert my data from one system to the other?

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

FPT UNIVERSITY. Capstone Project

Table of contents. HTML5 Data Bindings SEO DMXzone

Investigations on Hierarchical Web service based on Java Technique

WHITE PAPER. Domo Advanced Architecture

ONLINE COURSES: GETTING STARTED GUIDE

Signiant Agent installation

Reporting for Contact Center Setup and Operations Guide. BCM Contact Center

Crystal Reports Installation Guide

ISM/ISC Middleware Module

ClickOnce Deployment Notes

Automation for Customer Care System

Christopher Zavatchen

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Citrix EdgeSight for Load Testing Installation Guide. Citrix EdgeSight for Load Testing 3.8

Spontania User Setup Guide

DCPS STUDENT OPTION HOME USE PROGRAM SIGN UP INSTRUCTIONS

Recommended Pentium III 1.0 GHz processor (or faster) with 2 GB RAM (or higher)

Interacting the Edutella/JXTA Peer-to-Peer Network with Web Services

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Reseller Hosting Program. a project by


Reading an sent with Voltage Secur . Using the Voltage Secur Zero Download Messenger (ZDM)

How to Use Google Cloud Print


Advantage of Jquery: T his file is downloaded from

Spontania User Setup Guide

Using Ajax for Desktop-like Geospatial Web Application Development

Avigilon Control Center Server User Guide

Online Fuzzy-C-Means clustering

BluWave crm. Posting Appointments into Your Local Calendar (Using Google Chrome Web Browser)

Interworks. Interworks Cloud Platform Installation Guide

Curl Building RIA Beyond AJAX

PCVITA Express Migrator for SharePoint(Exchange Public Folder) Table of Contents

TriDoc Install Guide - Mac OS X Operating System This install guide was prepared for professional use!

Release 1. ICAPRG604A Create cloud computing services

How to consume a Domino Web Services from Visual Studio under Security

Installation and Deployment

Requirements for Developing WebWorks Help

Transcription:

AJAX Integration Approach for Collaborative Calendar-Server Web Services Ahmet Fatih Mustacoglu 1, 2 1 Community Grids Lab, Indiana University 2 Department of Computer Science Indiana University amustaco@cs.indiana.edu Bloomington, IN, USA Geoffrey Fox 1, 2 1 Community Grids Lab, Indiana University 2 Department of Computer Science Indiana University gcf@cs.indiana.edu Bloomington, IN, USA Abstract - The proliferation of the impressive web technologies provides developers with a way to produce performance efficient, usable, rich and interactive web based applications. A set of new technologies called AJAX (Asynchronous JavaScript and XML) for the browser based applications is gaining the web developer s interest. In this paper we present a generic and performance efficient framework for integrating AJAX models into the icalendar based Collaborative Calendar-Server Web Services system. Keywords: AJAX, Collaboration, Web Services, icalendar. 1 Introduction AJAX [1] is getting more popular for the web based application developments. It is not a single technology that does the magic for applications. It is a combination of technologies for the web based applications. Some of the standard technologies that composed the AJAX model are JavaScript, XML, CSS, DOM and XSLT. Gmail [2] and Google Maps [3] for example are the high performance AJAX applications developed by Google. Web Services [4] increase the level of interoperability between different applications running on different platforms. Web Services are self-descriptive, selfcontained and modular systems, and they are defined by the Web Services Description Language (WSDL) [5]. Web Service systems support XML based message exchange mechanism, which enable us to be able to develop loose coupled distributed systems all around the world. They use Simple Object Access Protocol (SOAP) [6] for message exchanging. We believe that the AJAX model and the Web Service Systems could support and improve each other s strength since they are both using XML based messaging structures. In this paper, we first give some background information regarding to the technologies that we have been using in our proposed frame work in Section 2. These technologies consist of the AJAX model, the Web Services, Grid Services, and icalendar [7] based Collaborative Calendar-Server (CCS) Web Services [8, 9]. In Section 3 we mention about our design and architecture for our proposed framework. Next, we are going to give a comprehensive explanation of our implementation details in Section 4. Then, we are going to present our performance test results using the AJAX model and traditional model in Section 5. Finally, we are going to give the future work and conclusion in Section 6. 2 Background Rich applications are getting more popular due to their impressive features including high performance (compared to earlier systems), responsiveness, and interactive capabilities. Traditional web applications are generally suffer from slow performance and limited interactivity compared to the AJAX based applications. AJAX based applications are shows a better performance since it can add or retrieve a requested data without reloading the page. For example, AJAX-based Google Maps beta updates the page almost instantly when it receives the request from users. With, a standard web application, the page need to be reloaded to update the page and meanwhile users need to stare at a blank page [10]. In AJAX model, asynchronous data retrieval is done through the XMLHttpRequest, interactions and dynamic display nature is succeed by using the Document Object Model (DOM). XHTML and CSS provide a mechanism for standards-based presentation of the system, and data modification and exchange is done by using XML and XSLT. Finally, JavaScript binds everything together in an AJAX based application system. After Google Maps, Yahoo [11] has also released its AJAX-based Map. This two giant s impressive developments with Google Maps and Yahoo Map are triggering web based application developers attention.

AJAX-based systems can be implemented in client applications by writing JavaScript codes that directly use the XMLHttpRequest protocol s API to communicate with the server or the Web Service. However, there is some compatibility issues with the browser, so these issues should be keep in mind during the design and development period. Our proposed AJAX-based framework is a calendaring and scheduling services implementation model that provides users with the ability of using services provided by the icalendar based CCS Web Services System [8, 9]. Web Services can be accessed through the message exchange mechanism in SOAP format. By combining Web Services, which use SOAP over HTTP, with the XML based structure AJAX-model in our framework, we are planning to improve the performance and to leverage the level of interoperability for different kind of applications running on a different platform for our proposed system. 3 Design and Architecture Overview Our proposed system has been designed to interact with CCS Web Services from an AJAX-based interface to provide calendaring and scheduling services over the internet. In our framework, users interact with the Web Services through the pure JavaScript codes. User interface is implemented by using HTML and JavaScript. The CCS s Web Services can be executed from our JavaScript file called calendarservice.js, and we have used ws.js from IBM Corporation [12] and prototype.js framework by Sam Stephenson [13] for generating WS.Call object. In our framework, users first need to be authenticated with the system in order to post or retrieve calendar information from the CCS system. Having successfully authenticated with the CCS system, users can access and post an event into their private calendar, which can only be seen by its owner. They can also schedule a meeting into the public calendar, which can be accessed by the entire registered user with the CCS system. All the access to the calendars has been synchronized. An overview of our framework architecture design is depicted in Figure 1. Users login information is stored in MySQL Database [14], and this information is used for authenticating the users with the CCS system. Basically, our JavaScript called calendarservice.js code executes the coming request from users by using ws.js and prototype.js JavaScript files to setup the WS.Call object to call the associated Web Service of the CCS. Each service of the CCS system first tried to authenticate the user login information. If users login information is correct, then the requested service is provided and the result is returned to the client. Otherwise, called Web Service of the CCS returns a warning message to the users to let them know that they need to register in order to gain access into the CCS Web Services. With the AJAX-based friendly user interface, users requests and Web Service responses can be displayed by just updating the requested information within the browser almost instantly without reloading the entire page, which basically reduces the performance of the whole system. WEB BROWSER USER INTERFACE JAVASCRIPT, HTML, CSS,XHTML WS.JS WS.CALL SOAP.ENVELOPE XMLHttpRequest Collaborative Calendar-Server WEB SERVICES DATABASE Figure1. Invoking the CCS Web Services from the AJAX Application 4 Implementation Details Our AJAX-based interface [15], which interacts with the CCS Web Services, has been implemented by using the HTML, and JavaScript technologies. CCS Web Services are being called from the pure JavaScript code based on the users request, and results displayed within the browser almost instantly without reloading the entire page. In our calendarservice.js file, we have currently implemented doregister, publiccalendar, privatecalendar, addevent, schedulemeeting methods to communicate with the CCS Web Services. These methods generate the WS.Call object and WS.Call invokes the CSS Web Services in RPC style. Sample code for generating WS.Call object to invoke the CCS Web Service is as follow:

- var call = new WS.Call('http://gf8.ucs.indiana.edu:18086/AJAX WSCalendar/services/IcalCalendarServer?wsdl' - call.invoke_rpc( qn_op, new Array({name:'username',value:username},{name :'password',value:password},{name:'name',value: name},{name:'lastname',value:lastname},{name: 'email',value:email}),null,function(call,envelope) {var ret = envelope.get_body().get_all_children()[0].get_al l_children()[0].get_value();}); doregister: This functionality allows users to register with the CCS framework. When users click on this functionality, a popup window is opened. In this popup window, users need to enter the username, password, name, last name, and email information in order to register with the system. Once users click on the Click to register button, doregister method is being called. After generating WS.Call object in doregister operation, the users registration process is completed by inserting those fields into the Database. publiccalendar: This method, shows the public/collaborative calendar within the browser. It receives username, password, and container variables, and executes the associated Web Services of the CCS to retrieve the public calendar. If the login procedure with the system is successful, this function sets the associated container with the requested calendar data within the browser to show the public calendar information to the user. Otherwise, returns a warning to the users so that they can register with the system first in order to gain access to the system. privatecalendar: Users can access their private calendar via this option of the AJAX-based interface. This menu item receives username, password, container parameters, and brings the user s private calendar via the necessary service calls, if the login information is correct. If users login is not authenticated by the CCS Web Services, then users asked to register before accessing the system. addevent: Via this method, users can add/insert new events into their private calendar. This method receives username, password, event start date, start hour, start minute, start time am/pm value, event end date, end hour, end minute, end time am/pm value, public or private value for this event, first name, last name, email, event name, event location, and event description information from the users. Users can complete the operation by pressing on the Add Event button. schedulemeeting: Users can schedule a meeting into the collaborative/public calendar via this option, and results displayed within the browser. This method requires, username, password, event start date, start hour, start minute,start time am/pm value, event end date, end hour, end minute, end time am/pm value, first name, last name, email, event name, event location, and event description information. Once, the users click on the Schedule a Meeting button, this JavaScript method from our calendarservice.js is called, and it executes the related Web Service based on the request. 5 Test Results We have performed several tests to evaluate our proposed framework, and we have calculated turnaround time, standard deviation, and standard error values for our proposed AJAX model and traditional request/response systems. The comparison of two systems and environment settings are given as below. And calendar file size used for these tests is 32KB. In each time, our web service has been called 100 times to measure the turnaround time, and it has been called 1000 times as a total. Summary of testing environments is depicted in Table 1. Table 1. Summary of Environment and Machine Configurations Axis: Running on GridFarm8 Processor Intel Xeon TM CPU (2.40 GHZ) RAM 2GB total Bandwidth 100Mbps OS GNU/Linux (kernel release 2.4.22) Java Java 2 platform, Standard Edition(1.5.0_01) Version SOAP AXIS 1.2 and Tomcat 5.0.28 Engine AJAX-based Service Client Processor Intel Pentium 4 CPU 3.40GHz RAM 1.00 GB total Bandwidth 100Mbps OS Windows XP Professional Browser Internet Explorer 7.0 Traditional-based Service Client Processor Intel Pentium 4 CPU 3.40GHz RAM 1.00 GB total Bandwidth 100Mbps OS Windows XP Professional Browser Internet Explorer 7.0 In Figure 2, we have calculated the average turnaround

time for our proposed AJAX-based framework for retrieving the users private calendar, which is 32KB in size. In each test case, our service returns the requests most of the time in so close to 0 millisecond time. We have also measured the Standard Deviation and Standard Error values for our proposed AJAX-based framework. Standard Deviation test results are given in Figure 3, and Standard Error test results are given in Figure 4. In Figure 5, we have calculated the average turnaround time for the traditional framework, which works request and response based, for retrieving the users private calendar, which is 32KB in size. In each test case, the CCS Web Service returns the requests average in 367 milliseconds. We have also measured the Standard Deviation and Standard Error values for the traditional framework. Standard Deviation test results are given in Figure 6, and Standard Error test results are given in Figure 7. 350 300 250 200 150 100 50 0 Average Turnaround Time Figure2. Average Turnaround Time for AJAX Model Standard Deviation 3.50 3.00 2.50 1.50 1.00 0.50 500 450 400 350 300 250 200 150 100 50 0 Standard Error Figure4. Standard Error for AJAX Model Average Turnaround Time Figure5. Average Turnaround Time for Traditional Model 1 1 Standard Deviation 1 1 8.00 6.00 4.00 8.00 6.00 4.00 Figure6. Standard Deviation for Traditional Model Figure3. Standard Deviation for AJAX Model

3.50 3.00 2.50 1.50 1.00 0.50 Standard Error Figure7. Standard Error for Traditional Model When we compare the turnaround time as a performance issue, our proposed AJAX-based frame work is much faster than the traditional model for retrieving users private calendar from the CCS. 6 Conclusion and Future Work We have developed a calendar server model called Collaborative Calendar-Server Web Services [8, 9] to provide calendaring and scheduling services over the internet. CCS has been implemented as a pure Web Services by using Java Language and Java Servlet Technology. We have integrated a calendaring and scheduling client into the GlobalMMCS Portal [16] developed by Community Grids Laboratory at Indiana University to access the CCS s Web Services in GlobalMMCS portal for calendaring and scheduling needs. Web Service Technology provides a new level of interoperability between different platforms and languages. By taking advantage of Web Service Technology, we have developed and implemented a calendaring and scheduling client, which can communicate with CCS s Web Services via AJAX Technology. In our proposed framework here, we have proved that our Collaborative Calendar-Server Web Services can also be accessed via AJAX based models by simply calling the associated CCS Web Service s interfaces in JavaScript by using calendarservice.js written by us, ws.js from IBM Corporation [12] and prototype.js. We have also measured turnaround time, standard deviation, and standard error values for our proposed AJAX model and traditional request/response systems. As expected, AJAX based model brings the result faster than the traditional request/response model. As a result, our proposed performance efficient AJAX based framework can be integrated into the CCS Web Services [8, 9] system, and the CCS Web Service [8, 9] system is provides a framework for implementing calendaring and scheduling applications to access its services from different languages and platforms. 7 References [1] S. H. Tom Noda, "Rich Internet Applications," 2005. http://www.uwebc.org/docs/final_1.pdf [2] Gmail web site. http://www.gmail.com [3] Google Maps Beta web site. http://maps.google.com/ [4] D. Booth, Haas, H., McCabe, F., Newcomer, E., and M. Champion, Ferris, C., and Orchard, D, "Web Service Architecture W3C Working Group Note," 2004. http://www.w3c.org/tr/ws-arch [5] F. C. Erik Christiensen, Greg Meredith, Sanjiva Weerawarana, "Web Service Description Language (WSDL) Version 1.1," 2001. http://www.w3.org/tr/wsdl [6] D. E. Don Box, Gobal Kakivaya, Andrew Layman, Dave Winer, "Simple Object Access Protocol (SOAP) Version 1.1," 2000. http://www.w3.org/tr/2000/note-soap- 20000508 [7] Internet Calendaring and Scheduling Core Object Specification web site. http://www.ietf.org/rfc/rfc2445.txt [8] Collaborative Calendar-Server Project web site. http://www.opengrids.org/wscalendar/ [9] M. Ahmet Fatih, W. Wenjun, and F. Geoffrey, "Internet Calendaring and Scheduling Core Object Specification (icalendar) Compatible Collaborative Calendar-Server (CCS) Web Services," 2006, p. 12. [10] J. J. Garret, "Ajax: A New Approach to Web Applications," 2005. http://www.adaptivepath.com/publications/essay s/archives/000385.php [11] Yahoo web site. http://www.yahoo.com [12] IBM Corporation web site. http://www.ibm.com [13] Prototype JavaScript framework web site. http://prototype.conio.net

[14] MySQL web site. http://www.mysql.com/ [15] Proposed framework interface web site. http://gf8.ucs.indiana.edu:18086/ajaxwscalen dar/index.jsp [16] Global Multimedia Collaboration System web site. http://www.globalmmcs.org/