You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/02/20 03:45:19 UTC

[incubator-inlong] branch master updated: [INLONG-2605][Manager] Refactor the manager-workflow module (#2606)

This is an automated email from the ASF dual-hosted git repository.

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 842e73e  [INLONG-2605][Manager] Refactor the manager-workflow module (#2606)
842e73e is described below

commit 842e73e47240eac9c13882b3914ca3c511a53ab9
Author: healchow <he...@gmail.com>
AuthorDate: Sun Feb 20 11:45:13 2022 +0800

    [INLONG-2605][Manager] Refactor the manager-workflow module (#2606)
    
    * [INLONG-2605][Manager] Refactor the manager-workflow module
    
    * [INLONG-2605][Manager] Modify DataProxyConfig under inlong-common to support running the manager application locally
---
 .../commons/pojo/dataproxy/DataProxyConfig.java    |  44 ++-
 .../client/api/impl/DataStreamGroupImpl.java       |  53 +--
 inlong-manager/manager-common/pom.xml              |  11 +-
 .../manager/common/dao/ProcessInstanceStorage.java |  47 ---
 .../manager/common/dao/TaskInstanceStorage.java    |  48 ---
 .../common/enums/{Env.java => ApplicationEnv.java} |  20 +-
 .../manager/common/enums/ConsumptionStatus.java    |   8 +-
 .../EventState.java => enums/EventStatus.java}     |  20 +-
 .../ProcessState.java => enums/ProcessStatus.java} |   7 +-
 .../TaskState.java => enums/TaskStatus.java}       |  15 +-
 .../common/event/EventListenerRegister.java        |  30 --
 .../process/ProcessEventListenerRegister.java      |  48 ---
 .../event/task/TaskEventListenerRegister.java      |  47 ---
 .../common/exceptions/FormParseException.java      |   2 +-
 .../manager/common/model/WorkflowConfig.java       |  56 ---
 .../manager/common/model/instance/EventLog.java    | 227 -----------
 .../common/model/instance/ProcessInstance.java     | 208 -----------
 .../common/model/instance/TaskInstance.java        | 253 -------------
 .../manager/common/model/view/ElementView.java     |  94 -----
 .../manager/common/model/view/ProcessDetail.java   |  79 ----
 .../manager/common/model/view/ProcessView.java     |  91 -----
 .../manager/common/model/view/TaskListView.java    | 112 ------
 .../inlong/manager/common/model/view/TaskView.java | 114 ------
 .../manager/common/model/view/WorkflowView.java    |  76 ----
 .../pojo/agent/CheckAgentTaskConfRequest.java      |   2 +-
 .../manager/common/pojo/agent/DataConfig.java      |   4 +-
 .../common/pojo/agent/FileAgentCMDConfig.java      |   2 +-
 .../common/pojo/agent/FileAgentTaskConfig.java     |   2 +-
 .../common/pojo/agent/FileAgentTaskInfo.java       |   2 +-
 .../manager/common/pojo/audit/AuditRequest.java    |  14 +-
 .../common/pojo/cluster/ClusterRequest.java        |   2 +-
 .../CountByKey.java => pojo/common/CountInfo.java} |   7 +-
 .../common/pojo/datasource/SourceDbDetailInfo.java |   2 +-
 .../pojo/datasource/SourceFileDetailInfo.java      |   2 +-
 .../manager/common/pojo/workflow/ElementDTO.java}  |  34 +-
 .../view => pojo/workflow}/EventLogQuery.java      |  41 +-
 .../view => pojo/workflow}/EventLogView.java       |  35 +-
 .../workflow/ProcessCountQuery.java}               |  21 +-
 .../workflow/ProcessCountResponse.java}            |  19 +-
 .../ProcessDetailResponse.java}                    |  27 +-
 .../view => pojo/workflow}/ProcessQuery.java       |  46 +--
 .../workflow/ProcessResponse.java}                 |  51 ++-
 .../workflow/TaskCountQuery.java}                  |  37 +-
 .../workflow/TaskCountResponse.java}               |  17 +-
 .../common/pojo/workflow/TaskExecuteLogQuery.java} |  17 +-
 .../{model/view => pojo/workflow}/TaskQuery.java   |  53 +--
 .../workflow/TaskResponse.java}                    |  79 ++--
 .../pojo/workflow/WorkflowApproverQuery.java       |   2 +-
 .../workflow/WorkflowBriefDTO.java}                |  23 +-
 .../common/pojo/workflow/WorkflowResult.java       |  25 +-
 .../WorkflowTaskRequest.java}                      |  26 +-
 .../workflow/form/BaseProcessForm.java}            |  18 +-
 .../workflow/form/BaseTaskForm.java}               |   7 +-
 .../workflow/form}/BusinessAdminApproveForm.java   |   5 +-
 .../form/BusinessResourceProcessForm.java}         |   7 +-
 .../form}/ConsumptionAdminApproveForm.java         |   5 +-
 .../definition => pojo/workflow/form}/Form.java    |   7 +-
 .../workflow/form/NewBusinessProcessForm.java}     |   7 +-
 .../workflow/form/NewConsumptionProcessForm.java}  |  14 +-
 .../workflow/form}/ProcessForm.java                |  16 +-
 .../workflow/form}/TaskForm.java                   |   4 +-
 .../workflow/form/UpdateBusinessProcessForm.java}  |  31 +-
 .../inlong/manager/common/util/JsonTypeDefine.java |   6 +
 .../{LoginUserUtil.java => LoginUserUtils.java}    |   4 +-
 .../manager/common/workflow/QueryService.java      | 120 ------
 .../common/workflow/WorkflowContextBuilder.java    |  95 -----
 .../common/workflow/WorkflowDataAccessor.java      |  57 ---
 inlong-manager/manager-dao/pom.xml                 |   5 -
 .../inlong/manager/dao/entity/StorageEntity.java   |  19 -
 .../dao/entity/WorkflowEventLogEntity.java}        |  51 ++-
 .../manager/dao/entity/WorkflowProcessEntity.java} |  67 ++--
 .../manager/dao/entity/WorkflowTaskEntity.java     | 114 ++++++
 .../dao/mapper/ConsumptionEntityMapper.java        |   7 +-
 .../dao/mapper/TaskInstanceEntityMapper.java       |  26 --
 ...pper.java => WorkflowEventLogEntityMapper.java} |  21 +-
 ...apper.java => WorkflowProcessEntityMapper.java} |  21 +-
 ...tyMapper.java => WorkflowTaskEntityMapper.java} |  36 +-
 .../resources/mappers/ConsumptionEntityMapper.xml  |   7 +-
 .../resources/mappers/DataStreamEntityMapper.xml   |   2 +-
 .../src/main/resources/mappers/EventLogMapper.xml  | 139 -------
 .../resources/mappers/OperationLogEntityMapper.xml |  12 +-
 .../resources/mappers/TaskInstanceEntityMapper.xml | 194 ----------
 .../mappers/WorkflowApproverEntityMapper.xml       |  14 +-
 .../mappers/WorkflowEventLogEntityMapper.xml       | 139 +++++++
 ...yMapper.xml => WorkflowProcessEntityMapper.xml} |  77 ++--
 .../resources/mappers/WorkflowTaskEntityMapper.xml | 192 ++++++++++
 inlong-manager/manager-plugin-examples/pom.xml     |  10 +-
 .../inlong/manager/plugin/EmptyProcessPlugin.java  |  14 +-
 inlong-manager/manager-service/pom.xml             |  15 +-
 .../manager/service/core/ConsumptionService.java   |   2 +-
 .../service/core/SortTaskIdParamService.java       |   2 +-
 .../service/core/WorkflowApproverService.java      |   4 +-
 .../manager/service/core/WorkflowEventService.java |  29 +-
 .../service/core/impl/AgentTaskServiceImpl.java    |   2 +-
 .../core/impl/BusinessProcessOperation.java        |  45 ++-
 .../service/core/impl/BusinessServiceImpl.java     |   6 +-
 .../core/impl/CommonDBServerServiceImpl.java       |  20 +-
 .../core/impl/CommonFileServerServiceImpl.java     |  24 +-
 .../service/core/impl/ConsumptionServiceImpl.java  |  45 +--
 .../service/core/impl/DataStreamServiceImpl.java   |   4 +-
 .../manager/service/core/impl/UserServiceImpl.java |   4 +-
 .../core/impl/WorkflowApproverServiceImpl.java     |  33 +-
 .../core/impl/WorkflowEventServiceImpl.java        |  42 +--
 .../core/operationlog/OperationLogRecorder.java    |   4 +-
 .../manager/service/core/plugin/JarHell.java       | 100 ++---
 .../service/core/plugin/PluginClassLoader.java     |  60 ++-
 .../manager/service/core/plugin/PluginService.java |  28 +-
 .../manager/service/storage/StorageService.java    |   2 +-
 .../service/storage/StorageServiceImpl.java        |  29 +-
 .../hive/CreateHiveTableEventSelector.java         |  18 +-
 .../hive/CreateHiveTableForStreamListener.java     |  12 +-
 .../thirdpart/hive/CreateHiveTableListener.java    |  18 +-
 .../mq/CreatePulsarGroupForStreamTaskListener.java |  12 +-
 .../mq/CreatePulsarGroupTaskListener.java          |  15 +-
 .../mq/CreatePulsarResourceTaskListener.java       |  15 +-
 .../mq/CreatePulsarTopicForStreamTaskListener.java |  16 +-
 .../thirdpart/mq/CreateTubeGroupTaskListener.java  |  19 +-
 .../thirdpart/mq/CreateTubeTopicTaskListener.java  |  16 +-
 .../service/thirdpart/mq/PulsarEventSelector.java  |  13 +-
 .../service/thirdpart/mq/TubeEventSelector.java    |  12 +-
 .../service/thirdpart/mq/util/PulsarUtils.java     |   6 +-
 .../thirdpart/sort/PushHiveConfigTaskListener.java |  13 +-
 .../thirdpart/sort/ZkSortEventSelector.java        |  13 +-
 .../manager/service/workflow/ProcessName.java      |   3 +-
 .../workflow/ServiceTaskListenerFactory.java       |  38 +-
 .../service/workflow/WorkflowDefinition.java       |   4 +-
 .../service/workflow/WorkflowEngineConfig.java     |  60 ++-
 ...TaskExecuteLog.java => WorkflowExecuteLog.java} |  79 ++--
 .../service/workflow/WorkflowOperation.java        |   9 +-
 .../manager/service/workflow/WorkflowService.java  |  78 ++--
 .../service/workflow/WorkflowServiceImpl.java      | 226 +++++------
 .../service/workflow/WorkflowTaskOperation.java    |  46 ---
 .../business/CreateBusinessWorkflowDefinition.java |  21 +-
 .../business/DeleteBusinessWorkflowDefinition.java |  21 +-
 .../business/NewBusinessWorkflowDefinition.java    |  21 +-
 .../RestartBusinessWorkflowDefinition.java         |  21 +-
 .../SuspendBusinessWorkflowDefinition.java         |  22 +-
 .../listener/BusinessCancelProcessListener.java    |  15 +-
 .../listener/BusinessCompleteProcessListener.java  |  15 +-
 .../listener/BusinessFailedProcessListener.java    |  15 +-
 .../listener/BusinessPassTaskListener.java         |  18 +-
 .../listener/BusinessRejectProcessListener.java    |  15 +-
 .../listener/InitBusinessInfoListener.java         |  15 +-
 .../StartCreateResourceProcessListener.java        |  19 +-
 .../UpdateBusinessInfoCompleteListener.java        |  13 +-
 .../listener/UpdateBusinessInfoListener.java       |  13 +-
 .../NewConsumptionProcessDetailHandler.java        |  26 +-
 .../NewConsumptionWorkflowDefinition.java          |  31 +-
 .../listener/ConsumptionCancelProcessListener.java |  18 +-
 .../ConsumptionCompleteProcessListener.java        |  21 +-
 .../listener/ConsumptionPassTaskListener.java      |  19 +-
 .../listener/ConsumptionRejectProcessListener.java |  20 +-
 .../stream/CreateStreamWorkflowDefinition.java     |  25 +-
 .../stream/InitBusinessInfoForStreamListener.java  |  15 +-
 .../stream/StreamCompleteProcessListener.java      |  14 +-
 .../stream/StreamFailedProcessListener.java        |  15 +-
 .../core/impl/BusinessProcessOperationTest.java    |  22 +-
 .../service/core/plugin/PluginClassLoaderTest.java |  11 +-
 .../service/core/plugin/PluginServiceTest.java     |  10 +-
 .../service/mocks/MockDeleteSortListener.java      |  11 +-
 .../service/mocks/MockDeleteSourceListener.java    |  10 +-
 .../inlong/manager/service/mocks/MockPlugin.java   |  37 +-
 .../service/mocks/MockRestartSortListener.java     |  11 +-
 .../service/mocks/MockRestartSourceListener.java   |  10 +-
 .../service/mocks/MockStopSortListener.java        |  11 +-
 .../service/mocks/MockStopSourceListener.java      |  11 +-
 .../hive/CreateHiveTableEventSelectorTest.java     |   6 +-
 .../workflow/ServiceTaskListenerFactoryTest.java   |  18 +-
 .../service/workflow/WorkflowServiceImplTest.java  | 228 ++++++-----
 .../CreateBusinessWorkflowDefinitionTest.java      |   4 +-
 .../main/resources/sql/apache_inlong_manager.sql   | 415 +++++++++++----------
 .../manager-web/sql/apache_inlong_manager.sql      | 100 ++---
 .../manager/web/auth/AuthenticationFilter.java     |   6 +-
 .../web/config/ControllerExceptionHandler.java     |  18 +-
 .../manager/web/controller/AnnoController.java     |   4 +-
 .../manager/web/controller/BusinessController.java |  31 +-
 .../manager/web/controller/ClusterController.java  |  16 +-
 .../web/controller/CommonDBServerController.java   |   4 +-
 .../web/controller/CommonFileServerController.java |   4 +-
 .../web/controller/ConsumptionController.java      |  14 +-
 .../web/controller/DataStreamController.java       |  18 +-
 .../manager/web/controller/SourceDbController.java |  24 +-
 .../web/controller/SourceFileController.java       |  14 +-
 .../manager/web/controller/StorageController.java  |   8 +-
 .../manager/web/controller/UserController.java     |   8 +-
 .../web/controller/WorkflowApproverController.java |   8 +-
 .../manager/web/controller/WorkflowController.java | 128 ++++---
 .../web/controller/WorkflowEventController.java    |  41 +-
 .../manager/service/core/BusinessServiceTest.java  |   3 +
 .../service/core/DataStreamServiceTest.java        |   3 +
 .../service/workflow/WorkflowServiceTest.java      |  66 ----
 .../core/impl/EventListenerServiceImpl.java        | 142 -------
 .../workflow/core/impl/QueryServiceImpl.java       | 277 --------------
 .../workflow/core/impl/TaskServiceImpl.java        |  79 ----
 .../core/impl/WorkflowContextBuilderImpl.java      | 144 -------
 .../core/impl/WorkflowDataAccessorImpl.java        |  66 ----
 .../workflow/core/impl/WorkflowEngineImpl.java     | 133 -------
 .../core/impl/WorkflowEventListenerManager.java    |  44 ---
 .../WorkflowInternalEventListenerRegister.java     |  57 ---
 .../core/processor/AbstractTaskProcessor.java      |  69 ----
 .../workflow/core/processor/EndEventProcessor.java | 128 -------
 .../core/processor/ServiceTaskProcessor.java       | 139 -------
 .../core/processor/StartEventProcessor.java        | 100 -----
 .../workflow/core/processor/UserTaskProcessor.java | 236 ------------
 .../pom.xml                                        |  10 +-
 .../inlong/manager/workflow/WorkflowAction.java}   |  30 +-
 .../inlong/manager/workflow/WorkflowConfig.java    | 100 +++++
 .../inlong/manager/workflow}/WorkflowContext.java  |  81 ++--
 .../workflow/core}/EventListenerService.java       |  28 +-
 .../core/ProcessDefinitionRepository.java}         |  19 +-
 .../workflow/core}/ProcessDefinitionService.java   |  17 +-
 .../manager/workflow/core}/ProcessService.java     |  24 +-
 .../manager/workflow/core/ProcessorExecutor.java}  |  20 +-
 .../inlong/manager/workflow/core}/TaskService.java |  36 +-
 .../manager/workflow/core}/TransactionHelper.java  |  10 +-
 .../workflow/core/WorkflowContextBuilder.java      |  71 ++++
 .../manager/workflow/core}/WorkflowEngine.java     |  27 +-
 .../workflow/core/WorkflowQueryService.java        | 118 ++++++
 .../core/impl/EventListenerServiceImpl.java        | 132 +++++++
 .../impl/MemoryProcessDefinitionRepository.java}   |  20 +-
 .../core/impl/ProcessDefinitionServiceImpl.java    |  25 +-
 .../workflow/core/impl/ProcessServiceImpl.java     |  61 +--
 .../workflow/core/impl/ProcessorExecutorImpl.java} |  91 ++---
 .../workflow/core/impl/TaskServiceImpl.java        |  75 ++++
 .../core/impl/WorkflowContextBuilderImpl.java      | 152 ++++++++
 .../workflow/core/impl/WorkflowEngineImpl.java     | 123 ++++++
 .../workflow/core/impl/WorkflowEventNotifier.java  |  18 +-
 .../core/impl/WorkflowQueryServiceImpl.java        | 303 +++++++++++++++
 .../workflow}/definition/ApproverAssign.java       |   5 +-
 .../workflow}/definition/ConditionNextElement.java |   5 +-
 .../manager/workflow}/definition/Element.java      |   2 +-
 .../manager/workflow}/definition/EndEvent.java     |   2 +-
 .../workflow}/definition/NextableElement.java      |  37 +-
 .../workflow}/definition/ProcessDetailHandler.java |  12 +-
 .../manager/workflow}/definition/ServiceTask.java  |  44 +--
 .../definition/ServiceTaskListenerProvider.java    |   7 +-
 .../workflow}/definition/ServiceTaskType.java      |   7 +-
 .../manager/workflow}/definition/SkipResolver.java |   4 +-
 .../workflow}/definition/SkippableElement.java     |   9 +-
 .../manager/workflow}/definition/StartEvent.java   |  18 +-
 .../manager/workflow}/definition/UserTask.java     |  35 +-
 .../workflow/definition/WorkflowProcess.java}      |  53 +--
 .../manager/workflow/definition/WorkflowTask.java} |  36 +-
 .../manager/workflow}/event/EventListener.java     |   9 +-
 .../workflow}/event/EventListenerManager.java      |  13 +-
 .../event/EventListenerManagerFactory.java         |  52 +++
 .../workflow}/event/EventListenerNotifier.java     |  11 +-
 .../manager/workflow}/event/EventSelector.java     |   4 +-
 .../manager/workflow}/event/ListenerResult.java    |   2 +-
 .../workflow}/event/LogableEventListener.java      |  90 ++---
 .../manager/workflow}/event/WorkflowEvent.java     |   4 +-
 .../event/process/LogableProcessEventListener.java |  13 +-
 .../workflow}/event/process/ProcessEvent.java      |  15 +-
 .../event/process/ProcessEventListener.java        |   8 +-
 .../event/process/ProcessEventListenerManager.java |  34 +-
 .../event/process/ProcessEventNotifier.java        |  43 +--
 .../event/task/DataSourceOperateListener.java      |   8 +-
 .../event/task/LogableTaskEventListener.java       |  34 +-
 .../workflow}/event/task/QueueOperateListener.java |   8 +-
 .../workflow}/event/task/SortOperateListener.java  |   9 +-
 .../event/task/StorageOperateListener.java         |   9 +-
 .../manager/workflow}/event/task/TaskEvent.java    |  18 +-
 .../workflow}/event/task/TaskEventListener.java    |   7 +-
 .../event/task/TaskEventListenerManager.java       |  30 +-
 .../workflow}/event/task/TaskEventNotifier.java    |  32 +-
 .../inlong/manager/workflow}/plugin/Plugin.java    |   2 +-
 .../manager/workflow}/plugin/PluginBinder.java     |   2 +-
 .../manager/workflow}/plugin/PluginDefinition.java |   2 +-
 .../manager/workflow}/plugin/ProcessPlugin.java    |  13 +-
 .../AbstractNextableElementProcessor.java          |  16 +-
 .../workflow/processor/AbstractTaskProcessor.java  |  70 ++++
 .../workflow/processor/ElementProcessor.java}      |  20 +-
 .../workflow/processor/EndEventProcessor.java      | 129 +++++++
 .../workflow/processor/ServiceTaskProcessor.java   | 141 +++++++
 .../processor/SkipableElementProcessor.java}       |   9 +-
 .../workflow/processor/StartEventProcessor.java    | 101 +++++
 .../workflow/processor/UserTaskProcessor.java      | 241 ++++++++++++
 .../manager/workflow/util/WorkflowBeanUtils.java   | 124 ++++++
 .../workflow/util/WorkflowFormParserUtils.java     |  49 +--
 inlong-manager/pom.xml                             |   2 +-
 280 files changed, 5217 insertions(+), 6532 deletions(-)

diff --git a/inlong-common/src/main/java/org/apache/inlong/commons/pojo/dataproxy/DataProxyConfig.java b/inlong-common/src/main/java/org/apache/inlong/commons/pojo/dataproxy/DataProxyConfig.java
index 15e7ffa..4ba51ab 100644
--- a/inlong-common/src/main/java/org/apache/inlong/commons/pojo/dataproxy/DataProxyConfig.java
+++ b/inlong-common/src/main/java/org/apache/inlong/commons/pojo/dataproxy/DataProxyConfig.java
@@ -17,16 +17,54 @@
 
 package org.apache.inlong.commons.pojo.dataproxy;
 
-import lombok.Data;
-
 /**
  * DataProxy config
  */
