This chapter examines various architectures that typically expect to make use of the World Wide Web to provide application services. This is done by providing web interfaces to application services. Applications with these web interfaces are typically called web services. The chapter focuses on Service-Oriented Architectures (SOAs), a paradigm by which various web services are called by another application to provide sub-parts of that application's needed work. According to the Open Group, an SOA is an architectural style that supports service orientation. Service orientation is a way of thinking in terms of the outcomes of services, and how they can be developed and combined. The chapter examines what is meant by a RESTful architecture, and provides a high-level comparison of the two most popular technologies for web services: non-RESTful web services and RESTful web services. The RESTful architectural style consists of constraints on data, constraints on the interpretation of data, constraints on components, and constraints on connectors between components.