Service-Oriented Architecture: Layers

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What key characteristic defines how services communicate within a Service-Oriented Architecture (SOA)?

  • Direct memory access
  • Shared database connections
  • Standardized interface (correct)
  • Proprietary protocols

In a layered SOA, what is the role of the 'Wrapper Services Layer'?

  • To manage security and access controls
  • To implement complex business logic
  • To directly expose database tables to consumers
  • To expose functionalities of existing IT systems as services (correct)

Why is it considered beneficial for microservices to be 'loosely coupled'?

  • To reduce network latency
  • To simplify inter-service communication
  • To allow independent development and deployment (correct)
  • To maximize resource utilization on shared servers

In the context of microservices, what does 'atomic' typically imply?

<p>The service implements functionalities independently, related to one kind of entity. (A)</p> Signup and view all the answers

What is the primary function of an Enterprise Service Bus (ESB) in a SOA?

<p>To facilitate communication between microservices within an enterprise (A)</p> Signup and view all the answers

Which layer in a typical SOA is responsible for providing interfaces for user interaction?

<p>User Interface Layer (B)</p> Signup and view all the answers

How does implementing a business process as a composite microservice relate to reusability?

<p>It increases reusability by assembling reusable microservices. (D)</p> Signup and view all the answers

What is a key benefit of using microservices related to continuous integration and continuous deployment (CI/CD)?

<p>Microservices simplify dependency management, speeding up deployments. (A)</p> Signup and view all the answers

Which of the following is a characteristic of a composite microservice?

<p>It orchestrates or aggregates other microservices. (C)</p> Signup and view all the answers

What distinguishes a business process layer from other layers in a Service-Oriented Architecture?

<p>It orchestrates long-running user interactions or straight-through processes. (D)</p> Signup and view all the answers

Which of the following is NOT a typical responsibility of the atomic microservice?

<p>Managing multiple kinds of data entities. (B)</p> Signup and view all the answers

What role do container management systems like Docker Compose and Kubernetes play in microservices architectures?

<p>They are used to manage and orchestrate the deployment, scaling, and operation of microservices. (B)</p> Signup and view all the answers

In a microservice architecture, what is the purpose of an API Gateway?

<p>To provide a single entry point for external clients to access microservices. (C)</p> Signup and view all the answers

What impact do standards-based interfaces have on the interaction between microservices?

<p>They allow microservices to interact regardless of their underlying technology. (D)</p> Signup and view all the answers

Which of the following is a typical characteristic of a 'wrapper service'?

<p>It exposes functionality of a legacy system or external application. (B)</p> Signup and view all the answers

Flashcards

Service Definition

A unit providing one or more functionalities to support business needs, accessible over a network through a standard interface, independent of programming languages and platforms.

Service-Oriented Architecture

Turning all IT systems into services for flexibility.

Microservice

Small, independent service providing limited functionalities to support business needs.

Atomic Microservice

Implements expected functions independently, using only the data it manages.

Signup and view all the flashcards

Composite Microservice

Combines other services to implement functionalities according to a business process.

Signup and view all the flashcards

Wrapper service

It mainly exposes some functionalities of another application

Signup and view all the flashcards

Layers in SOA

Interfaces, Composite Services, Atomic Services, Wrapper Services, and IT Systems.

Signup and view all the flashcards

Benefits of Microservices

Reusable components that are loosely coupled, independently developed, and accessed through standards-based interfaces.

Signup and view all the flashcards

Microservice benefits

Enforces high modularity and simplifies complexity in enterprise solutions

Signup and view all the flashcards

Business Process Layer definition

A business process can be long-running involving user interaction and/or straight through

Signup and view all the flashcards

Atomic Microservice Layer

An atomic microservice can be independently developed and scalable

Signup and view all the flashcards

Wrapper Service Layer

A wrapper service is an IT system that exposes an external service

Signup and view all the flashcards

Study Notes

Layers of a Service-Oriented Architecture

  • This module explains the concept of atomic/simple and composite/complex microservices
  • To illustrate sample layers in a Service- Oriented Architecture (SOA)
  • To describe where microservices reside within an SOA layered architecture
  • Understand the benefits of a layered SOA for developing enterprise solutions

