Subject

Service-Oriented Architectures

1. Course Title Service-Oriented Architectures
Service-oriented architectures
2. Code F23L3S155
3. Study Programme Cloud Computing
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 6 / Summer
7. Number of ECTS credits 6
8. Teacher Боро Јакимовски, Панче Рибарски
9. Prerequisites for enrolling in the course Algorithms and Data Structures or Applied Algorithms and Data Structures
10. Objectives of the course programme (competences) The Service-Oriented Architectures course is designed to introduce students to the organization, design, and development of service-based distributed systems. Service-oriented architectures cover topics from software and systems engineering. From a software engineering perspective, students will be introduced to the analysis and design process for developing service-oriented applications, as well as to the organization of the software development process for systems based on service-oriented architectures. In terms of systems engineering, the course will cover the entire ecosystem of service-oriented and microservices-oriented architecture, its components, connectivity, collaboration, and coordination.
11. Course content Lectures:
1. Вовед во сервисно ориентирани архитектури
2. Слоеви на сервиси и микросервиси
3. Анализа и моделирање на софтвер со веб сервиси
4. Анализа и моделирање на софтвер со REST сервиси и микросервиси
5. Дизајн на сервисно API и договор кај веб сервиси
6. Дизајн на сервисно API и договор кај REST сервиси и микросервиси
7. Процес на развој на софвер со микросервисна архитектура
8. Системски дизајн на микросервисна архитектура
9. Безбедносни политики и заштита кај сервисно ориентираните архитектури

Practical Classes:
1. Монолитна архитектура
2. Микросервисна архитектура
3. Градбени единки
4. Влезна точка - API Gateway
5. Бази на сервиси
6. Пренос на пораки
7. Проект
8. Проект
9. Проект
12. Learning methods Lectures supported by slide presentations, interactive lectures, exercises (using hardware equipment and software packages), teamwork, solving simple examples and expanding knowledge with more complex tasks, guest lectures, independent completion of homework assignments, learning in an electronic environment (forums, consultations)
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 10 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities 15.1 and 15.2 completed
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Thomas Erl | Service-Oriented Architecture: Analysis and Design for Services and Microservices | Prentice hall | 2017
2. Sam Newman | Building Microservices: Designing Fine-Grained Systems | O`Reilly Media | 2015
22.2. Additional literature
No. Author Title Publisher Year