Lecture 11 (API & Event-Based Architectures) Flashcards

1
Q

What are “Platforms” ?

A
  1. Platforms connect different content creators and service providers by allowing them to offer their innovations and compete for customers on the platform.
  2. Platforms provide a wide variety of products or services, reducing costs by making use of the same infrastructure for multiple offerings.
  3. Platforms are structured to have two main components:
    • Core: The fundamental part of the platform that is essential for basic services and infrastructure.
    • Periphery: The other components of the platform have a modular structure that can be moved around, added, removed etc without affecting the core operations of the platform. This enables the platform to adapt as needed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the “Economic Perspective” of platforms?

A
  1. Two-sided market: Platforms enable direct or indirect interaction or transaction between two or more different sides of the platform.
  2. Network Effects: Mechanism in which the value of a product, service or platform depends on the number of actors of the same or another side of the platform.
    • presence of users on the same side (installed base) and presence of other actors (eg: complementors) both generate additional value.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the “Engineering Perspective” of platforms?

A

Platforms consist of building blocks of reusable resources, services and data that serves as a stable link for value creating activities between external producers and consumers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is “Modularity” ?

A

Modularity entails decoupling interoperable sub-systems of more complex interoperable systems into smaller interoperable units.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are “Modules” ?

A
  1. A Module is a unit whose elements are strongly/powerfully connected to each other, but loosely connected to the elements of other units (i.e loose coupling)
  2. Different units communicate/interact with each other through standard interfaces allowing for interoperability.
  3. Modularity enables abstraction of complexity in systems.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are two different approaches to system design?

A

Two different approaches to system design are: Integral or Monolithic and Modular. They are the opposite ends of the spectrum.

Integral Systems:
- High performance
- Tight coupling, makes it hard to change things, as a change in one results in making changes to other systems/sub-systems as well.
- Low flexibility
- Less durable and repairable

Modular Systems:
- Low performance
- Loose coupling makes it easier to make changes as systems are divided.
- High flexibility
- More durable and repairable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is “Platform Architecture” ?

A
  1. Burnswiker et al (2019): A platform architecture provides information about the internal architecture of a platform, consisting of technological components, that provide data and services and interrelationships between them.
  2. Baldwin and Woodard (2009): At root, a platform architecture provides the blueprint of how a platform provides its functionality (i.e data and services).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does the platform architecture actually entail/contain?

A
  1. Functions accessible through interface end points
  2. Technological components needed for those functions
  3. Detailed arrangement and interface between components
  4. Design rules (i.e system operation under different conditions)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are “Platform Interfaces” and what are its characteristics?

A

Platform Interfaces are predefined methods to interact and exchange with the platform and constitute boundaries of the platforms core. They inform:
- What resources can be accessed?
- Who can access them?
- What can be done with those resources?

Characteristics:
1. Modular -> numerous building blocks
2. Interoperable -> common standards SOAP or REST
3. Encapsulated -> controlled way to process requests to access data and functions of application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are “API’s” and its characteristics?

A

Application Programming Interface are set of tools for external developers to know how to build applications to interact with the platform to user its resources.

Characteristics:
1. Standardised -> responses pre-known
2. Secure -> single point of entry
3. Scalable -> can be called endlessly
4. Reusable -> can be mixed and match in systems
5. Extensible -> can be attached or added to existing infra

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How can API help with “value creation”?

A
  • Turn existing organisation data or service into reusable components for external collaborators or improve internal process.

Models: Free, freemium, subscription, revenue sharing, based on usage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is “API Economy” and why is it relevant?

A

Refers to controlled exchange of digital data and services and combined value exchange between provides and consumers of API alike.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are some common API standards?

A

Remote Procedure Call (RPC), Simple Object Access Protocol (SOAP), Representational State Transfer (REST) , Google Remote Procedure Call (gRPC) etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What the different ways in which API’s process queries?

A
  1. Synchronous: on the same clock and sequential -> I get it, i do it and give it immediately.
  2. Asynchronous: on different clock and parallel -> I get, I do it and give it when I am done.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Compare characteristics of Sync & Async API

A

Sync API:
1. Point to point: Data exchange between single source and receiver.
2. Request/Response: exchange based on request and responses eg: Request to GET, REST etc.
3. Sequential
4. Stopping integration: Have to wait for server response to proceed.
5. Banking and Finance to validate credentials etc.
6. Easy to design and implement, but less flexible and scalable

Async API:
1. One to many: Data exchange between single source and multiple receivers.
2. Publish/Subscribe: exchange based on events
3. Parallel
4. Non-blocking integration: Can do other things while waiting for response.
5. Web shops to process orders etc.
6. Greater flexibility, scalability but more complex to design and implement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Briefly compare “Microservices” and “Event-Driven Architecture” ?

A

Microservices are independent services that work together.

EDA focuses on exchange of events or messages between services to proceed.

17
Q

What are some “advantages” of EDA?

A
  1. Loose Coupling & Modularity
  2. Scalability & Flexibility
  3. Asynchronous Processing
  4. Real-time Processing
  5. Event sourcing & Auditing
  6. Process level fault tolerance & resilience
18
Q

What are some “limitations” of EDA?

A
  1. Complexity -> hard to understand flow of events
  2. Event Orchestration -> challenging to ensure correct order
  3. Learning curve
  4. Too loosely couples systems -> complete independence
19
Q

Define “IT-structure” ?

A

Refers to the overarching structure and properties of the relationships among the systems and applications in an organisations IT landscape.