Service-Oriented Architecture (Coursera)

Offered by University of Alberta,
Service-Oriented Architecture (Coursera)

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. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API).

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.

Course 4 of 4 in the Software Design and Architecture Specialization

Syllabus

WEEK 1
Web Technologies
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.

WEEK 2
Web Services
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.

WEEK 3
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.

WEEK 4
Capstone Challenge
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

AJAX for Web Developers (Coursera) Coursera
Coursera Instructor Network

AJAX for Web Developers (Coursera)

The "AJAX for Web Developers" course explores how modern websites update parts of a web page without the need to reload the entire page, providing a fluid and fast user experience. This course covers the relationship between client apps or websites and servers, the distinction between full page loads and AJAX, and the best use-cases for each.

Nov 16th 2026
3 Weeks
Python Data Representations (Coursera) Coursera
Rice University

Python Data Representations (Coursera)

This course will continue the introduction to Python programming that started with Python Programming Essentials. We'll learn about different data representations, including strings, lists, and tuples, that form the core of all Python programs. We will also teach you how to access files, which will allow you to store and retrieve data within your programs. These concepts and skills will help you to manipulate data and write more complex Python programs.

Nov 2nd 2026
4 Weeks
Quantitative Model Checking (Coursera) Coursera
EIT Digital

Quantitative Model Checking (Coursera)

The integration of ICT (information and communications technology) in different applications is rapidly increasing in e.g. Embedded and Cyber physical systems, Communication protocols and Transportation systems. Hence, their reliability and dependability increasingly depends on software. Defects can be fatal and extremely costly (with regards to mass-production of products and safety-critical systems).

Nov 2nd 2026
5-12 Weeks
Database Management Essentials (Coursera) Coursera
University of Colorado System

Database Management Essentials (Coursera)

Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy.

Nov 2nd 2026
5-12 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Nov 9th 2026
3 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Nov 2nd 2026
4 Weeks
Working with Integrated Development Environments (Coursera) Coursera
University of Leeds

Working with Integrated Development Environments (Coursera)

Integrated Development Environments (IDEs) are vital in increasing developer productivity and learning to work with them will help you create impressive software projects whether you're a beginner or have some programming experience. This course provides the essential skills and knowledge to excel in software development using Integrated Development Environments (IDEs). You'll cover IDE fundamentals, including environment setup, interface navigation, and valuable features like debugging.

Nov 16th 2026
2 Weeks