PDF Notes: RING_VL2_SystemArchitecture_Microservices

    Master this deck with 20 terms through effective study methods.

    Generated from uploaded pdf

    Created by @abcdef

    What are the main characteristics that distinguish different types of APIs?

    APIs can be distinguished by several characteristics including provisioning (public, private, partner), technical design style (REST, GraphQL, RPC, SOAP), protocol used (HTTP(S), MQTT, AMQP), and data format (XML, JSON, YAML, CSV).

    What are the three types of API provisioning?

    The three types of API provisioning are public APIs, which are available to any developer; private APIs, which are used internally within an organization; and partner APIs, which are shared with specific business partners.

    How does REST differ from SOAP in API design?

    REST is an architectural style that uses standard HTTP methods and is stateless, while SOAP is a protocol that relies on XML messaging and has strict standards for security and transactions.

    What protocols are commonly used in API communication?

    Common protocols used in API communication include HTTP(S), MQTT, AMQP, CoAP, and SOAP, each serving different use cases and requirements.

    What data formats are typically supported by APIs?

    APIs typically support various data formats including XML, JSON, YAML, CSV, TXT, ODATA, and HTML, allowing for flexible data interchange.

    Why are most API types not suitable for transferring large amounts of data?

    Most API types are designed for transactional connections, focusing on quick, efficient exchanges of small data packets rather than bulk data transfers.

    What is the significance of loose coupling in API design?

    Loose coupling allows clients and servers to interact through data without depending on each other's internal workings, enhancing flexibility and scalability.

    What does statelessness mean in the context of REST APIs?

    Statelessness means that each API call is independent, with no stored context from previous requests, ensuring that each request is treated as a new transaction.

    How does caching improve the performance of APIs?

    Caching allows responses to be stored temporarily, reducing the need for redundant requests for the same resource, which improves response times and reduces server load.

    What is a uniform interface in REST APIs?

    A uniform interface means that each resource in a REST API has a unique identifier (URI), allowing for consistent access and interaction with the API.

    What is the concept of web-scale in software architecture?

    Web-scale refers to the ability to manage system growth that is not linear, addressing explosive changes in demand and load while decoupling user experience from underlying services.

    What are the key components of microservice architecture?

    Microservice architecture consists of small, independent services that communicate over a network, allowing for greater flexibility, scalability, and easier maintenance compared to monolithic architectures.

    What is the difference between horizontal and vertical integration in systems architecture?

    Horizontal integration involves connecting different systems or services at the same level of the supply chain, while vertical integration connects systems across different levels, from production to sales.

    How do APIs facilitate integration in supply chain management?

    APIs enable seamless communication and data exchange between different organizational units and systems within the supply chain, enhancing efficiency and coordination.

    What role does business logic play in software architecture?

    Business logic defines the rules and processes that govern how data is created, stored, and manipulated within an application, serving as the backbone of application functionality.

    When did the concept of web-scale SOA emerge, and what does it entail?

    The concept of web-scale SOA emerged in the 2010s, focusing on managing rapid growth and demand in software systems while decoupling user experience from backend services.

    What are the implications of using different data formats in APIs?

    Using different data formats in APIs can affect interoperability, ease of use, and performance, as some formats may be more suitable for specific applications or environments.

    Why is it important for APIs to have a unique identifier for each resource?

    Having a unique identifier for each resource allows for consistent access and interaction, making it easier for developers to work with the API and ensuring clarity in resource management.

    What challenges do organizations face when implementing APIs?

    Organizations may face challenges such as ensuring security, managing versioning, maintaining documentation, and ensuring compatibility with existing systems when implementing APIs.

    How can APIs support the concept of loose coupling in software systems?

    APIs support loose coupling by allowing different components of a system to communicate through well-defined interfaces, reducing dependencies and enabling easier updates and changes.