Using Web services, an embedded device can access remote data in a manner that is both friendlier and more firewall-compatible than conventional forms of RPC. The device can also transmit data upstream, allowing it to be monitored and configured over private and public networks. To provide this data, however, the device must run an application server—software traditionally developed for resource-rich environments. This paper examines how to embed such functionality into resource-constrained devices, using frameworks independent of any particular programming language.