Skip to content

Commit

Permalink
docs: new concept doc application (#992)
Browse files Browse the repository at this point in the history
Co-authored-by: Lukasz Gornicki <[email protected]>
Co-authored-by: akshatnema <[email protected]>
  • Loading branch information
3 people authored Dec 6, 2022
1 parent 02a1a6d commit 195b486
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 6 deletions.
42 changes: 42 additions & 0 deletions pages/docs/concepts/application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Application
weight: 23
---


## What is an application?
An application is any computer program or a group of them.

An application could also be a micro-service, IoT device (sensor), mainframe process, etc. Users may even write applications in different programming languages if they support one of the selected protocols.

## Why do we need applications?
In Event-Driven Architecture (EDA), an application must be a `producer`, a `consumer`, or both. Applications must also use the protocols the server supports if they wish to connect and exchange messages.

### Applications: producers and consumers
```mermaid
flowchart TD
A[PRODUCER application] --> B[message]
B --> C[channel]
C --> D[message]
D --> F[CONSUMER application]
```
The above diagram describes a message communication traveling through a channel between a **PRODUCER application** and a **CONSUMER application**.

<Remember>
When writing your AsyncAPI document, make sure to describe what a user can do with your application; not what the application does. In other words, if your <em>application</em> is a <b>producer</b>, your AsyncAPI document should describe where users can subscribe to, to receive messages produced by your <b>producer</b> application.
</Remember>

<DocsButton
suggestions={[
{
href: '/docs/concepts/channel',
title: 'Channel',
type:'back',
},
{
href: '/docs/concepts/protocol',
title: 'Protocol',
type:'next',
}
]}
/>
4 changes: 2 additions & 2 deletions pages/docs/concepts/channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ The diagram above shows the communication between a `producer` and `consumer`, w
title: 'Consumer',
},
{
href:'/docs/concepts/message',
href:'/docs/concepts/application',
type: 'next',
title: 'Message',
title: 'Application',
}
]}
/>
4 changes: 2 additions & 2 deletions pages/docs/concepts/message.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ Overall, `events` are `messages` but not all `messages` are `events`.
<DocsButton
suggestions={[
{
href:'/docs/concepts/channel',
href:'/docs/concepts/protocol',
type: 'back',
title: 'Channel',
title: 'Protocol',
},
{
href:'/docs/tutorials',
Expand Down
4 changes: 2 additions & 2 deletions pages/docs/concepts/protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ In AsyncAPI documents, all protocol-specific details that the application follow
title: 'Application',
},
{
href:'/docs/tutorials',
href:'/docs/concepts/message',
type: 'next',
title: 'Tutorials - Overview',
title: 'Message',
}
]}
/>

0 comments on commit 195b486

Please sign in to comment.