Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EDU-1867 #2833

Open
wants to merge 49 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
38b1892
initial
jsundai May 15, 2024
e3d8a98
adding photos
jsundai Jun 3, 2024
7a988a4
edits and adding in images
jsundai Jun 5, 2024
8d46c80
sentence edits
jsundai Jun 5, 2024
ea563d9
merging images
jsundai Jun 5, 2024
ac87ef2
edits temporal service
jsundai Jun 5, 2024
96ea0a4
adding info
jsundai Jun 5, 2024
7ec76d8
Merge branch 'main' into evaluatetemporal-howitworks
jsundai Jun 6, 2024
b3ecb2f
edited images - removing lines
jsundai Jun 6, 2024
a1e6fcf
Merge branch 'evaluatetemporal-howitworks' of github.com:temporalio/d…
jsundai Jun 6, 2024
f514bab
cleaning up images
jsundai Jun 6, 2024
fcee393
incorporating feedback
jsundai Jun 13, 2024
1163703
removing extra space
jsundai Jun 13, 2024
de93308
changing image title
jsundai Jun 13, 2024
9411b09
updating
jsundai Jun 21, 2024
2e90912
Merge branch 'main' into evaluatetemporal-howitworks
jsundai Jul 23, 2024
291a35a
Merge branch 'main' into evaluatetemporal-howitworks
jsundai Jul 23, 2024
911051e
updates
jsundai Aug 22, 2024
9a4f11b
Merge branch 'main' into evaluatetemporal-howitworks
jsundai Aug 22, 2024
9f19f03
Merge branch 'evaluatetemporal-howitworks' of github.com:temporalio/d…
jsundai Aug 22, 2024
699502c
removing images and adding notes
jsundai Aug 26, 2024
5e30f2d
editing first quarter of page to SDK
jsundai Aug 26, 2024
43a3ea5
rough work on temporal service
jsundai Aug 26, 2024
1797548
cleaning it up and editing more, different drafted diagrams
jsundai Aug 26, 2024
da05c9d
finalizing revamp
jsundai Aug 27, 2024
0d43318
Merge branch 'main' into evaluatetemporal-howitworks
jsundai Aug 27, 2024
7f6830c
update anchors
jsundai Aug 27, 2024
77b50a7
Merge branch 'evaluatetemporal-howitworks' of github.com:temporalio/d…
jsundai Aug 27, 2024
1f3e396
small edits
jsundai Aug 27, 2024
ab17135
revisiting angela's feedback and making edits
jsundai Sep 27, 2024
5e369f9
first part of page edits based on feedbacl
jsundai Sep 29, 2024
e07e8d5
moving sentences around in flow
jsundai Sep 30, 2024
03d4b18
additional
jsundai Sep 30, 2024
b7cc496
reframing conclusion
jsundai Sep 30, 2024
babec64
changing to a tip
jsundai Sep 30, 2024
970f980
reframing intro
jsundai Sep 30, 2024
1221a95
additional
jsundai Sep 30, 2024
499be73
more edits
jsundai Sep 30, 2024
bf261e6
updating intro
jsundai Sep 30, 2024
6c97b46
some edits based on ericas feedback
jsundai Sep 30, 2024
cd2aa06
more edits
jsundai Oct 1, 2024
d406fb3
edits
jsundai Oct 1, 2024
fcf25fd
updates based on mason's feedback
jsundai Oct 2, 2024
f054660
combining page with major components
jsundai Oct 3, 2024
62020dc
updating image - from main site
jsundai Oct 3, 2024
b88f88e
change title
jsundai Oct 3, 2024
a30724e
additional changes
jsundai Oct 3, 2024
4787bb8
title
jsundai Oct 3, 2024
397bb63
small typo
jsundai Oct 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions docs/evaluate/how-it-works.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
jsundai marked this conversation as resolved.
Show resolved Hide resolved
id: how-it-works
title: How Temporal Works
sidebar_label: How It Works
description: This guide provides a short overview of How Temporal Works.
jsundai marked this conversation as resolved.
Show resolved Hide resolved
toc_max_heading_level: 4
keywords:
- temporal
- evaluate-temporal
- how-temporal-works

jsundai marked this conversation as resolved.
Show resolved Hide resolved
tags:
- temporal
- evaluate-temporal
- how-temporal-works
---

Temporal provides a comprehensive platform for building distributed applications with a focus on durability and reliability.

