7 Service-oriented architectures Flashcards
What is a very common type of service-oriented architecture used by big companies?
The cloud computing. It is composed by
(1) Software as a Service (SaaS): a whole application is provided without the need to install it (Google Docs). Customer buys the ability to use the product, but not the product itself
(2) Platform as a Service (PaaS) a development environment where you can run code and
(3) Infrastructure as a Service (IaaS) provide computer power/storage; it is basically a virtualized hardward.
What is service-oriented architecture (SOA)?
It is an architectural pattern where software components, called services, are designed to be independent, reusable and communicate over a network. These services perform specific business functions and interact with each other through well-defined interfaces, enabling flexibility, scalability and integration with other systems.
What are the three key aspects of SOA?
1. Loose interface: services interact with each other through well-defined, flexible interfaces.
2. Directory services: a registry is used to look up all available services
3. Process orientation: SOA is often associated with automated workflow processing.
Name the two main information representation formats for service-oriented architectures.
JSON: higher flexibility
XML: higher ressources and longer files
What is the Representational State Transfer (REST)?
It is a lightweight stateless architectural style used to enable services to interact via standard HTTP methods (GET, POST, PUT, DELETE).
What is Simple Object Access Protocol (SOAP)?
It is a more heavyweight communication protocol that uses XML messages for communication. It is suitable for complex, enterprise-level application. It relies on HTTP, SMTP or JMS for messaging.
What are microservices?
It is an architectural style where a large application is broken down into smaller, independent services that each focus on a specific business function.
Each microservice is self-contained, with its own database and development lifecycle, making it easier to develop, scale, and maintain.
What are the three architecture levels of microservices?
1. Domain architecture: structured on business topics
2. Macro architecture: defines rules across systems
3. Micro architecture: defines individual micro-services