Module/Course Title: Service-Oriented Architecture

Module course code

KOMS120501

Student Workload
119 hours

Credits

3 / 4.5 ETCS

Semester

5

Frequency

Odd Semester

Duration

16

1

Type of course

Field of Study Courses

Contact hours


40 hours of face-to-face (theoretical) class activity

Independent Study


48 hours of independent activity
48 hours of structured activities

Class Size

30

2

Prerequisites for participation (if applicable)

-

3

Learning Outcomes

  1. Students can demonstrate systematic thinking in analyzing and designing software and database solutions
  2. Students can apply effective methods in developing software and databases
  3. Students can create and evaluate software and database solutions
  4. Students can describe SOA (Service-Oriented Architecture) and apply it in creating web-based systems
  5. Students can design and Apply the REST architecture to create microservices
  6. Students can implement SOA and create applications using microservices approaches based on JavaScript framework

4

Subject aims/Content

Service-Oriented Architecture (SOA) typically provides an in-depth understanding of the concepts, principles, and techniques related to designing and implementing software systems using the SOA approach. Based on an understanding of architectural styles, students 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, students are able to implement SOA and create applications using microservices approaches based on the JavaScript framework.

Study Material
  1. Introduction to Service-Orientation
  2. Problems Solved by Service-Orientation
  3. Enterprise Architectures
  4. Effects of Service-Orientation on the Enterprise
  5. Goals and Benefits of Service-Oriented Computing
  6. Four Pillars of Service-Orientation
  1. The Four Characteristics of SOA
  2. The Four Common Types of SOA
  3. The End Result of Service-Orientation and SOA
  4. SOA Project and Lifecycle Stages
  1. Introduction to Service Layers
  2. Breaking Down the Business Problem
  3. Building Up the Service-Oriented Solution
  4. Logic Centralization and Service Normalization
  1. Analysis and Modeling with Web Services and Microservices
  2. Web Service Modeling Process
  1. Analysis and Modeling with REST Services  and Microservices
  2. REST Service Modeling Process
  3. Additional Considerations
  4. HTTP Request
  1. Utility Service Design
  2. Designing Schemas for Media Types
  3. JSON Type
  4. XML Type
  1. Service API and Contract Design with Web Services
  2. Service Model Design Considerations
  3. Web Service Design Guidelines

-

  1. Service Model Design Considerations
  2. Entity Service Design
  3. Utility Service Design
  4. Microservice Design
  5. Task Service Design
  6. Designing and Standardizing Methods
  7. Designing and Standardizing HTTP Headers
  8. Designing and Standardizing HTTP Response Codes
  9. Customizing Response Codes
  10. Stateless Complex Methods
  11. Stateful Complex Methods
  1. Service API and Contract Versioning with Web Services and REST Services
  2. Versioning Web Services
  3. Versioning REST Services
  4. Versioning and Compatibility
  5. Backwards Compatibility
  6. REST Service Compatibility Considerations
  1. Web Server and Web Services
  2. Client-Server Communication
  3. HTTP Request and Response Model
  4. Node.js for back end and tools

Running Node.js
Running JavaScript File using Node.js
Node.js Global Object
Process Object
Modularization
Node Package Manager

  1. Running HTTP Server
  2. HTTP Request Header
  3. HTTP Request Body
  4. Routing Request
  5. Response Status
  6. Response Header

Web Framework di Node.js
Web Services Deployment

  1. Backend System
  2. Frontend System
  1. Postman
  2. Front End Web Development
  3. Vue JS

5

Teaching methods

Synchronous:
Face-to-face lectures and discussions

Asynchronous:
Material served through e-learning and forum disccusion

6

Assesment Methods

Attendance and participation

7

This module/course is used in the following study programme/s as well

Computer Science Study Programme

8

Responsibility for module/course

  • A.A. Gede Yudhi Paramartha, S.Kom., M.Kom.
  • NIDN : 0022068803

9

Other Information

This is a general reading list that you may find useful, such as:

Books:

  1. Thomas Erl, 2016."Service-Oriented Architecture Analysis and Design for Services and Microservices". United States of America: Sevice Tech
  2. United States of America. 2015. "Microservices vs Service Oriented Architecture". United States of America: O’Reilly Media

Websites:

  1. https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
  2. https://www.restapitutorial.com/lessons/whatisrest.html
  3. https://jsonapi.org/format/
  4. https://laravel.com/docs/8.x/sanctum#introduction
  5. https://nodejs.org/en
  6. https://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm

Papers:

  1. Dragoni, N., Mulo, E., & Mecella, M. (2017). RESTful Web Services vs. "Big" Web Services: Making the Right Architectural Decision. Journal of Systems and Software, 130, 64-82.
  2. Supangkat, S. H., & Putro, A. S. (2010). SOA-Based Business Process Automation for Small and Medium Enterprises in Indonesia. International Journal of Information Management, 30(1), 68-76.

Videos:

  1. "What is Service-Oriented Architecture (SOA)?" by IBM Cloud Education: (Link: https://www.youtube.com/watch?v=49SALJfufkA)

  2. "Service-Oriented Architecture (SOA) Explained" by MuleSoft: (Link: https://www.youtube.com/watch?v=iheHp8OYU68)