UPI Study › Courses › System Analysis and Design › Free lessons › Lesson 5.5 Free with a free account
Service-Oriented vs. Client-Server Architecture: A Comparison
System Analysis and Design · Chapter 5: Interface Design and Systems ArchitectureSection 5.5 · lesson 38 of 698 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of System Analysis and Design.
Lesson complete
Earn the 3 college credits for System Analysis and Design
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: Core Concepts and Structures in Database Design →← What Is Systems Architecture? Key Traits and Building BlocksNext lesson: Core Concepts and Structures in Database Design →
In this lesson
Tiers, services, the enterprise service bus, and microservices.
- Describe client-server architecture, and 2-tier, 3-tier, and n-tier designs
- Explain services, the enterprise service bus, and loose coupling
- Explain microservices as an evolution of SOA
- Compare client-server and service-oriented architecture
Transcript
Everything said in the video, section by section (1,032 words). Read along, or search it.
Interface Design and Systems Architecture
Service-Oriented vs. Client-Server
The last section introduced monolithic and distributed systems. This one looks at two specific ways of structuring a distributed system. Client-server architecture, with its tiers. And service-oriented architecture, with its services and its enterprise service bus. We will also meet microservices, and see why these two approaches are partners rather than rivals.
Client-Server
Requesting and Supplying Over a Network
Client-server architecture splits an application's work between two roles. A client, which requests resources or services. And a server, which supplies them over a network. The variants differ in one way. How many distinct layers, or tiers, the work is split into. That is what separates a two-tier design from a three-tier, or an n-tier, design.
Figure 5.5a
2-Tier, 3-Tier, and n-Tier
In a two-tier design, the client handles both presentation and application logic, and connects directly to a data server. A small desktop application reading and writing a local database file is a typical example. It is simple to build. But it tightly couples the client to the database. So a schema change often means updating every single client installation. A three-tier design separates presentation, application logic, and data into three independent layers. An application server sits between the client and the database. A typical web application works this way. A browser, an application server, and a database server. That isolates the database from the client entirely, and lets each tier scale, change, or be replaced on its own. An n-tier design generalizes this further. It splits the middle layer into as many tiers as the system needs, such as separate web, business logic, and integration tiers. That is common in larger enterprise systems.
Service-Oriented Architecture
Functionality as Reusable Services
Service-oriented architecture, or S O A, takes a different starting point. Instead of asking how to layer a single application, it asks how to expose an organization's functionality as independent, reusable services. Any authorized application can call those services, regardless of the language or platform that built it. Imagine a check inventory service, or a process payment service. Once published, it can be reused by a website, a mobile app, and an internal tool alike. Instead of each one reimplementing the same logic, they all call the same service.
Figure 5.5b
The Enterprise Service Bus
Most S O A implementations route that communication through an enterprise service bus, or E S B. Here, six services surround the bus. Order, inventory, payment, shipping, customer, and reporting. Each one connects only to the bus. No service connects directly to any other service. Every conversation between services passes through the bus in the middle.
Why a Bus
Routing, Transformation, and Loose Coupling
Why route everything through a bus? The E S B is middleware that handles routing, message transformation, and mediation between services. A service publishes to the bus, and consumes from it, rather than connecting directly to every service it needs. That avoids the tangled, point-to-point wiring that grows naturally as more and more systems need to integrate. This structure produces loose coupling. A service depends only on the published interface another service exposes, never on how that service is built inside. As long as the interface's contract stays the same, the team that owns a service can rewrite its internals, change its technology, or move it to new infrastructure. And none of that forces a change on the services that call it.
An Evolution of SOA
Microservices
Microservices keep S O A's core idea, independent and loosely coupled services, but push it further in three ways. Services become smaller and more narrowly scoped, usually built around a single business capability, rather than a broad enterprise function. Each service typically owns its own data store, instead of drawing on a shared enterprise database. So a change to one service's data model cannot silently break another. And communication shifts away from a centralized E S B, toward lightweight, direct protocols, such as REST over H T T P, or simple messaging. That keeps the coordinating infrastructure thin, and puts more of the responsibility in the services themselves. There is one more difference, in deployment. S O A services are often released together, on a shared schedule. Each microservice is deployed, scaled, and updated independently.
Different Questions
Client-Server vs. Service-Oriented
Now let's compare client-server and service-oriented architecture directly. In client-server, the unit of design is a tier. Presentation, logic, or data. In S O A, it is a service, a discrete, reusable business capability. Client-server usually structures one application's internal layers. S O A integrates many applications across an organization. Tiers within one application are often closely related. Services are deliberately loosely coupled, through published interfaces. Client-server scales a tier, for example by adding more application servers. S O A scales individual services, based on their own demand. And client-server tiers usually share one consistent technology stack. S O A services can use different languages or platforms, as long as the interface contract holds.
Not Competitors
They Combine in Practice
So which one should you choose? Usually, that is the wrong question. Client-server and S O A answer different questions, which is why they are not really competitors. Client-server is about how a single application's own work is layered. S O A is about how independent capabilities are exposed, and shared, across many applications. In practice, the two combine. The application logic tier of an n-tier system is very often built internally, as a set of S O A or microservice-based services.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. Client-server architecture splits work between a client that requests, and a server that supplies, over a network. Two-tier, three-tier, and n-tier designs differ in how many independent layers separate the client from the data. Service-oriented architecture exposes functionality as independent, reusable services. An enterprise service bus is middleware that routes, transforms, and mediates messages between services. Loose coupling means depending only on a published interface, never on internals. And microservices are small, independently deployed services that typically own their own data.
Key Takeaways
What to Carry Forward
To pull this together. Two-tier, three-tier, and n-tier client-server designs differ in how many independent layers separate the client from the data. S O A exposes functionality as reusable services, typically routed through an enterprise service bus. Loose coupling means a service depends only on another service's published interface. Microservices push S O A further, with smaller, independently deployed services that own their own data, and use lightweight protocols. And client-server architecture and S O A answer different questions, and commonly combine in the same system.
About System Analysis and Design at UPI Study
System Analysis and Design (Computer Science 390) is a self-paced online course of 69 video lessons in 9 chapters, from the analyst's role and requirements to UML modeling, interface and database design, testing, maintenance and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take System Analysis and Design with UPI Study
Where the credit goes
Universities that work with NCCRS
System Analysis and Design carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About Service-Oriented vs. Client-Server Architecture: A Comparison
What is the difference between two-tier and three-tier client-server architecture?
What is an enterprise service bus in service-oriented architecture?
How are microservices different from traditional SOA?
Is client-server architecture an alternative to service-oriented architecture?
About the System Analysis and Design course
How many college credits is System Analysis and Design?
How much does System Analysis and Design cost and what is included?
Which universities accept UPI Study credits?
How long does System Analysis and Design take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in System Analysis and Design.
69 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →