Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Orchestrate microservice-based process flows
| Date | Stars |
|---|---|
| 2026-07-24 | 359 |
| 2026-07-25 | 359 |
| 2026-07-28 | 359 |
| 2026-07-30 | 359 |
| 2026-08-06 | 359 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
<img src="https://github.com/ing-bank/baker/blob/master/baker-logo.png?raw=true" alt="Baker Logo">
[](https://github.com/ing-bank/baker/actions/workflows/ci.yml)
[](https://search.maven.org/artifact/com.ing.baker/baker-runtime)
[](https://codecov.io/gh/ing-bank/baker)
</div>
# Baker
Baker is a library that provides a simple and intuitive way to orchestrate microservice-based process flows.
You declare your orchestration logic as a recipe using the Java, Kotlin, or Scala DSL. A recipe consists of
`interactions` (system calls), `ingredients` (data), and `events`.
Bakers ability to visualize recipes provides a powerful communication tool that helps product owners, architects, and
engineers to have a common understanding of the business process. This feature allows you to easily share your recipe
with others, enabling collaboration and feedback.
Baker allows for the reuse of common interactions across different recipes, promoting consistency and reducing
duplication. With Baker, you can quickly assemble complex process flows by reusing pre-existing building blocks that
have been built by other teams within your company.
Use the list below to learn more about Baker:
- [Documentation](https://ing-bank.github.io/baker/)
- [Concepts](https://ing-bank.github.io/baker/sections/concepts/): high level concepts and terminology
- [Recipe DSL](https://ing-bank.github.io/baker/sections/cookbook/recipe-dsl/): how to use the recipe DSL
- [Visualization](https://ing-bank.github.io/baker/sections/cookbook/visualizations/): how to visualize a recipe
- [Baker Talk @ J-Fall 2021](https://www.youtube.com/watch?v=U4aCUT9zIFk): API orchestration taken to the next level
## A bird's-eye view of Baker
A recipe is the blueprint of your business process. To create this blueprint you use the Java, Kotlin, or Scala DSL. The
examples below demonstrate a recipe for a simple web shop process.
<details>
<summary>Java DSL</summary>
```java
final Recipe recipe=new Recipe("Web shop")
.withSensoryEvents(
CustomerInfoReceived.class,
OrderPlaced.class,
PaymentMade.class
)
.withInteractions(
InteractionDescriptor.of(ValidateOrder.class),
InteractionDescriptor.of(ReserveItems.class)
.withRequiredEvent(PaymentMade.class),
InteractionDescriptor.of(ShipGoods.class),
InteractionDescriptor.of(SendInvoice.class)
.withRequiredEvent(GoodsShipped.class)
)
.withDefaultFailureStrategy(
new RetryWithIncrementalBackoffBuilder()
.withInitialDelay(Duration.ofMillis(100))
.withDeadline(Duration.ofHours(24))
.withMaxTimeBetweenRetries(Duration.ofMinutes(10))
.build());
```
</details>
<details>
<summary>Kotlin DSL</summary>
```kotlin
val recipe = recipe("Web shop") {
sensoryEvents {
event<CustomerInfoReceived>()
event<OrderPlaced>()
event<PaymentMade>()
}
interaction<ValidateOrder>()
interaction<ReserveItems> {
requiredEvents {
event<PaymentMade>()
}
}
interaction<ShipGoods>()
interaction<SendInvoice> {
requiredEvents {
event<GoodsShipped>()
}
}
defaultFailureStrategy = retryWithIncrementalBackoff {
initialDelay = 100.milliseconds
until = deadline(24.hours)
maxTimeBetweenRetries = 10.minutes
}
}
```
</details>
<details>
<summary>Scala DSL</summary>
```scala
val recipe: Recipe = Recipe("Web shop")
.withSensoryEvents(
Event[CustomerInfoReceived],
Event[OrderPlaced],
Event[PaymentMade]
)
.withInteractions(
ValidateOrder,
ReserExcerpt of 6,936 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:d5460246bce21584, topic:serverless
matched fp:d5460246bce21584, topic:orchestration