Systems Integration

Year
1
Academic year
2025-2026
Code
02000058
Subject Area
Software Engineering
Language of Instruction
English
Other Languages of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Elective
Level
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Programming.

Computer networks.

Distributed systems.

Databases.

Teaching Methods

Theoretical-practical classes, using audiovisual means, with exposition of fundamental concepts, principles, and theories, and with the resolution of complementary practical exercises that demonstrate the application of the contents to real situations.

Practical-laboratory classes, where the teacher should support the students in carrying out exercises that integrate multiple knowledge and in practical assignments.

The evaluation consists of a final exam and practical assignments. In the exam, theoretical questions will be posed, in which students will have to demonstrate their understanding of the subjects covered in the course unit.

Learning Outcomes

This course aims to provide students with advanced knowledge and competences to integrate and connect applications and systems with particular attention to the following cases:

- Interconnection of different modules of the same large application, with particular emphasis on aspects such as performance, security, and monitoring.

- Integration of computer applications from different sources, within the same organization.

- Integration of computer applications between different organizations.

Unfortunately, many of the real systems tend to use ad hoc solutions that are extremely fragile and ill-prepared to evolve. To solve these problems, students should learn how to integrate systems in a structured way. This course has a strong emphasis on integration with middleware systems, in particular, using approaches such as Service Oriented Architectures (SOA), Enterprise Service Buses (ESB), and reactive programming.

Work Placement(s)

No

Syllabus

- Integration Challenges
- Data Integration
XML Technologies (XML, XSL, XSLT, XQUERY, etc.), JSON, MessagePack, Protocol Buffers
Semantic Integration
- Function Integration
SOAP and REST Web Services
Modern Remote Procedure Calls technologies
Service Oriented Architecture (SOA)
Microservices Architectures: load-balancing, circuit breaker, service meshes
Inversion of Control
- Systems Integration through reactive programming
- Systems Integration through streams
Message-oriented middleware
Kafka and Kafka Streams
The Reactive Manifesto
Event Sourcing
- Middleware for Enterprise Systems
Distributed transactions, long transactions, business activities
Consensus Protocols
- Integration of legacy systems
- Other Integration Platforms
Java EE Connector Architecture (JCA)
Microsoft Sharepoint
SAP Netweaver.

Head Lecturer(s)

Filipe João Boavida Mendonça Machado de Araújo

Assessment Methods

Assessment
Project: 50.0%
Exam: 50.0%

Bibliography

•Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, by Gregor Hohpe & Bobby Woolf, Addison-Wesley Professional, 2004, ISBN: 0321200683

•Building Microservices: Designing Fine-Grained Systems 2nd Edition, O'Reilly Media; 2nd Ed. (October 5, 2021), ISBN-13: 978-1492034025

•G. Hohpe, "Your coffee shop doesn't use two-phase commit [asynchronous messaging architecture]," in IEEE Software, vol. 22, no. 2, pp. 64-66, March-April 2005.

•Julien Ponge, Arthur Navarro, Clément Escoffier, and Frédéric Le Mouël. 2021. Analysing the performance and costs of reactive programming libraries in Java. In Proceedings of the 8th ACM SIGPLAN REBLS 2021. ACM, New York, NY, USA, 51–60.

•Kafka Streams in Action, Second Edition: Event-driven applications and microservices 2nd Edition, by Bill Bejeck, Manning; 2nd ed. edition (May 28, 2024), ISBN-13: ‎ 978-1617298684

•Lamport, L. (2001). Paxos Made Simple. ACM SIGACT News 32, 4 (Whole Number 121, December 2001), 51–58.