Skip to main content

Introduction

Frank!Framework is an open-source, low-code integration framework for building message-based adapters and connecting systems. It uses XML configuration to define pipelines that receive, transform, and route messages — without writing application code.

Key Concepts

  • Adapter — A self-contained integration flow with a receiver (input) and a pipeline (processing logic).
  • Receiver — Listens for incoming messages (HTTP, JMS, file polling, scheduling, etc.).
  • Pipeline — A sequence of pipes that process the message step by step.
  • Pipe — A single processing unit (XSLT transformation, database query, API call, validation, etc.).
  • Sender — Delivers a message to an external system or resource.

How It Works

You define your integrations in XML configuration files. The framework loads these at startup and exposes each adapter as a running service. A typical adapter looks like this:

<Adapter name="HelloWorld">
<Receiver name="HelloWorldReceiver">
<ApiListener uriPattern="/hello" method="GET"/>
</Receiver>
<Pipeline>
<FixedResultPipe name="sayHello" returnString="Hello, World!"/>
</Pipeline>
</Adapter>

This creates an HTTP endpoint at /api/hello that responds with "Hello, World!". See the FixedResultPipe reference for all available attributes.

Choose Your Setup

Get Frank!Framework running in minutes using one of these approaches:

  • Docker — Run a pre-built image with Docker Compose. Recommended for most users.
  • Java (from source) — Build and run from source using Maven. For contributors or advanced customization.

What's Next

Once you have the framework running, head to Further Reading for links to configuration guides, deployment options, testing tools, and more.