Competencies: Software Architecture > API & Integration Architecture
API & Integration Architecture
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
REST API Design |
Resource modeling, HTTP methods, status codes, HATEOAS, Richardson Maturity Model |
Critical |
Software Architect, Backend Developer |
GraphQL Architecture |
Schema design, resolvers, federation, subscriptions, batching with DataLoader |
High |
Software Architect, Backend Developer |
gRPC & Protocol Buffers |
Service definitions, streaming, code generation, performance optimization |
High |
Software Architect, Backend Developer |
API Gateway Patterns |
Request routing, authentication, rate limiting, API composition, BFF pattern |
Critical |
Software Architect, Backend Developer, DevOps Engineer |
API Versioning |
URL versioning, header versioning, semantic versioning, deprecation strategies |
High |
Software Architect, Backend Developer |
Webhook Architecture |
Event delivery, retry mechanisms, signature verification, idempotency |
High |
Software Architect, Backend Developer |
Integration Patterns |
Enterprise Integration Patterns, message routing, transformation, orchestration |
High |
Software Architect, Integration Engineer |
API Security |
OAuth 2.0, JWT, API keys, mutual TLS, CORS, input validation |
Critical |
Software Architect, Security Engineer, Backend Developer |
Contract Testing |
Consumer-driven contracts, Pact, OpenAPI validation, schema testing |
High |
Software Architect, Backend Developer, QA Engineer |
Async API Design |
WebSockets, Server-Sent Events, long polling, message queues for async |
High |
Software Architect, Backend Developer |
API Documentation |
OpenAPI/Swagger, API portals, developer experience, SDK generation |
High |
Software Architect, Backend Developer, Technical Writer |
Service Orchestration |
Workflow engines, choreography vs orchestration, saga coordination |
High |
Software Architect, Backend Developer |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
To be populated |
— |
— |
— |
— |