integration View
The integration view visualizes interface contracts, API protocols, message queues, and point-to-point data exchanges between distinct systems and services.
Visual Projection
Integration View showing REST APIs, Kafka event bus topics, and consumer services
Purpose & Target Audience
- Target Audience: Integration Architects, Middleware Engineers, API Designers, Data Engineers.
- Primary Use Cases:
- Mapping synchronous API connections (REST, GraphQL, gRPC).
- Documenting event-driven publish-subscribe architectures (Kafka, RabbitMQ, SQS).
- Analyzing interface protocols, payload formats, and network encryption.
- Tracking system coupling and interface contract evolution.
Supported Entity Types
| Entity Type | Role in Integration View | Description |
|---|---|---|
app | API Producer / Consumer | Microservices providing or consuming endpoints. |
component | Protocol Controller | Ingress routers, API gateways, or messaging consumers. |
system | Macro Endpoints | External SaaS systems or core partner platforms. |
infrastructure | Message Broker | Kafka clusters, event grids, queues, or service buses. |
data_object | Payload Schema | Events, messages, and API request/response contracts. |
Supported Relationships & Verbs
| Relationship Verb | Source Entity | Target Entity | Typical Representation |
|---|---|---|---|
flows_to | app, component | app, infrastructure | Data/event streaming edge |
reads | app, component | infrastructure, data_object | Consumer queue read / polling edge |
writes | app, component | infrastructure, data_object | Producer event emission edge |
depends_on | app | app, system | Synchronous RPC/REST invocation edge |
protects | component (Gateway), control | app, actor | Token validation & mutual TLS (mechanism "Authentication") |
Filtering & Layout Recommendations
- Recommended Layout:
auto_layout LeftToRight(standard producer-to-consumer flow). - Common Predicates:
include app where api_type == "REST" || api_type == "gRPC": Filter by protocol.include where tags contains "event-driven": Isolate asynchronous messaging.exclude_verb governed_by: Remove governance lines to reduce clutter.
Complete DSL Example
views {
integration v_order_event_stream "Order Processing Event Integrations" {
# Select producer and consumer applications
include app where tags contains "orders" || tags contains "payments"
include infra_kafka_cluster
include data_object where tags contains "events"
# Explicitly show integration verbs
include_verb flows_to both
include_verb reads both
include_verb writes both
# Horizontal message flow
auto_layout LeftToRight
# Custom styling for Kafka broker
style infrastructure where provider contains "Kafka" {
css_class "kafka-broker-highlight"
icon "message-square"
}
}
}