# Package org.flowable.engine

package org.flowable.engine
Public API of the Flowable engine.
Typical usage of the API starts by the creation of a `ProcessEngineConfiguration` (typically based on a configuration file), from which a `ProcessEngine` can be obtained.
Through the services obtained from such a `ProcessEngine`, BPM and workflow operation can be executed:
`RepositoryService`: Manages `Deployment`s.
`RuntimeService`: For starting and searching `ProcessInstance`s.
`TaskService`: Exposes operations to manage human (standalone) tasks, such as claiming, completing and assigning tasks.
`IdentityService`: Used for managing users, groups and the relations between them.
`ManagementService`: Exposes engine administration and maintenance operations, which have no relation to the runtime exection of business processes.
`HistoryService`: Exposes information about ongoing and past process instances.
`FormService`: Access to form data and rendered forms for starting new process instances and completing tasks.

- Related Packages
  Package
  Description
  org.flowable.engine.app
  org.flowable.engine.cfg
  org.flowable.engine.compatibility
  org.flowable.engine.debug
  org.flowable.engine.delegate
  Interfaces used to include Java code in a process as the behavior of an activity or as a listener to process events with `JavaDelegate`s.
  org.flowable.engine.dynamic
  org.flowable.engine.event
  org.flowable.engine.form
  Classes related to the `FormService`.
  org.flowable.engine.history
  Classes related to the `HistoryService`.
  org.flowable.engine.interceptor
  org.flowable.engine.logging
  org.flowable.engine.migration
  org.flowable.engine.parse
  org.flowable.engine.repository
  Classes related to the `RepositoryService`.
  org.flowable.engine.runtime
  Classes related to the `RuntimeService`.
  org.flowable.engine.task
  Classes related to the `TaskService`.
  org.flowable.engine.test
  Helper classes for testing processes.
- Class
  Description
  BpmnChangeTenantIdEntityTypes
  CandidateManager
  DecisionTableVariableManager
  DefaultCandidateManager
  DefaultHistoryCleaningManager
  DynamicBpmnConstants
  DynamicBpmnService
  Service providing access to the repository of process definitions and deployments.
  FlowableEngineAgenda
  This interface exposes methods needed to manipulate the agenda implementation.
  FlowableEngineAgendaFactory
  FormService
  Access to form data and rendered forms for starting new process instances and completing tasks.
  HistoryCleaningManager
  HistoryService
  Service exposing information about ongoing and past process instances.
  IdentityService
  Service to manage `User`s and `Group`s.
  InternalProcessLocalizationManager
  ManagementService
  Service for admin and maintenance operations on the process engine.
  ProcessEngine
  Provides access to all the services that expose the BPM and workflow operations.
  ProcessEngineConfiguration
  Configuration information from which a process engine can be build.
  ProcessEngineLifecycleListener
  Interface describing a listener that gets notified when certain event occurs, related to the process-engine lifecycle it is attached to.
  ProcessEngines
  Helper for initializing and closing process engines in server environments.
  ProcessMigrationService
  Service to manager process instance migrations.
  RepositoryService
  Service providing access to the repository of process definitions and deployments.
  RuntimeService
  TaskService
  Service which provides access to `Task` and form related operations.