Definition of a Service in the Software World

  • A service provides multiple functionalities needed to support business requirements
  • Services are utilized by other applications or services over the network via a standard interface
  • Standard interfaces are independent of programming languages and platforms
  • The Service Provider Interface and the Service Consumer Interface refer to code at the provider and consumer end
  • These interfaces enable data exchange between the provider and the consumer

Service-Oriented Architecture

  • Consider turning all IT systems into services
  • Services can be small, simple, large, or complex
  • Develop and maintain enterprise solutions as assemblies of loosely-coupled services
  • Assemblies are managed at layers by either functionality or complexity

Microservices and MSA

  • A microservice is a service that can be independently developed and deployed
  • Has one or few functionalities needed to support business needs
  • Enterprise solutions consisting of assemblies of loosely-coupled microservices can be developed and maintained
  • Provides all functionalities as microservices, where microservices are relatively small and simple

Types of (Micro)Services

  • Atomic (Micro)Service (a.k.a. Simple (Micro)Service) implies single implementation
  • Atomic microservices are independent of other microservices/applications within an enterprise context, except commonly used applications
  • An atomic microservice is simple by providing limited functionality related to one kind of entity, where operations are simple CRUD of the data entities
  • Wrapper Service mainly exposes functionalities of another application, such as a legacy system
  • Composite (Micro) Service (a.k.a. Complex (Micro)Service) implies implementation of the expected functionalities by composing a sequence of services/applications according to a business process
  • Inter-process communication (IPC) technologies will often implement composition
  • A composite process (micro) service is is used to implement a business process involving more than one kind of data entities

Microservice Attributes

Attribute Atomic/Simple Composite/Complex
Independently Deployable Yes Yes
Independently Scalable Yes Yes
Language Yes Yes
Encapsulates single "atomic" entity (e.g., Customer, Product) single process (orchestrates atomic/composite (micro)services)
Naming Convention Noun such as book, order, shipping_record Verb such as Place order, Process shipping
Can Invoke Other Services Never Yes, it's their main purpose

Sample SOA Layers & Support Infrastructure for an Enterprise

  • User Interface Layer(s) provides the interfaces for interactive activities and can trigger a business process
  • Business Process Layer(s) can be long-running involving user interactions or straight-through
  • The Business process can be implemented as a (micro)service, usually composite
  • Composite (Micro) Services Layer(s) can directly communicate to other (micro) services and not IT systems or monoliths
  • An Atomic Microservices Layer(s) communicates with another atomic (micro)services
  • Wrapper Services Layer(s) expose a functionality of an IT system or a monolith or an external system and/service
  • IT Systems Layer(s) Applications (COTS, Custom or Legacy) providing functionalities that are NOT microservices
  • The API Gateways is managing accesses to microservices, usually for external service consumers
  • The Business Process Management Software Suites (BPMS) manages designs, modeling, analysis, implementation, execution & monitoring etc.
  • Enterprise Service Buses is managing accesses to microservices of internal uses in an enterprise, while Communication Technologies uses message brokers and HTTP servers
  • Container Management involves deploying and managing containers with tools like Docker

Benefits of Microservices and SOA Layers

  • Enforces a high degree of modularity and help to manage complexity in large enterprise solutions
  • Wrapper services have direct dependency on (monolithic) applications, making them modular than atomic microservices
  • (Micro)services interact with each other through standards-based interfaces based on programming languages or platforms
  • Common errors may be handled in a standard way
  • It is easier to change a (micro) service than change a monolith and support continuous integration and deployment (CI/CD) for changing business requirements

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Microservices Architecture Quiz
15 questions

Microservices Architecture Quiz

WarmheartedHeliotrope avatar
WarmheartedHeliotrope
Chapter 9 - Microservices
48 questions

Chapter 9 - Microservices

IdyllicResilience5759 avatar
IdyllicResilience5759
Applications Monolithiques vs Microservices
42 questions
Use Quizgecko on...
Browser
Browser