Skip to main content
The Atlan Application SDK uses two powerful tools to provide a Platform-as-a-Service (PaaS) interface on the Atlan Platform, enabling you to build resilient, scalable applications.

Dapr

A portable, event-driven runtime for building resilient microservice applications

Temporal

A microservices orchestration platform for scalable and reliable workflows

How They Work Together

1

Infrastructure Abstraction with Dapr

Dapr provides building blocks that abstract the underlying infrastructure, making it easy to work with state stores, pub/sub messaging, service invocation, and more without worrying about implementation details.
2

Workflow Orchestration with Temporal

Temporal schedules and executes workflows in a fault-tolerant way, handling retries, timeouts, and distributed coordination automatically.
3

Seamless Integration

The SDK combines both tools to give you the best of both worlds: infrastructure flexibility and workflow reliability.
New to these technologies? Check out these quick tutorials:

Package Structure

The application_sdk package is organized into focused modules with clear separation of concerns:

Core Application Components

Core application functionality and base classes for building your applications.
Manages Temporal workflow workers and their execution. Workers are responsible for picking up and executing workflows and activities.

Infrastructure and Clients

Client implementations for various services including SQL databases, object stores, and external APIs.
Shared utilities and common functionality used across the SDK.

Workflow and Activity Management

Workflow definitions and implementations. Workflows orchestrate the overall business logic.
Activity definitions and implementations. Activities are the individual units of work executed by workflows.
Event and request handlers for processing various types of requests.

Data Processing and Transformation

Data transformation utilities for converting between different formats (e.g., raw metadata to Atlas entities).
Input processing and validation to ensure data quality before processing.
Output formatting and handling for preparing results for storage or transmission.

Documentation and Testing

Documentation generation tools for creating API documentation.
Testing utilities and helpers for writing comprehensive tests.

Key Capabilities

The SDK provides comprehensive features for building production-ready applications:

Workflow Management

Orchestrate complex business logic through Temporal workflows with automatic retries and fault tolerance.

Activity Execution

Execute and coordinate individual units of work with proper error handling and monitoring.

Service Clients

Ready-to-use client implementations for databases, object stores, and external services.

Data Transformation

Transform data between formats with built-in transformers and the ability to create custom ones.

Documentation Generation

Automatically generate API documentation for your applications.

Testing Utilities

Comprehensive testing framework for end-to-end and unit tests.

Architecture Design Principles

The SDK follows a modular design with several key principles:
1

Separation of Concerns

Core application logic is isolated from infrastructure concerns, making it easier to test and maintain.
2

Modular Components

Workflow and activity management are separated, allowing you to reuse activities across different workflows.
3

Centralized Utilities

Common functionality is centralized in the common module, reducing duplication.
4

Dedicated Data Processing

Data transformation is handled through dedicated transformers, keeping conversion logic separate from business logic.

Benefits of This Design

Easy Extension

Add new functionality without modifying existing code.

Clear Boundaries

Well-defined module responsibilities make the codebase easier to navigate.

Testable

Modular design enables focused unit tests and integration tests.

Flexible Workflows

Compose workflows from reusable activities and handlers.

Efficient Processing

Optimized data transformation pipeline for handling large datasets.

Scalable

Leverage Temporal’s scalability for handling high workloads.
The SDK is designed for building scalable, reliable applications on the Atlan Platform, combining Dapr’s infrastructure abstraction with Temporal’s workflow orchestration.

Next Steps

Build SQL Applications

Learn how to build applications that extract metadata from SQL databases.

Testing Framework

Explore the testing framework for writing comprehensive tests.

Best Practices

Follow best practices for scalability, reliability, and performance.

Secret Stores

Learn how to securely manage credentials with secret stores.

Build docs developers (and LLMs) love