1. Software & Data Architecture
Software Architecture
● Set of structures of a software system (elements, relationships, visible properties).
● Set of principal design decisions (structure, behavior, non-functional properties,
implementation, goals, etc.).
▶ Important because:
● Vehicle for stakeholder communication.
● Manifests the earliest set of design decisions.
● Transferable abstraction of a system.
▶ Key elements:
● Components.
● Connectors.
● Configuration Topologies.
Components
Elements that encapsulate processing and data in a systems architecture.
● Subset of systems functionality and/or data.
● Access through an explicitly defined interface.
● May have a specific execution context.
▶ Types:
● Computations: does a computation (i.e. function).
● Memory/Data: maintains collection of data (i.e. database).
● State Manager (Coordinator): contains state and operations (i.e. workflow manager).
● Controller: governs a time sequence of events (i.e. scheduler).\
Connectors
Elements tasked with effecting and regulating interactions.
Topology
Set of specific associations between the components and connectors.
Architectural Pattern
A reusable solution to a commonly occurring problem in software architecture with a given
context.
1
, 3-Tier Architecture
● Components: clients, application servers, database servers.
● Connectors: RPC, messaging.
● Topology: three levels.
● Pros:
+ Maintainability.
+ Reusability.
+ Reliability.
+ Scalability.
● Cons:
- Tightly coupled.
- Less support for agile.
Data Architecture
The models, policies, rules, and standards that govern which data is collected and how it is
stored, arranged, integrated, and put to use in data systems and in organizations.
Operational Data Plane
Data produced and consumed by the business application.
Analytical Data Plane
Data that is used to determine business strategy and decisions.
2. Service-Oriented & Microservice Architecture
Web Service
Programmatically available application logic exposed over the internet.
Service-Oriented Architecture (SOA)
Composing applications by discovering and invoking network-available services. Utilizes
services as the construct to support the development of rapid, low-cost, and easy
composition of distributed applications.
▶ Web services in SOA perform encapsulated business activities:
● Self-contained business task (i.e. funds deposit).
● Full-fledged business process (i.e. automated purchasing of supplies).
● Application (i.e. demand forecasts).
● Service-enabled resource (i.e. access to a particular backend resource).
Types of Web Services
● Informational Services (i.e. weather report, simple financial info, etc.).
● Complex Services (i.e. supply chain application involving order taking, stocking
orders, sourcing inventory control, etc.).
2
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller tomdewildt. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.99. You're not tied to anything after your purchase.