he software development world has evolved quite a bit over the last 20 odd years. We went from object-oriented development to component-oriented development and now to service-oriented development. Each step along the way, the current programming methodology has borrowed useful ideas from its predecessor and tried to improve upon the technology. Service-oriented development seeks to decouple applications while still providing a robust, secure, and maintainable architecture.
In 2006, Microsoft quietly introduced a new product named Microsoft Robotics Studio (MSRS). MSRS, which has since been renamed to Microsoft Robotics Development Studio (MRDS) offers a service-oriented runtime along with tools that allow developers to build robotic applications. What most people have missed is that MRDS is more than just a tool for nerds that want to build their own R2-D2. MRDS utilizes components that will become mainstream in the next generation of service-oriented applications. This includes Decentralized Software Services (DSS) and Concurrency and Coordination Runtime (CCR)key components of the MRDS runtime.
DSS is a lightweight application model that can be used to monitor services interactively and in real time. CCR is an asynchronous programming model that allows you to easily build applications that process data concurrently. Combined, these components allow you to build powerful and distributed embedded systems that are capable of handling a vast amount of concurrent processes.
This article will explore some of the basics involved with creating a service with MRDS. You'll learn how to create a service that captures the coordinates of the mouse and makes it available to other services through the service state. Even though you'll be using MRDS, there is no need for you to have a robot and the MRDS software is free to download.