Skip to content

AsyncAPI Designer

The Talisman AsyncAPI Designer is the central workspace for architecting event-driven systems. It allows developers to model the flow of data between internal microservices and external systems using a visual, topology-first approach.

The Designer automatically maintains the asyncapi.json specification in shared folder, which serves as the "Single Source of Truth" for your platform's event contracts.

async-api.png

Architecture Overview

The design process follows a 3-phase workflow: ConfigurationTopologyGeneration.


Configuration (Pre-requisites)

Before drawing lines on a graph, you must define the building blocks. These assets act as the "library" that your topology will reference.

Create Beans

Define the low-level connection details for your brokers.

  • File: [server]-beans.camel.yaml
  • Purpose: Handles SSL context, authentication, and connection pooling.
  • Example: artemis-beans.camel.yaml containing the JMS ConnectionFactory.
    • Location: shared

Create Templates

Create the reusable Camel route logic using placeholders.

operation-template.png

  • Send Template: Logic for publishing (e.g., set headers, log body).
  • Receive Template: Logic for consuming (e.g., error handling, transactions).
  • Key Placeholders: {{channel.address}}, {{channelId}}, {{serverId}}, {{operationId}}.
    • Location: shared

Create Schemas

Define Data Contracts to ensure type safety.

schema-design.png

  • Format: JSON Schema Draft 2020-12.
  • Example: Order.v1.schema.json defining the fields for an order.
  • Location: shared

AsyncAPI Topology

Once the configuration assets exist, you assemble them into a cohesive system map.

Create Server

Define the physical infrastructure and link it to the configuration.

server.png

  • Action: Define server (e.g., "Artemis").
  • Link: Attach artemis-beans.camel.yaml, artemis-send.camel.yaml, and artemis-receive.camel.yaml via the server properties.

Define Messages

Wrap your raw Schemas into formal AsyncAPI Messages.

  • Action: Create Order.v1 message.
  • Link: Point the payload to #/components/schemas/Order.v1.

Create Channel

Define the specific address where messages flow.

  • Action: Create order.received.v1.
  • Link: Assign the Server (Artemis) and the Message (Order.v1) to this channel.

Create Operations

Define the operations to consume from / produce into channels.

add_channel_and_operation.png

  • Action: Create onOrderReceived (Subscriber).
  • Project Assignment: Select the manager project ID.
  • External Systems: Check "External" if the operation belongs to a 3rd party to visualize it without generating code.

Generation

The final phase transforms your visual design into executable Apache Camel code.

Generate Project

If the target project (e.g., manager) does not exist, Talisman scaffolds the Git structure, Dockerfile or deployment resources, and application.properties from templates.

Generate Routes

Talisman combines your Templates with your Operations.

generate-routes.png

  • Output: Files named gen-{{operationId}}.camel.yaml are created inside the project's folder.
  • Mechanism: The placeholders in your templates are replaced with the actual values (channel addresses, server IDs, etc) from the AsyncAPI definition.

Result

Target project (e.g., manager) contains routes for all operations designed.

gen-artifacts.png


Runtime Observability

Talisman bridges the gap between Design and Runtime. When projects are deployed, the platform automatically collects throughput metrics from the running containers and overlays them onto your architecture diagrams.

High-Level Topology

Integration engineers can observe the volume of messages processed by each operation directly on the AsyncAPI Topology graph. This provides an instant "health check" of the entire system flow.

dashboard.png

Project Drill-Down

For deeper investigation, users can drill down into a specific Project (e.g., manager). This view displays the same live metrics at the Route Level, allowing you to identify bottlenecks or verify logic within specific Camel routes.

dashboard.png