# Core concept
An application is based on one or multiple processes that describe a specific feature in an application.
Processes are event-based, meaning that the steps that this process triggers are based on an event from a specific service.
Processes let you connect multiple services and execute a series of tasks when an event occurs.
Example: A process that listens for an event of Service A and triggers Service B and Service C only when some data match specific criteria.
A process is a list of steps that describes a specific business logic.
A step can be one of the following:
The first step of a process is the only step which must be either an event or a task's result trigger.
Processes can be graphically represented as a UML activity diagram with actions and conditions but without cycles and concurrency. Graphic representation is an excellent first step to conceptualize an application before implementing it.
A Service is a component of an application that can be reused and providing a list of tasks.
Any logic can be created with services, regardless of its complexity.
Each service runs in its Docker environment with a dedicated network between the service and its dependencies.