About This University Online Course:
Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture.
Created by: University of Alberta
Taught by: Kenny Wong, Associate Professor
Computing Science, Faculty of Science
In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API). After completing this course, you will be able to:
- Describe SOA (Service-Oriented Architecture) to structure web-based systems.
- Explain WS* services (i.e., SOAP over HTTP, WSDL, UDDI, BPEL).
- Apply REST architecture (i.e., JSON over HTTP, URI).
- Identify REST design principles.
- Create a system using REST interfaces.
- Apply microservice architecture.
Online Course Syllabus:
The course is Four modules long and is designed to be completed in four weeks.
In this module, we will introduce you to service-oriented architectures and their basic principles. Then, you will get a crash course on the technologies that underpin the Web, so that you are ready to learn about web services in the next module. This module also covers some earlier precursors of service-oriented architecture.
WS*-style web services are a “first generation” group of specifications that work together to allow developers to develop and use web services. They are all based on XML. In this module you will learn some of the most important specifications of WS*-style web services: SOAP, WSDL, UDDI, and BPEL
REST Architecture for SOA
RESTful web services are another style of web services based on lightweight HTTP methods. They have largely superseded WS*-style services because of their relative simplicity. In this module, you will learn about RESTful services and how to design them. You will also learn a bit about microservices, a software architecture for applications that is based on services.
In the previous modules, you determined an Android application’s information needs when storing data remotely. Now, in the final module of the course, you will fully connect the application to a remote Elasticsearch server to allow users to share information across their devices. After completing this task, you will be ready to complete the final exam.