Code: NIE-AM1 Middleware Architectures 1
Lecturer: doc. Ing. Tomáš Vitvar Ph.D. Weekly load: 2P+1C Completion: A, EX
Department: 18102 Credits: 5 Semester: W
Description:
Students will study new trends, concepts, and technologies in the area of service-oriented architectures. The will gain an overview of information system architecture, web service architecture and aplication servers. The will also study principles and technologies for middleware focused on application integrations, asynchronous communications and high availability of applications.

This course replaces the course MIE-MDW.
Contents:
1. Information system architecture.
2. Service oriented integration.
3. Integration patterns.
4. Resource-oriented web service architecture (REST).
5. Web service state model.
6. Web service interface properties.
7. Scalability, caching and concurrency control.
8. Message-oriented web service architecture (SOAP).
9. Application server architecture.
10. Application server services.
11. Application server services (2).
12. Principles of asynchronous service integration using queues and events.
13. Performance tuning and high availability of web applications.
Seminar contents:
1. Introduction, tools and architectures
2. RESTful - design, implementation, evaluation
3. Web Services - Basics, SOAP, WSDL
4. Application server and services
5. Messaging Systems
6. Scalability and High Availability
Recommended literature:
1. T. Erl : Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition).Prentice Hall, 2016. ISBN 978-0133858587.
2. E. El-Sheikh, A. Zimmermann, L. C. Jain : Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures. Springer, 2018. ISBN 978-3319821306.
3. L. Richardson, S. Ruby, M. Amundsen : RESTful APIs: Services for a Changing World. O?Reilly Media, 2013. ISBN 1449358063.
4. B. Burns : Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O?Reilly Media, 2018. ISBN 978-1-492-03177-2.
Keywords:
integration, web services, application server, scalability and high availability

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):