Skip to main content

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 visual diagramintegration view visual diagram

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 TypeRole in Integration ViewDescription
appAPI Producer / ConsumerMicroservices providing or consuming endpoints.
componentProtocol ControllerIngress routers, API gateways, or messaging consumers.
systemMacro EndpointsExternal SaaS systems or core partner platforms.
infrastructureMessage BrokerKafka clusters, event grids, queues, or service buses.
data_objectPayload SchemaEvents, messages, and API request/response contracts.

Supported Relationships & Verbs

Relationship VerbSource EntityTarget EntityTypical Representation
flows_toapp, componentapp, infrastructureData/event streaming edge
readsapp, componentinfrastructure, data_objectConsumer queue read / polling edge
writesapp, componentinfrastructure, data_objectProducer event emission edge
depends_onappapp, systemSynchronous RPC/REST invocation edge
protectscomponent (Gateway), controlapp, actorToken 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"
}
}
}