J OURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm . Published by ETH Zurich, Chair of Software Engineering ©JOT, 2006 Vol. 5 No. 3, Special issue: .NET Technologies 2005 Conference, April 2006 Cite this article as follows: B. Vanhooff, D. Preuveneers, Y. Berbers: “.NET Remoting and Web Services: A Lightweight Bridge between the .NET Compact and Full Framework”, in Journal of Object Technology, vol. 5, no. 3, April 2006, Special issue: .NET Technologies 2005 Conference 2005, pp. 59-81 http://www.jot.fm/issues/issue_2006_04/article3 .NET Remoting and Web Services: A Lightweight Bridge between the .NET Compact and Full Framework Bert Vanhooff, K.U. Leuven, Department of Computer Science, Belgium Davy Preuveneers, K.U. Leuven, Department of Computer Science, Belgium Yolande Berbers, K.U. Leuven, Department of Computer Science, Belgium Abstract With the growing popularity of powerful connected mobile devices (PDAs, smart phones, etc.), an opportunity to extend existing distributed applications with mobile clients emerges. The Microsoft .NET Compact Framework offers a development platform for mobile applications but is lacking support for .NET Remoting, which is the .NET middleware infrastructure for inter-application communication. The current version of the .NET Compact Framework (1.0, SP2) does support communication using web services. Unfortunately this support cannot be used in its current form to seamlessly integrate with an existing .NET Remoting application. In this paper, we propose an approach that leverages the present support for web services and augments it to make such integration possible. Our solution dynamically maps back and forth between .NET Remoting and web service messages without needing to alter the existing Remoting applications. 1 INTRODUCTION .NET is a Microsoft brand name that encompasses a whole array of technologies. A few key terms associated with this brand name are connected systems, smart devices and web centric computing. These terms could be categorized under the more general denominator of distributed systems. In short, .NET offers a complete package of tools and technologies for developing applications, especially targeted towards distributed systems. The most important part of .NET is the .NET Framework [Mic], which consists of an execution environment for applications and a comprehensive class library. The framework includes .NET Remoting [Mcl03] in order to support the development of distributed applications. This is an extensible Distributed Object Computing (DOC) middleware infrastructure comparable to the Java Remote Method Invocation (RMI) [Sun] although the latter adopts an entirely different internal architecture.