In recent years, we have seen an explosion in the capabilities of smartphones, and an increase in the availability of wireless connectivity solutions. With this, smartphones have become capable of acting as providers of mobile services. A mobile service is similar to a service in the well-known Service-Oriented Architecture paradigm, but hosted on a roaming device as opposed to a machine within a fixed network.Even with the large leaps in mobile technology in recent years, developers have traditionally been required to account for several challenges when creating mobile services.Such challenges include the reachability of services, the mobility and limited resources of devices, and the desire to support multiple mobile platforms. This thesis explores possible solutions to these and other challenges. This thesis describes three main contributions. Firstly, we contribute Odin2, a middleware solution which allows developers to create mobile services in a way that addresses the challenges above, while being based on familiar technologies to ease the learning curve of both service and client developers. Odin2's performance has been evaluated and has been shown to provide comparable performance to leading industry solutions.Furthermore, Odin2's usefulness as a middleware has been shown through the implementation of several types of mobile service applications, along with a large real-world case study, REMOTE-CR. Secondly, we contribute OdinTools, a toolkit that incorporates Model-Driven Engineering techniques to allow developers to partially generate cross-platform service implementations. Finally, we contribute the Odin Test Harness.Originally developed to aid in the testing of Odin2 and REMOTE-CR, the harness is suitable for simulating networked mobile applications running on many concurrent devices, and, crucially, testing the behavior of those applications in dynamic operating environments.