A Methodology for Engineering Collaborative Applications over Mobile Web Objects using SyD Middleware Sushil K.Prasad, Anu G. Bourgeois, Praveen Madiraju, Srilaxmi Malladi, and Janaka Balasooriya Department of Computer Science Georgia State University Atlanta, GA 30302 {sprasad, anu, cscpnmx, cscsrmx, cscjlbx}@cs.gsu.edu Abstract Future web applications will be more collaborative and will use the standard and ubiquitous Internet protocols. We have previously developed System on Mobile Devices (SyD) middleware to rapidly develop and deploy collaborative applications over heterogeneous and possibly mobile devices hosting web objects. In this paper, we present the software engineering methodology for developing SyD-enabled web applications and illustrate it through a case study on a System of Calendar application, with implementation on iPAQs and its performance metrics study. SyD-enabled web objects allow us to create a collaborative application rapidly with limited coding. In this case study, the modular software architecture allowed us to hide the inherent heterogeneity among devices, data stores, and networks by presenting a uniform and persistent object view of mobile calendar objects interacting through XML/SOAP requests and responses. The performance results we obtained show that the application scales well as we increase the group size and adapts well within the constraints of mobile devices. Keywords: Object and Web Service Coordination, SyD Coordination Bonds, Mobile Web Objects, Collaborative Applications 1. Introduction Rapid development of collaborative distributed applications by leveraging off existing web entities will be key to bringing the Internet’s collaborative potential to the users at large. Such collaborative applications span domains as diverse as personal applications (travel, calendaring and scheduling), enterprise e- commerce applications (supply chains, work flows, and virtual organizations), and scientific biomedical applications (biomedical data and process integration, and experiment workflows). The constituent autonomous entities, the sub-applications, and the coordinating applications themselves, are usually hosted on heterogeneous and autonomous, possibly mobile platforms [9]. There is an emerging need for a comprehensive middleware technology to enable development and deployment of these collaborative distributed applications over a collection of mobile (and wired) devices. This has been identified as one of the key research challenges recently [4, 12]. Our work is an ongoing effort to address this challenge, and in [15], we reported the design of System on Mobile Devices (SyD) middleware and its prototype implementation 1 . The current technology for the development of such collaborative web applications over a set of wired or wireless devices has several limitations. It requires explicit and tedious programming on each kind of device, both for data access and for inter-device and inter-application communication. A few existing middlewares have addressed some of the requirements of a comprehensive middleware [2, 6, 7, 8, 21]. For example, Proem [8] is one such platform for developing and deploying peer-to-peer (p2p) collaborative applications in a mobile ad-hoc networking environment. Commercial products such as .NET compact framework [11] and J2ME are also popular. In [1], authors describe issues related to service composition in mobile environments and evaluate criteria for judging protocols that enable such composition. ISAM [21] supports mobile collaborative applications using Java-based middleware. Yet another group of services such as Chef [3], Global-MMCS [20], and CAROUSEL [10] support collaboration primarily among people, not applications. The limitations of existing middlewares include: only 1 http://www.cs.gsu.edu/~yes Proceedings of the IEEE International Conference on Web Services (ICWS’05) 0-7695-2409-5/05 $20.00 IEEE