-@Data
 public class DataProxyConfig {
 
     private String topic;
     private String m;
     private String inlongGroupId;
 
+    public DataProxyConfig() {
+    }
+
+    public DataProxyConfig(String topic, String m, String inlongGroupId) {
+        this.topic = topic;
+        this.m = m;
+        this.inlongGroupId = inlongGroupId;
+    }
+
+    @Override
+    public String toString() {
+        return "DataProxyConfig{topic='" + topic + '\''
+                + ", m='" + m + '\''
+                + ", inlongGroupId='" + inlongGroupId + '\''
+                + '}';
+    }
+
+    public String getTopic() {
+        return topic;
+    }
+
+    public void setTopic(String topic) {
+        this.topic = topic;
+    }
+
+    public String getM() {
+        return m;
+    }
+
+    public void setM(String m) {
+        this.m = m;
+    }
+
+    public String getInlongGroupId() {
+        return inlongGroupId;
+    }
+
+    public void setInlongGroupId(String inlongGroupId) {
+        this.inlongGroupId = inlongGroupId;
+    }
+
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java
index 5f60152..0218c4c 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java
@@ -17,9 +17,6 @@
 
 package org.apache.inlong.manager.client.api.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.inlong.manager.client.api.DataStream;
@@ -35,15 +32,19 @@ import org.apache.inlong.manager.client.api.util.AssertUtil;
 import org.apache.inlong.manager.client.api.util.DataStreamGroupTransfer;
 import org.apache.inlong.manager.client.api.util.InlongParser;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.model.ProcessState;
-import org.apache.inlong.manager.common.model.view.ProcessView;
-import org.apache.inlong.manager.common.model.view.TaskView;
+import org.apache.inlong.manager.common.enums.ProcessStatus;
 import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
 import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskResponse;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 public class DataStreamGroupImpl implements DataStreamGroup {
 
     private DataStreamGroupConf groupConf;
@@ -78,27 +79,28 @@ public class DataStreamGroupImpl implements DataStreamGroup {
     @Override
     public DataStreamGroupInfo init() throws Exception {
         WorkflowResult initWorkflowResult = managerClient.initBusinessGroup(this.groupContext.getBusinessInfo());
-        List<TaskView> taskViews = initWorkflowResult.getNewTasks();
-        AssertUtil.notEmpty(taskViews, "Init business info failed");
-        TaskView taskView = taskViews.get(0);
-        final int taskId = taskView.getId();
-        ProcessView processView = initWorkflowResult.getProcessInfo();
-        AssertUtil.isTrue(ProcessState.PROCESSING == processView.getState(),
-                String.format("Business info state : %s is not corrected , should be PROCESSING",
-                        processView.getState()));
-        String formData = processView.getFormData().toString();
+        List<TaskResponse> tasks = initWorkflowResult.getNewTasks();
+        AssertUtil.notEmpty(tasks, "Init business info failed");
+        TaskResponse task = tasks.get(0);
+        final int taskId = task.getId();
+
+        ProcessResponse processResponse = initWorkflowResult.getProcessInfo();
+        AssertUtil.isTrue(ProcessStatus.PROCESSING == processResponse.getStatus(),
+                String.format("Process status: %s is not corrected, should be PROCESSING",
+                        processResponse.getStatus()));
+        String formData = processResponse.getFormData().toString();
         Pair<BusinessApproveInfo, List<DataStreamApproveInfo>> initMsg = InlongParser.parseBusinessForm(formData);
         groupContext.setInitMsg(initMsg);
         WorkflowResult startWorkflowResult = managerClient.startBusinessGroup(taskId, initMsg);
-        processView = startWorkflowResult.getProcessInfo();
-        AssertUtil.isTrue(ProcessState.COMPLETED == processView.getState(),
+        processResponse = startWorkflowResult.getProcessInfo();
+        AssertUtil.isTrue(ProcessStatus.COMPLETED == processResponse.getStatus(),
                 String.format("Business info state : %s is not corrected , should be COMPLETED",
-                        processView.getState()));
+                        processResponse.getStatus()));
         return generateSnapshot(null);
     }
 
     @Override
-    public DataStreamGroupInfo suspend() throws Exception {
+    public DataStreamGroupInfo suspend() {
         Pair<String, String> idAndErr = managerClient.updateBusinessInfo(groupContext.getBusinessInfo());
         final String errMsg = idAndErr.getValue();
         final String groupId = idAndErr.getKey();
@@ -108,7 +110,7 @@ public class DataStreamGroupImpl implements DataStreamGroup {
     }
 
     @Override
-    public DataStreamGroupInfo restart() throws Exception {
+    public DataStreamGroupInfo restart() {
         Pair<String, String> idAndErr = managerClient.updateBusinessInfo(groupContext.getBusinessInfo());
         final String errMsg = idAndErr.getValue();
         final String groupId = idAndErr.getKey();
@@ -118,7 +120,7 @@ public class DataStreamGroupImpl implements DataStreamGroup {
     }
 
     @Override
-    public DataStreamGroupInfo delete() throws Exception {
+    public DataStreamGroupInfo delete() {
         BusinessInfo currentBusinessInfo = managerClient.getBusinessInfo(
                 groupContext.getBusinessInfo().getInlongGroupId());
         boolean isDeleted = managerClient.deleteBusinessGroup(currentBusinessInfo.getInlongGroupId());
@@ -129,7 +131,7 @@ public class DataStreamGroupImpl implements DataStreamGroup {
     }
 
     @Override
-    public List<DataStream> listStreams() throws Exception {
+    public List<DataStream> listStreams() {
         String inlongGroupId = this.groupContext.getGroupId();
         return fetchDataStreams(inlongGroupId);
     }
@@ -141,7 +143,7 @@ public class DataStreamGroupImpl implements DataStreamGroup {
         }
         String inlongGroupId = currentBizInfo.getInlongGroupId();
         List<DataStream> dataStreams = fetchDataStreams(inlongGroupId);
-        dataStreams.stream().forEach(dataStream -> groupContext.setStream(dataStream));
+        dataStreams.forEach(dataStream -> groupContext.setStream(dataStream));
         return new DataStreamGroupInfo(groupContext, groupConf);
     }
 
@@ -149,10 +151,9 @@ public class DataStreamGroupImpl implements DataStreamGroup {
         List<FullStreamResponse> streamResponses = managerClient.listStreamInfo(groupId);
         List<DataStream> streamList = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(streamResponses)) {
-            streamList = streamResponses.stream().map(fullStreamResponse -> {
-                return new DataStreamImpl(fullStreamResponse);
-            }).collect(Collectors.toList());
+            streamList = streamResponses.stream().map(DataStreamImpl::new).collect(Collectors.toList());
         }
         return streamList;
     }
+
 }
diff --git a/inlong-manager/manager-common/pom.xml b/inlong-manager/manager-common/pom.xml
index bffdc89..3742fe3 100644
--- a/inlong-manager/manager-common/pom.xml
+++ b/inlong-manager/manager-common/pom.xml
@@ -31,6 +31,12 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.inlong</groupId>
+            <artifactId>inlong-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <exclusions>
@@ -163,11 +169,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.inlong</groupId>
-            <artifactId>inlong-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
 
 </project>
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/ProcessInstanceStorage.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/ProcessInstanceStorage.java
deleted file mode 100644
index e818b5c..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/ProcessInstanceStorage.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.dao;
-
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
-import org.apache.inlong.manager.common.model.view.CountByKey;
-import org.apache.inlong.manager.common.model.view.ProcessQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryQuery;
-
-import java.util.List;
-
-/**
- * Process instance DAO
- */
-public interface ProcessInstanceStorage {
-
-    /**
-     * Insert process example record
-     *
-     * @param processInstance Process instance object
-     * @return Process application ID
-     */
-    Integer insert(ProcessInstance processInstance);
-
-    void update(ProcessInstance processInstance);
-
-    ProcessInstance get(Integer id);
-
-    List<ProcessInstance> listByQuery(ProcessQuery query);
-
-    List<CountByKey> countByState(ProcessSummaryQuery query);
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/TaskInstanceStorage.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/TaskInstanceStorage.java
deleted file mode 100644
index a71700e..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/TaskInstanceStorage.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.dao;
-
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.model.TaskState;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
-import org.apache.inlong.manager.common.model.view.CountByKey;
-import org.apache.inlong.manager.common.model.view.TaskQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryQuery;
-
-/**
- * Task instance
- */
-public interface TaskInstanceStorage {
-
-    int insert(TaskInstance taskInstance);
-
-    int update(TaskInstance taskInstance);
-
-    TaskInstance get(Integer id);
-
-    List<TaskInstance> list(@Param("processInstId") Integer processInstId, @Param("state") TaskState state);
-
-    int countTask(@Param("processInstId") Integer processInstId, @Param("name") String name,
-            @Param("state") TaskState state);
-
-    List<TaskInstance> listByQuery(TaskQuery query);
-
-    List<CountByKey> countByState(TaskSummaryQuery query);
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Env.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ApplicationEnv.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Env.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ApplicationEnv.java
index 70ef466..fe32f5b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Env.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ApplicationEnv.java
@@ -18,16 +18,16 @@
 package org.apache.inlong.manager.common.enums;
 
 import com.google.common.collect.Lists;
-import java.util.Map;
-import java.util.function.Function;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.util.InLongCollectionUtils;
 
+import java.util.Map;
+import java.util.function.Function;
+
 /**
- * Env info
- *
+ * ApplicationEnv info
  */
-public enum Env {
+public enum ApplicationEnv {
     /**
      * Development env
      */
@@ -43,16 +43,16 @@ public enum Env {
      */
     PROD;
 
-    private static final Map<String, Env> NAME_MAP = InLongCollectionUtils.transformToImmutableMap(
-            Lists.newArrayList(Env.values()),
-            Env::name,
+    private static final Map<String, ApplicationEnv> NAME_MAP = InLongCollectionUtils.transformToImmutableMap(
+            Lists.newArrayList(ApplicationEnv.values()),
+            ApplicationEnv::name,
             Function.identity()
     );
 
-    public static Env forName(String name) {
+    public static ApplicationEnv forName(String name) {
         String nameUpper = StringUtils.upperCase(name);
         if (!NAME_MAP.containsKey(nameUpper)) {
-            throw new IllegalArgumentException("Env type not support");
+            throw new IllegalArgumentException("ApplicationEnv type not support");
         }
 
         return NAME_MAP.get(nameUpper);
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ConsumptionStatus.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ConsumptionStatus.java
index 8706f6e..7a5d807 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ConsumptionStatus.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ConsumptionStatus.java
@@ -34,10 +34,10 @@ import org.apache.inlong.manager.common.util.Preconditions;
 public enum ConsumptionStatus {
 
     @ApiModelProperty(value = "To be allocated: 10")
-    WAITING_ASSIGN(10),
+    WAIT_ASSIGN(10),
 
     @ApiModelProperty(value = "Pending approval: 11")
-    WAITING_APPROVE(11),
+    WAIT_APPROVE(11),
 
     @ApiModelProperty(value = "Approval rejected: 20")
     REJECTED(20),
@@ -49,9 +49,9 @@ public enum ConsumptionStatus {
     CANCELED(22);
 
     public static final Set<ConsumptionStatus> ALLOW_SAVE_UPDATE_STATUS = ImmutableSet
-            .of(WAITING_ASSIGN, REJECTED, CANCELED);
+            .of(WAIT_ASSIGN, REJECTED, CANCELED);
 
-    public static final Set<ConsumptionStatus> ALLOW_START_WORKFLOW_STATUS = ImmutableSet.of(WAITING_ASSIGN);
+    public static final Set<ConsumptionStatus> ALLOW_START_WORKFLOW_STATUS = ImmutableSet.of(WAIT_ASSIGN);
 
     private static final Map<Integer, ConsumptionStatus> STATUS_MAP = InLongCollectionUtils.transformToImmutableMap(
             Lists.newArrayList(ConsumptionStatus.values()),
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/EventState.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EventStatus.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/EventState.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EventStatus.java
index ab696ba..026e1ad 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/EventState.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EventStatus.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model;
+package org.apache.inlong.manager.common.enums;
 
 import org.apache.inlong.manager.common.exceptions.WorkflowException;
 
 /**
  * Logging event status
  */
-public enum EventState {
+public enum EventStatus {
 
     /**
      * Executing
@@ -39,18 +39,18 @@ public enum EventState {
      */
     FAILED(-1);
 
-    int state;
+    int status;
 
-    EventState(int state) {
-        this.state = state;
+    EventStatus(int status) {
+        this.status = status;
     }
 
-    public int getState() {
-        return state;
+    public int getStatus() {
+        return status;
     }
 
-    EventState fromState(int state) {
-        switch (state) {
+    EventStatus fromState(int status) {
+        switch (status) {
             case 0:
                 return EXECUTING;
             case 1:
@@ -58,7 +58,7 @@ public enum EventState {
             case -1:
                 return FAILED;
             default:
-                throw new WorkflowException("unknow state:" + state);
+                throw new WorkflowException("unknown status: " + status);
         }
     }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/ProcessState.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ProcessStatus.java
similarity index 91%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/ProcessState.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ProcessStatus.java
index e946595..f879627 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/ProcessState.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ProcessStatus.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model;
+package org.apache.inlong.manager.common.enums;
 
 /**
- * Process state
+ * WorkflowProcess status
  */
-public enum ProcessState {
+public enum ProcessStatus {
     /**
      * Processing
      */
@@ -45,4 +45,5 @@ public enum ProcessState {
      * Terminated
      */
     TERMINATED
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/TaskStatus.java
similarity index 81%
copy from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java
copy to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/TaskStatus.java
index a2647c1..b3d091e 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/TaskStatus.java
@@ -15,17 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model;
+package org.apache.inlong.manager.common.enums;
 
 import com.google.common.collect.ImmutableSet;
 
 import java.util.Set;
 
 /**
- * Task status
- *
+ * WorkflowTask status
  */
-public enum TaskState {
+public enum TaskStatus {
 
     /**
      * Pending
@@ -48,9 +47,9 @@ public enum TaskState {
     CANCELED,
 
     /**
-     * Transfered
+     * Transferred
      */
-    TRANSFERED,
+    TRANSFERRED,
 
     /**
      * Terminated
@@ -76,6 +75,6 @@ public enum TaskState {
     /**
      * Completed
      */
-    public static Set<TaskState> COMPLETED_STATES = ImmutableSet
-            .of(APPROVED, REJECTED, CANCELED, TRANSFERED, TERMINATED, COMPLETED, FAILED, SKIPPED);
+    public static Set<TaskStatus> COMPLETED_STATUS = ImmutableSet
+            .of(APPROVED, REJECTED, CANCELED, TRANSFERRED, TERMINATED, COMPLETED, FAILED, SKIPPED);
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/EventListenerRegister.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/EventListenerRegister.java
deleted file mode 100644
index 43fbbec..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/EventListenerRegister.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.event;
-
-/**
- * Event listener register
- */
-public interface EventListenerRegister {
-
-    /**
-     * Register all listeners
-     */
-    void registerAll();
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/process/ProcessEventListenerRegister.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/process/ProcessEventListenerRegister.java
deleted file mode 100644
index 5f2f1b6..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/process/ProcessEventListenerRegister.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.event.process;
-
-import org.apache.inlong.manager.common.workflow.QueryService;
-import org.apache.inlong.manager.common.event.EventListenerManager;
-import org.apache.inlong.manager.common.event.EventListenerRegister;
-import org.apache.inlong.manager.common.model.WorkflowConfig;
-
-/**
- * Register of process event listener
- */
-public class ProcessEventListenerRegister implements EventListenerRegister {
-
-    private EventListenerManager<ProcessEvent, ProcessEventListener> eventListenerManager;
-    private WorkflowConfig workflowConfig;
-    private QueryService queryService;
-
-    public ProcessEventListenerRegister(
-            WorkflowConfig workflowConfig,
-            EventListenerManager<ProcessEvent, ProcessEventListener> eventListenerManager,
-            QueryService queryService) {
-        this.eventListenerManager = eventListenerManager;
-        this.workflowConfig = workflowConfig;
-        this.queryService = queryService;
-    }
-
-    @Override
-    public void registerAll() {
-        // do nothing
-    }
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/task/TaskEventListenerRegister.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/task/TaskEventListenerRegister.java
deleted file mode 100644
index 539534e..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/event/task/TaskEventListenerRegister.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.event.task;
-
-import org.apache.inlong.manager.common.workflow.QueryService;
-import org.apache.inlong.manager.common.event.EventListenerManager;
-import org.apache.inlong.manager.common.event.EventListenerRegister;
-import org.apache.inlong.manager.common.model.WorkflowConfig;
-
-/**
- * Register task event listener
- */
-public class TaskEventListenerRegister implements EventListenerRegister {
-
-    private EventListenerManager<TaskEvent, TaskEventListener> eventListenerManager;
-    private WorkflowConfig workflowConfig;
-    private QueryService queryService;
-
-    public TaskEventListenerRegister(WorkflowConfig workflowConfig,
-            EventListenerManager<TaskEvent, TaskEventListener> eventListenerManager,
-            QueryService queryService) {
-        this.eventListenerManager = eventListenerManager;
-        this.workflowConfig = workflowConfig;
-        this.queryService = queryService;
-    }
-
-    @Override
-    public void registerAll() {
-        // do nothing
-    }
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/FormParseException.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/FormParseException.java
index 711bd50..5f4e1bf 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/FormParseException.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/FormParseException.java
@@ -18,7 +18,7 @@
 package org.apache.inlong.manager.common.exceptions;
 
 /**
- * Process form parsing exception
+ * WorkflowProcess form parsing exception
  */
 public class FormParseException extends WorkflowException {
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/WorkflowConfig.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/WorkflowConfig.java
deleted file mode 100644
index f9d564e..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/WorkflowConfig.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-import org.apache.inlong.manager.common.workflow.WorkflowDataAccessor;
-import org.springframework.transaction.PlatformTransactionManager;
-
-/**
- * Workflow config
- */
-public class WorkflowConfig {
-
-    @JsonIgnore
-    private WorkflowDataAccessor workflowDataAccessor;
-
-    @JsonIgnore
-    private PlatformTransactionManager platformTransactionManager;
-
-    @JsonIgnore
-    public WorkflowDataAccessor getWorkflowDataAccessor() {
-        return workflowDataAccessor;
-    }
-
-    public WorkflowConfig setWorkflowDataAccessor(
-            WorkflowDataAccessor workflowDataAccessor) {
-        this.workflowDataAccessor = workflowDataAccessor;
-        return this;
-    }
-
-    public PlatformTransactionManager getPlatformTransactionManager() {
-        return platformTransactionManager;
-    }
-
-    public WorkflowConfig setPlatformTransactionManager(
-            PlatformTransactionManager platformTransactionManager) {
-        this.platformTransactionManager = platformTransactionManager;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/EventLog.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/EventLog.java
deleted file mode 100644
index 0ed1cea..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/EventLog.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.instance;
-
-import java.util.Date;
-
-import lombok.ToString;
-
-/**
- * Event log
- */
-@ToString
-public class EventLog {
-
-    private Integer id;
-
-    private Integer processInstId;
-
-    private String processName;
-
-    private String processDisplayName;
-
-    private String inlongGroupId;
-
-    private Integer taskInstId;
-
-    private String elementName;
-
-    private String elementDisplayName;
-
-    private String eventType;
-
-    private String event;
-
-    private String listener;
-
-    private Date startTime;
-
-    private Date endTime;
-
-    private Integer state;
-
-    private Boolean async;
-
-    private String ip;
-
-    private String remark;
-
-    private String exception;
-
-    public Integer getId() {
-        return id;
-    }
-
-    public EventLog setId(Integer id) {
-        this.id = id;
-        return this;
-    }
-
-    public Integer getProcessInstId() {
-        return processInstId;
-    }
-
-    public EventLog setProcessInstId(Integer processInstId) {
-        this.processInstId = processInstId;
-        return this;
-    }
-
-    public String getProcessName() {
-        return processName;
-    }
-
-    public EventLog setProcessName(String processName) {
-        this.processName = processName;
-        return this;
-    }
-
-    public String getProcessDisplayName() {
-        return processDisplayName;
-    }
-
-    public EventLog setProcessDisplayName(String processDisplayName) {
-        this.processDisplayName = processDisplayName;
-        return this;
-    }
-
-    public String getBusinessId() {
-        return inlongGroupId;
-    }
-
-    public EventLog setBusinessId(String groupId) {
-        this.inlongGroupId = groupId;
-        return this;
-    }
-
-    public Integer getTaskInstId() {
-        return taskInstId;
-    }
-
-    public EventLog setTaskInstId(Integer taskInstId) {
-        this.taskInstId = taskInstId;
-        return this;
-    }
-
-    public String getElementDisplayName() {
-        return elementDisplayName;
-    }
-
-    public EventLog setElementDisplayName(String elementDisplayName) {
-        this.elementDisplayName = elementDisplayName;
-        return this;
-    }
-
-    public String getElementName() {
-        return elementName;
-    }
-
-    public EventLog setElementName(String elementName) {
-        this.elementName = elementName;
-        return this;
-    }
-
-    public String getEventType() {
-        return eventType;
-    }
-
-    public EventLog setEventType(String eventType) {
-        this.eventType = eventType;
-        return this;
-    }
-
-    public String getEvent() {
-        return event;
-    }
-
-    public EventLog setEvent(String event) {
-        this.event = event;
-        return this;
-    }
-
-    public String getListener() {
-        return listener;
-    }
-
-    public EventLog setListener(String listener) {
-        this.listener = listener;
-        return this;
-    }
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public EventLog setStartTime(Date startTime) {
-        this.startTime = startTime;
-        return this;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public EventLog setEndTime(Date endTime) {
-        this.endTime = endTime;
-        return this;
-    }
-
-    public Integer getState() {
-        return state;
-    }
-
-    public EventLog setState(Integer state) {
-        this.state = state;
-        return this;
-    }
-
-    public Boolean getAsync() {
-        return async;
-    }
-
-    public EventLog setAsync(Boolean async) {
-        this.async = async;
-        return this;
-    }
-
-    public String getIp() {
-        return ip;
-    }
-
-    public EventLog setIp(String ip) {
-        this.ip = ip;
-        return this;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public EventLog setRemark(String remark) {
-        this.remark = remark;
-        return this;
-    }
-
-    public String getException() {
-        return exception;
-    }
-
-    public EventLog setException(String exception) {
-        this.exception = exception;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/ProcessInstance.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/ProcessInstance.java
deleted file mode 100644
index ecf3769..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/ProcessInstance.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.instance;
-
-import java.util.Date;
-
-/**
- * Process instance
- */
-public class ProcessInstance {
-
-    /**
-     * Application form ID
-     */
-    private Integer id;
-
-    /**
-     * Process name-English key
-     */
-    private String name;
-
-    /**
-     * Process display name-Chinese
-     */
-    private String displayName;
-
-    /**
-     * Process classification
-     */
-    private String type;
-
-    /**
-     * Process title
-     */
-    private String title;
-
-    /**
-     * Business ID
-     */
-    private String inlongGroupId;
-
-    /**
-     * applicant
-     */
-    private String applicant;
-
-    /**
-     * Process status
-     */
-    private String state;
-
-    /**
-     * Form information
-     */
-    private String formData;
-
-    /**
-     * application time
-     */
-    private Date startTime;
-
-    /**
-     * End Time
-     */
-    private Date endTime;
-
-    /**
-     * Extended Information
-     */
-    private String ext;
-
-    /**
-     * Whether to hide
-     */
-    private Boolean hidden;
-
-    public Integer getId() {
-        return id;
-    }
-
-    public ProcessInstance setId(Integer id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public ProcessInstance setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public ProcessInstance setDisplayName(String displayName) {
-        this.displayName = displayName;
-        return this;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public ProcessInstance setType(String type) {
-        this.type = type;
-        return this;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public ProcessInstance setTitle(String title) {
-        this.title = title;
-        return this;
-    }
-
-    public String getInlongGroupId() {
-        return inlongGroupId;
-    }
-
-    public ProcessInstance setInlongGroupId(String groupId) {
-        this.inlongGroupId = groupId;
-        return this;
-    }
-
-    public String getApplicant() {
-        return applicant;
-    }
-
-    public ProcessInstance setApplicant(String applicant) {
-        this.applicant = applicant;
-        return this;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-    public ProcessInstance setState(String state) {
-        this.state = state;
-        return this;
-    }
-
-    public String getFormData() {
-        return formData;
-    }
-
-    public ProcessInstance setFormData(String formData) {
-        this.formData = formData;
-        return this;
-    }
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public ProcessInstance setStartTime(Date startTime) {
-        this.startTime = startTime;
-        return this;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public ProcessInstance setEndTime(Date endTime) {
-        this.endTime = endTime;
-        return this;
-    }
-
-    public String getExt() {
-        return ext;
-    }
-
-    public ProcessInstance setExt(String ext) {
-        this.ext = ext;
-        return this;
-    }
-
-    public Boolean getHidden() {
-        return hidden;
-    }
-
-    public ProcessInstance setHidden(Boolean hidden) {
-        this.hidden = hidden;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/TaskInstance.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/TaskInstance.java
deleted file mode 100644
index bff1672..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/instance/TaskInstance.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.instance;
-
-import java.util.Date;
-
-/**
- * Task instance
- */
-public class TaskInstance {
-
-    public static final String APPROVERS_DELIMITER = ",";
-
-    public static final String EXT_TRANSFER_USER_KEY = "transferToUsers";
-
-    /**
-     * Task ID
-     */
-    private Integer id;
-
-    /**
-     * Task type
-     */
-    private String type;
-
-    /**
-     * Task name
-     */
-    private String name;
-
-    /**
-     * Chinese name of the task
-     */
-    private String displayName;
-
-    /**
-     * Application form ID
-     */
-    private Integer processInstId;
-
-    /**
-     * Process name
-     */
-    private String processName;
-    /**
-     * Process display name
-     */
-    private String processDisplayName;
-
-    /**
-     * Applicant
-     */
-    private String applicant;
-
-    /**
-     * Approver
-     */
-    private String approvers;
-
-    /**
-     * Task status
-     */
-    private String state;
-
-    /**
-     * Task operator
-     */
-    private String operator;
-
-    /**
-     * Remarks information
-     */
-    private String remark;
-
-    /**
-     * Form information
-     */
-    private String formData;
-
-    /**
-     * Start time
-     */
-    private Date startTime;
-
-    /**
-     * End event
-     */
-    private Date endTime;
-
-    /**
-     * Extended Information
-     */
-    private String ext;
-
-    public Integer getId() {
-        return id;
-    }
-
-    public TaskInstance setId(Integer id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public TaskInstance setType(String type) {
-        this.type = type;
-        return this;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public TaskInstance setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public TaskInstance setDisplayName(String displayName) {
-        this.displayName = displayName;
-        return this;
-    }
-
-    public Integer getProcessInstId() {
-        return processInstId;
-    }
-
-    public TaskInstance setProcessInstId(Integer processInstId) {
-        this.processInstId = processInstId;
-        return this;
-    }
-
-    public String getProcessName() {
-        return processName;
-    }
-
-    public TaskInstance setProcessName(String processName) {
-        this.processName = processName;
-        return this;
-    }
-
-    public String getProcessDisplayName() {
-        return processDisplayName;
-    }
-
-    public TaskInstance setProcessDisplayName(String processDisplayName) {
-        this.processDisplayName = processDisplayName;
-        return this;
-    }
-
-    public String getApplicant() {
-        return applicant;
-    }
-
-    public TaskInstance setApplicant(String applicant) {
-        this.applicant = applicant;
-        return this;
-    }
-
-    public String getApprovers() {
-        return approvers;
-    }
-
-    public TaskInstance setApprovers(String approvers) {
-        this.approvers = approvers;
-        return this;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-    public TaskInstance setState(String state) {
-        this.state = state;
-        return this;
-    }
-
-    public String getOperator() {
-        return operator;
-    }
-
-    public TaskInstance setOperator(String operator) {
-        this.operator = operator;
-        return this;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public TaskInstance setRemark(String remark) {
-        this.remark = remark;
-        return this;
-    }
-
-    public String getFormData() {
-        return formData;
-    }
-
-    public TaskInstance setFormData(String formData) {
-        this.formData = formData;
-        return this;
-    }
-
-    public Date getStartTime() {
-        return startTime;
-    }
-
-    public TaskInstance setStartTime(Date startTime) {
-        this.startTime = startTime;
-        return this;
-    }
-
-    public Date getEndTime() {
-        return endTime;
-    }
-
-    public TaskInstance setEndTime(Date endTime) {
-        this.endTime = endTime;
-        return this;
-    }
-
-    public String getExt() {
-        return ext;
-    }
-
-    public TaskInstance setExt(String ext) {
-        this.ext = ext;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ElementView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ElementView.java
deleted file mode 100644
index 8aa177f..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ElementView.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import com.google.common.collect.Lists;
-
-import org.apache.inlong.manager.common.model.TaskState;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.List;
-
-/**
- * Workflow components
- */
-@ApiModel("Workflow component node information")
-public class ElementView {
-
-    @ApiModelProperty(value = "Node name-English KEY")
-    private String name;
-
-    @ApiModelProperty(value = "Node display name")
-    private String displayName;
-
-    @ApiModelProperty(value = "Approver")
-    private List<String> approvers;
-
-    @ApiModelProperty(value = "The status of the current approval task node")
-    private TaskState state;
-
-    @ApiModelProperty(value = "Next approval node")
-    private List<ElementView> next = Lists.newArrayList();
-
-    public String getName() {
-        return name;
-    }
-
-    public ElementView setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public ElementView setDisplayName(String displayName) {
-        this.displayName = displayName;
-        return this;
-    }
-
-    public List<String> getApprovers() {
-        return approvers;
-    }
-
-    public ElementView setApprovers(List<String> approvers) {
-        this.approvers = approvers;
-        return this;
-    }
-
-    public List<ElementView> getNext() {
-        return next;
-    }
-
-    public ElementView setNext(List<ElementView> next) {
-        this.next = next;
-        return this;
-    }
-
-    public TaskState getState() {
-        return state;
-    }
-
-    public ElementView setState(TaskState state) {
-        this.state = state;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessDetail.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessDetail.java
deleted file mode 100644
index baf9d05..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessDetail.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.List;
-
-/**
- * Application form details
- */
-@ApiModel("Application form details")
-public class ProcessDetail {
-
-    @ApiModelProperty(value = "Application form details")
-    private ProcessView processInfo;
-
-    @ApiModelProperty(value = "Tasks currently to be done")
-    private TaskView currentTask;
-
-    @ApiModelProperty(value = "Approval history")
-    private List<TaskView> taskHistory;
-
-    @ApiModelProperty(value = "Workflow definition")
-    private WorkflowView workflow;
-
-    public ProcessView getProcessInfo() {
-        return processInfo;
-    }
-
-    public ProcessDetail setProcessInfo(ProcessView processInfo) {
-        this.processInfo = processInfo;
-        return this;
-    }
-
-    public TaskView getCurrentTask() {
-        return currentTask;
-    }
-
-    public ProcessDetail setCurrentTask(TaskView currentTask) {
-        this.currentTask = currentTask;
-        return this;
-    }
-
-    public List<TaskView> getTaskHistory() {
-        return taskHistory;
-    }
-
-    public ProcessDetail setTaskHistory(
-            List<TaskView> taskHistory) {
-        this.taskHistory = taskHistory;
-        return this;
-    }
-
-    public WorkflowView getWorkflow() {
-        return workflow;
-    }
-
-    public ProcessDetail setWorkflow(WorkflowView workflow) {
-        this.workflow = workflow;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessView.java
deleted file mode 100644
index 835f68f..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessView.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.util.JsonUtils;
-import org.apache.inlong.manager.common.model.ProcessState;
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
-
-/**
- * Application form information
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@ApiModel("Application form information")
-public class ProcessView {
-
-    @ApiModelProperty(value = "Application form id")
-    private Integer id;
-
-    @ApiModelProperty(value = "process name-English key")
-    private String name;
-
-    @ApiModelProperty(value = "Process display name-Chinese")
-    private String displayName;
-
-    @ApiModelProperty(value = "Process classification")
-    private String type;
-
-    @ApiModelProperty(value = "Process title")
-    private String title;
-
-    @ApiModelProperty(value = "Applicant")
-    private String applicant;
-
-    @ApiModelProperty(value = "Process status")
-    private ProcessState state;
-
-    @ApiModelProperty(value = "Application time")
-    private Date startTime;
-
-    @ApiModelProperty(value = "End Time")
-    private Date endTime;
-
-    @ApiModelProperty(value = "Form information-JSON")
-    private Object formData;
-
-    @ApiModelProperty(value = "Extended information-JSON")
-    private Object ext;
-
-    public static ProcessView fromProcessInstance(ProcessInstance processInstance) {
-        return ProcessView.builder()
-                .id(processInstance.getId())
-                .name(processInstance.getName())
-                .displayName(processInstance.getDisplayName())
-                .type(processInstance.getType())
-                .title(processInstance.getTitle())
-                .applicant(processInstance.getApplicant())
-                .state(ProcessState.valueOf(processInstance.getState()))
-                .startTime(processInstance.getStartTime())
-                .endTime(processInstance.getEndTime())
-                .formData(JsonUtils.parse(processInstance.getFormData()))
-                .ext(JsonUtils.parse(processInstance.getExt()))
-                .build();
-
-    }
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskListView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskListView.java
deleted file mode 100644
index 76120fc..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskListView.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import org.apache.inlong.manager.common.model.TaskState;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * Task list view
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@ApiModel("Task list view")
-public class TaskListView {
-
-    @ApiModelProperty(value = "Approval task ID")
-    private Integer id;
-
-    @ApiModelProperty(value = "task type")
-    private String type;
-
-    @ApiModelProperty(value = "application form ID")
-    private Integer processInstId;
-
-    @ApiModelProperty(value = "process name")
-    private String processName;
-
-    @ApiModelProperty(value = "process display name")
-    private String processDisplayName;
-
-    @ApiModelProperty(value = "task name-english key")
-    private String name;
-
-    @ApiModelProperty(value = "Task display name")
-    private String displayName;
-
-    @ApiModelProperty(value = "applicant")
-    private String applicant;
-
-    @ApiModelProperty(value = "approver list")
-    private List<String> approvers;
-
-    @ApiModelProperty(value = "actual operation approver")
-    private String operator;
-
-    @ApiModelProperty(value = "task status")
-    private TaskState state;
-
-    @ApiModelProperty(value = "remarks information")
-    private String remark;
-
-    @ApiModelProperty(value = "start time")
-    private Date startTime;
-
-    @ApiModelProperty(value = "end time")
-    private Date endTime;
-
-    @ApiModelProperty(value = "extra information shown in the list")
-    private Map<String, Object> showInList;
-
-    /**
-     * get task list view from task instance
-     */
-    public static TaskListView fromTaskInstance(TaskInstance taskInstance) {
-        return TaskListView.builder()
-                .id(taskInstance.getId())
-                .type(taskInstance.getType())
-                .processInstId(taskInstance.getProcessInstId())
-                .processName(taskInstance.getProcessName())
-                .processDisplayName(taskInstance.getProcessDisplayName())
-                .name(taskInstance.getName())
-                .displayName(taskInstance.getDisplayName())
-                .applicant(taskInstance.getApplicant())
-                .approvers(Arrays.asList(taskInstance.getApprovers().split(TaskInstance.APPROVERS_DELIMITER)))
-                .operator(taskInstance.getOperator())
-                .state(TaskState.valueOf(taskInstance.getState()))
-                .remark(taskInstance.getRemark())
-                .startTime(taskInstance.getStartTime())
-                .endTime(taskInstance.getEndTime())
-                .build();
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskView.java
deleted file mode 100644
index b4b3a23..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskView.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.util.JsonUtils;
-import org.apache.inlong.manager.common.model.TaskState;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
-
-/**
- * task information
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@ApiModel("Approval task information")
-public class TaskView {
-
-    @ApiModelProperty(value = "approval task ID")
-    private Integer id;
-
-    @ApiModelProperty(value = "Task type")
-    private String type;
-
-    @ApiModelProperty(value = "application form ID")
-    private Integer processInstId;
-
-    @ApiModelProperty(value = "process name")
-    private String processName;
-
-    @ApiModelProperty(value = "process display name")
-    private String processDisplayName;
-
-    @ApiModelProperty(value = "task name-english key")
-    private String name;
-
-    @ApiModelProperty(value = "task display name")
-    private String displayName;
-
-    @ApiModelProperty(value = "applicant")
-    private String applicant;
-
-    @ApiModelProperty(value = "set approver")
-    private List<String> approvers;
-
-    @ApiModelProperty(value = "actual operation approver")
-    private String operator;
-
-    @ApiModelProperty(value = "task status")
-    private TaskState state;
-
-    @ApiModelProperty(value = "remarks information")
-    private String remark;
-
-    @ApiModelProperty(value = "current task form information")
-    private Object formData;
-
-    @ApiModelProperty(value = "start time")
-    private Date startTime;
-
-    @ApiModelProperty(value = "end time")
-    private Date endTime;
-
-    @ApiModelProperty(value = "extended Information")
-    private Object ext;
-
-    /**
-     * Get task view from task instance
-     */
-    public static TaskView fromTaskInstance(TaskInstance taskInstance) {
-        return TaskView.builder()
-                .id(taskInstance.getId())
-                .type(taskInstance.getType())
-                .processInstId(taskInstance.getProcessInstId())
-                .processName(taskInstance.getProcessName())
-                .processDisplayName(taskInstance.getProcessDisplayName())
-                .name(taskInstance.getName())
-                .displayName(taskInstance.getDisplayName())
-                .applicant(taskInstance.getApplicant())
-                .approvers(Arrays.asList(taskInstance.getApprovers().split(TaskInstance.APPROVERS_DELIMITER)))
-                .operator(taskInstance.getOperator())
-                .state(TaskState.valueOf(taskInstance.getState()))
-                .remark(taskInstance.getRemark())
-                .formData(JsonUtils.parse(taskInstance.getFormData()))
-                .startTime(taskInstance.getStartTime())
-                .endTime(taskInstance.getEndTime())
-                .ext(JsonUtils.parse(taskInstance.getExt()))
-                .build();
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/WorkflowView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/WorkflowView.java
deleted file mode 100644
index d70e4bb..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/WorkflowView.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.model.view;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-/**
- * Workflow definition
- */
-@ApiModel("Workflow definition information")
-public class WorkflowView {
-
-    @ApiModelProperty(value = "process name-English key")
-    private String name;
-
-    @ApiModelProperty(value = "process display name")
-    private String displayName;
-
-    @ApiModelProperty(value = "process type")
-    private String type;
-
-    @ApiModelProperty(value = "approval process-start node")
-    private ElementView startEvent;
-
-    public String getName() {
-        return name;
-    }
-
-    public WorkflowView setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public WorkflowView setDisplayName(String displayName) {
-        this.displayName = displayName;
-        return this;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public WorkflowView setType(String type) {
-        this.type = type;
-        return this;
-    }
-
-    public ElementView getStartEvent() {
-        return startEvent;
-    }
-
-    public WorkflowView setStartEvent(ElementView startEvent) {
-        this.startEvent = startEvent;
-        return this;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
index 3e617f9..dcb6556 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
@@ -29,6 +29,6 @@ public class CheckAgentTaskConfRequest {
     @ApiModelProperty(value = "Local ip")
     private String agentIp;
 
-    @ApiModelProperty(value = "Task ID list")
+    @ApiModelProperty(value = "WorkflowTask ID list")
     private List<Integer> taskInfo;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
index 7af1ee9..8eeec1d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
@@ -28,7 +28,7 @@ public class DataConfig {
     @ApiModelProperty(value = "Operation type")
     private int opType;
 
-    @ApiModelProperty(value = "Task id")
+    @ApiModelProperty(value = "WorkflowTask id")
     private int id;
 
     @ApiModelProperty(value = "Agent IP")
@@ -64,6 +64,6 @@ public class DataConfig {
     @ApiModelProperty(value = "Field splitter")
     private String fieldSplitter;
 
-    @ApiModelProperty(value = "Task type")
+    @ApiModelProperty(value = "WorkflowTask type")
     private int taskType;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentCMDConfig.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentCMDConfig.java
index b69040d..603b50d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentCMDConfig.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentCMDConfig.java
@@ -28,7 +28,7 @@ public class FileAgentCMDConfig {
     @ApiModelProperty(value = "Operation id")
     private int id;
 
-    @ApiModelProperty(value = "Task id")
+    @ApiModelProperty(value = "WorkflowTask id")
     private int taskId;
 
     @ApiModelProperty(value = "Operation")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskConfig.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskConfig.java
index ba64608..44136e4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskConfig.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskConfig.java
@@ -40,7 +40,7 @@ public class FileAgentTaskConfig {
     @ApiModelProperty(value = "Command delivery time")
     private Date deliveryTime;
 
-    @ApiModelProperty(value = "Task id")
+    @ApiModelProperty(value = "WorkflowTask id")
     private int taskId;
 
     @ApiModelProperty(value = "Agent IP")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskInfo.java
index 9bec66a..ffae522 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/FileAgentTaskInfo.java
@@ -31,6 +31,6 @@ public class FileAgentTaskInfo {
     @ApiModelProperty(value = "Command config list")
     private List<FileAgentCMDConfig> cmdConfigs;
 
-    @ApiModelProperty(value = "Task config list")
+    @ApiModelProperty(value = "WorkflowTask config list")
     private List<FileAgentTaskConfig> dataConfigs;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/audit/AuditRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/audit/AuditRequest.java
index ca5254b..dad9831 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/audit/AuditRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/audit/AuditRequest.java
@@ -19,13 +19,14 @@ package org.apache.inlong.manager.common.pojo.audit;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.enums.TimeStaticsDim;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
 @Data
 @EqualsAndHashCode(callSuper = false)
 @ApiModel("Audit query request")
@@ -46,14 +47,9 @@ public class AuditRequest {
     private String dt;
 
     /**
-     * Query source such as MYSQL,ELASTICSEARCH
-     */
-    // it has been changed to be specified by config item in the configuration file
-//    @ApiModelProperty(value = "query source, default MYSQL", required = true, example = "MYSQL")
-//    private AuditQuerySource querySource = AuditQuerySource.MYSQL;
-    /**
      * Time statics dim such as MINUTE, HOUR, DAY
      */
     @ApiModelProperty(value = "time statics dim, default MINUTE", required = true, example = "MINUTE")
     private TimeStaticsDim timeStaticsDim = TimeStaticsDim.MINUTE;
+
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterRequest.java
index 7c436f6..e975c6c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterRequest.java
@@ -45,7 +45,7 @@ public class ClusterRequest {
     @ApiModelProperty(value = "Whether to backup the cluster")
     private Integer isBackup;
 
-    @ApiModelProperty(value = "state")
+    @ApiModelProperty(value = "Status")
     private Integer status;
 
     @ApiModelProperty(value = "Mq set name")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/CountByKey.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/common/CountInfo.java
similarity index 89%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/CountByKey.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/common/CountInfo.java
index cf3e319..f64e706 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/CountByKey.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/common/CountInfo.java
@@ -15,16 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.common;
 
 import lombok.Data;
 
 /**
- * Bean for count by key
+ * Count info
  */
 @Data
-public class CountByKey {
+public class CountInfo {
 
     private String key;
     private Integer value;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java
index 9153c01..597c599 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java
@@ -66,7 +66,7 @@ public class SourceDbDetailInfo {
     @ApiModelProperty(value = "Data source status")
     private Integer status;
 
-    @ApiModelProperty(value = "Previous state")
+    @ApiModelProperty(value = "Previous status")
     private Integer previousStatus;
 
     @ApiModelProperty(value = "is deleted? 0: deleted, 1: not deleted")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java
index a779155..32a8267 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java
@@ -66,7 +66,7 @@ public class SourceFileDetailInfo {
     @ApiModelProperty(value = "Data source status")
     private Integer status;
 
-    @ApiModelProperty(value = "Previous state")
+    @ApiModelProperty(value = "Previous status")
     private Integer previousStatus;
 
     @ApiModelProperty(value = "is deleted? 0: deleted, 1: not deleted")
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ElementDTO.java
similarity index 58%
copy from inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java
copy to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ElementDTO.java
index 8ec086b..574e75b 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ElementDTO.java
@@ -15,30 +15,36 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.service.workflow;
+package org.apache.inlong.manager.common.pojo.workflow;
 
+import com.google.common.collect.Lists;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.model.view.PageQuery;
+import org.apache.inlong.manager.common.enums.TaskStatus;
+
+import java.util.List;
 
 /**
- * Task execution log query
+ * Workflow element DTO
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
-@ApiModel("Task execution log query conditions")
-public class WorkflowTaskExecuteLogQuery extends PageQuery {
+@ApiModel("Workflow element info")
+public class ElementDTO {
+
+    @ApiModelProperty(value = "Node name")
+    private String name;
+
+    @ApiModelProperty(value = "Node display name")
+    private String displayName;
 
-    @ApiModelProperty("Business group id")
-    private String inlongGroupId;
+    @ApiModelProperty(value = "Approvers name")
+    private List<String> approvers;
 
-    @ApiModelProperty("Process name")
-    private List<String> processNames;
+    @ApiModelProperty(value = "Status of the current node")
+    private TaskStatus status;
 
-    @ApiModelProperty("Task type: system task: ServiceTask; user task: UserTask")
-    private String taskType;
+    @ApiModelProperty(value = "Next approval node")
+    private List<ElementDTO> next = Lists.newArrayList();
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogQuery.java
similarity index 70%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogQuery.java
index 6d3175a..ccac17e 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogQuery.java
@@ -15,80 +15,77 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
+import org.apache.inlong.manager.common.beans.PageRequest;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+
 /**
- * Workflow log query
+ * Workflow event log query request
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Workflow event log query conditions")
-public class EventLogQuery extends PageQuery {
+@ApiModel("Workflow event log query request")
+public class EventLogQuery extends PageRequest {
 
     private Integer id;
 
     @ApiModelProperty("Process ID")
-    private Integer processInstId;
+    private Integer processId;
 
     @ApiModelProperty("Process name")
     private String processName;
 
-    @ApiModelProperty("Business group id")
+    @ApiModelProperty("InLong group id")
     private String inlongGroupId;
 
     @ApiModelProperty("Task id")
-    private Integer taskInstId;
+    private Integer taskId;
 
-    @ApiModelProperty("the name of the element that triggered the event")
+    @ApiModelProperty("Element name")
     private String elementName;
 
-    @ApiModelProperty("event type")
+    @ApiModelProperty("Event type")
     private String eventType;
 
-    @ApiModelProperty("event")
+    @ApiModelProperty("Event")
     private String event;
 
     @ApiModelProperty("Listener name")
     private String listener;
 
-    @ApiModelProperty("status")
-    private Integer state;
-
-    @ApiModelProperty("Is it synchronized")
-    private Boolean async;
+    @ApiModelProperty("Status")
+    private Integer status;
 
     @ApiModelProperty("Execute IP")
     private String ip;
 
-    @ApiModelProperty("start time-from")
+    @ApiModelProperty("Start time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeBegin;
 
-    @ApiModelProperty("start time-to")
+    @ApiModelProperty("Start time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeEnd;
 
-    @ApiModelProperty("end time-from")
+    @ApiModelProperty("End time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeBegin;
 
-    @ApiModelProperty("end time-to")
+    @ApiModelProperty("End time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeEnd;
 
-    @ApiModelProperty("Whether to include abnormal information")
-    private boolean includeException = false;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
similarity index 73%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogView.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
index 7d88896..7ec0b6d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/EventLogView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
@@ -15,16 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.Date;
+
 /**
  * Event log
  */
@@ -38,38 +39,38 @@ public class EventLogView {
     @ApiModelProperty("id")
     private Integer id;
 
-    @ApiModelProperty("process ID")
-    private Integer processInstId;
+    @ApiModelProperty("Process id")
+    private Integer processId;
 
-    @ApiModelProperty("process name ")
+    @ApiModelProperty("Process name ")
     private String processName;
 
     @ApiModelProperty("Process display name")
     private String processDisplayName;
 
-    @ApiModelProperty("business ID")
+    @ApiModelProperty("Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty("task ID")
-    private Integer taskInstId;
+    @ApiModelProperty("Task id")
+    private Integer taskId;
 
-    @ApiModelProperty("the name of the element that triggered the event")
+    @ApiModelProperty("Element name")
     private String elementName;
 
-    @ApiModelProperty("The name of the element that triggered the event")
+    @ApiModelProperty("Element display name")
     private String elementDisplayName;
 
-    @ApiModelProperty("event type")
+    @ApiModelProperty("Event type")
     private String eventType;
 
-    @ApiModelProperty("event")
+    @ApiModelProperty("Event name")
     private String event;
 
     @ApiModelProperty("Listener name")
     private String listener;
 
-    @ApiModelProperty("status")
-    private Integer state;
+    @ApiModelProperty("Status")
+    private Integer status;
 
     @ApiModelProperty("Is it synchronized")
     private Boolean async;
@@ -77,13 +78,13 @@ public class EventLogView {
     @ApiModelProperty("Execute IP")
     private String ip;
 
-    @ApiModelProperty("start time ")
+    @ApiModelProperty("Start time ")
     private Date startTime;
 
-    @ApiModelProperty("end time")
+    @ApiModelProperty("End time")
     private Date endTime;
 
-    @ApiModelProperty("exception")
+    @ApiModelProperty("Exception message")
     private String exception;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountQuery.java
similarity index 85%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountQuery.java
index 48a7ee4..9ee9344 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountQuery.java
@@ -15,25 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-
 import lombok.Data;
-
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+
 /**
- * Process query conditions
+ * Process count query
  */
 @Data
-@ApiModel("Statistical query conditions from a process perspective")
-public class ProcessSummaryQuery {
+@ApiModel("Process count query")
+public class ProcessCountQuery {
 
-    @ApiModelProperty("Process name ")
+    @ApiModelProperty("Process name")
     private String name;
 
     @ApiModelProperty("Process display name")
@@ -42,7 +40,7 @@ public class ProcessSummaryQuery {
     @ApiModelProperty("Applicant")
     private String applicant;
 
-    @ApiModelProperty("Business group id")
+    @ApiModelProperty("InLong group id")
     private String inlongGroupId;
 
     @ApiModelProperty("Start time-lower limit")
@@ -62,5 +60,6 @@ public class ProcessSummaryQuery {
     private Date endTimeEnd;
 
     @ApiModelProperty("Whether to hide")
-    private Boolean hidden = false;
+    private Integer hidden = 0;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountResponse.java
similarity index 74%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryView.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountResponse.java
index 776692c..c27efce 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessSummaryView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessCountResponse.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,27 +25,28 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 /**
- * Process statistics
+ * Process count response
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Process perspective statistics")
-public class ProcessSummaryView {
+@ApiModel("Process count response")
+public class ProcessCountResponse {
 
-    @ApiModelProperty(value = "number of applications")
+    @ApiModelProperty(value = "Count of applications")
     private Integer totalApplyCount;
 
-    @ApiModelProperty(value = "dismissed data")
+    @ApiModelProperty(value = "Count of dismissed data")
     private Integer totalRejectCount;
 
-    @ApiModelProperty(value = "number of approved")
+    @ApiModelProperty(value = "Count of approved")
     private Integer totalApproveCount;
 
-    @ApiModelProperty(value = "awaiting approval")
+    @ApiModelProperty(value = "Count of awaiting approval")
     private Integer totalProcessingCount;
 
-    @ApiModelProperty(value = "number cancelled")
+    @ApiModelProperty(value = "Count of cancelled")
     private Integer totalCancelCount;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessDetailResponse.java
similarity index 63%
copy from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
copy to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessDetailResponse.java
index 3e617f9..43078b3 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessDetailResponse.java
@@ -15,20 +15,31 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.agent;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
 import lombok.Data;
 
-@ApiModel("Agent data source comparison")
+import java.util.List;
+
+/**
+ * Process detail response
+ */
 @Data
-public class CheckAgentTaskConfRequest {
+@ApiModel("Process detail response")
+public class ProcessDetailResponse {
+
+    @ApiModelProperty(value = "Process info")
+    private ProcessResponse processInfo;
+
+    @ApiModelProperty(value = "Current task to be done")
+    private TaskResponse currentTask;
+
+    @ApiModelProperty(value = "Approval history")
+    private List<TaskResponse> taskHistory;
 
-    @ApiModelProperty(value = "Local ip")
-    private String agentIp;
+    @ApiModelProperty(value = "Workflow view")
+    private WorkflowBriefDTO workflow;
 
-    @ApiModelProperty(value = "Task ID list")
-    private List<Integer> taskInfo;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessQuery.java
similarity index 64%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessQuery.java
index b8d089f..668fe52 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessQuery.java
@@ -15,38 +15,40 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
-import java.util.List;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.model.ProcessState;
+import org.apache.inlong.manager.common.beans.PageRequest;
+import org.apache.inlong.manager.common.enums.ProcessStatus;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+import java.util.List;
+
 /**
- * Process query conditions
+ * Apply process request
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Application form query conditions")
-public class ProcessQuery extends PageQuery {
+@ApiModel("Apply process request")
+public class ProcessQuery extends PageRequest {
 
-    @ApiModelProperty("Process form ID")
+    @ApiModelProperty("Process ID")
     private Integer id;
 
-    @ApiModelProperty("Process form id list")
+    @ApiModelProperty("Process id list")
     private List<Integer> idList;
 
-    @ApiModelProperty("Process form name list")
+    @ApiModelProperty("Process name list")
     private List<String> nameList;
 
     @ApiModelProperty("Process display name")
@@ -56,34 +58,34 @@ public class ProcessQuery extends PageQuery {
     private String applicant;
 
     @ApiModelProperty("Status")
-    private ProcessState state;
+    private ProcessStatus status;
 
-    @ApiModelProperty("Business group id")
+    @ApiModelProperty("InLong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty("start time-lower limit: yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("Start time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeBegin;
 
-    @ApiModelProperty("start time-upper limit:yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("Start time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeEnd;
 
-    @ApiModelProperty("end time-lower limit:yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("End time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeBegin;
 
-    @ApiModelProperty("end time-upper limit:yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("End time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeEnd;
 
-    @ApiModelProperty("whether to hide")
-    private Boolean hidden = false;
+    @ApiModelProperty("Whether to hide, 0: not hidden, 1: hidden")
+    private Integer hidden = 0;
 
-    @ApiModelProperty("whether to include the current to-do task")
-    private boolean includeCurrentTask = false;
+    @ApiModelProperty("Whether to include the current to-do task")
+    private Boolean includeCurrentTask = false;
 
-    @ApiModelProperty("whether to include the form information displayed in the list")
-    private boolean includeShowInList = true;
+    @ApiModelProperty("Whether to include the form info displayed in the list")
+    private Boolean includeShowInList = true;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessResponse.java
similarity index 59%
copy from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java
copy to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessResponse.java
index 13b617e..986ac7e 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/ProcessResponse.java
@@ -15,34 +15,34 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.model.ProcessState;
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
+import org.apache.inlong.manager.common.enums.ProcessStatus;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
- * Process list
+ * Process response
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Application list view")
-public class ProcessListView {
+@ApiModel("Process response")
+public class ProcessResponse {
 
-    @ApiModelProperty(value = "Application form ID")
+    @ApiModelProperty(value = "Process ID")
     private Integer id;
 
-    @ApiModelProperty(value = "Process name-English key")
+    @ApiModelProperty(value = "Process name")
     private String name;
 
     @ApiModelProperty(value = "Process display name")
@@ -54,37 +54,28 @@ public class ProcessListView {
     @ApiModelProperty(value = "Process title")
     private String title;
 
-    @ApiModelProperty(value = "Applicant")
+    @ApiModelProperty(value = "Applicant name")
     private String applicant;
 
     @ApiModelProperty(value = "Process status")
-    private ProcessState state;
+    private ProcessStatus status;
 
-    @ApiModelProperty(value = "Application time")
+    @ApiModelProperty(value = "Start time")
     private Date startTime;
 
     @ApiModelProperty(value = "End time")
     private Date endTime;
 
+    @ApiModelProperty(value = "Form information-JSON")
+    private Object formData;
+
+    @ApiModelProperty(value = "Extended information-JSON")
+    private Object extParams;
+
     @ApiModelProperty(value = "Tasks currently to be done")
-    private List<TaskListView> currentTasks;
+    private List<TaskResponse> currentTasks;
 
     @ApiModelProperty(value = "Extra information shown in the list")
     private Map<String, Object> showInList;
 
-    public static ProcessListView fromProcessInstance(ProcessInstance processInstance) {
-
-        return ProcessListView.builder()
-                .id(processInstance.getId())
-                .name(processInstance.getName())
-                .displayName(processInstance.getDisplayName())
-                .type(processInstance.getType())
-                .title(processInstance.getTitle())
-                .applicant(processInstance.getApplicant())
-                .state(ProcessState.valueOf(processInstance.getState()))
-                .startTime(processInstance.getStartTime())
-                .endTime(processInstance.getEndTime())
-                .build();
-    }
-
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountQuery.java
similarity index 73%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountQuery.java
index c5b8b85..6dea804 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountQuery.java
@@ -15,61 +15,60 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+
 /**
- * Task query
+ * Task count query
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Task view statistics query conditions")
-public class TaskSummaryQuery {
+@ApiModel("Task count query")
+public class TaskCountQuery {
 
-    @ApiModelProperty("process form ID")
-    private Integer processInstId;
+    @ApiModelProperty("Process ID")
+    private Integer processId;
 
-    @ApiModelProperty("task type")
+    @ApiModelProperty("Task type")
     private String type;
 
-    @ApiModelProperty("task name")
+    @ApiModelProperty("Task name")
     private String name;
 
-    @ApiModelProperty("task display name")
+    @ApiModelProperty("Task display name")
     private String displayName;
 
-    @ApiModelProperty("applicant")
+    @ApiModelProperty("Applicant name")
     private String applicant;
 
-    @ApiModelProperty("approver")
+    @ApiModelProperty("Approver name")
     private String approver;
 
-    @ApiModelProperty("start time-lower limit")
+    @ApiModelProperty("Start time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeBegin;
 
-    @ApiModelProperty("end time-upper limit")
+    @ApiModelProperty("Start time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeEnd;
 
-    @ApiModelProperty("end time-upper limit")
+    @ApiModelProperty("End time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeBegin;
 
-    @ApiModelProperty("end time-lower limit")
+    @ApiModelProperty("End time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeEnd;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountResponse.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryView.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountResponse.java
index 01c4a97..79236c8 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskSummaryView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskCountResponse.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,24 +25,25 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 /**
- * Task statistics
+ * Task count response
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Task view statistics")
-public class TaskSummaryView {
+@ApiModel("Task count response")
+public class TaskCountResponse {
 
-    @ApiModelProperty(value = "dismissed data")
+    @ApiModelProperty(value = "Count of dismissed data")
     private Integer totalRejectCount;
 
-    @ApiModelProperty(value = "number of approved")
+    @ApiModelProperty(value = "Count of approved")
     private Integer totalApproveCount;
 
-    @ApiModelProperty(value = "awaiting approval")
+    @ApiModelProperty(value = "Count of awaiting approval")
     private Integer totalPendingCount;
 
-    @ApiModelProperty(value = "number of transfers")
+    @ApiModelProperty(value = "Count of transfers")
     private Integer totalTransferCount;
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskExecuteLogQuery.java
similarity index 74%
rename from inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskExecuteLogQuery.java
index 8ec086b..297168b 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLogQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskExecuteLogQuery.java
@@ -15,30 +15,31 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.service.workflow;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.model.view.PageQuery;
+import org.apache.inlong.manager.common.beans.PageRequest;
+
+import java.util.List;
 
 /**
  * Task execution log query
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("Task execution log query conditions")
-public class WorkflowTaskExecuteLogQuery extends PageQuery {
+@ApiModel("Task execution log request")
+public class TaskExecuteLogQuery extends PageRequest {
 
-    @ApiModelProperty("Business group id")
+    @ApiModelProperty("InLong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty("Process name")
+    @ApiModelProperty("Process name list")
     private List<String> processNames;
 
-    @ApiModelProperty("Task type: system task: ServiceTask; user task: UserTask")
+    @ApiModelProperty("Task type, include: ServiceTask, UserTask")
     private String taskType;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskQuery.java
similarity index 64%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskQuery.java
index 22ac6a5..a44a8fa 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/TaskQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskQuery.java
@@ -15,73 +15,74 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
-
-import org.apache.inlong.manager.common.model.TaskState;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-import java.util.Set;
-
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
-
+import org.apache.inlong.manager.common.beans.PageRequest;
+import org.apache.inlong.manager.common.enums.TaskStatus;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+import java.util.Set;
+
 /**
- * Task query
+ * Workflow-Task query request
  */
 @Data
+@EqualsAndHashCode(callSuper = true)
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Workflow-task query conditions")
-public class TaskQuery extends PageQuery {
+@ApiModel("Workflow-Task query request")
+public class TaskQuery extends PageRequest {
 
-    @ApiModelProperty("task ID")
+    @ApiModelProperty("Task ID")
     private Integer id;
 
-    @ApiModelProperty("process ID")
-    private Integer processInstId;
+    @ApiModelProperty("Process ID")
+    private Integer processId;
 
-    @ApiModelProperty("task type")
+    @ApiModelProperty("Task type")
     private String type;
 
-    @ApiModelProperty("task name")
+    @ApiModelProperty("Task name")
     private String name;
 
-    @ApiModelProperty("task display name")
+    @ApiModelProperty("Task display name")
     private String displayName;
 
-    @ApiModelProperty("applicant")
+    @ApiModelProperty("Applicant name")
     private String applicant;
 
-    @ApiModelProperty("approver")
+    @ApiModelProperty("Approver names")
     private String approver;
 
-    @ApiModelProperty("actual operator")
+    @ApiModelProperty("Actual operator")
     private String operator;
 
-    @ApiModelProperty("status")
-    private Set<TaskState> states;
+    @ApiModelProperty("Status set")
+    private Set<TaskStatus> statusSet;
 
-    @ApiModelProperty("start time-lower limit yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("Start time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeBegin;
 
-    @ApiModelProperty("start time-upper limit yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("Start time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTimeEnd;
 
-    @ApiModelProperty("end time-upper limit yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("End time-upper limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeBegin;
 
-    @ApiModelProperty("end time-lower time yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("End time-lower limit")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTimeEnd;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskResponse.java
similarity index 51%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskResponse.java
index 13b617e..b1f49c1 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/ProcessListView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/TaskResponse.java
@@ -15,76 +15,79 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.model.ProcessState;
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
+import org.apache.inlong.manager.common.enums.TaskStatus;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
- * Process list
+ * Task response
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Application list view")
-public class ProcessListView {
+@ApiModel("Task response")
+public class TaskResponse {
 
-    @ApiModelProperty(value = "Application form ID")
+    @ApiModelProperty(value = "Task ID")
     private Integer id;
 
-    @ApiModelProperty(value = "Process name-English key")
-    private String name;
+    @ApiModelProperty(value = "Task type")
+    private String type;
+
+    @ApiModelProperty(value = "Process ID")
+    private Integer processId;
+
+    @ApiModelProperty(value = "Process name")
+    private String processName;
 
     @ApiModelProperty(value = "Process display name")
-    private String displayName;
+    private String processDisplayName;
 
-    @ApiModelProperty(value = "Process classification")
-    private String type;
+    @ApiModelProperty(value = "Task name")
+    private String name;
 
-    @ApiModelProperty(value = "Process title")
-    private String title;
+    @ApiModelProperty(value = "Task display name")
+    private String displayName;
 
-    @ApiModelProperty(value = "Applicant")
+    @ApiModelProperty(value = "Applicant name")
     private String applicant;
 
-    @ApiModelProperty(value = "Process status")
-    private ProcessState state;
+    @ApiModelProperty(value = "Approver list")
+    private List<String> approvers;
 
-    @ApiModelProperty(value = "Application time")
+    @ApiModelProperty(value = "Actual operation approver")
+    private String operator;
+
+    @ApiModelProperty(value = "Task status")
+    private TaskStatus status;
+
+    @ApiModelProperty(value = "Remarks info")
+    private String remark;
+
+    @ApiModelProperty(value = "Current task form")
+    private Object formData;
+
+    @ApiModelProperty(value = "Start time")
     private Date startTime;
 
     @ApiModelProperty(value = "End time")
     private Date endTime;
 
-    @ApiModelProperty(value = "Tasks currently to be done")
-    private List<TaskListView> currentTasks;
+    @ApiModelProperty(value = "Extended Information")
+    private Object extParams;
 
     @ApiModelProperty(value = "Extra information shown in the list")
     private Map<String, Object> showInList;
 
-    public static ProcessListView fromProcessInstance(ProcessInstance processInstance) {
-
-        return ProcessListView.builder()
-                .id(processInstance.getId())
-                .name(processInstance.getName())
-                .displayName(processInstance.getDisplayName())
-                .type(processInstance.getType())
-                .title(processInstance.getTitle())
-                .applicant(processInstance.getApplicant())
-                .state(ProcessState.valueOf(processInstance.getState()))
-                .startTime(processInstance.getStartTime())
-                .endTime(processInstance.getEndTime())
-                .build();
-    }
-
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowApproverQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowApproverQuery.java
index bc78d77..fde0d7a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowApproverQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowApproverQuery.java
@@ -37,7 +37,7 @@ public class WorkflowApproverQuery {
     @ApiModelProperty("id")
     private Integer id;
 
-    @ApiModelProperty("Process definition name")
+    @ApiModelProperty("WorkflowProcess definition name")
     private String processName;
 
     @ApiModelProperty("Approval task name")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/PageQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowBriefDTO.java
similarity index 63%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/PageQuery.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowBriefDTO.java
index 2efa334..af4841b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/view/PageQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowBriefDTO.java
@@ -15,20 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.view;
+package org.apache.inlong.manager.common.pojo.workflow;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Page query
+ * Workflow brief info
  */
 @Data
-public class PageQuery {
+@ApiModel("Workflow brief info")
+public class WorkflowBriefDTO {
 
-    @ApiModelProperty(required = true)
-    private Integer pageNum = 1;
+    @ApiModelProperty(value = "Process name")
+    private String name;
+
+    @ApiModelProperty(value = "Process display name")
+    private String displayName;
+
+    @ApiModelProperty(value = "Process type")
+    private String type;
+
+    @ApiModelProperty(value = "approval process-start node")
+    private ElementDTO startEvent;
 
-    @ApiModelProperty(required = true)
-    private Integer pageSize = 10;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowResult.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowResult.java
index bcf4258..14177bb 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowResult.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowResult.java
@@ -19,36 +19,21 @@ package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
-import java.util.stream.Collectors;
 import lombok.Data;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.view.ProcessView;
-import org.apache.inlong.manager.common.model.view.TaskView;
+
+import java.util.List;
 
 /**
  * Workflow results
- *
  */
 @Data
-@ApiModel("Workflow interface response interface")
+@ApiModel("Workflow interface response")
 public class WorkflowResult {
 
     @ApiModelProperty(value = "Application form information")
-    private ProcessView processInfo;
+    private ProcessResponse processInfo;
 
     @ApiModelProperty(value = "Newly generated tasks")
-    private List<TaskView> newTasks;
+    private List<TaskResponse> newTasks;
 
-    public static WorkflowResult of(WorkflowContext context) {
-        if (context == null) {
-            return null;
-        }
-        WorkflowResult workflowResult = new WorkflowResult();
-        workflowResult.setProcessInfo(ProcessView.fromProcessInstance(context.getProcessInstance()));
-        workflowResult.setNewTasks(
-                context.getNewTaskInstances().stream().map(TaskView::fromTaskInstance).collect(Collectors.toList())
-        );
-        return workflowResult;
-    }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowTaskRequest.java
similarity index 62%
copy from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
copy to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowTaskRequest.java
index 3e617f9..65f862b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/WorkflowTaskRequest.java
@@ -15,20 +15,30 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.agent;
+package org.apache.inlong.manager.common.pojo.workflow;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
 import lombok.Data;
+import org.apache.inlong.manager.common.pojo.workflow.form.BaseTaskForm;
+
+import java.util.List;
 
-@ApiModel("Agent data source comparison")
+/**
+ * Workflow task request
+ */
 @Data
-public class CheckAgentTaskConfRequest {
+@ApiModel("Workflow task request")
+public class WorkflowTaskRequest {
+
+    @ApiModelProperty(value = "Transferor persons",
+            notes = "When transferring the task, specify who needs to be transferred to")
+    public List<String> transferTo;
+
+    @ApiModelProperty(value = "Remarks info")
+    public String remark;
 
-    @ApiModelProperty(value = "Local ip")
-    private String agentIp;
+    @ApiModelProperty(value = "Form information")
+    public BaseTaskForm form;
 
-    @ApiModelProperty(value = "Task ID list")
-    private List<Integer> taskInfo;
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowFormType.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
similarity index 53%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowFormType.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
index 515fe83..1afdc02 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowFormType.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
@@ -15,30 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 import lombok.Data;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
 
 /**
  * The main form of the process-submitted when the process is initiated
- *
  */
 @Data
 @JsonTypeInfo(use = Id.NAME, property = "formName")
 @JsonSubTypes({
-        @JsonSubTypes.Type(value = NewBusinessWorkflowForm.class, name = NewBusinessWorkflowForm.FORM_NAME),
-        @JsonSubTypes.Type(value = NewConsumptionWorkflowForm.class, name = NewConsumptionWorkflowForm.FORM_NAME),
-        @JsonSubTypes.Type(value = BusinessResourceWorkflowForm.class, name = BusinessResourceWorkflowForm.FORM_NAME),
-        @JsonSubTypes.Type(value = UpdateBusinessWorkflowForm.class, name = UpdateBusinessWorkflowForm.FORM_NAME)
+        @JsonSubTypes.Type(value = NewBusinessProcessForm.class, name = NewBusinessProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = NewConsumptionProcessForm.class, name = NewConsumptionProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = BusinessResourceProcessForm.class, name = BusinessResourceProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = UpdateBusinessProcessForm.class, name = UpdateBusinessProcessForm.FORM_NAME),
 })
-public abstract class BaseWorkflowFormType implements ProcessForm {
+public abstract class BaseProcessForm implements ProcessForm {
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowTaskFormType.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowTaskFormType.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
index a9b4df0..9702a11 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/BaseWorkflowTaskFormType.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
@@ -15,15 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 import lombok.Data;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessAdminApproveForm;
-import org.apache.inlong.manager.common.workflow.consumption.ConsumptionAdminApproveForm;
-import org.apache.inlong.manager.common.model.definition.TaskForm;
 
 /**
  * Approval task node form
@@ -34,6 +31,6 @@ import org.apache.inlong.manager.common.model.definition.TaskForm;
         @JsonSubTypes.Type(value = BusinessAdminApproveForm.class, name = BusinessAdminApproveForm.FORM_NAME),
         @JsonSubTypes.Type(value = ConsumptionAdminApproveForm.class, name = ConsumptionAdminApproveForm.FORM_NAME),
 })
-public abstract class BaseWorkflowTaskFormType implements TaskForm {
+public abstract class BaseTaskForm implements TaskForm {
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessAdminApproveForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessAdminApproveForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java
index 6e7b95a..d965cc2 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessAdminApproveForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.bussiness;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -24,7 +24,6 @@ import org.apache.inlong.manager.common.exceptions.FormValidateException;
 import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
 import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowTaskFormType;
 
 import java.util.List;
 
@@ -33,7 +32,7 @@ import java.util.List;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class BusinessAdminApproveForm extends BaseWorkflowTaskFormType {
+public class BusinessAdminApproveForm extends BaseTaskForm {
 
     public static final String FORM_NAME = "BusinessAdminApproveForm";
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessResourceWorkflowForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessResourceWorkflowForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java
index 7aa6af7..353611f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/BusinessResourceWorkflowForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java
@@ -15,14 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.bussiness;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.google.common.collect.Maps;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
 
 import java.util.Map;
 
@@ -31,9 +30,9 @@ import java.util.Map;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class BusinessResourceWorkflowForm extends BaseWorkflowFormType {
+public class BusinessResourceProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "BusinessResourceWorkflowForm";
+    public static final String FORM_NAME = "BusinessResourceProcessForm";
 
     private BusinessInfo businessInfo;
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/ConsumptionAdminApproveForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java
similarity index 88%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/ConsumptionAdminApproveForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java
index 49b18e4..452e13c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/ConsumptionAdminApproveForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.consumption;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -23,7 +23,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowTaskFormType;
 
 /**
  * New consumption approve form for admin
@@ -31,7 +30,7 @@ import org.apache.inlong.manager.common.workflow.BaseWorkflowTaskFormType;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ApiModel("New data consumption-system administrator form")
-public class ConsumptionAdminApproveForm extends BaseWorkflowTaskFormType {
+public class ConsumptionAdminApproveForm extends BaseTaskForm {
 
     public static final String FORM_NAME = "ConsumptionAdminApproveForm";
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/Form.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/Form.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/Form.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/Form.java
index b41b3fe..64015fb 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/Form.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/Form.java
@@ -15,19 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.definition;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
 
 /**
- * Form
+ * Interface of workflow form
  */
 public interface Form {
 
     /**
      * Form verification before process submission
-     *
-     * @throws FormValidateException
      */
     void validate() throws FormValidateException;
 
@@ -37,4 +35,5 @@ public interface Form {
      * @return form name
      */
     String getFormName();
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/NewBusinessWorkflowForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java
similarity index 89%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/NewBusinessWorkflowForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java
index 5a4f8d4..df52bca 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/NewBusinessWorkflowForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.bussiness;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.google.common.collect.Maps;
 import io.swagger.annotations.ApiModelProperty;
@@ -28,16 +28,15 @@ import org.apache.inlong.manager.common.util.Preconditions;
 
 import java.util.List;
 import java.util.Map;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
 
 /**
  * New business workflow form information
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class NewBusinessWorkflowForm extends BaseWorkflowFormType {
+public class NewBusinessProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "NewBusinessWorkflowForm";
+    public static final String FORM_NAME = "NewBusinessProcessForm";
 
     @ApiModelProperty(value = "Access business information", required = true)
     private BusinessInfo businessInfo;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/NewConsumptionWorkflowForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/NewConsumptionWorkflowForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
index 797e551..7a1d943 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/consumption/NewConsumptionWorkflowForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
@@ -15,24 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.consumption;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.google.common.collect.Maps;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Map;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.consumption.ConsumptionInfo;
+import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
+import org.apache.inlong.manager.common.pojo.consumption.ConsumptionInfo;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
+
+import java.util.Map;
 
 /**
  * New data consumption form
  */
 @Data
-public class NewConsumptionWorkflowForm extends BaseWorkflowFormType {
+@EqualsAndHashCode(callSuper = true)
+public class NewConsumptionProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "NewConsumptionWorkflowForm";
+    public static final String FORM_NAME = "NewConsumptionProcessForm";
 
     @ApiModelProperty(value = "Data consumption information")
     private ConsumptionInfo consumptionInfo;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/ProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ProcessForm.java
similarity index 81%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/ProcessForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ProcessForm.java
index ae91382..e703492 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/ProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ProcessForm.java
@@ -15,35 +15,31 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.definition;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import java.util.Map;
 
 /**
- * Process main form
+ * WorkflowProcess main form
  */
 public interface ProcessForm extends Form {
 
     /**
-     * Get business group id
+     * Get inlong group id.
      *
-     * @return business group id
+     * @return inlong group id.
      */
     String getInlongGroupId();
 
     /**
-     * Get title
-     *
-     * @return
+     * Get form title.
      */
     default String getTitle() {
         return null;
     }
 
     /**
-     * Field data displayed in the process list
-     *
-     * @return
+     * Field data displayed in the process list.
      */
     default Map<String, Object> showInList() {
         return null;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/TaskForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/TaskForm.java
similarity index 91%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/TaskForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/TaskForm.java
index 2f7b049..3ff251b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/definition/TaskForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/TaskForm.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model.definition;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 /**
- * Task form
+ * WorkflowTask form
  */
 public interface TaskForm extends Form {
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/UpdateBusinessWorkflowForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java
similarity index 89%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/UpdateBusinessWorkflowForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java
index f6100cb..64c4113 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/bussiness/UpdateBusinessWorkflowForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java
@@ -15,35 +15,28 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.workflow.bussiness;
+package org.apache.inlong.manager.common.pojo.workflow.form;
 
 import com.google.common.collect.Maps;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Locale;
-import java.util.Map;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
-
-@Data
-public class UpdateBusinessWorkflowForm extends BaseWorkflowFormType {
 
-    public static final String FORM_NAME = "UpdateBusinessWorkflowForm";
+import java.util.Locale;
+import java.util.Map;
 
-    /**
-     * Used to control the operation to update businessWorkflow
-     */
-    public enum OperateType {
-        SUSPEND, RESTART, DELETE
-    }
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class UpdateBusinessProcessForm extends BaseProcessForm {
 
+    public static final String FORM_NAME = "UpdateBusinessProcessForm";
     @ApiModelProperty(value = "Access business information", required = true)
     private BusinessInfo businessInfo;
-
     @Getter
     @Setter
     @ApiModelProperty(value = "OperateType to define the update operation", required = true)
@@ -72,4 +65,12 @@ public class UpdateBusinessWorkflowForm extends BaseWorkflowFormType {
         show.put("operateType", operateType.name().toLowerCase(Locale.ROOT));
         return show;
     }
+
+    /**
+     * Used to control the operation to update businessWorkflow
+     */
+    public enum OperateType {
+        SUSPEND, RESTART, DELETE
+    }
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/JsonTypeDefine.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/JsonTypeDefine.java
index e34873f..5716f9a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/JsonTypeDefine.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/JsonTypeDefine.java
@@ -33,8 +33,14 @@ import java.lang.annotation.Target;
 @Target(ElementType.TYPE)
 public @interface JsonTypeDefine {
 
+    /**
+     * Value of the type
+     */
     String value() default "";
 
+    /**
+     * Description of the type
+     */
     String desc() default "";
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtil.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtils.java
similarity index 93%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtil.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtils.java
index acc52dc..e0f598c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtil.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/util/LoginUserUtils.java
@@ -24,7 +24,7 @@ import org.apache.inlong.manager.common.pojo.user.UserDetail;
  * User info for login
  */
 @Slf4j
-public class LoginUserUtil {
+public class LoginUserUtils {
 
     /**
      * ThreadLocal for user info
@@ -36,7 +36,7 @@ public class LoginUserUtil {
     }
 
     public static void setUserLoginInfo(UserDetail userDetail) {
-        log.debug("setUserLoginInfo:{}", userDetail.getUserName());
+        log.debug("user login: {}", userDetail.getUserName());
         LOGIN_USER_DETAIL_TL.set(userDetail);
     }
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/QueryService.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/QueryService.java
deleted file mode 100644
index 67d6133..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/QueryService.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.workflow;
-
-import org.apache.inlong.manager.common.model.instance.EventLog;
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
-import org.apache.inlong.manager.common.model.view.ProcessDetail;
-import org.apache.inlong.manager.common.model.view.ProcessQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryView;
-import org.apache.inlong.manager.common.model.view.TaskQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryView;
-
-import java.util.List;
-
-/**
- * Process query service
- */
-public interface QueryService {
-
-    /**
-     * Get an instance of a process sheet
-     *
-     * @param processInstId Process ID
-     * @return Process single instance
-     */
-    ProcessInstance getProcessInstance(Integer processInstId);
-
-    /**
-     * Obtain the approval history according to the process ticket number
-     *
-     * @param processInstId Process ID
-     * @return Approval history
-     */
-    List<TaskInstance> listApproveHistory(Integer processInstId);
-
-    /**
-     * Obtain task instance based on task ID
-     *
-     * @param taskInstId Task ID
-     * @return Task instance
-     */
-    TaskInstance getTaskInstance(Integer taskInstId);
-
-    /**
-     * Query the list of process sheet
-     *
-     * @param processQuery Query conditions
-     * @return  The list of the process sheet
-     */
-    List<ProcessInstance> listProcess(ProcessQuery processQuery);
-
-    /**
-     * Query task list
-     *
-     * @param taskQuery Query conditions
-     * @return the list of task sheet
-     */
-    List<TaskInstance> listTask(TaskQuery taskQuery);
-
-    /**
-     * Process statistics
-     *
-     * @param query Query conditions
-     * @return statistical results
-     */
-    ProcessSummaryView processSummary(ProcessSummaryQuery query);
-
-    /**
-     * Task statistics
-     *
-     * @param query Query conditions
-     * @return statistical results
-     */
-    TaskSummaryView taskSummary(TaskSummaryQuery query);
-
-    /**
-     * Obtain the details of the application form according to the application form number
-     *
-     * @param processInstId Process ID
-     * @param taskInstId    Task ID
-     * @return Detail
-     */
-    ProcessDetail detail(Integer processInstId, Integer taskInstId);
-
-    /**
-     * Get event log based on ID
-     *
-     * @param id
-     * @return
-     */
-    EventLog getEventLog(Integer id);
-
-    /**
-     * Query event logs based on conditions
-     *
-     * @param query Query conditions
-     * @return the list of log
-     */
-    List<EventLog> listEventLog(EventLogQuery query);
-
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowContextBuilder.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowContextBuilder.java
deleted file mode 100644
index bab26b3..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowContextBuilder.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.workflow;
-
-import org.apache.inlong.manager.common.model.Action;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.model.definition.TaskForm;
-
-import java.util.List;
-
-/**
- * Workflow context builder
- */
-public interface WorkflowContextBuilder {
-
-    /**
-     * Build process context information when initiating a process
-     *
-     * @param name      Processs name
-     * @param applicant Application
-     * @param form      Form
-     * @return
-     */
-    WorkflowContext buildContextForProcess(String name, String applicant, ProcessForm form);
-
-    /**
-     * Process ID construction context information
-     *
-     * @param processInstId Process ID
-     * @return Context
-     */
-    WorkflowContext buildContextForProcess(Integer processInstId);
-
-    /**
-     * Build context information based on task ID
-     *
-     * @param taskInstId
-     * @param action
-     * @param remark
-     * @param operator
-     * @return
-     */
-    WorkflowContext buildContextForTask(Integer taskInstId, Action action, String remark, String operator);
-
-    /**
-     * Build task context information
-     *
-     * @param taskInstId
-     * @param action
-     * @param taskForm
-     * @param remark
-     * @param operator
-     * @return
-     */
-    WorkflowContext buildContextForTask(Integer taskInstId, Action action, TaskForm taskForm, String remark,
-                                        String operator);
-
-    /**
-     * Build task context information
-     *
-     * @param taskInstId
-     * @param action
-     * @param transferToUsers
-     * @param remark
-     * @param operator
-     * @return
-     */
-    WorkflowContext buildContextForTask(Integer taskInstId, Action action, List<String> transferToUsers, String remark,
-                                        String operator);
-
-    /**
-     * Build context information based on task ID
-     *
-     * @param taskInstId Process ID
-     * @param action     Action
-     * @return
-     */
-    WorkflowContext buildContextForTask(Integer taskInstId, Action action);
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowDataAccessor.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowDataAccessor.java
deleted file mode 100644
index 09414ee..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/workflow/WorkflowDataAccessor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.workflow;
-
-import org.apache.inlong.manager.common.dao.EventLogStorage;
-import org.apache.inlong.manager.common.dao.ProcessInstanceStorage;
-import org.apache.inlong.manager.common.dao.TaskInstanceStorage;
-
-/**
- * Workflow data accessor
- */
-public interface WorkflowDataAccessor {
-
-    /**
-     * Get process definition storage
-     *
-     * @return
-     */
-    ProcessDefinitionStorage processDefinitionStorage();
-
-    /**
-     * Get process ticket storage
-     *
-     * @return process ticket storage
-     */
-    ProcessInstanceStorage processInstanceStorage();
-
-    /**
-     * Get task ticket storage
-     *
-     * @return task ticket storage
-     */
-    TaskInstanceStorage taskInstanceStorage();
-
-    /**
-     * Get event log storage
-     *
-     * @return event log storage
-     */
-    EventLogStorage eventLogStorage();
-
-}
diff --git a/inlong-manager/manager-dao/pom.xml b/inlong-manager/manager-dao/pom.xml
index f06d595..9836726 100644
--- a/inlong-manager/manager-dao/pom.xml
+++ b/inlong-manager/manager-dao/pom.xml
@@ -37,11 +37,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.inlong</groupId>
-            <artifactId>manager-workflow-engine</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.inlong</groupId>
             <artifactId>manager-test</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java
index 587d53e..d8f1989 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java
@@ -45,23 +45,4 @@ public class StorageEntity implements Serializable {
     // Another fields saved as JSON string in extParams
     private String extParams;
 
-    /*
-    private String jdbcUrl;
-    private String username;
-    private String password;
-    private String dbName;
-    private String tableName;
-    private String hdfsDefaultFs;
-    private String warehouseDir;
-
-    private Integer partitionInterval;
-    private String partitionUnit;
-    private String primaryPartition;
-    private String secondaryPartition;
-    private String partitionCreationStrategy;
-
-    private String fileFormat;
-    private String dataEncoding;
-    private String dataSeparator;*/
-
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/EventLogStorage.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowEventLogEntity.java
similarity index 54%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/EventLogStorage.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowEventLogEntity.java
index 994056a..2970ac5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/dao/EventLogStorage.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowEventLogEntity.java
@@ -15,23 +15,54 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.dao;
+package org.apache.inlong.manager.dao.entity;
 
-import org.apache.inlong.manager.common.model.instance.EventLog;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
+import lombok.Data;
+import lombok.ToString;
 
-import java.util.List;
+import java.util.Date;
 
 /**
- * EventLog storage
+ * Event log
  */
-public interface EventLogStorage {
+@Data
+@ToString
+public class WorkflowEventLogEntity {
 
-    EventLog get(Integer id);
+    private Integer id;
 
-    List<EventLog> list(EventLogQuery query);
+    private Integer processId;
 
-    int insert(EventLog eventLog);
+    private String processName;
+
+    private String processDisplayName;
+
+    private String inlongGroupId;
+
+    private Integer taskId;
+
+    private String elementName;
+
+    private String elementDisplayName;
+
+    private String eventType;
+
+    private String event;
+
+    private String listener;
+
+    private Date startTime;
+
+    private Date endTime;
+
+    private Integer status;
+
+    private Integer async;
+
+    private String ip;
+
+    private String remark;
+
+    private String exception;
 
-    int update(EventLog eventLog);
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowProcessEntity.java
similarity index 54%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowProcessEntity.java
index a2647c1..a4e2377 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/model/TaskState.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowProcessEntity.java
@@ -15,67 +15,78 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.model;
+package org.apache.inlong.manager.dao.entity;
 
-import com.google.common.collect.ImmutableSet;
+import lombok.Data;
 
-import java.util.Set;
+import java.util.Date;
 
 /**
- * Task status
- *
+ * Workflow process entity
  */
-public enum TaskState {
+@Data
+public class WorkflowProcessEntity {
+
+    private Integer id;
+
+    /**
+     * Process name
+     */
+    private String name;
 
     /**
-     * Pending
+     * Process display name
      */
-    PENDING,
+    private String displayName;
 
     /**
-     * Approved
+     * Process classification
      */
-    APPROVED,
+    private String type;
 
     /**
-     * Rejected
+     * Process title
      */
-    REJECTED,
+    private String title;
 
     /**
-     * Cancelled
+     * InLong group ID
      */
-    CANCELED,
+    private String inlongGroupId;
 
     /**
-     * Transfered
+     * Applicant name
      */
-    TRANSFERED,
+    private String applicant;
 
     /**
-     * Terminated
+     * Process status
      */
-    TERMINATED,
+    private String status;
 
     /**
-     * Completed
+     * Form information
      */
-    COMPLETED,
+    private String formData;
 
     /**
-     * System task: execution failed
+     * Application time
      */
-    FAILED,
+    private Date startTime;
 
     /**
-     * Skipped
+     * End time
      */
-    SKIPPED,
-    ;
+    private Date endTime;
 
     /**
-     * Completed
+     * Extended params
      */
-    public static Set<TaskState> COMPLETED_STATES = ImmutableSet
-            .of(APPROVED, REJECTED, CANCELED, TRANSFERED, TERMINATED, COMPLETED, FAILED, SKIPPED);
+    private String extParams;
+
+    /**
+     * Whether to hide
+     */
+    private Integer hidden;
+
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowTaskEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowTaskEntity.java
new file mode 100644
index 0000000..62dfd83
--- /dev/null
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/WorkflowTaskEntity.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.dao.entity;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Workflow task entity
+ */
+@Data
+public class WorkflowTaskEntity {
+
+    public static final String APPROVERS_DELIMITER = ",";
+
+    public static final String EXT_TRANSFER_USER_KEY = "transferToUsers";
+
+    /**
+     * Task ID
+     */
+    private Integer id;
+
+    /**
+     * Task type
+     */
+    private String type;
+
+    /**
+     * Task name
+     */
+    private String name;
+
+    /**
+     * Display name of the task
+     */
+    private String displayName;
+
+    /**
+     * Application form ID
+     */
+    private Integer processId;
+
+    /**
+     * Process name
+     */
+    private String processName;
+
+    /**
+     * Process display name
+     */
+    private String processDisplayName;
+
+    /**
+     * Applicant
+     */
+    private String applicant;
+
+    /**
+     * Approver
+     */
+    private String approvers;
+
+    /**
+     * Task status
+     */
+    private String status;
+
+    /**
+     * Task operator
+     */
+    private String operator;
+
+    /**
+     * Remarks information
+     */
+    private String remark;
+
+    /**
+     * Form information
+     */
+    private String formData;
+
+    /**
+     * Start time
+     */
+    private Date startTime;
+
+    /**
+     * End time
+     */
+    private Date endTime;
+
+    /**
+     * Extended params
+     */
+    private String extParams;
+
+}
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java
index 27cbb9a..bd7e31b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java
@@ -17,13 +17,14 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
 import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionQuery;
+import org.apache.inlong.manager.common.pojo.common.CountInfo;
 import org.apache.inlong.manager.dao.entity.ConsumptionEntity;
-import org.apache.inlong.manager.common.model.view.CountByKey;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface ConsumptionEntityMapper {
 
@@ -44,6 +45,6 @@ public interface ConsumptionEntityMapper {
 
     List<ConsumptionEntity> listByQuery(ConsumptionQuery consumptionQuery);
 
-    List<CountByKey> countByStatus(ConsumptionQuery consumptionQuery);
+    List<CountInfo> countByQuery(ConsumptionQuery consumptionQuery);
 
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/TaskInstanceEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/TaskInstanceEntityMapper.java
deleted file mode 100644
index 6702044..0000000
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/TaskInstanceEntityMapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import org.apache.inlong.manager.common.dao.TaskInstanceStorage;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TaskInstanceEntityMapper extends TaskInstanceStorage {
-
-}
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/EventLogEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowEventLogEntityMapper.java
similarity index 73%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/EventLogEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowEventLogEntityMapper.java
index 01e78b1..970e2a8 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/EventLogEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowEventLogEntityMapper.java
@@ -17,23 +17,24 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
-import org.apache.inlong.manager.common.dao.EventLogStorage;
-import org.apache.inlong.manager.common.model.instance.EventLog;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogQuery;
+import org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 @Repository
-public interface EventLogEntityMapper extends EventLogStorage {
+public interface WorkflowEventLogEntityMapper {
 
-    EventLog get(Integer id);
+    @Transactional(propagation = Propagation.NOT_SUPPORTED)
+    int insert(WorkflowEventLogEntity record);
 
-    List<EventLog> list(EventLogQuery query);
+    WorkflowEventLogEntity selectById(Integer id);
 
-    @Transactional(propagation = Propagation.NOT_SUPPORTED)
-    int insert(EventLog record);
+    List<WorkflowEventLogEntity> selectByCondition(EventLogQuery request);
+
+    int update(WorkflowEventLogEntity record);
 
-    int update(EventLog record);
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ProcessInstanceEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowProcessEntityMapper.java
similarity index 57%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ProcessInstanceEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowProcessEntityMapper.java
index 8e89e39..b4dc16b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ProcessInstanceEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowProcessEntityMapper.java
@@ -17,13 +17,28 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.common.dao.ProcessInstanceStorage;
+import org.apache.inlong.manager.common.pojo.common.CountInfo;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessQuery;
+import org.apache.inlong.manager.dao.entity.WorkflowProcessEntity;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
- * Process instance mapper
+ * Workflow process mapper
  */
 @Repository
-public interface ProcessInstanceEntityMapper extends ProcessInstanceStorage {
+public interface WorkflowProcessEntityMapper {
+
+    Integer insert(WorkflowProcessEntity workflowProcessEntity);
+
+    WorkflowProcessEntity selectById(Integer id);
+
+    List<WorkflowProcessEntity> selectByCondition(ProcessQuery query);
+
+    List<CountInfo> countByQuery(ProcessCountQuery query);
+
+    void update(WorkflowProcessEntity workflowProcessEntity);
 
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowTaskEntityMapper.java
similarity index 51%
copy from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java
copy to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowTaskEntityMapper.java
index 27cbb9a..15545b0 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ConsumptionEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowTaskEntityMapper.java
@@ -17,33 +17,35 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.pojo.consumption.ConsumptionQuery;
-import org.apache.inlong.manager.dao.entity.ConsumptionEntity;
-import org.apache.inlong.manager.common.model.view.CountByKey;
+import org.apache.inlong.manager.common.enums.TaskStatus;
+import org.apache.inlong.manager.common.pojo.common.CountInfo;
+import org.apache.inlong.manager.common.pojo.workflow.TaskCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskQuery;
+import org.apache.inlong.manager.dao.entity.WorkflowTaskEntity;
 import org.springframework.stereotype.Repository;
 
-@Repository
-public interface ConsumptionEntityMapper {
-
-    int deleteByPrimaryKey(Integer id);
+import java.util.List;
 
-    int insert(ConsumptionEntity record);
+/**
+ * Workflow task mapper
+ */
+@Repository
+public interface WorkflowTaskEntityMapper {
 
-    int insertSelective(ConsumptionEntity record);
+    int insert(WorkflowTaskEntity workflowTaskEntity);
 
-    ConsumptionEntity selectByPrimaryKey(Integer id);
+    WorkflowTaskEntity selectById(Integer id);
 
-    ConsumptionEntity selectConsumptionExists(@Param("groupId") String groupId, @Param("topic") String topic,
-            @Param("consumerGroup") String consumerGroup);
+    List<WorkflowTaskEntity> selectByProcess(@Param("processId") Integer processId, @Param("status") TaskStatus status);
 
-    int updateByPrimaryKeySelective(ConsumptionEntity record);
+    List<WorkflowTaskEntity> selectByQuery(TaskQuery query);
 
-    int updateByPrimaryKey(ConsumptionEntity record);
+    int countByStatus(@Param("processId") Integer processId, @Param("name") String name,
+            @Param("status") TaskStatus status);
 
-    List<ConsumptionEntity> listByQuery(ConsumptionQuery consumptionQuery);
+    List<CountInfo> countByQuery(TaskCountQuery query);
 
-    List<CountByKey> countByStatus(ConsumptionQuery consumptionQuery);
+    int update(WorkflowTaskEntity workflowTaskEntity);
 
 }
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
index eb429b3..f283fd5 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/ConsumptionEntityMapper.xml
@@ -318,11 +318,10 @@
         order by id desc
     </select>
 
-    <select id="countByStatus"
+    <select id="countByQuery"
             parameterType="org.apache.inlong.manager.common.pojo.consumption.ConsumptionQuery"
-            resultType="org.apache.inlong.manager.common.model.view.CountByKey">
-        select
-        status as `key`,count(1) as value
+            resultType="org.apache.inlong.manager.common.pojo.common.CountInfo">
+        select status as `key`, count(1) as value
         from consumption
         where is_deleted=0
         <if test="consumerGroupName != null and consumerGroupName != ''">
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml
index 40cd4e0..3d7aa6d 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml
@@ -90,7 +90,7 @@
             ds.data_encoding, ds.data_separator, ds.data_escape_char, ds.have_predefined_fields,
             ds.daily_records, ds.daily_storage, ds.peak_records, ds.max_length, ds.in_charges,
             ds.status, ds.creator, ds.modifier, ds.create_time, ds.modify_time
-        from data_stream ds, business biz, wf_approver approver
+        from data_stream ds, business biz, workflow_approver approver
         <where>
             ds.is_deleted = 0
             and approver.process_name = "NEW_BUSINESS_WORKFLOW" and approver.is_deleted = 0
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/EventLogMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/EventLogMapper.xml
deleted file mode 100644
index 21a1983..0000000
--- a/inlong-manager/manager-dao/src/main/resources/mappers/EventLogMapper.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.EventLogEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.common.model.instance.EventLog">
-        <id column="id" jdbcType="INTEGER" property="id"/>
-        <result column="process_inst_id" jdbcType="INTEGER" property="processInstId"/>
-        <result column="process_name" jdbcType="VARCHAR" property="processName"/>
-        <result column="process_display_name" jdbcType="VARCHAR" property="processDisplayName"/>
-        <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
-        <result column="task_inst_id" jdbcType="INTEGER" property="taskInstId"/>
-        <result column="element_name" jdbcType="VARCHAR" property="elementName"/>
-        <result column="element_display_name" jdbcType="VARCHAR" property="elementDisplayName"/>
-        <result column="event_type" jdbcType="VARCHAR" property="eventType"/>
-        <result column="event" jdbcType="VARCHAR" property="event"/>
-        <result column="listener" jdbcType="VARCHAR" property="listener"/>
-        <result column="state" jdbcType="INTEGER" property="state"/>
-        <result column="async" jdbcType="BIT" property="async"/>
-        <result column="ip" jdbcType="VARCHAR" property="ip"/>
-        <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
-        <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
-        <result column="exception" jdbcType="LONGVARCHAR" property="exception"/>
-        <result column="remark" jdbcType="LONGVARCHAR" property="remark"/>
-    </resultMap>
-    <sql id="Base_Column_List">
-        id, process_inst_id,process_name, process_display_name, inlong_group_id, task_inst_id,
-        element_name, element_display_name, event_type, event, listener, state, async, ip,
-        start_time, end_time, remark, exception
-    </sql>
-
-    <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from wf_event_log
-        where id = #{id,jdbcType=INTEGER}
-    </select>
-    <select id="list" parameterType="org.apache.inlong.manager.common.model.view.EventLogQuery"
-            resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from wf_event_log
-        where 1=1
-        <if test="id != null">
-            and id = #{id,jdbcType=INTEGER}
-        </if>
-        <if test="processInstId != null">
-            and process_inst_id = #{processInstId,jdbcType=INTEGER}
-        </if>
-        <if test="processName != null and processName !=''">
-            and process_name = #{processName,jdbcType=VARCHAR}
-        </if>
-        <if test="inlongGroupId != null">
-            and inlong_group_id = #{inlongGroupId,jdbcType=INTEGER}
-        </if>
-        <if test="taskInstId != null">
-            and task_inst_id = #{taskInstId,jdbcType=INTEGER}
-        </if>
-        <if test="elementName != null and elementName !=''">
-            and element_name = #{elementName,jdbcType=VARCHAR}
-        </if>
-        <if test="eventType != null and eventType !=''">
-            and event_type = #{eventType,jdbcType=VARCHAR}
-        </if>
-        <if test="event != null and event !=''">
-            and event = #{event,jdbcType=VARCHAR}
-        </if>
-        <if test="listener != null  and listener !=''">
-            and listener = #{listener,jdbcType=VARCHAR}
-        </if>
-        <if test="state != null">
-            and state = #{state,jdbcType=INTEGER}
-        </if>
-        <if test="async != null">
-            and async = #{async,jdbcType=INTEGER}
-        </if>
-        <if test="ip != null and ip !=''">
-            and ip = #{ip,jdbcType=VARCHAR}
-        </if>
-        <if test="startTimeBegin != null">
-            and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="startTimeEnd != null">
-            and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeBegin != null">
-            and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeEnd != null">
-            and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        order by id desc
-    </select>
-    <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
-            parameterType="org.apache.inlong.manager.common.model.instance.EventLog">
-        insert into wf_event_log (id, process_inst_id,
-                                  process_name, process_display_name,
-                                  inlong_group_id, task_inst_id,
-                                  element_name, element_display_name,
-                                  event_type, event,
-                                  listener, state,
-                                  async, ip, start_time,
-                                  end_time, remark, exception)
-        values (#{id,jdbcType=INTEGER}, #{processInstId,jdbcType=INTEGER},
-                #{processName,jdbcType=VARCHAR}, #{processDisplayName,jdbcType=VARCHAR},
-                #{inlongGroupId,jdbcType=VARCHAR}, #{taskInstId,jdbcType=INTEGER},
-                #{elementName,jdbcType=INTEGER}, #{elementDisplayName,jdbcType=VARCHAR},
-                #{eventType,jdbcType=VARCHAR}, #{event,jdbcType=VARCHAR},
-                #{listener,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER},
-                #{async,jdbcType=INTEGER}, #{ip,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP},
-                #{endTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=LONGVARCHAR}, #{exception,jdbcType=LONGVARCHAR})
-    </insert>
-
-    <update id="update" parameterType="org.apache.inlong.manager.common.model.instance.EventLog">
-        update wf_event_log
-        set state     = #{state,jdbcType=INTEGER},
-            end_time  = #{endTime,jdbcType=TIMESTAMP},
-            exception = #{exception,jdbcType=LONGVARCHAR},
-            remark    = #{remark,jdbcType=LONGVARCHAR}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-</mapper>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/OperationLogEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/OperationLogEntityMapper.xml
index e8cfd1a..cfe7e4c 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/OperationLogEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/OperationLogEntityMapper.xml
@@ -31,7 +31,7 @@
         <result column="request_url" jdbcType="VARCHAR" property="requestUrl"/>
         <result column="remote_address" jdbcType="VARCHAR" property="remoteAddress"/>
         <result column="cost_time" jdbcType="BIGINT" property="costTime"/>
-        <result column="status" jdbcType="BIT" property="status"/>
+        <result column="status" jdbcType="TINYINT" property="status"/>
         <result column="request_time" jdbcType="TIMESTAMP" property="requestTime"/>
         <result column="body" jdbcType="LONGVARCHAR" property="body"/>
         <result column="param" jdbcType="LONGVARCHAR" property="param"/>
@@ -62,7 +62,7 @@
         values (#{id,jdbcType=INTEGER}, #{authenticationType,jdbcType=VARCHAR}, #{operationType,jdbcType=VARCHAR},
                 #{httpMethod,jdbcType=VARCHAR}, #{invokeMethod,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR},
                 #{proxy,jdbcType=VARCHAR}, #{requestUrl,jdbcType=VARCHAR}, #{remoteAddress,jdbcType=VARCHAR},
-                #{costTime,jdbcType=BIGINT}, #{status,jdbcType=BIT}, #{requestTime,jdbcType=TIMESTAMP},
+                #{costTime,jdbcType=BIGINT}, #{status,jdbcType=TINYINT}, #{requestTime,jdbcType=TIMESTAMP},
                 #{body,jdbcType=LONGVARCHAR}, #{param,jdbcType=LONGVARCHAR}, #{errMsg,jdbcType=LONGVARCHAR})
     </insert>
     <insert id="insertBatch">
@@ -81,7 +81,7 @@
             #{log.operator,jdbcType=VARCHAR},
             #{log.proxy,jdbcType=VARCHAR}, #{log.requestUrl,jdbcType=VARCHAR},
             #{log.remoteAddress,jdbcType=VARCHAR},
-            #{log.costTime,jdbcType=BIGINT}, #{log.status,jdbcType=BIT},
+            #{log.costTime,jdbcType=BIGINT}, #{log.status,jdbcType=TINYINT},
             #{log.requestTime,jdbcType=TIMESTAMP},
             #{log.body,jdbcType=LONGVARCHAR}, #{log.param,jdbcType=LONGVARCHAR},
             #{log.errMsg,jdbcType=LONGVARCHAR}
@@ -170,7 +170,7 @@
                 #{costTime,jdbcType=BIGINT},
             </if>
             <if test="status != null">
-                #{status,jdbcType=BIT},
+                #{status,jdbcType=TINYINT},
             </if>
             <if test="requestTime != null">
                 #{requestTime,jdbcType=TIMESTAMP},
@@ -218,7 +218,7 @@
                 cost_time = #{costTime,jdbcType=BIGINT},
             </if>
             <if test="status != null">
-                status = #{status,jdbcType=BIT},
+                status = #{status,jdbcType=TINYINT},
             </if>
             <if test="requestTime != null">
                 request_time = #{requestTime,jdbcType=TIMESTAMP},
@@ -247,7 +247,7 @@
             request_url         = #{requestUrl,jdbcType=VARCHAR},
             remote_address      = #{remoteAddress,jdbcType=VARCHAR},
             cost_time           = #{costTime,jdbcType=BIGINT},
-            status              = #{status,jdbcType=BIT},
+            status              = #{status,jdbcType=TINYINT},
             request_time        = #{requestTime,jdbcType=TIMESTAMP},
             body                = #{body,jdbcType=LONGVARCHAR},
             param               = #{param,jdbcType=LONGVARCHAR},
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/TaskInstanceEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/TaskInstanceEntityMapper.xml
deleted file mode 100644
index d12818e..0000000
--- a/inlong-manager/manager-dao/src/main/resources/mappers/TaskInstanceEntityMapper.xml
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.TaskInstanceEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.common.model.instance.TaskInstance">
-        <id column="id" jdbcType="INTEGER" property="id"/>
-        <result column="type" jdbcType="VARCHAR" property="type"/>
-        <result column="process_inst_id" jdbcType="INTEGER" property="processInstId"/>
-        <result column="process_name" jdbcType="VARCHAR" property="processName"/>
-        <result column="process_display_name" jdbcType="VARCHAR" property="processDisplayName"/>
-        <result column="name" jdbcType="VARCHAR" property="name"/>
-        <result column="display_name" jdbcType="VARCHAR" property="displayName"/>
-        <result column="applicant" jdbcType="VARCHAR" property="applicant"/>
-        <result column="approvers" jdbcType="VARCHAR" property="approvers"/>
-        <result column="state" jdbcType="VARCHAR" property="state"/>
-        <result column="operator" jdbcType="VARCHAR" property="operator"/>
-        <result column="remark" jdbcType="VARCHAR" property="remark"/>
-        <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
-        <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
-        <result column="form_data" jdbcType="LONGVARCHAR" property="formData"/>
-        <result column="ext" jdbcType="LONGVARCHAR" property="ext"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id, type, process_inst_id, process_name, process_display_name, name, display_name, applicant, approvers,
-        state, operator, remark, start_time, end_time, form_data, ext
-    </sql>
-
-    <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from wf_task_instance
-        where id = #{id,jdbcType=INTEGER}
-    </select>
-    <select id="list" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from wf_task_instance
-        where process_inst_id = #{processInstId,jdbcType=INTEGER}
-        and state = #{state,jdbcType=VARCHAR}
-    </select>
-    <select id="countTask" resultType="java.lang.Integer">
-        select count(1)
-        from wf_task_instance
-        where process_inst_id = #{processInstId,jdbcType=INTEGER}
-          and name = #{name,jdbcType=VARCHAR}
-          and state = #{state,jdbcType=VARCHAR}
-    </select>
-    <select id="listByQuery"
-            parameterType="org.apache.inlong.manager.common.model.view.TaskQuery"
-            resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from wf_task_instance
-        where 1=1
-        <if test="id != null">
-            and id = #{id,jdbcType=INTEGER}
-        </if>
-        <if test="processInstId != null">
-            and process_inst_id = #{processInstId,jdbcType=INTEGER}
-        </if>
-        <if test="type != null and type !=''">
-            and type = #{type,jdbcType=VARCHAR}
-        </if>
-        <if test="name != null and name !=''">
-            and name = #{name,jdbcType=VARCHAR}
-        </if>
-        <if test="displayName != null and displayName !=''">
-            and display_name = #{displayName,jdbcType=VARCHAR}
-        </if>
-        <if test="approver != null and approver !=''">
-            and (
-            (FIND_IN_SET(#{approver,jdbcType=VARCHAR},approvers) and state='PENDING')
-            or
-            operator = #{approver,jdbcType=VARCHAR}
-            )
-        </if>
-        <if test="operator != null and operator !=''">
-            and operator = #{operator,jdbcType=VARCHAR}
-        </if>
-        <if test="applicant != null and applicant !=''">
-            and applicant = #{applicant,jdbcType=VARCHAR}
-        </if>
-        <if test="states != null and states.size()>0">
-            AND state IN
-            <foreach item="item" index="index" collection="states" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
-        <if test="startTimeBegin != null">
-            and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="startTimeEnd != null">
-            and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeBegin != null">
-            and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeEnd != null">
-            and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        order by id desc
-    </select>
-
-    <select id="countByState"
-            parameterType="org.apache.inlong.manager.common.model.view.TaskSummaryQuery"
-            resultType="org.apache.inlong.manager.common.model.view.CountByKey">
-        select
-        state as `key`,count(1) as value
-        from wf_task_instance
-        where 1=1
-        <if test="processInstId != null">
-            and process_inst_id = #{processInstId,jdbcType=INTEGER}
-        </if>
-        <if test="type != null and type !=''">
-            and type = #{type,jdbcType=VARCHAR}
-        </if>
-        <if test="name != null and name !=''">
-            and name = #{name,jdbcType=VARCHAR}
-        </if>
-        <if test="displayName != null and displayName !=''">
-            and display_name = #{displayName,jdbcType=VARCHAR}
-        </if>
-        <if test="approver != null and approver !=''">
-            and (
-            (FIND_IN_SET(#{approver,jdbcType=VARCHAR},approvers) and state='PENDING')
-            or
-            operator = #{approver,jdbcType=VARCHAR}
-            )
-        </if>
-        <if test="applicant != null and applicant !=''">
-            and applicant = #{applicant,jdbcType=VARCHAR}
-        </if>
-        <if test="startTimeBegin != null">
-            and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="startTimeEnd != null">
-            and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeBegin != null">
-            and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
-        </if>
-        <if test="endTimeEnd != null">
-            and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
-        </if>
-        group by state
-    </select>
-
-    <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.common.model.instance.TaskInstance">
-        insert into wf_task_instance (id, type, process_inst_id, process_name, process_display_name, name,
-                                      display_name, applicant, approvers, state,
-                                      operator, remark, start_time,
-                                      end_time, form_data, ext)
-        values (#{id,jdbcType=INTEGER}, #{type,jdbcType=VARCHAR}, #{processInstId,jdbcType=INTEGER},
-                #{processName,jdbcType=VARCHAR}, #{processDisplayName,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
-                #{displayName,jdbcType=VARCHAR}, #{applicant,jdbcType=VARCHAR}, #{approvers,jdbcType=VARCHAR},
-                #{state,jdbcType=VARCHAR},
-                #{operator,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP},
-                #{endTime,jdbcType=TIMESTAMP}, #{formData,jdbcType=LONGVARCHAR}, #{ext,jdbcType=LONGVARCHAR})
-    </insert>
-
-    <update id="update"
-            parameterType="org.apache.inlong.manager.common.model.instance.TaskInstance">
-        update wf_task_instance
-        set state     = #{state,jdbcType=VARCHAR},
-            operator  = #{operator,jdbcType=VARCHAR},
-            remark    = #{remark,jdbcType=VARCHAR},
-            form_data = #{formData,jdbcType=LONGVARCHAR},
-            ext       = #{ext,jdbcType=LONGVARCHAR},
-            end_time  = #{endTime,jdbcType=TIMESTAMP}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-
-
-</mapper>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
index 4d70b56..8732403 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
@@ -41,11 +41,11 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from wf_approver
+        from workflow_approver
         where id = #{id,jdbcType=INTEGER} and is_deleted=0
     </select>
     <delete id="deleteByPrimaryKey">
-        update wf_approver
+        update workflow_approver
         set is_deleted = id,
             modify_time=now(),
             modifier=#{modifier,jdbcType=VARCHAR}
@@ -53,7 +53,7 @@
     </delete>
     <insert id="insert"
             parameterType="org.apache.inlong.manager.dao.entity.WorkflowApproverEntity">
-        insert into wf_approver (id, process_name, task_name,
+        insert into workflow_approver (id, process_name, task_name,
                                  filter_key, filter_value, filter_value_desc, approvers,
                                  creator, modifier, create_time,
                                  modify_time, is_deleted)
@@ -65,7 +65,7 @@
     </insert>
     <insert id="insertSelective"
             parameterType="org.apache.inlong.manager.dao.entity.WorkflowApproverEntity">
-        insert into wf_approver
+        insert into workflow_approver
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -145,7 +145,7 @@
     </insert>
     <update id="updateByPrimaryKeySelective"
             parameterType="org.apache.inlong.manager.dao.entity.WorkflowApproverEntity">
-        update wf_approver
+        update workflow_approver
         <set>
             <if test="processName != null">
                 process_name = #{processName,jdbcType=VARCHAR},
@@ -185,7 +185,7 @@
     </update>
     <update id="updateByPrimaryKey"
             parameterType="org.apache.inlong.manager.dao.entity.WorkflowApproverEntity">
-        update wf_approver
+        update workflow_approver
         set process_name = #{processName,jdbcType=VARCHAR},
             task_name    = #{taskName,jdbcType=VARCHAR},
             filter_key   = #{filterKey,jdbcType=VARCHAR},
@@ -204,7 +204,7 @@
             resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from wf_approver
+        from workflow_approver
         where is_deleted =0
         <if test="processName != null and processName!=''">
             and process_name = #{processName,jdbcType=VARCHAR}
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowEventLogEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowEventLogEntityMapper.xml
new file mode 100644
index 0000000..92b3a5f
--- /dev/null
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowEventLogEntityMapper.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.WorkflowEventLogEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity">
+        <id column="id" jdbcType="INTEGER" property="id"/>
+        <result column="process_id" jdbcType="INTEGER" property="processId"/>
+        <result column="process_name" jdbcType="VARCHAR" property="processName"/>
+        <result column="process_display_name" jdbcType="VARCHAR" property="processDisplayName"/>
+        <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
+        <result column="task_id" jdbcType="INTEGER" property="taskId"/>
+        <result column="element_name" jdbcType="VARCHAR" property="elementName"/>
+        <result column="element_display_name" jdbcType="VARCHAR" property="elementDisplayName"/>
+        <result column="event_type" jdbcType="VARCHAR" property="eventType"/>
+        <result column="event" jdbcType="VARCHAR" property="event"/>
+        <result column="listener" jdbcType="VARCHAR" property="listener"/>
+        <result column="status" jdbcType="INTEGER" property="status"/>
+        <result column="async" jdbcType="TINYINT" property="async"/>
+        <result column="ip" jdbcType="VARCHAR" property="ip"/>
+        <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
+        <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
+        <result column="exception" jdbcType="LONGVARCHAR" property="exception"/>
+        <result column="remark" jdbcType="LONGVARCHAR" property="remark"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        id, process_id,process_name, process_display_name, inlong_group_id, task_id,
+        element_name, element_display_name, event_type, event, listener, status, async, ip,
+        start_time, end_time, remark, exception
+    </sql>
+
+    <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
+            parameterType="org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity">
+        insert into workflow_event_log (id, process_id,
+                                        process_name, process_display_name,
+                                        inlong_group_id, task_id,
+                                        element_name, element_display_name,
+                                        event_type, event,
+                                        listener, status,
+                                        async, ip, start_time,
+                                        end_time, remark, exception)
+        values (#{id,jdbcType=INTEGER}, #{processId,jdbcType=INTEGER},
+                #{processName,jdbcType=VARCHAR}, #{processDisplayName,jdbcType=VARCHAR},
+                #{inlongGroupId,jdbcType=VARCHAR}, #{taskId,jdbcType=INTEGER},
+                #{elementName,jdbcType=INTEGER}, #{elementDisplayName,jdbcType=VARCHAR},
+                #{eventType,jdbcType=VARCHAR}, #{event,jdbcType=VARCHAR},
+                #{listener,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
+                #{async,jdbcType=INTEGER}, #{ip,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP},
+                #{endTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=LONGVARCHAR}, #{exception,jdbcType=LONGVARCHAR})
+    </insert>
+
+    <select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from workflow_event_log
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+
+    <select id="selectByCondition" parameterType="org.apache.inlong.manager.common.pojo.workflow.EventLogQuery"
+            resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from workflow_event_log
+        <where>
+            <if test="id != null">
+                and id = #{id,jdbcType=INTEGER}
+            </if>
+            <if test="processId != null">
+                and process_id = #{processId,jdbcType=INTEGER}
+            </if>
+            <if test="processName != null and processName !=''">
+                and process_name = #{processName,jdbcType=VARCHAR}
+            </if>
+            <if test="inlongGroupId != null">
+                and inlong_group_id = #{inlongGroupId,jdbcType=INTEGER}
+            </if>
+            <if test="taskId != null">
+                and task_id = #{taskId,jdbcType=INTEGER}
+            </if>
+            <if test="elementName != null and elementName !=''">
+                and element_name = #{elementName,jdbcType=VARCHAR}
+            </if>
+            <if test="eventType != null and eventType !=''">
+                and event_type = #{eventType,jdbcType=VARCHAR}
+            </if>
+            <if test="event != null and event !=''">
+                and event = #{event,jdbcType=VARCHAR}
+            </if>
+            <if test="listener != null  and listener !=''">
+                and listener = #{listener,jdbcType=VARCHAR}
+            </if>
+            <if test="status != null">
+                and status = #{status,jdbcType=INTEGER}
+            </if>
+            <if test="ip != null and ip !=''">
+                and ip = #{ip,jdbcType=VARCHAR}
+            </if>
+            <if test="startTimeBegin != null">
+                and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="startTimeEnd != null">
+                and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeBegin != null">
+                and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeEnd != null">
+                and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+        </where>
+        order by id desc
+    </select>
+
+    <update id="update" parameterType="org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity">
+        update workflow_event_log
+        set status    = #{status,jdbcType=INTEGER},
+            end_time  = #{endTime,jdbcType=TIMESTAMP},
+            exception = #{exception,jdbcType=LONGVARCHAR},
+            remark    = #{remark,jdbcType=LONGVARCHAR}
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+</mapper>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/ProcessInstanceEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
similarity index 73%
rename from inlong-manager/manager-dao/src/main/resources/mappers/ProcessInstanceEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
index d5f1428..99cfa6d 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/ProcessInstanceEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowProcessEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.ProcessInstanceEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.common.model.instance.ProcessInstance">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.WorkflowProcessEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.WorkflowProcessEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="name" jdbcType="VARCHAR" property="name"/>
         <result column="display_name" jdbcType="VARCHAR" property="displayName"/>
@@ -28,29 +28,43 @@
         <result column="title" jdbcType="VARCHAR" property="title"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="applicant" jdbcType="VARCHAR" property="applicant"/>
-        <result column="state" jdbcType="VARCHAR" property="state"/>
+        <result column="status" jdbcType="VARCHAR" property="status"/>
         <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
         <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
-        <result column="hidden" jdbcType="BIT" property="hidden"/>
+        <result column="hidden" jdbcType="TINYINT" property="hidden"/>
         <result column="form_data" jdbcType="LONGVARCHAR" property="formData"/>
-        <result column="ext" jdbcType="LONGVARCHAR" property="ext"/>
+        <result column="ext_params" jdbcType="LONGVARCHAR" property="extParams"/>
     </resultMap>
     <sql id="Base_Column_List">
         id, name, display_name, type, title, inlong_group_id, applicant,
-        state, start_time, end_time, hidden, form_data, ext
+        status, start_time, end_time, hidden, form_data, ext_params
     </sql>
 
-    <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
+            parameterType="org.apache.inlong.manager.dao.entity.WorkflowProcessEntity">
+        insert into workflow_process (name, display_name,
+                                      type, title, inlong_group_id,
+                                      applicant, status,
+                                      start_time, end_time,
+                                      form_data, ext_params, hidden)
+        values (#{name,jdbcType=VARCHAR}, #{displayName,jdbcType=VARCHAR},
+                #{type,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{inlongGroupId,jdbcType=VARCHAR},
+                #{applicant,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
+                #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP},
+                #{formData,jdbcType=LONGVARCHAR}, #{extParams,jdbcType=LONGVARCHAR}, #{hidden,jdbcType=TINYINT})
+    </insert>
+
+    <select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from wf_process_instance
+        from workflow_process
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="listByQuery" parameterType="org.apache.inlong.manager.common.model.view.ProcessQuery"
+    <select id="selectByCondition" parameterType="org.apache.inlong.manager.common.pojo.workflow.ProcessQuery"
             resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from wf_process_instance
+        from workflow_process
         <where>
             <if test="id != null">
                 and id = #{id,jdbcType=INTEGER}
@@ -76,8 +90,8 @@
             <if test="applicant != null and applicant !=''">
                 and applicant = #{applicant,jdbcType=VARCHAR}
             </if>
-            <if test="state != null">
-                and state = #{state,jdbcType=VARCHAR}
+            <if test="status != null">
+                and status = #{status,jdbcType=VARCHAR}
             </if>
             <if test="startTimeBegin != null">
                 and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
@@ -92,17 +106,16 @@
                 and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
             </if>
             <if test="hidden != null">
-                and hidden = #{hidden,jdbcType=BIT}
+                and hidden = #{hidden,jdbcType=TINYINT}
             </if>
         </where>
         order by id desc
     </select>
 
-    <select id="countByState"
-            parameterType="org.apache.inlong.manager.common.model.view.ProcessSummaryQuery"
-            resultType="org.apache.inlong.manager.common.model.view.CountByKey">
-        select state as `key`,count(1) as value
-        from wf_process_instance
+    <select id="countByQuery" parameterType="org.apache.inlong.manager.common.pojo.workflow.ProcessCountQuery"
+            resultType="org.apache.inlong.manager.common.pojo.common.CountInfo">
+        select status as `key`, count(1) as value
+        from workflow_process
         <where>
             <if test="name != null and name !=''">
                 and name = #{name,jdbcType=VARCHAR}
@@ -129,31 +142,17 @@
                 and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
             </if>
             <if test="hidden != null">
-                and hidden = #{hidden,jdbcType=BIT}
+                and hidden = #{hidden,jdbcType=TINYINT}
             </if>
         </where>
-        group by state
+        group by status
     </select>
 
-    <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
-            parameterType="org.apache.inlong.manager.common.model.instance.ProcessInstance">
-        insert into wf_process_instance (name, display_name,
-                                         type, title, inlong_group_id,
-                                         applicant, state,
-                                         start_time, end_time,
-                                         form_data, ext, hidden)
-        values (#{name,jdbcType=VARCHAR}, #{displayName,jdbcType=VARCHAR},
-                #{type,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{inlongGroupId,jdbcType=VARCHAR},
-                #{applicant,jdbcType=VARCHAR}, #{state,jdbcType=VARCHAR},
-                #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP},
-                #{formData,jdbcType=LONGVARCHAR}, #{ext,jdbcType=LONGVARCHAR}, #{hidden,jdbcType=BIT})
-    </insert>
-
-    <update id="update" parameterType="org.apache.inlong.manager.common.model.instance.ProcessInstance">
-        update wf_process_instance
-        set state    = #{state,jdbcType=VARCHAR},
-            end_time = #{endTime,jdbcType=TIMESTAMP},
-            ext      = #{ext,jdbcType=LONGVARCHAR}
+    <update id="update" parameterType="org.apache.inlong.manager.dao.entity.WorkflowProcessEntity">
+        update workflow_process
+        set status     = #{status,jdbcType=VARCHAR},
+            end_time   = #{endTime,jdbcType=TIMESTAMP},
+            ext_params = #{extParams,jdbcType=LONGVARCHAR}
         where id = #{id,jdbcType=INTEGER}
     </update>
 </mapper>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml
new file mode 100644
index 0000000..29347e8
--- /dev/null
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowTaskEntityMapper.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.WorkflowTaskEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.WorkflowTaskEntity">
+        <id column="id" jdbcType="INTEGER" property="id"/>
+        <result column="type" jdbcType="VARCHAR" property="type"/>
+        <result column="process_id" jdbcType="INTEGER" property="processId"/>
+        <result column="process_name" jdbcType="VARCHAR" property="processName"/>
+        <result column="process_display_name" jdbcType="VARCHAR" property="processDisplayName"/>
+        <result column="name" jdbcType="VARCHAR" property="name"/>
+        <result column="display_name" jdbcType="VARCHAR" property="displayName"/>
+        <result column="applicant" jdbcType="VARCHAR" property="applicant"/>
+        <result column="approvers" jdbcType="VARCHAR" property="approvers"/>
+        <result column="status" jdbcType="VARCHAR" property="status"/>
+        <result column="operator" jdbcType="VARCHAR" property="operator"/>
+        <result column="remark" jdbcType="VARCHAR" property="remark"/>
+        <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
+        <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
+        <result column="form_data" jdbcType="LONGVARCHAR" property="formData"/>
+        <result column="ext_params" jdbcType="LONGVARCHAR" property="extParams"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, type, process_id, process_name, process_display_name, name, display_name, applicant, approvers,
+        status, operator, remark, start_time, end_time, form_data, ext_params
+    </sql>
+
+    <insert id="insert" useGeneratedKeys="true" keyProperty="id"
+            parameterType="org.apache.inlong.manager.dao.entity.WorkflowTaskEntity">
+        insert into workflow_task (id, type, process_id, process_name, process_display_name, name,
+                                   display_name, applicant, approvers, status,
+                                   operator, remark, start_time,
+                                   end_time, form_data, ext_params)
+        values (#{id,jdbcType=INTEGER}, #{type,jdbcType=VARCHAR}, #{processId,jdbcType=INTEGER},
+                #{processName,jdbcType=VARCHAR}, #{processDisplayName,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
+                #{displayName,jdbcType=VARCHAR}, #{applicant,jdbcType=VARCHAR}, #{approvers,jdbcType=VARCHAR},
+                #{status,jdbcType=VARCHAR},
+                #{operator,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP},
+                #{endTime,jdbcType=TIMESTAMP}, #{formData,jdbcType=LONGVARCHAR}, #{extParams,jdbcType=LONGVARCHAR})
+    </insert>
+
+    <select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from workflow_task
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+    <select id="selectByProcess" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from workflow_task
+        where process_id = #{processId,jdbcType=INTEGER}
+        and status = #{status,jdbcType=VARCHAR}
+    </select>
+    <select id="selectByQuery"
+            parameterType="org.apache.inlong.manager.common.pojo.workflow.TaskQuery"
+            resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from workflow_task
+        <where>
+            <if test="id != null">
+                and id = #{id,jdbcType=INTEGER}
+            </if>
+            <if test="processId != null">
+                and process_id = #{processId,jdbcType=INTEGER}
+            </if>
+            <if test="type != null and type !=''">
+                and type = #{type,jdbcType=VARCHAR}
+            </if>
+            <if test="name != null and name !=''">
+                and name = #{name,jdbcType=VARCHAR}
+            </if>
+            <if test="displayName != null and displayName !=''">
+                and display_name = #{displayName,jdbcType=VARCHAR}
+            </if>
+            <if test="approver != null and approver !=''">
+                and (
+                (FIND_IN_SET(#{approver,jdbcType=VARCHAR},approvers) and status='PENDING')
+                or
+                operator = #{approver,jdbcType=VARCHAR}
+                )
+            </if>
+            <if test="operator != null and operator !=''">
+                and operator = #{operator,jdbcType=VARCHAR}
+            </if>
+            <if test="applicant != null and applicant !=''">
+                and applicant = #{applicant,jdbcType=VARCHAR}
+            </if>
+            <if test="statusSet != null and statusSet.size()>0">
+                AND status IN
+                <foreach item="item" index="index" collection="statusSet" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="startTimeBegin != null">
+                and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="startTimeEnd != null">
+                and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeBegin != null">
+                and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeEnd != null">
+                and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+        </where>
+        order by id desc
+    </select>
+    <select id="countByStatus" resultType="java.lang.Integer">
+        select count(1)
+        from workflow_task
+        where process_id = #{processId, jdbcType=INTEGER}
+          and name = #{name, jdbcType=VARCHAR}
+          and status = #{status, jdbcType=VARCHAR}
+    </select>
+    <select id="countByQuery"
+            parameterType="org.apache.inlong.manager.common.pojo.workflow.TaskCountQuery"
+            resultType="org.apache.inlong.manager.common.pojo.common.CountInfo">
+        select status as `key`, count(1) as value
+        from workflow_task
+        <where>
+            <if test="processId != null">
+                and process_id = #{processId,jdbcType=INTEGER}
+            </if>
+            <if test="type != null and type !=''">
+                and type = #{type,jdbcType=VARCHAR}
+            </if>
+            <if test="name != null and name !=''">
+                and name = #{name,jdbcType=VARCHAR}
+            </if>
+            <if test="displayName != null and displayName !=''">
+                and display_name = #{displayName,jdbcType=VARCHAR}
+            </if>
+            <if test="approver != null and approver !=''">
+                and (
+                (FIND_IN_SET(#{approver,jdbcType=VARCHAR},approvers) and status='PENDING')
+                or
+                operator = #{approver,jdbcType=VARCHAR}
+                )
+            </if>
+            <if test="applicant != null and applicant !=''">
+                and applicant = #{applicant,jdbcType=VARCHAR}
+            </if>
+            <if test="startTimeBegin != null">
+                and start_time >= #{startTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="startTimeEnd != null">
+                and start_time &lt;= #{startTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeBegin != null">
+                and end_time >= #{endTimeBegin,jdbcType=TIMESTAMP}
+            </if>
+            <if test="endTimeEnd != null">
+                and end_time &lt;= #{endTimeEnd,jdbcType=TIMESTAMP}
+            </if>
+        </where>
+        group by status
+    </select>
+
+    <update id="update" parameterType="org.apache.inlong.manager.dao.entity.WorkflowTaskEntity">
+        update workflow_task
+        set status     = #{status,jdbcType=VARCHAR},
+            operator   = #{operator,jdbcType=VARCHAR},
+            remark     = #{remark,jdbcType=VARCHAR},
+            form_data  = #{formData,jdbcType=LONGVARCHAR},
+            ext_params = #{extParams,jdbcType=LONGVARCHAR},
+            end_time   = #{endTime,jdbcType=TIMESTAMP}
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+
+</mapper>
diff --git a/inlong-manager/manager-plugin-examples/pom.xml b/inlong-manager/manager-plugin-examples/pom.xml
index 7a602a2..ba2673f 100644
--- a/inlong-manager/manager-plugin-examples/pom.xml
+++ b/inlong-manager/manager-plugin-examples/pom.xml
@@ -16,8 +16,8 @@
   ~ limitations under the License.
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>inlong-manager</artifactId>
@@ -33,7 +33,11 @@
             <groupId>org.apache.inlong</groupId>
             <artifactId>manager-common</artifactId>
             <version>${project.version}</version>
-            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.inlong</groupId>
+            <artifactId>manager-workflow</artifactId>
+            <version>${project.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java b/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
index 64d7cb1..252656d 100644
--- a/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
+++ b/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
@@ -17,14 +17,15 @@
 
 package org.apache.inlong.manager.plugin;
 
+import org.apache.inlong.manager.workflow.event.EventSelector;
+import org.apache.inlong.manager.workflow.event.task.DataSourceOperateListener;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.SortOperateListener;
+import org.apache.inlong.manager.workflow.event.task.StorageOperateListener;
+import org.apache.inlong.manager.workflow.plugin.ProcessPlugin;
+
 import java.util.LinkedHashMap;
 import java.util.Map;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.event.task.DataSourceOperateListener;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.SortOperateListener;
-import org.apache.inlong.manager.common.event.task.StorageOperateListener;
-import org.apache.inlong.manager.common.plugin.ProcessPlugin;
 
 public class EmptyProcessPlugin implements ProcessPlugin {
 
@@ -47,4 +48,5 @@ public class EmptyProcessPlugin implements ProcessPlugin {
     public Map<StorageOperateListener, EventSelector> createStorageOperateListeners() {
         return ProcessPlugin.super.createStorageOperateListeners();
     }
+
 }
diff --git a/inlong-manager/manager-service/pom.xml b/inlong-manager/manager-service/pom.xml
index 3faf9df..057186f 100644
--- a/inlong-manager/manager-service/pom.xml
+++ b/inlong-manager/manager-service/pom.xml
@@ -33,11 +33,20 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.inlong</groupId>
+            <artifactId>manager-common</artifactId>
+            <version>${project.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.inlong</groupId>
             <artifactId>manager-dao</artifactId>
             <version>${project.version}</version>
         </dependency>
-
-
+        <dependency>
+            <groupId>org.apache.inlong</groupId>
+            <artifactId>manager-workflow</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.inlong</groupId>
             <artifactId>sort-common</artifactId>
@@ -54,6 +63,7 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
@@ -82,7 +92,6 @@
             <artifactId>log4j-core</artifactId>
         </dependency>
 
-
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-common</artifactId>
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
index b0887c7..ba39b2a 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
@@ -93,7 +93,7 @@ public interface ConsumptionService {
      *
      * @param id Data consumption id
      * @param operator Operator
-     * @return Process information
+     * @return WorkflowProcess information
      */
     WorkflowResult startProcess(Integer id, String operator);
 
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/SortTaskIdParamService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/SortTaskIdParamService.java
index 42ecf05..06be4ca 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/SortTaskIdParamService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/SortTaskIdParamService.java
@@ -27,7 +27,7 @@ public interface SortTaskIdParamService {
 
     /**
      * Select all id params by task name.
-     * @param taskName Task name.
+     * @param taskName WorkflowTask name.
      * @return List of all id params.
      */
     List<Map<String, String>> selectByTaskName(String taskName);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
index bfb03ec..8c24a53 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
@@ -30,8 +30,8 @@ public interface WorkflowApproverService {
     /**
      * Get process approver
      *
-     * @param processName Process name
-     * @param taskName Task name
+     * @param processName WorkflowProcess name
+     * @param taskName WorkflowTask name
      * @param context Context
      * @return Approver
      */
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowEventService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowEventService.java
index ba3e2c2..309232d 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowEventService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowEventService.java
@@ -18,10 +18,10 @@
 package org.apache.inlong.manager.service.core;
 
 import com.github.pagehelper.PageInfo;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
-import org.apache.inlong.manager.common.model.view.EventLogView;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogView;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 
 /**
  * Workflow event related services
@@ -54,32 +54,33 @@ public interface WorkflowEventService {
     /**
      * Re-execute the specified listener according to the process ID
      *
-     * @param processInstId Process ID
+     * @param processId WorkflowProcess ID
      * @param listenerName Listener name
      */
-    void executeProcessEventListener(Integer processInstId, String listenerName);
+    void executeProcessEventListener(Integer processId, String listenerName);
 
     /**
      * Re-execute the specified listener based on the task ID
      *
-     * @param taskInstId Task ID
+     * @param taskId WorkflowTask ID
      * @param listenerName Listener name
      */
-    void executeTaskEventListener(Integer taskInstId, String listenerName);
+    void executeTaskEventListener(Integer taskId, String listenerName);
 
     /**
      * Re-trigger the process event based on the process ID
      *
-     * @param processInstId Process ID
-     * @param processEvent Process event
+     * @param processId WorkflowProcess ID
+     * @param processEvent WorkflowProcess event
      */
-    void triggerProcessEvent(Integer processInstId, ProcessEvent processEvent);
+    void triggerProcessEvent(Integer processId, ProcessEvent processEvent);
 
     /**
      * Re-trigger task events based on task ID
      *
-     * @param taskInstId Task ID
-     * @param taskEvent Task event
+     * @param taskId WorkflowTask ID
+     * @param taskEvent WorkflowTask event
      */
-    void triggerTaskEvent(Integer taskInstId, TaskEvent taskEvent);
+    void triggerTaskEvent(Integer taskId, TaskEvent taskEvent);
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/AgentTaskServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/AgentTaskServiceImpl.java
index 7a3faa8..0efdeeb 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/AgentTaskServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/AgentTaskServiceImpl.java
@@ -72,7 +72,7 @@ public class AgentTaskServiceImpl implements AgentTaskService {
             return null;
         }
 
-        // Process the status of the postback task
+        // WorkflowProcess the status of the postback task
         this.dealCommandResult(info);
 
         // Query pending tasks
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessProcessOperation.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessProcessOperation.java
index 6857839..9e89580 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessProcessOperation.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessProcessOperation.java
@@ -24,15 +24,15 @@ import org.apache.inlong.manager.common.enums.EntityStatus;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.datastream.StreamBriefResponse;
+import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.DataStreamService;
 import org.apache.inlong.manager.service.workflow.ProcessName;
-import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.service.workflow.WorkflowService;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm.OperateType;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewBusinessProcessForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm.OperateType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,30 +60,29 @@ public class BusinessProcessOperation {
      *
      * @param groupId Business group id
      * @param operator Operator name
-     * @return Process information
+     * @return WorkflowProcess information
      */
     public WorkflowResult startProcess(String groupId, String operator) {
         LOGGER.info("begin to start approve process, groupId = {}, operator = {}", groupId, operator);
-        final EntityStatus nextEntityStatus = EntityStatus.BIZ_WAIT_SUBMIT;
-        BusinessInfo businessInfo = validateBusiness(groupId, EntityStatus.ALLOW_START_WORKFLOW_STATUS,
-                nextEntityStatus);
+        final EntityStatus nextStatus = EntityStatus.BIZ_WAIT_SUBMIT;
+        BusinessInfo businessInfo = validateBusiness(groupId, EntityStatus.ALLOW_START_WORKFLOW_STATUS, nextStatus);
 
         // Modify business status
-        businessInfo.setStatus(nextEntityStatus.getCode());
+        businessInfo.setStatus(nextStatus.getCode());
         businessService.update(businessInfo, operator);
 
         // Initiate the approval process
-        NewBusinessWorkflowForm form = genNewBusinessWorkflowForm(businessInfo);
+        NewBusinessProcessForm form = genNewBusinessWorkflowForm(businessInfo);
         return workflowService.start(ProcessName.NEW_BUSINESS_WORKFLOW, operator, form);
     }
 
     /**
      * Suspend resource application group which is started up successfully, stop dataSource collecting task
-     * and sort task related to application group asynchronously, persist the application state if necessary
+     * and sort task related to application group asynchronously, persist the application status if necessary
      *
      * @param groupId
      * @param operator
-     * @return Process information
+     * @return WorkflowProcess information
      */
     public WorkflowResult suspendProcess(String groupId, String operator) {
         LOGGER.info("begin to suspend process, groupId = {}, operator = {}", groupId, operator);
@@ -94,7 +93,7 @@ public class BusinessProcessOperation {
 
         businessInfo.setStatus(nextEntityStatus.getCode());
         businessService.update(businessInfo, operator);
-        UpdateBusinessWorkflowForm form = genUpdateBusinessWorkflowForm(businessInfo, OperateType.SUSPEND);
+        UpdateBusinessProcessForm form = genUpdateBusinessProcessForm(businessInfo, OperateType.SUSPEND);
         return workflowService.start(ProcessName.SUSPEND_BUSINESS_WORKFLOW, operator, form);
     }
 
@@ -103,7 +102,7 @@ public class BusinessProcessOperation {
      *
      * @param groupId
      * @param operator
-     * @return Process information
+     * @return WorkflowProcess information
      */
     public WorkflowResult restartProcess(String groupId, String operator) {
         LOGGER.info("begin to restart process, groupId = {}, operator = {}", groupId, operator);
@@ -112,7 +111,7 @@ public class BusinessProcessOperation {
                 nextEntityStatus);
         businessInfo.setStatus(nextEntityStatus.getCode());
         businessService.update(businessInfo, operator);
-        UpdateBusinessWorkflowForm form = genUpdateBusinessWorkflowForm(businessInfo, OperateType.RESTART);
+        UpdateBusinessProcessForm form = genUpdateBusinessProcessForm(businessInfo, OperateType.RESTART);
         return workflowService.start(ProcessName.RESTART_BUSINESS_WORKFLOW, operator, form);
     }
 
@@ -126,7 +125,7 @@ public class BusinessProcessOperation {
     public boolean deleteProcess(String groupId, String operator) {
         LOGGER.info("begin to delete process, groupId = {}, operator = {}", groupId, operator);
         BusinessInfo businessInfo = businessService.get(groupId);
-        UpdateBusinessWorkflowForm form = genUpdateBusinessWorkflowForm(businessInfo, OperateType.DELETE);
+        UpdateBusinessProcessForm form = genUpdateBusinessProcessForm(businessInfo, OperateType.DELETE);
         try {
             workflowService.start(ProcessName.DELETE_BUSINESS_WORKFLOW, operator, form);
         } catch (Exception ex) {
@@ -140,8 +139,8 @@ public class BusinessProcessOperation {
     /**
      * Generate the form of [New Business Workflow]
      */
-    public NewBusinessWorkflowForm genNewBusinessWorkflowForm(BusinessInfo businessInfo) {
-        NewBusinessWorkflowForm form = new NewBusinessWorkflowForm();
+    public NewBusinessProcessForm genNewBusinessWorkflowForm(BusinessInfo businessInfo) {
+        NewBusinessProcessForm form = new NewBusinessProcessForm();
         form.setBusinessInfo(businessInfo);
 
         // Query all data streams under the groupId and the storage information of each data stream
@@ -151,16 +150,15 @@ public class BusinessProcessOperation {
         return form;
     }
 
-    private UpdateBusinessWorkflowForm genUpdateBusinessWorkflowForm(BusinessInfo businessInfo,
+    private UpdateBusinessProcessForm genUpdateBusinessProcessForm(BusinessInfo businessInfo,
             OperateType operateType) {
-        UpdateBusinessWorkflowForm updateBusinessWorkflowForm = new UpdateBusinessWorkflowForm();
+        UpdateBusinessProcessForm updateBusinessWorkflowForm = new UpdateBusinessProcessForm();
         updateBusinessWorkflowForm.setBusinessInfo(businessInfo);
         updateBusinessWorkflowForm.setOperateType(operateType);
         return updateBusinessWorkflowForm;
     }
 
-    private BusinessInfo validateBusiness(String groupId, Set<Integer> allowedStatus,
-            EntityStatus nextBusinessStatus) {
+    private BusinessInfo validateBusiness(String groupId, Set<Integer> allowedStatus, EntityStatus nextStatus) {
         Preconditions.checkNotNull(groupId, BizConstant.GROUP_ID_IS_EMPTY);
 
         // Check whether the current status of the business allows the process to be re-initiated
@@ -170,7 +168,8 @@ public class BusinessProcessOperation {
             throw new BusinessException(BizErrorCodeEnum.BUSINESS_NOT_FOUND);
         }
         Preconditions.checkTrue(allowedStatus.contains(businessInfo.getStatus()),
-                String.format("current status was not allowed to %s workflow", nextBusinessStatus.getDescription()));
+                String.format("current status was not allowed to %s workflow", nextStatus.getDescription()));
         return businessInfo;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessServiceImpl.java
index 4fbad67..c2005f9 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/BusinessServiceImpl.java
@@ -260,7 +260,7 @@ public class BusinessServiceImpl implements BusinessService {
         if (entity == null || businessInfo == null) {
             return;
         }
-        // Check whether the current state supports modification
+        // Check whether the current status supports modification
         Integer oldStatus = entity.getStatus();
         if (!EntityStatus.ALLOW_UPDATE_BIZ_STATUS.contains(oldStatus)) {
             LOGGER.error("current status was not allowed to update");
@@ -311,7 +311,7 @@ public class BusinessServiceImpl implements BusinessService {
             throw new BusinessException(BizErrorCodeEnum.BUSINESS_NOT_FOUND);
         }
 
-        // Determine whether the current state can be deleted
+        // Determine whether the current status can be deleted
         if (!EntityStatus.ALLOW_DELETE_BIZ_STATUS.contains(entity.getStatus())) {
             LOGGER.error("current status was not allowed to delete");
             throw new BusinessException(BizErrorCodeEnum.BUSINESS_DELETE_NOT_ALLOWED);
@@ -322,7 +322,7 @@ public class BusinessServiceImpl implements BusinessService {
             // Logically delete data streams, data sources and data storage information
             streamService.logicDeleteAll(entity.getInlongGroupId(), operator);
         } else {
-            // In other states, you need to delete the associated "data stream" first.
+            // In other status, you need to delete the associated "data stream" first.
             // When deleting a data stream, you also need to check whether there are
             // some associated "data source" and "data storage"
             int count = streamService.selectCountByGroupId(groupId);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonDBServerServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonDBServerServiceImpl.java
index 9c42856..424a468 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonDBServerServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonDBServerServiceImpl.java
@@ -32,7 +32,7 @@ import org.apache.inlong.manager.common.pojo.commonserver.CommonDbServerInfo;
 import org.apache.inlong.manager.common.pojo.commonserver.CommonDbServerListVo;
 import org.apache.inlong.manager.common.pojo.commonserver.CommonDbServerPageRequest;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
-import org.apache.inlong.manager.common.util.LoginUserUtil;
+import org.apache.inlong.manager.common.util.LoginUserUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.CommonDbServerEntity;
 import org.apache.inlong.manager.dao.mapper.CommonDbServerEntityMapper;
@@ -105,7 +105,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
         CommonDbServerEntity record = CommonBeanUtils.copyProperties(info, CommonDbServerEntity::new);
         record.setStatus(0);
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         record.setCreator(userName);
         record.setModifier(userName);
         Date now = new Date();
@@ -189,7 +189,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
         Preconditions.checkNotNull(entity, "CommonDbServerEntity not found by id=" + id);
         Preconditions.checkTrue(entity.getIsDeleted() == 0, "CommonDbServerEntity has been deleted, id=" + id);
 
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         if (checkVisible(userName, entity)) {
             return CommonBeanUtils.copyProperties(entity, CommonDbServerInfo::new);
         } else {
@@ -200,7 +200,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public void delete(int id) throws Exception {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} delete CommonDbServerInfo id=[{}]", userName, id);
 
         CommonDbServerEntity entity = commonDbServerMapper.selectByPrimaryKey(id);
@@ -227,7 +227,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public CommonDbServerInfo update(CommonDbServerInfo serverInfo) throws Exception {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} update CommonDbServerInfo info=[{}]", userName, serverInfo);
         CommonDbServerEntity entity = commonDbServerMapper.selectByPrimaryKey(serverInfo.getId());
         Preconditions.checkNotNull(entity, "CommonDbServerEntity not found by id=" + serverInfo.getId());
@@ -325,7 +325,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public CommonDbServerInfo addVisiblePerson(Integer id, String visiblePerson) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, add visible person, id={}, visible group={}", username, id, visiblePerson);
 
         CommonDbServerEntity entity = commonDbServerMapper.selectByPrimaryKey(id);
@@ -368,7 +368,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public CommonDbServerInfo deleteVisiblePerson(Integer id, String visiblePerson) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, delete visible group, id={}, visible group={}", username, id, visiblePerson);
 
         CommonDbServerEntity entity = commonDbServerMapper.selectByPrimaryKey(id);
@@ -404,7 +404,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public CommonDbServerInfo addVisibleGroup(Integer id, String visibleGroup) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, add visible group, id={}, visible group={}", username, id, visibleGroup);
 
         CommonDbServerEntity entity = commonDbServerMapper.selectByPrimaryKey(id);
@@ -447,7 +447,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
 
     @Override
     public CommonDbServerInfo deleteVisibleGroup(Integer id, String visibleGroup) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, delete visible group, id={}, visible group={}", username, id, visibleGroup);
 
         CommonDbServerEntity entity =
@@ -485,7 +485,7 @@ public class CommonDBServerServiceImpl implements CommonDBServerService {
     @Override
     public PageInfo<CommonDbServerListVo> listByCondition(CommonDbServerPageRequest request)
             throws Exception {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.debug("{} begin to list CommonDbServer info by {}", username, request);
         request.setCurrentUser(username);
 
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonFileServerServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonFileServerServiceImpl.java
index a78c8a5..75d94ba 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonFileServerServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/CommonFileServerServiceImpl.java
@@ -32,7 +32,7 @@ import org.apache.inlong.manager.common.pojo.commonserver.CommonFileServerInfo;
 import org.apache.inlong.manager.common.pojo.commonserver.CommonFileServerListVo;
 import org.apache.inlong.manager.common.pojo.commonserver.CommonFileServerPageRequest;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
-import org.apache.inlong.manager.common.util.LoginUserUtil;
+import org.apache.inlong.manager.common.util.LoginUserUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.CommonFileServerEntity;
 import org.apache.inlong.manager.dao.mapper.CommonFileServerEntityMapper;
@@ -98,7 +98,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
             record.setAccessType("Agent");
         }
 
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         record.setStatus(0);
         record.setCreator(userName);
         record.setModifier(userName);
@@ -166,7 +166,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
         Preconditions.checkNotNull(entity, "CommonFileServerEntity not found by id=" + id);
         Preconditions.checkTrue(entity.getIsDeleted() == 0, "CommonFileServerEntity has been deleted, id=" + id);
 
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         if (checkVisible(userName, entity)) {
             return CommonBeanUtils.copyProperties(entity, CommonFileServerInfo::new);
         } else {
@@ -177,7 +177,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public void delete(int id) throws Exception {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} delete CommonFileServer id={} ", userName, id);
 
         CommonFileServerEntity entity = commonFileServerMapper.selectByPrimaryKey(id);
@@ -202,7 +202,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
     @Override
     public CommonFileServerInfo update(CommonFileServerInfo commonFileServerInfo)
             throws Exception {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} update CommonFileServer info=[{}].", userName, commonFileServerInfo);
 
         CommonFileServerEntity entity =
@@ -253,7 +253,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo freeze(int id) {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} freeze CommonFileServer id=[{}].", userName, id);
 
         CommonFileServerEntity entity = commonFileServerMapper.selectByPrimaryKey(id);
@@ -280,7 +280,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo unfreeze(int id) {
-        String userName = LoginUserUtil.getLoginUserDetail().getUserName();
+        String userName = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={} unfreeze CommonFileServer id=[{}].", userName, id);
 
         CommonFileServerEntity entity = commonFileServerMapper.selectByPrimaryKey(id);
@@ -352,7 +352,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo addVisiblePerson(Integer id, String visiblePerson) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, add visible person, id={}, visible group={}", username, id, visiblePerson);
 
         CommonFileServerEntity entity = commonFileServerMapper.selectByPrimaryKey(id);
@@ -396,7 +396,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo deleteVisiblePerson(Integer id, String visiblePerson) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, delete visible person, id={}, visible group={}", username, id, visiblePerson);
 
         CommonFileServerEntity entity =
@@ -434,7 +434,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo addVisibleGroup(Integer id, String visibleGroup) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, add visible group, id={}, visible group={}", username, id, visibleGroup);
 
         CommonFileServerEntity entity = commonFileServerMapper.selectByPrimaryKey(id);
@@ -477,7 +477,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
 
     @Override
     public CommonFileServerInfo deleteVisibleGroup(Integer id, String visibleGroup) {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
         LOGGER.info("user={}, delete visible group, id={}, visible group={}", username, id, visibleGroup);
 
         CommonFileServerEntity entity =
@@ -515,7 +515,7 @@ public class CommonFileServerServiceImpl implements CommonFileServerService {
     @Override
     public PageInfo<CommonFileServerListVo> listByCondition(CommonFileServerPageRequest request)
             throws Exception {
-        String username = LoginUserUtil.getLoginUserDetail().getUserName();
+        String username = LoginUserUtils.getLoginUserDetail().getUserName();
 
         request.setCurrentUser(username);
         LOGGER.debug("{} begin to list CommonFileServer info by {}", username, request);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ConsumptionServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ConsumptionServiceImpl.java
index e86acac..befe24c 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ConsumptionServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ConsumptionServiceImpl.java
@@ -20,15 +20,6 @@ package org.apache.inlong.manager.service.core.impl;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
 import org.apache.inlong.manager.common.enums.BizConstant;
@@ -45,6 +36,8 @@ import org.apache.inlong.manager.common.pojo.consumption.ConsumptionPulsarInfo;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionQuery;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionSummary;
 import org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO;
+import org.apache.inlong.manager.common.pojo.common.CountInfo;
+import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.BusinessEntity;
@@ -57,15 +50,23 @@ import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.ConsumptionService;
 import org.apache.inlong.manager.service.core.DataStreamService;
 import org.apache.inlong.manager.service.workflow.ProcessName;
-import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.service.workflow.WorkflowService;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
-import org.apache.inlong.manager.common.model.view.CountByKey;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
 /**
  * Data consumption service
  */
@@ -90,15 +91,15 @@ public class ConsumptionServiceImpl implements ConsumptionService {
 
     @Override
     public ConsumptionSummary getSummary(ConsumptionQuery query) {
-        Map<String, Integer> countByState = consumptionMapper.countByStatus(query)
+        Map<String, Integer> countMap = consumptionMapper.countByQuery(query)
                 .stream()
-                .collect(Collectors.toMap(CountByKey::getKey, CountByKey::getValue));
+                .collect(Collectors.toMap(CountInfo::getKey, CountInfo::getValue));
 
         return ConsumptionSummary.builder()
-                .totalCount(countByState.values().stream().mapToInt(c -> c).sum())
-                .waitingAssignCount(countByState.getOrDefault(ConsumptionStatus.WAITING_ASSIGN.getStatus() + "", 0))
-                .waitingApproveCount(countByState.getOrDefault(ConsumptionStatus.WAITING_APPROVE.getStatus() + "", 0))
-                .rejectedCount(countByState.getOrDefault(ConsumptionStatus.REJECTED.getStatus() + "", 0)).build();
+                .totalCount(countMap.values().stream().mapToInt(c -> c).sum())
+                .waitingAssignCount(countMap.getOrDefault(ConsumptionStatus.WAIT_ASSIGN.getStatus() + "", 0))
+                .waitingApproveCount(countMap.getOrDefault(ConsumptionStatus.WAIT_APPROVE.getStatus() + "", 0))
+                .rejectedCount(countMap.getOrDefault(ConsumptionStatus.REJECTED.getStatus() + "", 0)).build();
     }
 
     @Override
@@ -319,7 +320,7 @@ public class ConsumptionServiceImpl implements ConsumptionService {
         ConsumptionEntity updateConsumptionEntity = new ConsumptionEntity();
         updateConsumptionEntity.setId(consumptionInfo.getId());
         updateConsumptionEntity.setModifyTime(new Date());
-        updateConsumptionEntity.setStatus(ConsumptionStatus.WAITING_APPROVE.getStatus());
+        updateConsumptionEntity.setStatus(ConsumptionStatus.WAIT_APPROVE.getStatus());
         int success = this.consumptionMapper.updateByPrimaryKeySelective(updateConsumptionEntity);
         Preconditions.checkTrue(success == 1, "update consumption failed");
 
@@ -367,8 +368,8 @@ public class ConsumptionServiceImpl implements ConsumptionService {
         log.debug("success save consumption, groupId={}, topic={}, consumer group={}", groupId, topic, consumerGroup);
     }
 
-    private NewConsumptionWorkflowForm genNewConsumptionWorkflowForm(ConsumptionInfo consumptionInfo) {
-        NewConsumptionWorkflowForm form = new NewConsumptionWorkflowForm();
+    private NewConsumptionProcessForm genNewConsumptionWorkflowForm(ConsumptionInfo consumptionInfo) {
+        NewConsumptionProcessForm form = new NewConsumptionProcessForm();
         Integer id = consumptionInfo.getId();
         if (BizConstant.MIDDLEWARE_PULSAR.equalsIgnoreCase(consumptionInfo.getMiddlewareType())) {
             ConsumptionPulsarEntity consumptionPulsarEntity = consumptionPulsarMapper.selectByConsumptionId(id);
@@ -382,7 +383,7 @@ public class ConsumptionServiceImpl implements ConsumptionService {
 
     private ConsumptionEntity saveConsumption(ConsumptionInfo info, String operator, Date now) {
         ConsumptionEntity entity = CommonBeanUtils.copyProperties(info, ConsumptionEntity::new);
-        entity.setStatus(ConsumptionStatus.WAITING_ASSIGN.getStatus());
+        entity.setStatus(ConsumptionStatus.WAIT_ASSIGN.getStatus());
         entity.setIsDeleted(0);
         entity.setCreator(operator);
         entity.setModifier(operator);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataStreamServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataStreamServiceImpl.java
index 46fed66..c2e3f3f 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataStreamServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataStreamServiceImpl.java
@@ -127,7 +127,7 @@ public class DataStreamServiceImpl implements DataStreamService {
 
         // Processing extended information
         this.saveExt(groupId, streamId, streamInfo.getExtList(), date);
-        // Process data source fields
+        // WorkflowProcess data source fields
         this.saveField(groupId, streamId, streamInfo.getFieldList());
 
         LOGGER.info("success to save data stream info for groupId={}", groupId);
@@ -740,7 +740,7 @@ public class DataStreamServiceImpl implements DataStreamService {
     }
 
     /**
-     * Verify the fields that cannot be modified in the current business state
+     * Verify the fields that cannot be modified in the current business status
      *
      * @param bizStatus Business status
      * @param streamEntity Original data stream entity
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
index 4b3bd3d..06d9f2c 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
@@ -31,7 +31,7 @@ import org.apache.inlong.manager.common.pojo.user.UserDetailListVO;
 import org.apache.inlong.manager.common.pojo.user.UserDetailPageRequest;
 import org.apache.inlong.manager.common.pojo.user.UserInfo;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
-import org.apache.inlong.manager.common.util.LoginUserUtil;
+import org.apache.inlong.manager.common.util.LoginUserUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.common.util.SmallTools;
 import org.apache.inlong.manager.dao.entity.UserEntity;
@@ -87,7 +87,7 @@ public class UserServiceImpl implements UserService {
         entity.setAccountType(userInfo.getType());
         entity.setPassword(SmallTools.passwordMd5(userInfo.getPassword()));
         entity.setDueDate(getOverDueDate(userInfo.getValidDays()));
-        entity.setCreateBy(LoginUserUtil.getLoginUserDetail().getUserName());
+        entity.setCreateBy(LoginUserUtils.getLoginUserDetail().getUserName());
         entity.setName(username);
         entity.setCreateTime(new Date());
         Preconditions.checkTrue(userMapper.insert(entity) > 0, "Create user failed");
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
index 0c8b3e3..6a5b62d 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
@@ -17,13 +17,6 @@
 
 package org.apache.inlong.manager.service.core.impl;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.EntityStatus;
 import org.apache.inlong.manager.common.pojo.workflow.FilterKey;
@@ -35,13 +28,21 @@ import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.WorkflowApproverEntity;
 import org.apache.inlong.manager.dao.mapper.WorkflowApproverEntityMapper;
 import org.apache.inlong.manager.service.core.WorkflowApproverService;
-import org.apache.inlong.manager.common.workflow.WorkflowEngine;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.Task;
-import org.apache.inlong.manager.common.model.definition.UserTask;
+import org.apache.inlong.manager.workflow.core.WorkflowEngine;
+import org.apache.inlong.manager.workflow.definition.UserTask;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
+import org.apache.inlong.manager.workflow.definition.WorkflowTask;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
 /**
  * Operation of workflow approvers
  */
@@ -82,11 +83,11 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
         List<WorkflowApproverEntity> entityList = workflowApproverMapper.selectByQuery(query);
         List<WorkflowApprover> approverList = CommonBeanUtils.copyListProperties(entityList, WorkflowApprover::new);
         approverList.forEach(config -> {
-            Process process = workflowEngine.processDefinitionService().getByName(config.getProcessName());
+            WorkflowProcess process = workflowEngine.processDefinitionService().getByName(config.getProcessName());
             if (process != null) {
                 config.setProcessDisplayName(process.getDisplayName());
                 config.setTaskDisplayName(Optional.ofNullable(process.getTaskByName(config.getTaskName())).map(
-                        Task::getDisplayName).orElse(null));
+                        WorkflowTask::getDisplayName).orElse(null));
             }
         });
 
@@ -101,11 +102,11 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
         approver.setModifier(operator);
         approver.setCreator(operator);
 
-        Process process = workflowEngine.processDefinitionService().getByName(approver.getProcessName());
+        WorkflowProcess process = workflowEngine.processDefinitionService().getByName(approver.getProcessName());
         Preconditions.checkNotNull(process, "process not exit with name: " + approver.getProcessName());
-        Task task = process.getTaskByName(approver.getTaskName());
+        WorkflowTask task = process.getTaskByName(approver.getTaskName());
         Preconditions.checkNotNull(task, "task not exit with name: " + approver.getTaskName());
-        Preconditions.checkTrue(task instanceof UserTask, "task should be userTask");
+        Preconditions.checkTrue(task instanceof UserTask, "task should be UserTask");
 
         List<WorkflowApproverEntity> exist = this.workflowApproverMapper.selectByQuery(
                 WorkflowApproverQuery.builder()
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
index fc55f7f..1b7eb5c 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
@@ -20,19 +20,20 @@ package org.apache.inlong.manager.service.core.impl;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import java.util.List;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogView;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
+import org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity;
 import org.apache.inlong.manager.service.core.WorkflowEventService;
-import org.apache.inlong.manager.common.workflow.EventListenerService;
-import org.apache.inlong.manager.common.workflow.QueryService;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.model.instance.EventLog;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
-import org.apache.inlong.manager.common.model.view.EventLogView;
+import org.apache.inlong.manager.workflow.core.EventListenerService;
+import org.apache.inlong.manager.workflow.core.WorkflowQueryService;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * Workflow event related services
  */
@@ -40,21 +41,20 @@ import org.springframework.stereotype.Service;
 public class WorkflowEventServiceImpl implements WorkflowEventService {
 
     @Autowired
-    private QueryService queryService;
-
+    private WorkflowQueryService queryService;
     @Autowired
     private EventListenerService eventListenerService;
 
     @Override
     public EventLogView get(Integer id) {
-        EventLog eventLog = queryService.getEventLog(id);
-        return CommonBeanUtils.copyProperties(eventLog, EventLogView::new);
+        WorkflowEventLogEntity workflowEventLogEntity = queryService.getEventLog(id);
+        return CommonBeanUtils.copyProperties(workflowEventLogEntity, EventLogView::new);
     }
 
     @Override
     public PageInfo<EventLogView> list(EventLogQuery query) {
         PageHelper.startPage(query.getPageNum(), query.getPageSize());
-        Page<EventLog> page = (Page<EventLog>) queryService.listEventLog(query);
+        Page<WorkflowEventLogEntity> page = (Page<WorkflowEventLogEntity>) queryService.listEventLog(query);
 
         List<EventLogView> viewList = CommonBeanUtils.copyListProperties(page, EventLogView::new);
         PageInfo<EventLogView> pageInfo = new PageInfo<>(viewList);
@@ -69,22 +69,22 @@ public class WorkflowEventServiceImpl implements WorkflowEventService {
     }
 
     @Override
-    public void executeProcessEventListener(Integer processInstId, String listenerName) {
-        eventListenerService.executeProcessEventListener(processInstId, listenerName);
+    public void executeProcessEventListener(Integer processId, String listenerName) {
+        eventListenerService.executeProcessEventListener(processId, listenerName);
     }
 
     @Override
-    public void executeTaskEventListener(Integer taskInstId, String listenerName) {
-        eventListenerService.executeTaskEventListener(taskInstId, listenerName);
+    public void executeTaskEventListener(Integer taskId, String listenerName) {
+        eventListenerService.executeTaskEventListener(taskId, listenerName);
     }
 
     @Override
-    public void triggerProcessEvent(Integer processInstId, ProcessEvent processEvent) {
-        eventListenerService.triggerProcessEvent(processInstId, processEvent);
+    public void triggerProcessEvent(Integer processId, ProcessEvent processEvent) {
+        eventListenerService.triggerProcessEvent(processId, processEvent);
     }
 
     @Override
-    public void triggerTaskEvent(Integer taskInstId, TaskEvent taskEvent) {
-        eventListenerService.triggerTaskEvent(taskInstId, taskEvent);
+    public void triggerTaskEvent(Integer taskId, TaskEvent taskEvent) {
+        eventListenerService.triggerTaskEvent(taskId, taskEvent);
     }
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/operationlog/OperationLogRecorder.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/operationlog/OperationLogRecorder.java
index b8cc4fb..597afdc 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/operationlog/OperationLogRecorder.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/operationlog/OperationLogRecorder.java
@@ -25,7 +25,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.OperationType;
 import org.apache.inlong.manager.common.pojo.user.UserDetail;
 import org.apache.inlong.manager.common.util.JsonUtils;
-import org.apache.inlong.manager.common.util.LoginUserUtil;
+import org.apache.inlong.manager.common.util.LoginUserUtils;
 import org.apache.inlong.manager.common.util.NetworkUtils;
 import org.apache.inlong.manager.dao.entity.OperationLogEntity;
 import org.aspectj.lang.ProceedingJoinPoint;
@@ -52,7 +52,7 @@ public class OperationLogRecorder {
 
         HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
 
-        UserDetail userDetail = Optional.ofNullable(LoginUserUtil.getLoginUserDetail())
+        UserDetail userDetail = Optional.ofNullable(LoginUserUtils.getLoginUserDetail())
                 .orElseGet(UserDetail::new);
         String operator = userDetail.getUserName();
         operator = StringUtils.isBlank(operator) ? ANONYMOUS_USER : operator;
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/JarHell.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/JarHell.java
index 5dd5520..ede9758 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/JarHell.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/JarHell.java
@@ -18,26 +18,69 @@
 package org.apache.inlong.manager.service.core.plugin;
 
 import com.google.common.collect.Lists;
+import org.apache.commons.lang3.StringUtils;
+
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
-import org.apache.commons.lang3.StringUtils;
 
 public class JarHell {
 
     public static final JavaVersion CURRENT_VERSION = new JavaVersion(Lists.newArrayList(1, 8), null);
 
+    private JarHell() {
+    }
+
+    /**
+     * Check the validation for java version
+     */
+    public static void checkJavaVersion(String resource, String javaVersion) {
+        JavaVersion version = parse(javaVersion);
+        if (CURRENT_VERSION.compareTo(version) < 0) {
+            throw new IllegalArgumentException(
+                    String.format("%s requires Java %s:, your system: %s", resource, CURRENT_VERSION,
+                            javaVersion));
+        }
+    }
+
+    /**
+     * Parse the java version from the given value
+     */
+    public static JavaVersion parse(String value) {
+        Objects.requireNonNull(value);
+        String prePart = null;
+        if (!isValid(value)) {
+            throw new IllegalArgumentException("Java version string [" + value + "] could not be parsed.");
+        }
+        List<Integer> version = new ArrayList<>();
+        String[] parts = value.split("-");
+        String[] numericComponents;
+        if (parts.length == 1) {
+            numericComponents = value.split("\\.");
+        } else if (parts.length == 2) {
+            numericComponents = parts[0].split("\\.");
+            prePart = parts[1];
+        } else {
+            throw new IllegalArgumentException("Java version string [" + value + "] could not be parsed.");
+        }
+
+        for (String component : numericComponents) {
+            version.add(Integer.valueOf(component));
+        }
+        return new JavaVersion(version, prePart);
+    }
+
+    public static boolean isValid(String value) {
+        return value.matches("^0*[0-9]+(\\.[0-9]+)*(-[a-zA-Z0-9]+)?$");
+    }
+
     public static class JavaVersion {
 
         private final List<Integer> version;
         private final String prePart;
 
-        public List<Integer> getVersion() {
-            return version;
-        }
-
         private JavaVersion(List<Integer> version, String prePart) {
             this.prePart = prePart;
             if (version.size() >= 2 && version.get(0) == 1 && version.get(1) == 8) {
@@ -47,11 +90,18 @@ public class JarHell {
             this.version = Collections.unmodifiableList(version);
         }
 
+        public List<Integer> getVersion() {
+            return version;
+        }
+
         @Override
         public String toString() {
             return StringUtils.join(version, '.') + "-" + prePart;
         }
 
+        /**
+         * Compare to other version
+         */
         public int compareTo(JavaVersion o) {
             int len = Math.max(version.size(), o.version.size());
             for (int i = 0; i < len; i++) {
@@ -84,44 +134,4 @@ public class JarHell {
             }
         }
     }
-
-    private JarHell() {
-    }
-
-    public static void checkJavaVersion(String resource, String javaVersion) {
-        JavaVersion version = parse(javaVersion);
-        if (CURRENT_VERSION.compareTo(version) < 0) {
-            throw new IllegalArgumentException(
-                    String.format("%s requires Java %s:, your system: %s", resource, CURRENT_VERSION,
-                            javaVersion));
-        }
-    }
-
-    public static JavaVersion parse(String value) {
-        Objects.requireNonNull(value);
-        String prePart = null;
-        if (!isValid(value)) {
-            throw new IllegalArgumentException("Java version string [" + value + "] could not be parsed.");
-        }
-        List<Integer> version = new ArrayList<>();
-        String[] parts = value.split("-");
-        String[] numericComponents;
-        if (parts.length == 1) {
-            numericComponents = value.split("\\.");
-        } else if (parts.length == 2) {
-            numericComponents = parts[0].split("\\.");
-            prePart = parts[1];
-        } else {
-            throw new IllegalArgumentException("Java version string [" + value + "] could not be parsed.");
-        }
-
-        for (String component : numericComponents) {
-            version.add(Integer.valueOf(component));
-        }
-        return new JavaVersion(version, prePart);
-    }
-
-    public static boolean isValid(String value) {
-        return value.matches("^0*[0-9]+(\\.[0-9]+)*(-[a-zA-Z0-9]+)?$");
-    }
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginClassLoader.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginClassLoader.java
index 2071f48..e145828 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginClassLoader.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginClassLoader.java
@@ -21,6 +21,11 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.inlong.manager.workflow.plugin.PluginDefinition;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -37,10 +42,6 @@ import java.util.Map;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import java.util.stream.Collectors;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.inlong.manager.common.plugin.PluginDefinition;
 
 @Slf4j
 public class PluginClassLoader extends URLClassLoader {
@@ -51,14 +52,11 @@ public class PluginClassLoader extends URLClassLoader {
      * plugin.yaml should less than 1k
      */
     public static final int PLUGIN_DEF_CAPACITY = 1024;
-
+    private final File pluginDirectory;
     /**
      * pluginName -> pluginDefinition
      */
     private Map<String, PluginDefinition> pluginDefinitionMap = new HashMap<>();
-
-    private File pluginDirectory;
-
     private ObjectMapper yamlMapper;
 
     private PluginClassLoader(URL url, ClassLoader parent) throws IOException {
@@ -80,6 +78,28 @@ public class PluginClassLoader extends URLClassLoader {
         });
     }
 
+    private static void checkClassLoader(ClassLoader classLoader) {
+        if (classLoader == null) {
+            throw new RuntimeException("parent classLoader should not be null");
+        }
+    }
+
+    private static void checkUrl(String url) {
+        if (StringUtils.isBlank(url)) {
+            throw new IllegalArgumentException("url should not be empty");
+        }
+        File pluginDirectory = new File(url);
+        if (!pluginDirectory.exists()) {
+            throw new RuntimeException(String.format("pluginDirectory '%s' is not exists", pluginDirectory));
+        }
+        if (!pluginDirectory.isDirectory()) {
+            throw new RuntimeException(String.format("pluginDirectory '%s' should be directory", pluginDirectory));
+        }
+        if (!pluginDirectory.canRead()) {
+            throw new RuntimeException(String.format("pluginDirectory '%s' is not readable", pluginDirectory));
+        }
+    }
+
     public Map<String, PluginDefinition> getPluginDefinitions() {
         return this.pluginDefinitionMap;
     }
@@ -104,7 +124,7 @@ public class PluginClassLoader extends URLClassLoader {
             }
             JarFile pluginJar = new JarFile(jarFile);
             String pluginDef = readPluginDef(pluginJar);
-            pluginDef = pluginDef.replaceAll("[\\x00]+","");
+            pluginDef = pluginDef.replaceAll("[\\x00]+", "");
             PluginDefinition definition = yamlMapper.readValue(pluginDef, PluginDefinition.class);
             addURL(new URL("file://" + jarFile.getAbsolutePath()));
             checkPluginValid(jarFile, definition);
@@ -152,26 +172,4 @@ public class PluginClassLoader extends URLClassLoader {
         return new String(buffer.array(), StandardCharsets.UTF_8);
     }
 
-    private static void checkClassLoader(ClassLoader classLoader) {
-        if (classLoader == null) {
-            throw new RuntimeException("parent classLoader should not be null");
-        }
-    }
-
-    private static void checkUrl(String url) {
-        if (StringUtils.isBlank(url)) {
-            throw new IllegalArgumentException("url should not be empty");
-        }
-        File pluginDirectory = new File(url);
-        if (!pluginDirectory.exists()) {
-            throw new RuntimeException(String.format("pluginDirectory '%s' is not exists", pluginDirectory));
-        }
-        if (!pluginDirectory.isDirectory()) {
-            throw new RuntimeException(String.format("pluginDirectory '%s' should be directory", pluginDirectory));
-        }
-        if (!pluginDirectory.canRead()) {
-            throw new RuntimeException(String.format("pluginDirectory '%s' is not readable", pluginDirectory));
-        }
-    }
-
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
index 3324a48..b1736f4 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/plugin/PluginService.java
@@ -17,41 +17,39 @@
 
 package org.apache.inlong.manager.service.core.plugin;
 
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.inlong.manager.common.plugin.Plugin;
-import org.apache.inlong.manager.common.plugin.PluginBinder;
-import org.apache.inlong.manager.common.plugin.PluginDefinition;
+import org.apache.inlong.manager.workflow.plugin.Plugin;
+import org.apache.inlong.manager.workflow.plugin.PluginBinder;
+import org.apache.inlong.manager.workflow.plugin.PluginDefinition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 @Service
 @Slf4j
 public class PluginService {
 
     public static final String DEFAULT_PLUGIN_LOC = "/plugins";
-
+    @Getter
+    private final List<Plugin> plugins = new ArrayList<>();
     @Setter
     @Getter
     @Value("${plugin.location?:''}")
     private String pluginLoc;
-
     @Getter
     @Autowired
     private List<PluginBinder> pluginBinders;
 
-    @Getter
-    private final List<Plugin> plugins = new ArrayList<>();
-
     public PluginService() {
         if (StringUtils.isBlank(pluginLoc)) {
             pluginLoc = DEFAULT_PLUGIN_LOC;
@@ -59,6 +57,9 @@ public class PluginService {
         pluginReload();
     }
 
+    /**
+     * Reload the plugin from the plugin path
+     */
     public void pluginReload() {
         Path path = Paths.get(pluginLoc).toAbsolutePath();
         log.info("search for plugin in {}", pluginLoc);
@@ -91,4 +92,5 @@ public class PluginService {
             }
         }
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageService.java
index 9938f59..012d373 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageService.java
@@ -110,7 +110,7 @@ public interface StorageService {
      * Modify storage data status
      *
      * @param id Stored id
-     * @param status Goal state
+     * @param status Goal status
      * @param log Modify the description
      */
     void updateStatus(int id, int status, String log);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageServiceImpl.java
index ebb11b8..7ab08ea 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/storage/StorageServiceImpl.java
@@ -21,16 +21,6 @@ import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;
-import java.util.concurrent.TimeUnit;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.BizConstant;
@@ -47,7 +37,6 @@ import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
 import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.BusinessEntity;
 import org.apache.inlong.manager.dao.entity.StorageEntity;
 import org.apache.inlong.manager.dao.mapper.BusinessEntityMapper;
@@ -55,6 +44,7 @@ import org.apache.inlong.manager.dao.mapper.StorageEntityMapper;
 import org.apache.inlong.manager.dao.mapper.StorageFieldEntityMapper;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.WorkflowService;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
 import org.apache.inlong.manager.service.workflow.stream.CreateStreamWorkflowDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -62,6 +52,17 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;
+import java.util.concurrent.TimeUnit;
+
 /**
  * Implementation of storage service interface
  */
@@ -408,7 +409,7 @@ public class StorageServiceImpl implements StorageService {
             LOGGER.info("begin start data stream workflow, groupId={}, streamId={}", groupId, streamId);
 
             BusinessInfo businessInfo = CommonBeanUtils.copyProperties(businessEntity, BusinessInfo::new);
-            BusinessResourceWorkflowForm form = genBizResourceWorkflowForm(businessInfo, streamId);
+            BusinessResourceProcessForm form = genBizResourceWorkflowForm(businessInfo, streamId);
 
             workflowService.start(ProcessName.CREATE_DATASTREAM_RESOURCE, operator, form);
             LOGGER.info("success start data stream workflow, groupId={}, streamId={}", groupId, streamId);
@@ -417,8 +418,8 @@ public class StorageServiceImpl implements StorageService {
         /**
          * Generate [Create Business Resource] form
          */
-        private BusinessResourceWorkflowForm genBizResourceWorkflowForm(BusinessInfo businessInfo, String streamId) {
-            BusinessResourceWorkflowForm form = new BusinessResourceWorkflowForm();
+        private BusinessResourceProcessForm genBizResourceWorkflowForm(BusinessInfo businessInfo, String streamId) {
+            BusinessResourceProcessForm form = new BusinessResourceProcessForm();
             form.setBusinessInfo(businessInfo);
             form.setInlongStreamId(streamId);
             return form;
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableEventSelector.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableEventSelector.java
index d6ea061..cc09a72 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableEventSelector.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableEventSelector.java
@@ -17,22 +17,23 @@
 
 package org.apache.inlong.manager.service.thirdpart.hive;
 
-import java.util.List;
-import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.DataStreamEntity;
 import org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper;
 import org.apache.inlong.manager.service.storage.StorageService;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.workflow.event.EventSelector;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Component
 @Slf4j
 public class CreateHiveTableEventSelector implements EventSelector {
@@ -45,10 +46,10 @@ public class CreateHiveTableEventSelector implements EventSelector {
     @Override
     public boolean accept(WorkflowContext context) {
         ProcessForm processForm = context.getProcessForm();
-        if (processForm == null || !(processForm instanceof BusinessResourceWorkflowForm)) {
+        if (!(processForm instanceof BusinessResourceProcessForm)) {
             return false;
         }
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) processForm;
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) processForm;
         if (form.getBusinessInfo() == null || StringUtils.isEmpty(form.getBusinessInfo().getInlongGroupId())) {
             return false;
         }
@@ -66,4 +67,5 @@ public class CreateHiveTableEventSelector implements EventSelector {
         }
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableForStreamListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableForStreamListener.java
index 3425a8e..d2b6ce8 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableForStreamListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableForStreamListener.java
@@ -18,13 +18,13 @@
 package org.apache.inlong.manager.service.thirdpart.hive;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.StorageOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.datastorage.StorageForSortDTO;
 import org.apache.inlong.manager.dao.mapper.StorageEntityMapper;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.StorageOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,7 +49,7 @@ public class CreateHiveTableForStreamListener implements StorageOperateListener
 
     @Override
     public ListenerResult listen(WorkflowContext context) {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         String streamId = form.getInlongStreamId();
         log.info("begin create hive table for groupId={}, streamId={}", groupId, streamId);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableListener.java
index de94410..c95e8f5 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/CreateHiveTableListener.java
@@ -17,19 +17,20 @@
 
 package org.apache.inlong.manager.service.thirdpart.hive;
 
-import java.util.List;
-import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.StorageOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.datastorage.StorageForSortDTO;
 import org.apache.inlong.manager.dao.mapper.StorageEntityMapper;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.StorageOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * Event listener of create hive table for all data stream
  */
@@ -49,7 +50,7 @@ public class CreateHiveTableListener implements StorageOperateListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         log.info("begin to create hive table for groupId={}", groupId);
 
@@ -68,4 +69,5 @@ public class CreateHiveTableListener implements StorageOperateListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupForStreamTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupForStreamTaskListener.java
index 083f267..8fe83d8 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupForStreamTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupForStreamTaskListener.java
@@ -19,21 +19,21 @@ package org.apache.inlong.manager.service.thirdpart.mq;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.pulsar.PulsarTopicBean;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.DataStreamEntity;
 import org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.ConsumptionService;
 import org.apache.inlong.manager.service.storage.StorageService;
 import org.apache.inlong.manager.service.thirdpart.mq.util.PulsarUtils;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -67,7 +67,7 @@ public class CreatePulsarGroupForStreamTaskListener implements QueueOperateListe
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         String streamId = form.getInlongStreamId();
 
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupTaskListener.java
index 1fbe996..1891b8c 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarGroupTaskListener.java
@@ -17,26 +17,27 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq;
 
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.pulsar.PulsarTopicBean;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.DataStreamEntity;
 import org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.ConsumptionService;
 import org.apache.inlong.manager.service.thirdpart.mq.util.PulsarUtils;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * Create default subscription group for Pulsar
  */
@@ -62,7 +63,7 @@ public class CreatePulsarGroupTaskListener implements QueueOperateListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
 
         String groupId = form.getInlongGroupId();
         BusinessInfo bizInfo = businessService.get(groupId);
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarResourceTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarResourceTaskListener.java
index 030f5ca..a8b6eec 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarResourceTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarResourceTaskListener.java
@@ -17,28 +17,29 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq;
 
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO;
 import org.apache.inlong.manager.common.pojo.pulsar.PulsarTopicBean;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.BusinessPulsarEntity;
 import org.apache.inlong.manager.dao.mapper.BusinessPulsarEntityMapper;
 import org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.thirdpart.mq.util.PulsarUtils;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * Create Pulsar tenant, namespace and topic
  */
@@ -64,7 +65,7 @@ public class CreatePulsarResourceTaskListener implements QueueOperateListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         log.info("begin to create pulsar resource for groupId={}", groupId);
 
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarTopicForStreamTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarTopicForStreamTaskListener.java
index 48af5d1..3e1e267 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarTopicForStreamTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreatePulsarTopicForStreamTaskListener.java
@@ -17,25 +17,26 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq;
 
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.pulsar.PulsarTopicBean;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.DataStreamEntity;
 import org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.thirdpart.mq.util.PulsarUtils;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * Create task listener for Pulsar Topic
  */
@@ -59,7 +60,7 @@ public class CreatePulsarTopicForStreamTaskListener implements QueueOperateListe
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         String streamId = form.getInlongStreamId();
 
@@ -112,4 +113,5 @@ public class CreatePulsarTopicForStreamTaskListener implements QueueOperateListe
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeGroupTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeGroupTaskListener.java
index f09bdd5..eb9991e 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeGroupTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeGroupTaskListener.java
@@ -17,25 +17,26 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq;
 
-import java.util.Collections;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ReTryConfigBean;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.tubemq.AddTubeConsumeGroupRequest;
 import org.apache.inlong.manager.common.pojo.tubemq.AddTubeConsumeGroupRequest.GroupNameJsonSetBean;
 import org.apache.inlong.manager.common.pojo.tubemq.QueryTubeTopicRequest;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.mapper.ClusterInfoMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
+import java.util.Collections;
+
 @Component
 @Slf4j
 public class CreateTubeGroupTaskListener implements QueueOperateListener {
@@ -62,15 +63,12 @@ public class CreateTubeGroupTaskListener implements QueueOperateListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
-
         log.info("try to create consumer group for groupId {}", groupId);
 
         BusinessInfo businessInfo = businessService.get(groupId);
-
         String topicName = businessInfo.getMqResourceObj();
-
         QueryTubeTopicRequest queryTubeTopicRequest = QueryTubeTopicRequest.builder()
                 .topicName(topicName).clusterId(clusterId)
                 .user(businessInfo.getCreator()).build();
@@ -113,4 +111,5 @@ public class CreateTubeGroupTaskListener implements QueueOperateListener {
     public boolean async() {
         return true;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeTopicTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeTopicTaskListener.java
index 4a7073e..2c12194 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeTopicTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/CreateTubeTopicTaskListener.java
@@ -17,20 +17,21 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq;
 
-import java.util.Collections;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.tubemq.AddTubeMqTopicRequest;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.service.core.BusinessService;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Collections;
+
 /**
  * Create a listener for MQ resource tasks
  */
@@ -50,7 +51,7 @@ public class CreateTubeTopicTaskListener implements QueueOperateListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
 
         log.info("begin create tube topic for groupId={}", form.getInlongGroupId());
         String groupId = form.getInlongGroupId();
@@ -76,4 +77,5 @@ public class CreateTubeTopicTaskListener implements QueueOperateListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/PulsarEventSelector.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/PulsarEventSelector.java
index 4691b13..48a203e 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/PulsarEventSelector.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/PulsarEventSelector.java
@@ -19,10 +19,10 @@ package org.apache.inlong.manager.service.thirdpart.mq;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.workflow.event.EventSelector;
 
 @Slf4j
 public class PulsarEventSelector implements EventSelector {
@@ -30,10 +30,10 @@ public class PulsarEventSelector implements EventSelector {
     @Override
     public boolean accept(WorkflowContext context) {
         ProcessForm processForm = context.getProcessForm();
-        if (processForm == null || !(processForm instanceof BusinessResourceWorkflowForm)) {
+        if (!(processForm instanceof BusinessResourceProcessForm)) {
             return false;
         }
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) processForm;
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) processForm;
         String middlewareType = form.getBusinessInfo().getMiddlewareType();
         if (BizConstant.MIDDLEWARE_PULSAR.equalsIgnoreCase(middlewareType)) {
             return true;
@@ -42,4 +42,5 @@ public class PulsarEventSelector implements EventSelector {
                 form.getInlongGroupId(), middlewareType);
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/TubeEventSelector.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/TubeEventSelector.java
index b7ff53a..a5714b5 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/TubeEventSelector.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/TubeEventSelector.java
@@ -19,11 +19,11 @@ package org.apache.inlong.manager.service.thirdpart.mq;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.workflow.event.EventSelector;
 
 @Slf4j
 public class TubeEventSelector implements EventSelector {
@@ -31,10 +31,10 @@ public class TubeEventSelector implements EventSelector {
     @Override
     public boolean accept(WorkflowContext context) {
         ProcessForm processForm = context.getProcessForm();
-        if (processForm == null || !(processForm instanceof BusinessResourceWorkflowForm)) {
+        if (!(processForm instanceof BusinessResourceProcessForm)) {
             return false;
         }
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) processForm;
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) processForm;
         BusinessInfo businessInfo = form.getBusinessInfo();
         if (BizConstant.MIDDLEWARE_TUBE.equalsIgnoreCase(businessInfo.getMiddlewareType())) {
             return true;
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/util/PulsarUtils.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/util/PulsarUtils.java
index c1ca6b4..a8706dac 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/util/PulsarUtils.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/mq/util/PulsarUtils.java
@@ -17,7 +17,6 @@
 
 package org.apache.inlong.manager.service.thirdpart.mq.util;
 
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -29,6 +28,8 @@ import org.apache.pulsar.client.admin.PulsarAdminException;
 import org.apache.pulsar.client.api.AuthenticationFactory;
 import org.apache.pulsar.client.api.PulsarClientException;
 
+import java.util.List;
+
 /**
  * Pulsar connection utils
  */
@@ -38,6 +39,9 @@ public class PulsarUtils {
     private PulsarUtils() {
     }
 
+    /**
+     * Get pulsar admin info
+     */
     public static PulsarAdmin getPulsarAdmin(BusinessInfo businessInfo, String defaultServiceUrl)
             throws PulsarClientException {
         if (CollectionUtils.isEmpty(businessInfo.getExtList())) {
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/PushHiveConfigTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/PushHiveConfigTaskListener.java
index 5a26e6c..f8df289 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/PushHiveConfigTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/PushHiveConfigTaskListener.java
@@ -23,11 +23,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.beans.ClusterBean;
 import org.apache.inlong.manager.common.enums.BizConstant;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.SortOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessExtInfo;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.datastorage.StorageForSortDTO;
@@ -35,12 +31,16 @@ import org.apache.inlong.manager.common.pojo.datastorage.hive.HiveStorageDTO;
 import org.apache.inlong.manager.common.settings.BusinessSettings;
 import org.apache.inlong.manager.common.util.JsonUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.dao.entity.BusinessEntity;
 import org.apache.inlong.manager.dao.entity.StorageFieldEntity;
 import org.apache.inlong.manager.dao.mapper.BusinessEntityMapper;
 import org.apache.inlong.manager.dao.mapper.StorageEntityMapper;
 import org.apache.inlong.manager.dao.mapper.StorageFieldEntityMapper;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.SortOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
 import org.apache.inlong.sort.ZkTools;
 import org.apache.inlong.sort.formats.common.FormatInfo;
 import org.apache.inlong.sort.formats.common.TimestampFormatInfo;
@@ -104,7 +104,7 @@ public class PushHiveConfigTaskListener implements SortOperateListener {
             log.debug("begin push hive config to sort, context={}", context);
         }
 
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         BusinessInfo businessInfo = form.getBusinessInfo();
         String groupId = businessInfo.getInlongGroupId();
 
@@ -143,6 +143,7 @@ public class PushHiveConfigTaskListener implements SortOperateListener {
                 throw new WorkflowListenerException("push hive config to sort failed, reason: " + e.getMessage());
             }
         }
+
         return ListenerResult.success();
     }
 
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/ZkSortEventSelector.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/ZkSortEventSelector.java
index 6773de9..7d87946 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/ZkSortEventSelector.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/sort/ZkSortEventSelector.java
@@ -18,11 +18,11 @@
 package org.apache.inlong.manager.service.thirdpart.sort;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.workflow.event.EventSelector;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -32,11 +32,12 @@ public class ZkSortEventSelector implements EventSelector {
     @Override
     public boolean accept(WorkflowContext context) {
         ProcessForm processForm = context.getProcessForm();
-        if (processForm == null || !(processForm instanceof BusinessResourceWorkflowForm)) {
+        if (!(processForm instanceof BusinessResourceProcessForm)) {
             return false;
         }
-        BusinessResourceWorkflowForm workflowForm = (BusinessResourceWorkflowForm) processForm;
+        BusinessResourceProcessForm workflowForm = (BusinessResourceProcessForm) processForm;
         BusinessInfo businessInfo = workflowForm.getBusinessInfo();
         return businessInfo.getZookeeperEnabled() == 1;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ProcessName.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ProcessName.java
index 9d80d45..be59041 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ProcessName.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ProcessName.java
@@ -18,7 +18,7 @@
 package org.apache.inlong.manager.service.workflow;
 
 /**
- * Process name
+ * WorkflowProcess name
  */
 public enum ProcessName {
 
@@ -71,4 +71,5 @@ public enum ProcessName {
     public String getDisplayName() {
         return displayName;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ServiceTaskListenerFactory.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ServiceTaskListenerFactory.java
index 9daa930..8f1105d 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ServiceTaskListenerFactory.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/ServiceTaskListenerFactory.java
@@ -18,27 +18,10 @@
 package org.apache.inlong.manager.service.workflow;
 
 import com.google.common.collect.Lists;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.PostConstruct;
 import lombok.Setter;
 import org.apache.commons.collections.MapUtils;
-import org.apache.inlong.manager.common.event.EventSelector;
-import org.apache.inlong.manager.common.event.task.DataSourceOperateListener;
-import org.apache.inlong.manager.common.event.task.QueueOperateListener;
-import org.apache.inlong.manager.common.event.task.SortOperateListener;
-import org.apache.inlong.manager.common.event.task.StorageOperateListener;
-import org.apache.inlong.manager.common.event.task.TaskEventListener;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskListenerProvider;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskType;
-import org.apache.inlong.manager.common.plugin.Plugin;
-import org.apache.inlong.manager.common.plugin.PluginBinder;
-import org.apache.inlong.manager.common.plugin.ProcessPlugin;
-import org.apache.inlong.manager.service.thirdpart.hive.CreateHiveTableListener;
 import org.apache.inlong.manager.service.thirdpart.hive.CreateHiveTableEventSelector;
+import org.apache.inlong.manager.service.thirdpart.hive.CreateHiveTableListener;
 import org.apache.inlong.manager.service.thirdpart.mq.CreatePulsarGroupTaskListener;
 import org.apache.inlong.manager.service.thirdpart.mq.CreatePulsarResourceTaskListener;
 import org.apache.inlong.manager.service.thirdpart.mq.CreateTubeGroupTaskListener;
@@ -47,9 +30,27 @@ import org.apache.inlong.manager.service.thirdpart.mq.PulsarEventSelector;
 import org.apache.inlong.manager.service.thirdpart.mq.TubeEventSelector;
 import org.apache.inlong.manager.service.thirdpart.sort.PushHiveConfigTaskListener;
 import org.apache.inlong.manager.service.thirdpart.sort.ZkSortEventSelector;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskListenerProvider;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskType;
+import org.apache.inlong.manager.workflow.event.EventSelector;
+import org.apache.inlong.manager.workflow.event.task.DataSourceOperateListener;
+import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.SortOperateListener;
+import org.apache.inlong.manager.workflow.event.task.StorageOperateListener;
+import org.apache.inlong.manager.workflow.event.task.TaskEventListener;
+import org.apache.inlong.manager.workflow.plugin.Plugin;
+import org.apache.inlong.manager.workflow.plugin.PluginBinder;
+import org.apache.inlong.manager.workflow.plugin.ProcessPlugin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
 @Component
 public class ServiceTaskListenerFactory implements PluginBinder, ServiceTaskListenerProvider {
 
@@ -204,4 +205,5 @@ public class ServiceTaskListenerFactory implements PluginBinder, ServiceTaskList
             sortOperateListeners.putAll(pluginSortOperateListeners);
         }
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowDefinition.java
index 527fab4..3fd8611 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowDefinition.java
@@ -17,7 +17,7 @@
 
 package org.apache.inlong.manager.service.workflow;
 
-import org.apache.inlong.manager.common.model.definition.Process;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 
 /**
  * Definition of workflow
@@ -29,7 +29,7 @@ public interface WorkflowDefinition {
      *
      * @return defined process
      */
-    Process defineProcess();
+    WorkflowProcess defineProcess();
 
     /**
      * Get process name
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowEngineConfig.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowEngineConfig.java
index 6a67319..d74a00b 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowEngineConfig.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowEngineConfig.java
@@ -17,18 +17,16 @@
 
 package org.apache.inlong.manager.service.workflow;
 
-import org.apache.inlong.manager.common.workflow.EventListenerService;
-import org.apache.inlong.manager.common.workflow.ProcessDefinitionService;
-import org.apache.inlong.manager.common.workflow.QueryService;
-import org.apache.inlong.manager.common.workflow.WorkflowDataAccessor;
-import org.apache.inlong.manager.common.workflow.WorkflowEngine;
-import org.apache.inlong.manager.workflow.core.impl.MemoryProcessDefinitionStorage;
-import org.apache.inlong.manager.workflow.core.impl.WorkflowDataAccessorImpl;
+import org.apache.inlong.manager.dao.mapper.WorkflowEventLogEntityMapper;
+import org.apache.inlong.manager.dao.mapper.WorkflowProcessEntityMapper;
+import org.apache.inlong.manager.dao.mapper.WorkflowTaskEntityMapper;
+import org.apache.inlong.manager.workflow.WorkflowConfig;
+import org.apache.inlong.manager.workflow.core.EventListenerService;
+import org.apache.inlong.manager.workflow.core.ProcessDefinitionService;
+import org.apache.inlong.manager.workflow.core.WorkflowEngine;
+import org.apache.inlong.manager.workflow.core.WorkflowQueryService;
+import org.apache.inlong.manager.workflow.core.impl.MemoryProcessDefinitionRepository;
 import org.apache.inlong.manager.workflow.core.impl.WorkflowEngineImpl;
-import org.apache.inlong.manager.common.dao.EventLogStorage;
-import org.apache.inlong.manager.common.dao.ProcessInstanceStorage;
-import org.apache.inlong.manager.common.dao.TaskInstanceStorage;
-import org.apache.inlong.manager.common.model.WorkflowConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -43,39 +41,29 @@ import org.springframework.transaction.PlatformTransactionManager;
 public class WorkflowEngineConfig {
 
     @Autowired
-    private ProcessInstanceStorage processInstanceStorage;
-
+    private WorkflowQueryService queryService;
     @Autowired
-    private TaskInstanceStorage taskInstanceStorage;
-
+    private MemoryProcessDefinitionRepository memoryProcessRepository;
     @Autowired
-    private EventLogStorage eventLogStorage;
-
+    private WorkflowProcessEntityMapper processEntityMapper;
+    @Autowired
+    private WorkflowTaskEntityMapper taskEntityMapper;
+    @Autowired
+    private WorkflowEventLogEntityMapper eventLogMapper;
     @Autowired
     private PlatformTransactionManager platformTransactionManager;
 
     @Bean
-    public WorkflowDataAccessor workflowDataAccessor() {
-        return new WorkflowDataAccessorImpl(
-                new MemoryProcessDefinitionStorage(),
-                processInstanceStorage,
-                taskInstanceStorage,
-                eventLogStorage
-        );
-    }
-
-    @Bean
     public WorkflowEngine workflowEngineer() {
-        WorkflowConfig workFlowConfig = new WorkflowConfig()
-                .setWorkflowDataAccessor(this.workflowDataAccessor())
-                .setPlatformTransactionManager(platformTransactionManager);
+        WorkflowConfig workflowConfig = new WorkflowConfig()
+                .setQueryService(queryService)
+                .setProcessEntityMapper(processEntityMapper)
+                .setTaskEntityMapper(taskEntityMapper)
+                .setEventLogMapper(eventLogMapper)
+                .setDefinitionRepository(memoryProcessRepository)
+                .setTransactionManager(platformTransactionManager);
 
-        return new WorkflowEngineImpl(workFlowConfig);
-    }
-
-    @Bean
-    public QueryService queryService(WorkflowEngine workflowEngine) {
-        return workflowEngine.queryService();
+        return new WorkflowEngineImpl(workflowConfig);
     }
 
     @Bean
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLog.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowExecuteLog.java
similarity index 64%
rename from inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLog.java
rename to inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowExecuteLog.java
index 1183f3d..f97b8a4 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskExecuteLog.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowExecuteLog.java
@@ -18,15 +18,16 @@
 package org.apache.inlong.manager.service.workflow;
 
 import io.swagger.annotations.ApiModelProperty;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.model.instance.EventLog;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
+import org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity;
+import org.apache.inlong.manager.dao.entity.WorkflowTaskEntity;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
 
 /**
  * Workflow system task execution log
@@ -35,17 +36,17 @@ import org.apache.inlong.manager.common.model.instance.TaskInstance;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class WorkflowTaskExecuteLog {
+public class WorkflowExecuteLog {
 
-    @ApiModelProperty("Process ID")
-    private Integer processInstId;
+    @ApiModelProperty("WorkflowProcess ID")
+    private Integer processId;
 
-    @ApiModelProperty("Process name")
+    @ApiModelProperty("WorkflowProcess name")
     private String processDisplayName;
 
-    @ApiModelProperty("Process status: same task status, such as processing: PROCESSING, "
+    @ApiModelProperty("WorkflowProcess status: same task status, such as processing: PROCESSING, "
             + "completed: COMPLETED, rejected: REJECTED, cancelled: CANCELED, terminated: TERMINATED")
-    private String state;
+    private String status;
 
     @ApiModelProperty("Start time")
     private Date startTime;
@@ -53,7 +54,7 @@ public class WorkflowTaskExecuteLog {
     @ApiModelProperty("End time")
     private Date endTime;
 
-    @ApiModelProperty("Task execution log")
+    @ApiModelProperty("WorkflowTask execution log")
     private List<TaskExecutorLog> taskExecutorLogs;
 
     @Data
@@ -62,18 +63,18 @@ public class WorkflowTaskExecuteLog {
     @AllArgsConstructor
     static class TaskExecutorLog {
 
-        @ApiModelProperty("Task type")
+        @ApiModelProperty("WorkflowTask type")
         private String taskType;
 
-        @ApiModelProperty("Task ID")
-        private Integer taskInstId;
+        @ApiModelProperty("WorkflowTask ID")
+        private Integer taskId;
 
-        @ApiModelProperty("Task name")
+        @ApiModelProperty("WorkflowTask name")
         private String taskDisplayName;
 
         @ApiModelProperty("Execution status: same task status, such as "
                 + "complete: COMPLETE; failure: FAILED; processing: PENDING")
-        private String state;
+        private String status;
 
         @ApiModelProperty("Start time")
         private Date startTime;
@@ -84,14 +85,14 @@ public class WorkflowTaskExecuteLog {
         @ApiModelProperty("Listener execution log")
         private List<ListenerExecutorLog> listenerExecutorLogs;
 
-        public static TaskExecutorLog buildFromTaskInst(TaskInstance taskInstance) {
+        public static TaskExecutorLog buildFromTaskInst(WorkflowTaskEntity workflowTaskEntity) {
             return TaskExecutorLog.builder()
-                    .taskType(taskInstance.getType())
-                    .taskInstId(taskInstance.getId())
-                    .taskDisplayName(taskInstance.getDisplayName())
-                    .state(taskInstance.getState())
-                    .startTime(taskInstance.getStartTime())
-                    .endTime(taskInstance.getEndTime())
+                    .taskType(workflowTaskEntity.getType())
+                    .taskId(workflowTaskEntity.getId())
+                    .taskDisplayName(workflowTaskEntity.getDisplayName())
+                    .status(workflowTaskEntity.getStatus())
+                    .startTime(workflowTaskEntity.getStartTime())
+                    .endTime(workflowTaskEntity.getEndTime())
                     .build();
         }
     }
@@ -115,10 +116,10 @@ public class WorkflowTaskExecuteLog {
         private String listener;
 
         @ApiModelProperty("Status")
-        private Integer state;
+        private Integer status;
 
         @ApiModelProperty("Is it synchronized")
-        private Boolean async;
+        private Integer async;
 
         @ApiModelProperty("Execute IP")
         private String ip;
@@ -138,19 +139,19 @@ public class WorkflowTaskExecuteLog {
         @ApiModelProperty("Description")
         private String description;
 
-        public static ListenerExecutorLog fromEventLog(EventLog eventLog) {
+        public static ListenerExecutorLog fromEventLog(WorkflowEventLogEntity workflowEventLogEntity) {
             ListenerExecutorLog executorLog = ListenerExecutorLog.builder()
-                    .id(eventLog.getId())
-                    .eventType(eventLog.getEventType())
-                    .event(eventLog.getEvent())
-                    .listener(eventLog.getListener())
-                    .state(eventLog.getState())
-                    .async(eventLog.getAsync())
-                    .ip(eventLog.getIp())
-                    .startTime(eventLog.getStartTime())
-                    .endTime(eventLog.getEndTime())
-                    .remark(eventLog.getRemark())
-                    .exception(eventLog.getException())
+                    .id(workflowEventLogEntity.getId())
+                    .eventType(workflowEventLogEntity.getEventType())
+                    .event(workflowEventLogEntity.getEvent())
+                    .listener(workflowEventLogEntity.getListener())
+                    .status(workflowEventLogEntity.getStatus())
+                    .async(workflowEventLogEntity.getAsync())
+                    .ip(workflowEventLogEntity.getIp())
+                    .startTime(workflowEventLogEntity.getStartTime())
+                    .endTime(workflowEventLogEntity.getEndTime())
+                    .remark(workflowEventLogEntity.getRemark())
+                    .exception(workflowEventLogEntity.getException())
                     .build();
             executorLog.buildDescription();
             return executorLog;
@@ -159,7 +160,7 @@ public class WorkflowTaskExecuteLog {
         private void buildDescription() {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String sb = sdf.format(startTime) + " ~ " + sdf.format(endTime) + " [" + listener + "] "
-                    + "event: [" + event + "], executed [" + (state == 1 ? "success" : "failed") + "], "
+                    + "event: [" + event + "], executed [" + (status == 1 ? "success" : "failed") + "], "
                     + "remark: [" + remark + "], exception: [" + exception + "]";
             this.setDescription(sb);
         }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowOperation.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowOperation.java
index 8b22aea..b681159 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowOperation.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowOperation.java
@@ -20,7 +20,7 @@ package org.apache.inlong.manager.service.workflow;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
+import org.apache.inlong.manager.common.pojo.workflow.form.BaseProcessForm;
 
 /**
  * Workflow operation
@@ -30,9 +30,9 @@ import org.apache.inlong.manager.common.workflow.BaseWorkflowFormType;
 public class WorkflowOperation {
 
     /**
-     * Process name-KEY
+     * WorkflowProcess name-KEY
      */
-    @ApiModelProperty(value = "Process name", notes = "Specify the process name when initiating the process")
+    @ApiModelProperty(value = "WorkflowProcess name", notes = "Specify the process name when initiating the process")
     public ProcessName name;
     /**
      * Applicant
@@ -50,5 +50,6 @@ public class WorkflowOperation {
      */
     @ApiModelProperty(value = "Form information", notes = "When initiating a process or approving task, "
             + "submit the form information that needs to be submitted")
-    public BaseWorkflowFormType form;
+    public BaseProcessForm form;
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowService.java
index b763625..84e6feb 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowService.java
@@ -18,19 +18,21 @@
 package org.apache.inlong.manager.service.workflow;
 
 import com.github.pagehelper.PageInfo;
-import java.util.List;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.model.definition.TaskForm;
-import org.apache.inlong.manager.common.model.view.ProcessDetail;
-import org.apache.inlong.manager.common.model.view.ProcessListView;
-import org.apache.inlong.manager.common.model.view.ProcessQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryView;
-import org.apache.inlong.manager.common.model.view.TaskListView;
-import org.apache.inlong.manager.common.model.view.TaskQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryView;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessDetailResponse;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessResponse;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessCountResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskExecuteLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskCountResponse;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.TaskForm;
+
+import java.util.List;
 
 /**
  * Workflow service
@@ -50,20 +52,20 @@ public interface WorkflowService {
     /**
      * Cancellation process application
      *
-     * @param processInstId Process instance ID
-     * @param operator Operator
-     * @param remark Remarks information
-     * @return result
+     * @param processId Process id.
+     * @param operator Operator.
+     * @param remark Remarks information.
+     * @return Workflow result.
      */
-    WorkflowResult cancel(Integer processInstId, String operator, String remark);
+    WorkflowResult cancel(Integer processId, String operator, String remark);
 
     /**
-     * Approval and consent
+     * Approval the process.
      *
-     * @param taskId Task ID
-     * @param form Form information
-     * @param operator Operator
-     * @return result
+     * @param taskId Task id.
+     * @param form Form information.
+     * @param operator Operator.
+     * @return Workflow result.
      */
     WorkflowResult approve(Integer taskId, String remark, TaskForm form, String operator);
 
@@ -91,29 +93,29 @@ public interface WorkflowService {
     /**
      * Complete task-true to automatic task
      *
-     * @param taskId System Task ID
-     * @param remark Remarks
-     * @param operator Operator
-     * @return result
+     * @param taskId Task id.
+     * @param remark Remarks.
+     * @param operator Operator.
+     * @return Workflow result.
      */
     WorkflowResult complete(Integer taskId, String remark, String operator);
 
     /**
      * Query process details according to the tracking number
      *
-     * @param processInstId Process form number
-     * @param taskInstId Task ID of the operation-nullable
-     * @return Detail
+     * @param processId Process id.
+     * @param taskId Task id.
+     * @return Detail info.
      */
-    ProcessDetail detail(Integer processInstId, Integer taskInstId);
+    ProcessDetailResponse detail(Integer processId, Integer taskId, String operator);
 
     /**
-     * Get a list of bills
+     * Get a list of process.
      *
-     * @param query Query conditions
-     * @return List
+     * @param query Query conditions.
+     * @return Process list.
      */
-    PageInfo<ProcessListView> listProcess(ProcessQuery query);
+    PageInfo<ProcessResponse> listProcess(ProcessQuery query);
 
     /**
      * Get task list
@@ -121,7 +123,7 @@ public interface WorkflowService {
      * @param query Query conditions
      * @return List
      */
-    PageInfo<TaskListView> listTask(TaskQuery query);
+    PageInfo<TaskResponse> listTask(TaskQuery query);
 
     /**
      * Get process statistics
@@ -129,7 +131,7 @@ public interface WorkflowService {
      * @param query Query conditions
      * @return Statistical data
      */
-    ProcessSummaryView processSummary(ProcessSummaryQuery query);
+    ProcessCountResponse countProcess(ProcessCountQuery query);
 
     /**
      * Get task statistics
@@ -137,7 +139,7 @@ public interface WorkflowService {
      * @param query Query conditions
      * @return Statistical data
      */
-    TaskSummaryView taskSummary(TaskSummaryQuery query);
+    TaskCountResponse countTask(TaskCountQuery query);
 
     /**
      * Get task execution log
@@ -145,6 +147,6 @@ public interface WorkflowService {
      * @param query Query conditions
      * @return Execution log
      */
-    PageInfo<WorkflowTaskExecuteLog> listTaskExecuteLogs(WorkflowTaskExecuteLogQuery query);
+    PageInfo<WorkflowExecuteLog> listTaskExecuteLogs(TaskExecuteLogQuery query);
 
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
index 58af2ce..0ea40b3 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
@@ -21,55 +21,61 @@ import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.google.common.collect.Maps;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-import lombok.Getter;
-import lombok.extern.slf4j.Slf4j;
+import org.apache.inlong.manager.common.enums.TaskStatus;
+import org.apache.inlong.manager.common.exceptions.WorkflowNoRollbackException;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessCountResponse;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessDetailResponse;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessQuery;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskCountQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskCountResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskExecuteLogQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskQuery;
+import org.apache.inlong.manager.common.pojo.workflow.TaskResponse;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.service.workflow.WorkflowTaskExecuteLog.ListenerExecutorLog;
-import org.apache.inlong.manager.service.workflow.WorkflowTaskExecuteLog.TaskExecutorLog;
-import org.apache.inlong.manager.common.workflow.QueryService;
-import org.apache.inlong.manager.common.workflow.WorkflowEngine;
-import org.apache.inlong.manager.common.exceptions.WorkflowNoRollbackException;
-import org.apache.inlong.manager.common.model.TaskState;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ProcessForm;
-import org.apache.inlong.manager.common.model.definition.TaskForm;
-import org.apache.inlong.manager.common.model.definition.UserTask;
-import org.apache.inlong.manager.common.model.instance.ProcessInstance;
-import org.apache.inlong.manager.common.model.instance.TaskInstance;
-import org.apache.inlong.manager.common.model.view.EventLogQuery;
-import org.apache.inlong.manager.common.model.view.ProcessDetail;
-import org.apache.inlong.manager.common.model.view.ProcessListView;
-import org.apache.inlong.manager.common.model.view.ProcessQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryQuery;
-import org.apache.inlong.manager.common.model.view.ProcessSummaryView;
-import org.apache.inlong.manager.common.model.view.TaskListView;
-import org.apache.inlong.manager.common.model.view.TaskQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryQuery;
-import org.apache.inlong.manager.common.model.view.TaskSummaryView;
+import org.apache.inlong.manager.dao.entity.WorkflowProcessEntity;
+import org.apache.inlong.manager.dao.entity.WorkflowTaskEntity;
+import org.apache.inlong.manager.service.workflow.WorkflowExecuteLog.ListenerExecutorLog;
+import org.apache.inlong.manager.service.workflow.WorkflowExecuteLog.TaskExecutorLog;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.core.WorkflowEngine;
+import org.apache.inlong.manager.workflow.core.WorkflowQueryService;
+import org.apache.inlong.manager.common.pojo.workflow.form.ProcessForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.TaskForm;
+import org.apache.inlong.manager.workflow.definition.UserTask;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
+import org.apache.inlong.manager.workflow.util.WorkflowBeanUtils;
 import org.apache.inlong.manager.workflow.util.WorkflowFormParserUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import javax.annotation.PostConstruct;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+
 /**
  * Workflow service
  */
-@Slf4j
 @Service
 public class WorkflowServiceImpl implements WorkflowService {
 
-    @Getter
-    private WorkflowEngine workflowEngine;
+    private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowServiceImpl.class);
+
+    private final WorkflowEngine workflowEngine;
 
     @Autowired
+    private WorkflowQueryService queryService;
+    @Autowired
     private List<WorkflowDefinition> workflowDefinitions;
 
     @Autowired
@@ -79,85 +85,91 @@ public class WorkflowServiceImpl implements WorkflowService {
 
     @PostConstruct
     private void init() {
-        log.info("start init workflow service");
+        LOGGER.info("start init workflow service");
         workflowDefinitions.forEach(definition -> {
             workflowEngine.processDefinitionService().register(definition.defineProcess());
-            log.info("success register workflow definition: {}", definition.getProcessName());
+            LOGGER.info("success register workflow definition: {}", definition.getProcessName());
         });
-        log.info("success init workflow service");
+        LOGGER.info("success init workflow service");
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
     public WorkflowResult start(ProcessName process, String applicant, ProcessForm form) {
-        return WorkflowResult.of(workflowEngine.processService().start(process.name(), applicant, form));
+        WorkflowContext context = workflowEngine.processService().start(process.name(), applicant, form);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
-    public WorkflowResult cancel(Integer processInstId, String operator, String remark) {
-        return WorkflowResult.of(workflowEngine.processService().cancel(processInstId, operator, remark));
+    public WorkflowResult cancel(Integer processId, String operator, String remark) {
+        WorkflowContext context = workflowEngine.processService().cancel(processId, operator, remark);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
     public WorkflowResult approve(Integer taskId, String remark, TaskForm form, String operator) {
-        return WorkflowResult.of(workflowEngine.taskService().approve(taskId, remark, form, operator));
+        WorkflowContext context = workflowEngine.taskService().approve(taskId, remark, form, operator);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
     public WorkflowResult reject(Integer taskId, String remark, String operator) {
-        return WorkflowResult.of(workflowEngine.taskService().reject(taskId, remark, operator));
+        WorkflowContext context = workflowEngine.taskService().reject(taskId, remark, operator);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
     public WorkflowResult transfer(Integer taskId, String remark, List<String> to, String operator) {
-        return WorkflowResult.of(workflowEngine.taskService().transfer(taskId, remark, to, operator));
+        WorkflowContext context = workflowEngine.taskService().transfer(taskId, remark, to, operator);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
     @Transactional(noRollbackFor = WorkflowNoRollbackException.class, rollbackFor = Exception.class)
     public WorkflowResult complete(Integer taskId, String remark, String operator) {
-        return WorkflowResult.of(workflowEngine.taskService().complete(taskId, remark, operator));
+        WorkflowContext context = workflowEngine.taskService().complete(taskId, remark, operator);
+        return WorkflowBeanUtils.result(context);
     }
 
     @Override
-    public ProcessDetail detail(Integer processInstId, Integer taskInstId) {
-        return workflowEngine.queryService().detail(processInstId, taskInstId);
+    public ProcessDetailResponse detail(Integer processId, Integer taskId, String operator) {
+        return queryService.detail(processId, taskId, operator);
     }
 
     @Override
-    public PageInfo<ProcessListView> listProcess(ProcessQuery query) {
+    public PageInfo<ProcessResponse> listProcess(ProcessQuery query) {
         PageHelper.startPage(query.getPageNum(), query.getPageSize());
-        Page<ProcessInstance> result = (Page<ProcessInstance>) workflowEngine.queryService().listProcess(query);
-        PageInfo<ProcessListView> pageInfo = result.toPageInfo(processInstance -> {
-            ProcessListView processListView = ProcessListView.fromProcessInstance(processInstance);
-            if (query.isIncludeShowInList()) {
-                processListView.setShowInList(getShowInList(processInstance));
+        Page<WorkflowProcessEntity> result = (Page<WorkflowProcessEntity>) queryService.listProcessEntity(query);
+        PageInfo<ProcessResponse> pageInfo = result.toPageInfo(entity -> {
+            ProcessResponse response = WorkflowBeanUtils.fromProcessEntity(entity);
+            if (query.getIncludeShowInList()) {
+                response.setShowInList(getShowInList(entity));
             }
-            return processListView;
+            return response;
         });
 
         pageInfo.setTotal(result.getTotal());
 
-        if (query.isIncludeCurrentTask()) {
-            TaskQuery baseTaskQuery = TaskQuery.builder()
+        if (query.getIncludeCurrentTask()) {
+            TaskQuery taskQuery = TaskQuery.builder()
                     .type(UserTask.class.getSimpleName())
-                    .states(Collections.singleton(TaskState.PENDING))
+                    .statusSet(Collections.singleton(TaskStatus.PENDING))
                     .build();
             PageHelper.startPage(0, 100);
-            pageInfo.getList().forEach(addCurrentTask(baseTaskQuery));
+            pageInfo.getList().forEach(this.addCurrentTask(taskQuery));
         }
         return pageInfo;
     }
 
     @Override
-    public PageInfo<TaskListView> listTask(TaskQuery query) {
+    public PageInfo<TaskResponse> listTask(TaskQuery query) {
         PageHelper.startPage(query.getPageNum(), query.getPageSize());
-        Page<TaskInstance> result = (Page<TaskInstance>) workflowEngine.queryService().listTask(query);
-        PageInfo<TaskListView> pageInfo = result.toPageInfo(TaskListView::fromTaskInstance);
+        Page<WorkflowTaskEntity> result = (Page<WorkflowTaskEntity>) queryService.listTaskEntity(query);
+        PageInfo<TaskResponse> pageInfo = result.toPageInfo(WorkflowBeanUtils::fromTaskEntity);
         addShowInListForEachTask(pageInfo.getList());
         pageInfo.setTotal(result.getTotal());
 
@@ -165,57 +177,57 @@ public class WorkflowServiceImpl implements WorkflowService {
     }
 
     @Override
-    public ProcessSummaryView processSummary(ProcessSummaryQuery query) {
-        return workflowEngine.queryService().processSummary(query);
+    public ProcessCountResponse countProcess(ProcessCountQuery query) {
+        return queryService.countProcess(query);
     }
 
     @Override
-    public TaskSummaryView taskSummary(TaskSummaryQuery query) {
-        return workflowEngine.queryService().taskSummary(query);
+    public TaskCountResponse countTask(TaskCountQuery query) {
+        return queryService.countTask(query);
     }
 
     @Override
-    public PageInfo<WorkflowTaskExecuteLog> listTaskExecuteLogs(WorkflowTaskExecuteLogQuery query) {
-        Preconditions.checkNotNull(query, "workflow task execute log query params cannot be null");
+    public PageInfo<WorkflowExecuteLog> listTaskExecuteLogs(TaskExecuteLogQuery query) {
+        Preconditions.checkNotNull(query, "task execute log query params cannot be null");
 
         String groupId = query.getInlongGroupId();
         List<String> processNameList = query.getProcessNames();
         Preconditions.checkNotEmpty(groupId, "inlong group id cannot be null");
         Preconditions.checkNotEmpty(processNameList, "process name list cannot be null");
 
-        ProcessQuery processQuery = new ProcessQuery();
-        processQuery.setInlongGroupId(groupId);
-        processQuery.setNameList(processNameList);
-        processQuery.setHidden(true);
+        ProcessQuery processRequest = new ProcessQuery();
+        processRequest.setInlongGroupId(groupId);
+        processRequest.setNameList(processNameList);
+        processRequest.setHidden(1);
 
         // Paging query process instance, construct process execution log
-        QueryService queryService = workflowEngine.queryService();
         PageHelper.startPage(query.getPageNum(), query.getPageSize());
-        Page<ProcessInstance> instanceList = (Page<ProcessInstance>) queryService.listProcess(processQuery);
+        Page<WorkflowProcessEntity> entityPage = (Page<WorkflowProcessEntity>) queryService.listProcessEntity(
+                processRequest);
 
-        PageInfo<WorkflowTaskExecuteLog> pageInfo = instanceList.toPageInfo(inst -> WorkflowTaskExecuteLog.builder()
-                .processInstId(inst.getId())
+        PageInfo<WorkflowExecuteLog> pageInfo = entityPage.toPageInfo(inst -> WorkflowExecuteLog.builder()
+                .processId(inst.getId())
                 .processDisplayName(inst.getDisplayName())
-                .state(inst.getState())
+                .status(inst.getStatus())
                 .startTime(inst.getStartTime())
                 .endTime(inst.getEndTime())
                 .build()
         );
 
         // According to the process execution log, query the execution log of each task in the process
-        for (WorkflowTaskExecuteLog executeLog : pageInfo.getList()) {
+        for (WorkflowExecuteLog executeLog : pageInfo.getList()) {
             TaskQuery taskQuery = new TaskQuery();
-            taskQuery.setProcessInstId(executeLog.getProcessInstId());
-            taskQuery.setType(query.getTaskType());
-            List<TaskExecutorLog> taskExecutorLogs = queryService.listTask(taskQuery)
+            taskQuery.setProcessId(executeLog.getProcessId());
+            taskQuery.setType(taskQuery.getType());
+            List<TaskExecutorLog> executorLogs = queryService.listTaskEntity(taskQuery)
                     .stream()
                     .map(TaskExecutorLog::buildFromTaskInst)
                     .collect(Collectors.toList());
 
             // Set the execution log of the task's listener
-            for (TaskExecutorLog taskExecutorLog : taskExecutorLogs) {
+            for (TaskExecutorLog taskExecutorLog : executorLogs) {
                 EventLogQuery eventLogQuery = new EventLogQuery();
-                eventLogQuery.setTaskInstId(taskExecutorLog.getTaskInstId());
+                eventLogQuery.setTaskId(taskExecutorLog.getTaskId());
                 List<ListenerExecutorLog> logs = queryService.listEventLog(eventLogQuery)
                         .stream()
                         .map(ListenerExecutorLog::fromEventLog)
@@ -223,64 +235,68 @@ public class WorkflowServiceImpl implements WorkflowService {
                 taskExecutorLog.setListenerExecutorLogs(logs);
             }
 
-            executeLog.setTaskExecutorLogs(taskExecutorLogs);
+            executeLog.setTaskExecutorLogs(executorLogs);
         }
 
-        log.info("success to page list task execute logs for " + query);
-        pageInfo.setTotal(instanceList.getTotal());
+        LOGGER.info("success to page list task execute logs for " + query);
+        pageInfo.setTotal(entityPage.getTotal());
         return pageInfo;
     }
 
-    private List<TaskExecutorLog> getTaskExecutorLogs(Integer processInstId, String taskType) {
-        return workflowEngine.queryService().listTask(TaskQuery.builder()
-                        .processInstId(processInstId).type(taskType)
-                        .build())
+    private List<TaskExecutorLog> getTaskExecutorLogs(Integer processId, String taskType) {
+        TaskQuery taskQuery = new TaskQuery();
+        taskQuery.setProcessId(processId);
+        taskQuery.setType(taskType);
+        return queryService.listTaskEntity(taskQuery)
                 .stream()
                 .map(TaskExecutorLog::buildFromTaskInst)
                 .collect(Collectors.toList());
     }
 
-    private List<ListenerExecutorLog> getListenerExecutorLogs(TaskExecutorLog taskExecutorLog) {
-        return workflowEngine.queryService()
-                .listEventLog(EventLogQuery.builder().taskInstId(taskExecutorLog.getTaskInstId()).build())
+    private List<ListenerExecutorLog> getListenerExecutorLogs(TaskExecutorLog executorLog) {
+        EventLogQuery query = EventLogQuery.builder().taskId(executorLog.getTaskId()).build();
+        return queryService.listEventLog(query)
                 .stream()
                 .map(ListenerExecutorLog::fromEventLog)
                 .collect(Collectors.toList());
     }
 
-    private Consumer<ProcessListView> addCurrentTask(TaskQuery baseTaskQuery) {
+    private Consumer<ProcessResponse> addCurrentTask(TaskQuery query) {
         return plv -> {
-            baseTaskQuery.setProcessInstId(plv.getId());
-            plv.setCurrentTasks(this.listTask(baseTaskQuery).getList());
+            query.setProcessId(plv.getId());
+            plv.setCurrentTasks(this.listTask(query).getList());
         };
     }
 
-    private Map<String, Object> getShowInList(ProcessInstance processInstance) {
-        Process process = workflowEngine.processDefinitionService().getByName(processInstance.getName());
+    private Map<String, Object> getShowInList(WorkflowProcessEntity processEntity) {
+        WorkflowProcess process = workflowEngine.processDefinitionService().getByName(processEntity.getName());
         if (process == null || process.getFormClass() == null) {
             return null;
         }
 
         try {
-            ProcessForm processForm = WorkflowFormParserUtils.parseProcessForm(processInstance.getFormData(), process);
+            ProcessForm processForm = WorkflowFormParserUtils.parseProcessForm(processEntity.getFormData(), process);
+            assert processForm != null;
             return processForm.showInList();
         } catch (Exception e) {
-            log.error("get showIn list err", e);
+            LOGGER.error("get showIn list err", e);
         }
         return null;
     }
 
-    private void addShowInListForEachTask(List<TaskListView> taskList) {
+    private void addShowInListForEachTask(List<TaskResponse> taskList) {
         if (CollectionUtils.isEmpty(taskList)) {
             return;
         }
         PageHelper.clearPage();
-        List<Integer> processInstIds = taskList.stream().map(TaskListView::getProcessInstId)
-                .distinct().collect(Collectors.toList());
-        List<ProcessInstance> processInstances = this.workflowEngine.queryService().listProcess(
-                ProcessQuery.builder().idList(processInstIds).build());
-        Map<Integer, Map<String, Object>> process2ShowInListMap = Maps.newHashMap();
-        processInstances.forEach(p -> process2ShowInListMap.put(p.getId(), getShowInList(p)));
-        taskList.forEach(task -> task.setShowInList(process2ShowInListMap.get(task.getProcessInstId())));
+        List<Integer> list = taskList.stream().map(TaskResponse::getProcessId).distinct().collect(Collectors.toList());
+        ProcessQuery query = new ProcessQuery();
+        query.setIdList(list);
+
+        List<WorkflowProcessEntity> processEntities = queryService.listProcessEntity(query);
+        Map<Integer, Map<String, Object>> processShowInListMap = Maps.newHashMap();
+        processEntities.forEach(entity -> processShowInListMap.put(entity.getId(), getShowInList(entity)));
+        taskList.forEach(task -> task.setShowInList(processShowInListMap.get(task.getProcessId())));
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskOperation.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskOperation.java
deleted file mode 100644
index 7284d07..0000000
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowTaskOperation.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.workflow;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.List;
-
-import lombok.Data;
-import org.apache.inlong.manager.common.workflow.BaseWorkflowTaskFormType;
-
-/**
- * Workflow task operations
- *
- */
-@Data
-@ApiModel("Workflow task operations")
-public class WorkflowTaskOperation {
-
-    @ApiModelProperty(value = "Transferor", notes = "When transferring the task list, "
-            + "specify who needs to be transferred to")
-    public List<String> transferTo;
-
-    @ApiModelProperty(value = "Remarks information", notes = "Submit remarks when operating a flow sheet or task sheet")
-    public String remark;
-
-    @ApiModelProperty(value = "Form information", notes = "When initiating a process or approving task, "
-            + "submit the form information that needs to be submitted")
-    public BaseWorkflowTaskFormType form;
-}
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/CreateBusinessWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/CreateBusinessWorkflowDefinition.java
index d4b53ac..65d1769 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/CreateBusinessWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/CreateBusinessWorkflowDefinition.java
@@ -18,18 +18,18 @@
 package org.apache.inlong.manager.service.workflow.business;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ServiceTask;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskType;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.ServiceTaskListenerFactory;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
 import org.apache.inlong.manager.service.workflow.business.listener.BusinessCompleteProcessListener;
 import org.apache.inlong.manager.service.workflow.business.listener.BusinessFailedProcessListener;
 import org.apache.inlong.manager.service.workflow.business.listener.InitBusinessInfoListener;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.ServiceTask;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskType;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -50,10 +50,10 @@ public class CreateBusinessWorkflowDefinition implements WorkflowDefinition {
     private ServiceTaskListenerFactory serviceTaskListenerFactory;
 
     @Override
-    public Process defineProcess() {
+    public WorkflowProcess defineProcess() {
 
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.addListener(initBusinessInfoListener);
         process.addListener(businessCompleteProcessListener);
         process.addListener(businessFailedProcessListener);
@@ -61,9 +61,9 @@ public class CreateBusinessWorkflowDefinition implements WorkflowDefinition {
         process.setType("Business Resource Creation");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(BusinessResourceWorkflowForm.class);
+        process.setFormClass(BusinessResourceProcessForm.class);
         process.setVersion(1);
-        process.setHidden(true);
+        process.setHidden(1);
 
         // Start node
         StartEvent startEvent = new StartEvent();
@@ -118,4 +118,5 @@ public class CreateBusinessWorkflowDefinition implements WorkflowDefinition {
     public ProcessName getProcessName() {
         return ProcessName.CREATE_BUSINESS_RESOURCE;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/DeleteBusinessWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/DeleteBusinessWorkflowDefinition.java
index 1a1bf17..26e22f8 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/DeleteBusinessWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/DeleteBusinessWorkflowDefinition.java
@@ -18,17 +18,17 @@
 package org.apache.inlong.manager.service.workflow.business;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ServiceTask;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskType;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.ServiceTaskListenerFactory;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoCompleteListener;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoListener;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.ServiceTask;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskType;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -46,17 +46,17 @@ public class DeleteBusinessWorkflowDefinition implements WorkflowDefinition {
     private ServiceTaskListenerFactory serviceTaskListenerFactory;
 
     @Override
-    public Process defineProcess() {
+    public WorkflowProcess defineProcess() {
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.addListener(updateBusinessInfoListener);
         process.addListener(updateBusinessInfoCompleteListener);
         process.setType("Business Resource Delete");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(UpdateBusinessWorkflowForm.class);
+        process.setFormClass(UpdateBusinessProcessForm.class);
         process.setVersion(1);
-        process.setHidden(true);
+        process.setHidden(1);
 
         // Start node
         StartEvent startEvent = new StartEvent();
@@ -93,4 +93,5 @@ public class DeleteBusinessWorkflowDefinition implements WorkflowDefinition {
     public ProcessName getProcessName() {
         return ProcessName.DELETE_BUSINESS_WORKFLOW;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/NewBusinessWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/NewBusinessWorkflowDefinition.java
index 47ac952..150de02 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/NewBusinessWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/NewBusinessWorkflowDefinition.java
@@ -17,10 +17,9 @@
 
 package org.apache.inlong.manager.service.workflow.business;
 
-import java.util.List;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowApproverFilterContext;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessAdminApproveForm;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessAdminApproveForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewBusinessProcessForm;
 import org.apache.inlong.manager.service.core.WorkflowApproverService;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
@@ -28,13 +27,15 @@ import org.apache.inlong.manager.service.workflow.business.listener.BusinessCanc
 import org.apache.inlong.manager.service.workflow.business.listener.BusinessPassTaskListener;
 import org.apache.inlong.manager.service.workflow.business.listener.BusinessRejectProcessListener;
 import org.apache.inlong.manager.service.workflow.business.listener.StartCreateResourceProcessListener;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.model.definition.UserTask;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.UserTask;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * New data access process definition
  */
@@ -53,13 +54,13 @@ public class NewBusinessWorkflowDefinition implements WorkflowDefinition {
     private WorkflowApproverService workflowApproverService;
 
     @Override
-    public Process defineProcess() {
+    public WorkflowProcess defineProcess() {
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.setType(getProcessName().getDisplayName());
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(NewBusinessWorkflowForm.class);
+        process.setFormClass(NewBusinessProcessForm.class);
         process.setVersion(1);
 
         // Set up the listener
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/RestartBusinessWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/RestartBusinessWorkflowDefinition.java
index 8d6ade4..0df1afe 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/RestartBusinessWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/RestartBusinessWorkflowDefinition.java
@@ -18,17 +18,17 @@
 package org.apache.inlong.manager.service.workflow.business;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ServiceTask;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskType;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.ServiceTaskListenerFactory;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoCompleteListener;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoListener;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.ServiceTask;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskType;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -46,17 +46,17 @@ public class RestartBusinessWorkflowDefinition implements WorkflowDefinition {
     private ServiceTaskListenerFactory serviceTaskListenerFactory;
 
     @Override
-    public Process defineProcess() {
+    public WorkflowProcess defineProcess() {
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.addListener(updateBusinessInfoListener);
         process.addListener(updateBusinessInfoCompleteListener);
         process.setType("Business Resource Restart");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(UpdateBusinessWorkflowForm.class);
+        process.setFormClass(UpdateBusinessProcessForm.class);
         process.setVersion(1);
-        process.setHidden(true);
+        process.setHidden(1);
 
         // Start node
         StartEvent startEvent = new StartEvent();
@@ -93,4 +93,5 @@ public class RestartBusinessWorkflowDefinition implements WorkflowDefinition {
     public ProcessName getProcessName() {
         return ProcessName.RESTART_BUSINESS_WORKFLOW;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/SuspendBusinessWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/SuspendBusinessWorkflowDefinition.java
index 8e74fb7..a38083b 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/SuspendBusinessWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/SuspendBusinessWorkflowDefinition.java
@@ -18,17 +18,17 @@
 package org.apache.inlong.manager.service.workflow.business;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ServiceTask;
-import org.apache.inlong.manager.common.model.definition.ServiceTaskType;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.ServiceTaskListenerFactory;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoCompleteListener;
 import org.apache.inlong.manager.service.workflow.business.listener.UpdateBusinessInfoListener;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.ServiceTask;
+import org.apache.inlong.manager.workflow.definition.ServiceTaskType;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -46,18 +46,17 @@ public class SuspendBusinessWorkflowDefinition implements WorkflowDefinition {
     private ServiceTaskListenerFactory serviceTaskListenerFactory;
 
     @Override
-    public Process defineProcess() {
-
+    public WorkflowProcess defineProcess() {
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.addListener(updateBusinessInfoListener);
         process.addListener(updateBusinessInfoCompleteListener);
         process.setType("Business Resource Suspend");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(UpdateBusinessWorkflowForm.class);
+        process.setFormClass(UpdateBusinessProcessForm.class);
         process.setVersion(1);
-        process.setHidden(true);
+        process.setHidden(1);
 
         // Start node
         StartEvent startEvent = new StartEvent();
@@ -94,4 +93,5 @@ public class SuspendBusinessWorkflowDefinition implements WorkflowDefinition {
     public ProcessName getProcessName() {
         return ProcessName.SUSPEND_BUSINESS_WORKFLOW;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCancelProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCancelProcessListener.java
index c806a0d..ceefea3 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCancelProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCancelProcessListener.java
@@ -19,13 +19,13 @@ package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
-import org.apache.inlong.manager.service.core.BusinessService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.service.core.BusinessService;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewBusinessProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -46,7 +46,7 @@ public class BusinessCancelProcessListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewBusinessWorkflowForm form = (NewBusinessWorkflowForm) context.getProcessForm();
+        NewBusinessProcessForm form = (NewBusinessProcessForm) context.getProcessForm();
         // After canceling the approval, the status becomes [Waiting to submit]
         String groupId = form.getInlongGroupId();
         String username = context.getApplicant();
@@ -58,4 +58,5 @@ public class BusinessCancelProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCompleteProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCompleteProcessListener.java
index 1ebdd38..434c956 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCompleteProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessCompleteProcessListener.java
@@ -19,16 +19,16 @@ package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.dao.mapper.SourceFileDetailEntityMapper;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.DataStreamService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -58,7 +58,7 @@ public class BusinessCompleteProcessListener implements ProcessEventListener {
      */
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
 
         String groupId = form.getInlongGroupId();
         String username = context.getApplicant();
@@ -78,4 +78,5 @@ public class BusinessCompleteProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessFailedProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessFailedProcessListener.java
index b4f0906..e9b4980 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessFailedProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessFailedProcessListener.java
@@ -19,15 +19,15 @@ package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.DataStreamService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -55,7 +55,7 @@ public class BusinessFailedProcessListener implements ProcessEventListener {
      */
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         String groupId = form.getInlongGroupId();
         String username = context.getApplicant();
         BusinessInfo businessInfo = form.getBusinessInfo();
@@ -71,4 +71,5 @@ public class BusinessFailedProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessPassTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessPassTaskListener.java
index 2354e92..8bf1fef 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessPassTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessPassTaskListener.java
@@ -17,23 +17,24 @@
 
 package org.apache.inlong.manager.service.workflow.business.listener;
 
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
 import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessAdminApproveForm;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.DataStreamService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.event.task.TaskEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessAdminApproveForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
+import org.apache.inlong.manager.workflow.event.task.TaskEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
- * New Service Access-System Administrator Approval Task Event Listener
+ * New Service Access-System Administrator Approval WorkflowTask Event Listener
  */
 @Slf4j
 @Component
@@ -68,4 +69,5 @@ public class BusinessPassTaskListener implements TaskEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessRejectProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessRejectProcessListener.java
index 7cf4164..5f56a3f 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessRejectProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/BusinessRejectProcessListener.java
@@ -19,13 +19,13 @@ package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
-import org.apache.inlong.manager.service.core.BusinessService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.service.core.BusinessService;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewBusinessProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -46,7 +46,7 @@ public class BusinessRejectProcessListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewBusinessWorkflowForm form = (NewBusinessWorkflowForm) context.getProcessForm();
+        NewBusinessProcessForm form = (NewBusinessProcessForm) context.getProcessForm();
         // after reject, update business status to [BIZ_APPROVE_REJECT]
         String groupId = form.getInlongGroupId();
         String username = context.getApplicant();
@@ -58,4 +58,5 @@ public class BusinessRejectProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/InitBusinessInfoListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/InitBusinessInfoListener.java
index 209d61c..289ab08 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/InitBusinessInfoListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/InitBusinessInfoListener.java
@@ -19,14 +19,14 @@ package org.apache.inlong.manager.service.workflow.business.listener;
 
 import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
 import org.apache.inlong.manager.service.core.BusinessService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -46,7 +46,7 @@ public class InitBusinessInfoListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) context.getProcessForm();
+        BusinessResourceProcessForm form = (BusinessResourceProcessForm) context.getProcessForm();
         BusinessInfo businessInfo = businessService.get(context.getProcessForm().getInlongGroupId());
         if (businessInfo != null) {
             form.setBusinessInfo(businessInfo);
@@ -60,4 +60,5 @@ public class InitBusinessInfoListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/StartCreateResourceProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/StartCreateResourceProcessListener.java
index 616ea0a..a301f44 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/StartCreateResourceProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/StartCreateResourceProcessListener.java
@@ -18,16 +18,16 @@
 package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
-import org.apache.inlong.manager.common.workflow.bussiness.NewBusinessWorkflowForm;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.WorkflowService;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewBusinessProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -53,10 +53,10 @@ public class StartCreateResourceProcessListener implements ProcessEventListener
      */
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewBusinessWorkflowForm workflowForm = (NewBusinessWorkflowForm) context.getProcessForm();
+        NewBusinessProcessForm workflowForm = (NewBusinessProcessForm) context.getProcessForm();
 
         String groupId = workflowForm.getInlongGroupId();
-        BusinessResourceWorkflowForm resourceWorkflowForm = new BusinessResourceWorkflowForm();
+        BusinessResourceProcessForm resourceWorkflowForm = new BusinessResourceProcessForm();
         resourceWorkflowForm.setBusinessInfo(businessService.get(groupId));
         String username = context.getApplicant();
         workflowService.start(ProcessName.CREATE_BUSINESS_RESOURCE, username, resourceWorkflowForm);
@@ -68,4 +68,5 @@ public class StartCreateResourceProcessListener implements ProcessEventListener
     public boolean async() {
         return true;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoCompleteListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoCompleteListener.java
index 50f803c..fcd440b 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoCompleteListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoCompleteListener.java
@@ -18,13 +18,13 @@
 package org.apache.inlong.manager.service.workflow.business.listener;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
 import org.apache.inlong.manager.service.core.BusinessService;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -42,7 +42,7 @@ public class UpdateBusinessInfoCompleteListener implements ProcessEventListener
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws Exception {
-        UpdateBusinessWorkflowForm form = (UpdateBusinessWorkflowForm) context.getProcessForm();
+        UpdateBusinessProcessForm form = (UpdateBusinessProcessForm) context.getProcessForm();
         String username = context.getApplicant();
         BusinessInfo businessInfo = form.getBusinessInfo();
         businessService.update(businessInfo, username);
@@ -53,4 +53,5 @@ public class UpdateBusinessInfoCompleteListener implements ProcessEventListener
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoListener.java
index 17ba2bf..b824acd 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/business/listener/UpdateBusinessInfoListener.java
@@ -18,14 +18,14 @@
 package org.apache.inlong.manager.service.workflow.business.listener;
 
 import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.service.core.BusinessService;
-import org.apache.inlong.manager.common.workflow.bussiness.UpdateBusinessWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.UpdateBusinessProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,7 +42,7 @@ public class UpdateBusinessInfoListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws Exception {
-        UpdateBusinessWorkflowForm form = (UpdateBusinessWorkflowForm) context.getProcessForm();
+        UpdateBusinessProcessForm form = (UpdateBusinessProcessForm) context.getProcessForm();
         BusinessInfo businessInfo = businessService.get(context.getProcessForm().getInlongGroupId());
         if (businessInfo != null) {
             form.setBusinessInfo(businessInfo);
@@ -56,4 +56,5 @@ public class UpdateBusinessInfoListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionProcessDetailHandler.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionProcessDetailHandler.java
index 34f26a5..0ff0b13 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionProcessDetailHandler.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionProcessDetailHandler.java
@@ -17,11 +17,11 @@
 
 package org.apache.inlong.manager.service.workflow.consumption;
 
-import org.apache.inlong.manager.common.workflow.ProcessDefinitionService;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ProcessDetailHandler;
-import org.apache.inlong.manager.common.model.view.ProcessDetail;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessDetailResponse;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
+import org.apache.inlong.manager.workflow.core.ProcessDefinitionService;
+import org.apache.inlong.manager.workflow.definition.ProcessDetailHandler;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.apache.inlong.manager.workflow.util.WorkflowFormParserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -36,17 +36,17 @@ public class NewConsumptionProcessDetailHandler implements ProcessDetailHandler
     private ProcessDefinitionService processDefinitionService;
 
     @Override
-    public ProcessDetail handle(ProcessDetail processDetail) {
-        Process process = processDefinitionService.getByName(processDetail.getWorkflow().getName());
-
-        NewConsumptionWorkflowForm workflowForm = WorkflowFormParserUtils
-                .parseProcessForm(processDetail.getProcessInfo().getFormData().toString(), process);
+    public ProcessDetailResponse handle(ProcessDetailResponse workflowResponse) {
+        WorkflowProcess process = processDefinitionService.getByName(workflowResponse.getWorkflow().getName());
 
+        NewConsumptionProcessForm workflowForm = WorkflowFormParserUtils
+                .parseProcessForm(workflowResponse.getProcessInfo().getFormData().toString(), process);
         if (workflowForm == null) {
-            return processDetail;
+            return workflowResponse;
         }
 
-        processDetail.getProcessInfo().setFormData(workflowForm);
-        return processDetail;
+        workflowResponse.getProcessInfo().setFormData(workflowForm);
+        return workflowResponse;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionWorkflowDefinition.java
index ec35432..ee53554 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/NewConsumptionWorkflowDefinition.java
@@ -17,13 +17,10 @@
 
 package org.apache.inlong.manager.service.workflow.consumption;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowApproverFilterContext;
-import org.apache.inlong.manager.common.workflow.consumption.ConsumptionAdminApproveForm;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.ConsumptionAdminApproveForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
 import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.core.WorkflowApproverService;
 import org.apache.inlong.manager.service.workflow.ProcessName;
@@ -32,14 +29,18 @@ import org.apache.inlong.manager.service.workflow.consumption.listener.Consumpti
 import org.apache.inlong.manager.service.workflow.consumption.listener.ConsumptionCompleteProcessListener;
 import org.apache.inlong.manager.service.workflow.consumption.listener.ConsumptionPassTaskListener;
 import org.apache.inlong.manager.service.workflow.consumption.listener.ConsumptionRejectProcessListener;
-import org.apache.inlong.manager.common.model.WorkflowContext;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
-import org.apache.inlong.manager.common.model.definition.UserTask;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.UserTask;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * New data consumption workflow definition
  */
@@ -71,14 +72,13 @@ public class NewConsumptionWorkflowDefinition implements WorkflowDefinition {
     private BusinessService businessService;
 
     @Override
-    public Process defineProcess() {
-
+    public WorkflowProcess defineProcess() {
         // Define process information
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.setType("Data Consumption Resource Creation");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(NewConsumptionWorkflowForm.class);
+        process.setFormClass(NewConsumptionProcessForm.class);
         process.setVersion(1);
         process.setProcessDetailHandler(newConsumptionProcessDetailHandler);
 
@@ -125,7 +125,7 @@ public class NewConsumptionWorkflowDefinition implements WorkflowDefinition {
     }
 
     private List<String> bizOwnerUserTaskApprover(WorkflowContext context) {
-        NewConsumptionWorkflowForm form = (NewConsumptionWorkflowForm) context.getProcessForm();
+        NewConsumptionProcessForm form = (NewConsumptionProcessForm) context.getProcessForm();
         BusinessInfo businessInfo = businessService.get(form.getConsumptionInfo().getInlongGroupId());
         if (businessInfo == null || businessInfo.getInCharges() == null) {
             return Collections.emptyList();
@@ -138,4 +138,5 @@ public class NewConsumptionWorkflowDefinition implements WorkflowDefinition {
     public ProcessName getProcessName() {
         return ProcessName.NEW_CONSUMPTION_WORKFLOW;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCancelProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCancelProcessListener.java
index 1842260..56427c3 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCancelProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCancelProcessListener.java
@@ -17,20 +17,21 @@
 
 package org.apache.inlong.manager.service.workflow.consumption.listener;
 
-import java.util.Date;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.ConsumptionStatus;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.dao.entity.ConsumptionEntity;
 import org.apache.inlong.manager.dao.mapper.ConsumptionEntityMapper;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
+
 /**
  * Added data consumption process cancellation event listener
  */
@@ -52,7 +53,7 @@ public class ConsumptionCancelProcessListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewConsumptionWorkflowForm workflowForm = (NewConsumptionWorkflowForm) context.getProcessForm();
+        NewConsumptionProcessForm workflowForm = (NewConsumptionProcessForm) context.getProcessForm();
 
         ConsumptionEntity update = new ConsumptionEntity();
         update.setId(workflowForm.getConsumptionInfo().getId());
@@ -67,4 +68,5 @@ public class ConsumptionCancelProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCompleteProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCompleteProcessListener.java
index d0e1a84..361b94e 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCompleteProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionCompleteProcessListener.java
@@ -17,19 +17,11 @@
 
 package org.apache.inlong.manager.service.workflow.consumption.listener;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.beans.ClusterBean;
 import org.apache.inlong.manager.common.enums.BizConstant;
 import org.apache.inlong.manager.common.enums.ConsumptionStatus;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
 import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
 import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
 import org.apache.inlong.manager.common.pojo.pulsar.PulsarTopicBean;
 import org.apache.inlong.manager.common.pojo.tubemq.AddTubeConsumeGroupRequest;
@@ -40,11 +32,20 @@ import org.apache.inlong.manager.service.core.BusinessService;
 import org.apache.inlong.manager.service.thirdpart.mq.PulsarOptService;
 import org.apache.inlong.manager.service.thirdpart.mq.TubeMqOptService;
 import org.apache.inlong.manager.service.thirdpart.mq.util.PulsarUtils;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
 /**
  * Added data consumption process complete archive event listener
  */
@@ -70,7 +71,7 @@ public class ConsumptionCompleteProcessListener implements ProcessEventListener
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewConsumptionWorkflowForm consumptionForm = (NewConsumptionWorkflowForm) context.getProcessForm();
+        NewConsumptionProcessForm consumptionForm = (NewConsumptionProcessForm) context.getProcessForm();
 
         // Real-time query of consumption information
         Integer consumptionId = consumptionForm.getConsumptionInfo().getId();
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionPassTaskListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionPassTaskListener.java
index c08357c..c575bf8 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionPassTaskListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionPassTaskListener.java
@@ -21,15 +21,15 @@ import com.alibaba.druid.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionInfo;
-import org.apache.inlong.manager.common.workflow.consumption.ConsumptionAdminApproveForm;
 import org.apache.inlong.manager.service.core.ConsumptionService;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.task.TaskEvent;
-import org.apache.inlong.manager.common.event.task.TaskEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.ConsumptionAdminApproveForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.task.TaskEvent;
+import org.apache.inlong.manager.workflow.event.task.TaskEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -50,9 +50,8 @@ public class ConsumptionPassTaskListener implements TaskEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewConsumptionWorkflowForm form = (NewConsumptionWorkflowForm) context.getProcessForm();
-        ConsumptionAdminApproveForm approveForm = (ConsumptionAdminApproveForm) context.getActionContext()
-                .getForm();
+        NewConsumptionProcessForm form = (NewConsumptionProcessForm) context.getProcessForm();
+        ConsumptionAdminApproveForm approveForm = (ConsumptionAdminApproveForm) context.getActionContext().getForm();
         ConsumptionInfo info = form.getConsumptionInfo();
         if (StringUtils.equals(approveForm.getConsumerGroupId(), info.getConsumerGroupId())) {
             return ListenerResult.success("The consumer group name has not been modified");
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionRejectProcessListener.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionRejectProcessListener.java
index 3612040..12ac721 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionRejectProcessListener.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/consumption/listener/ConsumptionRejectProcessListener.java
@@ -17,26 +17,27 @@
 
 package org.apache.inlong.manager.service.workflow.consumption.listener;
 
-import java.util.Date;
 import org.apache.inlong.manager.common.enums.ConsumptionStatus;
+import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
 import org.apache.inlong.manager.dao.entity.ConsumptionEntity;
 import org.apache.inlong.manager.dao.mapper.ConsumptionEntityMapper;
-import org.apache.inlong.manager.common.workflow.consumption.NewConsumptionWorkflowForm;
-import org.apache.inlong.manager.common.event.ListenerResult;
-import org.apache.inlong.manager.common.event.process.ProcessEvent;
-import org.apache.inlong.manager.common.event.process.ProcessEventListener;
-import org.apache.inlong.manager.common.exceptions.WorkflowListenerException;
-import org.apache.inlong.manager.common.model.WorkflowContext;
+import org.apache.inlong.manager.common.pojo.workflow.form.NewConsumptionProcessForm;
+import org.apache.inlong.manager.workflow.WorkflowContext;
+import org.apache.inlong.manager.workflow.event.ListenerResult;
+import org.apache.inlong.manager.workflow.event.process.ProcessEvent;
+import org.apache.inlong.manager.workflow.event.process.ProcessEventListener;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
+
 /**
  * Added data consumption process rejection event listener
  */
 @Component
 public class ConsumptionRejectProcessListener implements ProcessEventListener {
 
-    private ConsumptionEntityMapper consumptionEntityMapper;
+    private final ConsumptionEntityMapper consumptionEntityMapper;
 
     @Autowired
     public ConsumptionRejectProcessListener(ConsumptionEntityMapper consumptionEntityMapper) {
@@ -50,7 +51,7 @@ public class ConsumptionRejectProcessListener implements ProcessEventListener {
 
     @Override
     public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
-        NewConsumptionWorkflowForm workflowForm = (NewConsumptionWorkflowForm) context.getProcessForm();
+        NewConsumptionProcessForm workflowForm = (NewConsumptionProcessForm) context.getProcessForm();
 
         ConsumptionEntity update = new ConsumptionEntity();
         update.setId(workflowForm.getConsumptionInfo().getId());
@@ -65,4 +66,5 @@ public class ConsumptionRejectProcessListener implements ProcessEventListener {
     public boolean async() {
         return false;
     }
+
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/stream/CreateStreamWorkflowDefinition.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/stream/CreateStreamWorkflowDefinition.java
index ce4dfba..1b49d9d 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/stream/CreateStreamWorkflowDefinition.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/stream/CreateStreamWorkflowDefinition.java
@@ -20,10 +20,6 @@ package org.apache.inlong.manager.service.workflow.stream;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.model.definition.EndEvent;
-import org.apache.inlong.manager.common.model.definition.Process;
-import org.apache.inlong.manager.common.model.definition.ServiceTask;
-import org.apache.inlong.manager.common.model.definition.StartEvent;
 import org.apache.inlong.manager.service.storage.StorageService;
 import org.apache.inlong.manager.service.thirdpart.hive.CreateHiveTableForStreamListener;
 import org.apache.inlong.manager.service.thirdpart.mq.CreatePulsarGroupForStreamTaskListener;
@@ -31,8 +27,12 @@ import org.apache.inlong.manager.service.thirdpart.mq.CreatePulsarTopicForStream
 import org.apache.inlong.manager.service.thirdpart.sort.PushHiveConfigTaskListener;
 import org.apache.inlong.manager.service.workflow.ProcessName;
 import org.apache.inlong.manager.service.workflow.WorkflowDefinition;
-import org.apache.inlong.manager.common.workflow.bussiness.BusinessResourceWorkflowForm;
+import org.apache.inlong.manager.common.pojo.workflow.form.BusinessResourceProcessForm;
 import org.apache.inlong.manager.service.workflow.business.listener.InitBusinessInfoListener;
+import org.apache.inlong.manager.workflow.definition.EndEvent;
+import org.apache.inlong.manager.workflow.definition.ServiceTask;
+import org.apache.inlong.manager.workflow.definition.StartEvent;
+import org.apache.inlong.manager.workflow.definition.WorkflowProcess;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -64,9 +64,9 @@ public class CreateStreamWorkflowDefinition implements WorkflowDefinition {
     private CreatePulsarGroupForStreamTaskListener createPulsarGroupTaskListener;
 
     @Override
-    public Process defineProcess() {
+    public WorkflowProcess defineProcess() {
         // Configuration process
-        Process process = new Process();
+        WorkflowProcess process = new WorkflowProcess();
         process.addListener(initBusinessInfoListener);
         process.addListener(streamFailedProcessListener);
         process.addListener(streamCompleteProcessListener);
@@ -74,9 +74,9 @@ public class CreateStreamWorkflowDefinition implements WorkflowDefinition {
         process.setType("Data stream access resource creation");
         process.setName(getProcessName().name());
         process.setDisplayName(getProcessName().getDisplayName());
-        process.setFormClass(BusinessResourceWorkflowForm.class);
+        process.setFormClass(BusinessResourceProcessForm.class);
         process.setVersion(1);
-        process.setHidden(true);
+        process.setHidden(1);
 
         // Start node
         StartEvent startEvent = new StartEvent();
@@ -88,7 +88,7 @@ public class CreateStreamWorkflowDefinition implements WorkflowDefinition {
 
         ServiceTask createPulsarTopicTask = new ServiceTask();
         createPulsarTopicTask.setSkipResolver(c -> {
-            BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) c.getProcessForm();
+            BusinessResourceProcessForm form = (BusinessResourceProcessForm) c.getProcessForm();
             String middlewareType = form.getBusinessInfo().getMiddlewareType();
             if (BizConstant.MIDDLEWARE_PULSAR.equalsIgnoreCase(middlewareType)) {
                 return false;
@@ -104,7 +104,7 @@ public class CreateStreamWorkflowDefinition implements WorkflowDefinition {
 
         ServiceTask createPulsarSubscriptionGroupTask = new ServiceTask();
         createPulsarSubscriptionGroupTask.setSkipResolver(c -> {
-            BusinessResourceWorkflowForm form = (BusinessResourceWorkflowForm) c.getProcessForm();
+            BusinessResourceProcessForm form = (BusinessResourceProcessForm) c.getProcessForm();
             String middlewareType = form.getBusinessInfo().getMiddlewareType();
... 10223 lines suppressed ...