MCA-231
Service Oriented Architecture
Systems assembled from services — SOA and its patterns, XML, service design and governance, then microservices with Spring Boot and Docker.
- Semester
- Semester 3
- Credits
- 3
- Scheme
- 3 lectures a week
- Contact hours
- 40 across four units
- Category
- Core Elective - III
What the paper is
Service Oriented Architecture is a paper about how large systems are divided up, and it is unusual in covering both the older answer and the newer one. The first half is enterprise SOA — patterns, service design, orchestration, governance — and the second half is microservices, which exist largely because enterprise SOA became heavy.
That contrast is the paper's real content. Enterprise SOA centralises through an integration layer; microservices decentralise and accept the operational cost. Being able to argue either side is what the comparative questions are looking for.
The second half is also concrete: Spring Boot for building RESTful microservices, HATEOAS, security, Spring Cloud Config, and Docker containers with RabbitMQ and orchestration. It pairs with the Core Elective III lab and overlaps usefully with Enterprise Computing with JAVA.
What to concentrate on
- The comparison of SOA and microservices is the paper's standing long question. Prepare it on granularity, data ownership, communication, deployment and governance.
- For XML, the examinable parts are well-formedness, namespaces, DTD and schema — mechanical and quick. Do not over-invest here beyond being able to write and validate a small document.
- Know the principles and characteristics of microservices from the HoneyComb analogy, and be able to name the tradeoffs: independent deployment against distributed-system complexity.
Syllabus, unit by unit
Summarised from the approved scheme. Hours are the contact hours the scheme allots, which is a fair guide to where the marks sit.
Unit I · SOA, enterprise architecture and XML
10 hours- Service orientation in daily life; SOA and microservices architecture; the conceptual model of SOA
- Enterprise-wide SOA: considerations, strawman architecture, the SOA reference architecture
- Object-oriented analysis and design versus service-oriented analysis and design
- Patterns for SOA, pattern-based architecture for service-oriented applications, composite applications
- XML: advantages, well-formed XML, namespaces, DTD and schema
Unit II · Service design, big data and governance
10 hours- Principles of service design, non-functional properties for services
- Design of activity services, data services and client services
- Technologies for SOA: service enablement, integration and orchestration
- Big data and SOA: data concepts, characteristics of big data, technologies, service orientation for big data solutions
- SOA governance: strategic architecture governance, design-time and run-time governance, enterprise-wide implementation
- SOA best practices in strategy, development and governance
Unit III · Microservices and Spring Boot
10 hours- Microservices architecture: services for cloud and mobile, takeaways from SOA implementations, MSA in action
- Cloud services, hybrid cloud services and their considerations, cloud services and MSA
- The HoneyComb analogy; principles, characteristics and benefits of microservices
- Building microservices with Spring Boot: environment setup, RESTful microservices, HATEOAS, reactive services
- Implementing security, enabling cross-origin interactions, Spring Boot actuators
- Applying the concepts: deciding service boundaries, designing communication styles, orchestration
Unit IV · Spring Cloud and containers
10 hours- Overview of Spring Cloud and Spring Cloud Config
- Microservices and containers; concepts of Docker containers
- Deploying microservices into Docker; running RabbitMQ on Docker
- Using the Docker registry; container orchestration
- A case study on cloud SOA
How it is examined
- Question 1 is compulsory, covers the whole syllabus, and is made of objective or short-answer questions. It carries 12 marks.
- The rest of the paper is four units matching the four above. Each unit sets two questions and you attempt one, so there are four more answers at 12 marks each.
- Examiners are asked to map every question to a course outcome using Bloom's taxonomy, which is why questions are phrased as “apply”, “analyse” or “evaluate” rather than only “explain”.
The pass mark is 40 out of 100 in every paper.
Learning objectives
- The goals of service orientation, its benefits and its effects on an enterprise
- Introduction to XML and its advantages
- Analysis and design of service-oriented solutions
- Web services, REST API services, microservices and contract design
Assumed beforehand
- Programming experience
- Database Management System
- Computer Networks
- Software Engineering
- Web Technologies
Paired in the scheme with MCA-267 Lab based on Core Elective III.
Books it is taught from
- TB1Danny Ayers, Liam R. E. Quin and Joe Fawcett, “Beginning XML”, Wrox, 5th edition, 2012
- TB2Shankar Kambhampaty, “Service-Oriented Architecture & Microservices Architecture”, Wiley, 3rd edition, 2018
- TB3Rajesh R. V., “Spring 5.0 Microservices”, Packt Publishing, 2nd edition, 2017
Notes for MCA-231
Lecture notes, question papers and assignments filed against MCA-231 are in the library. Everything there has been checked by a moderator before it appears, and an account is free — new ones are approved by hand, which is what keeps the shelf clean.