5 Design concepts Flashcards

1
Q

What is a reference architecture?

A

It is an abstract architecture that outlines key principles for systems within a specific domain.

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

How many reference architectures exist?

A

There are 5 reference architectures.

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

Name the existing reference architectures.

A
  1. Rich Client App (RCA)
  2. Rich Internet App (RIA)
  3. Web App
  4. Mobile App
  5. Service App
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are Web Apps, and what are their key features?

A
  • browser-based
  • server-side processing
  • layered: Presentation, Business, Data
  • suitable for low client resources, internet access, and portability
  • limited to forms, with page reloads
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What defines Rich Client Apps, and when are they ideal to use?

A
  • desktop-based
  • client-side processing
  • offline use
  • fast response times
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are Rich Internet Apps (RIA), and what are their strengths and limitations?

A
  • browser-based applications with plugins (e.g., Flash).
  • client-side processing (JS) without page reloads (Google Maps)
  • rich UI and easy updates
  • limited local resource access.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What makes Mobile Apps optimized, and for what environments are they best suited?

A
  • mobile-based
  • optimized for handheld devices, unreliable networks, and limited local resources, making them ideal for portable and resource-constrained environments.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are Service Apps, and how do they function?

A
  • service-oriented
  • non-interactive (only provide APIs)
  • no UI
  • loose coupling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the deployment patterns and their characteristics?

A
  • Non-distributed: Deployed on a single machine; simple but limited scalability. Web + Database together.
  • Two-Tier: Client + Server tiers are separated.
  • Three-Tier: Client + Application + Database tiers. Common for scalable web apps.
  • Four-Tier: Client + Web + Business Logic + Database tiers. It devides the client tier into client + web. Better scalability and security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are architectural patterns?

A

Architectural patterns are reusable solutions to common problems in software architecture.

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

Name three architectural pattern types, respective pattern names and describe them.

A
  • Performance pattern: Load-Balanced Cluster => distributes client requests acorss multiple servers to improve scalability/performance.
  • Structural pattern: Layers => hierarchical organization to reduce dependencies and ease maintenance.
  • Concurrency Pattern: Half-Sync/Half-Async => separates synchronous and asynchronous processing using a queueing layer.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are tactics?

A

Tactics are used to achieve specific system qualities: availability, performance.

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

Name the tactics for availability, performance and security.

A

Availability: Ping/Echo (fault detection), Voting (redundancy), Rollback (recovery)

Performance: Prioritization or concurrency

Security: Authentication

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