## Resilient applications by default

Temporal ensures your applications are reliable by default, handling everything from minor network outages to significant issues like unexpected reboots, or hardware failures.
By offloading the responsibility of failure management from the application to the platform, this removes the need for extensive coding, testing, and maintenance tasks.

This shift simplifies the development process and enables your application to seamlessly recover from disruptions.
It does so by automatically reconstructing its previous state.
Your application logic can be recovered, replayed, or paused from any previous point in the application process.
jsundai marked this conversation as resolved.
Show resolved Hide resolved


jsundai marked this conversation as resolved.
Show resolved Hide resolved
## How It Works
jsundai marked this conversation as resolved.
Show resolved Hide resolved
![HIW 1](/img/how-it-works/hiw-yourapplicationclient.png)
jsundai marked this conversation as resolved.
Show resolved Hide resolved

### Workflow
A Temporal application is the code you write, comprised of Workflow and Activities. Workflows are defined as code: either a function or an object method, depending on the language.
jsundai marked this conversation as resolved.
Show resolved Hide resolved
A Temporal Workflow defines your overall business logic. That business logic might involve moving money between bank accounts, processing orders, deploying cloud infrastructure, training an AI model, or something else entirely.
The Worker runs the Workflow and Activity code.

![HIW 2](/img/how-it-works/hiw-configuretimeout.png)
jsundai marked this conversation as resolved.
Show resolved Hide resolved

### Activity
jsundai marked this conversation as resolved.
Show resolved Hide resolved
Activities are functions which encapsulate logic that can potentially fail, such as network calls, file operations, or random number generation.
Activities are invoked in Workflow code and the Temporal Service coordinates with the application to execute them.

![HIW 3](/img/how-it-works/hiw-continuingtheworkflow.png)

### Temporal Service
Temporal consists of two components, the [Temporal Service](/evaluate/major-components#temporal-service) and an SDK in your preferred language such as Go, .NET, Java, Python, PHP, or Typescript.
The Temporal Service logs the progress and state of your application.
Once the application finishes executing the Activity, it communicates with the Temporal Service, which records the Activity's completion in the Workflow's Event History.
The Activity invocation is handled by the Temporal Service.
The Temporal Service updates the Event History and creates a Task for executing the Activity.

![HIW 4](/img/how-it-works/hiw-activityexecution.png)

### Recovering from Failure
A Temporal Workflow is basically a process or sequence of events you want to make sure will execute reliably.
They can run—and keep running—for years, even if the underlying infrastructure fails.
If the execution of your Workflow code crashes, Temporal automatically recreates its pre-crash state, allowing the Workflow to continue execution as if it never even happened.
Temporal provides built-in solutions for timers, event sourcing, state checkpointing, retries, and timeouts, removing the necessity for custom implementations.

![HIW 5](/img/how-it-works/hiw-recoveringfromfailure.png)

### Concluding the Workflow
In this example, there are two Activities. The second Activity is complete, but the Workflow function still has additional code to run.
The Temporal Service creates a new Task requesting that the application run the additional code.

![HIW 6](/img/how-it-works/hiw-concludingtheworkflow.png)


:::info
**Follow one of our tutorials to [Get started](https://learn.temporal.io/getting_started/) learning how to use a Temporal SDK.**
jsundai marked this conversation as resolved.
Show resolved Hide resolved

Or jump straight into the SDK docs for your preferred language:

- [Go SDK](/develop/go)
- [Java SDK](/develop/java)
- [PHP SDK](/develop/php)
- [Python SDK](/develop/python)
- [TypeScript SDK](/develop/typescript)
- [.NET SDK](/develop/dotnet)

For a deep dive into how Temporal SDKs work, visit the [Temporal SDKs Encyclopedia page](/encyclopedia/temporal-sdks).
:::
2 changes: 1 addition & 1 deletion docs/evaluate/major-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Or jump straight into the SDK docs for your preferred language:

For a deep dive into how Temporal SDKs work, visit the [Temporal SDKs Encyclopedia page](/encyclopedia/temporal-sdks).

## Temporal Service
## Temporal Service {#temporal-service}

**What is a Temporal Service?**

Expand Down
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ module.exports = {
},
items: [
"evaluate/why-temporal",
"evaluate/how-it-works",
"evaluate/major-components",
{
type: "category",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/how-it-works/hiw-configuretimeout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.