Web services is a technology, process, and software paradigm to extend the web from an infrastructure that provides services for humans to one that supports business integration over the web. This course presents concepts, features, and architectural models of web services from three perspectives: framework, process, and applications. Students will study three emerging standard protocols: Simple Object Access Protocol (SOAP); Web Services Description Language (WSDL); and Universal Description, Discovery, and Integration (UDDI). In contrast, Representational State Transfer (REST) is an architectural style for designing networked applications and exposing web services. REST delivers simplicity and true interoperability and is an alternative to complex mechanism such as CORBA, RPC, or SOAP-based web services and allows using simple HTTP to make calls between machines. The course will explain the REST principles and show how to use the Java standards for developing applications using RESTful API. Students will learn the benefits of and the technical architecture for using REST in applications, including how to design, build, and test RESTful services using Java and JAX-RS. This includes the role of key technologies such as HTTP, Extensible Markup Language (XML), and JavaScript Object Notation (JSON). Students also learn how to consume RESTful services in applications, including the role of JavaScript and Ajax, and how the RESTful approach differs from the SOAP-based approach, while comparing and contrasting the two techniques. Finally, the course will review other web services specifications and standards, and it will describe the use of web services to resolve business applications integration issues. WS-I Basic Profile and other guidance documents and recommended practices will be discussed in the context of achieving high levels of web services interoperability.
Course prerequisites: 
605.444 XML Design Paradigms or equivalent XML and Java programming experience; knowledge of the J2EE platform and programming model is recommended.
Course instructor: 

View Course Homepage(s) for this course.