1. Что такое компилируемый поток
compileflowЭто очень легкий, высокопроизводительный, интегрируемый и расширяемый процессор процессов.
compileflow ProcessДвижок рабочего процесса TaobaoTBBPMОдин из движков — это движок процесса без сохранения состояния, который фокусируется на выполнении чистой памяти, которая генерируется путем преобразования файлов процесса.javaКод скомпилирован и выполнен, лаконичен и эффективен. В настоящее время это механизм обработки нескольких основных систем, таких как транзакции мидл-офиса Alibaba.
compileflowЭто позволяет разработчикам проектировать свои собственные бизнес-процессы с помощью редактора процессов, визуализировать сложную бизнес-логику и наводить мосты между бизнес-дизайнерами и инженерами-разработчиками.
2. Список функций
- Высокая производительность: создается путем преобразования файлов процесса
javaКод скомпилирован и выполнен, лаконичен и эффективен. - Разнообразные сценарии приложений: он широко используется в решениях Alibaba для среднего офиса, поддерживая несколько бизнес-сценариев, таких как руководство по покупкам, транзакция, выполнение контракта и капитал.
- Интегрируемость: легкий и компактный дизайн позволяет легко интегрировать его в различные решения и бизнес-сценарии.
- Идеальная поддержка подключаемых модулей: в настоящее время проектирование процессов
IntelliJ IDEA,EclipseПоддержка подключаемых модулей, которые могут динамически генерироваться в режиме реального времени при проектировании процессов.javaКод и предварительный просмотр, то, что вы видите, это то, что вы получаете. - Поддержка экспорта схемы проектирования процессов
svgфайлы и код модульного теста.
3. Быстрый старт
Шаг 1: Загрузите и установитеIntelliJ IDEAплагин (необязательно)
Адрес загрузки плагина:GitHub.com/Alibaba/com…
Инструкции по установке: Пожалуйста, используйтеIntelliJ IDEAМетод локальной установки для установки, перезапускIntelliJ IDEAвступит в силу.
Step2: POMплагин
<dependency>
<groupId>com.alibaba.compileflow</groupId>
<artifactId>compileflow</artifactId>
<version>1.0.0</version>
</dependency>
допустимыйsearch.maven.orgПосмотреть доступные версии.
Уведомление: compileflowподдерживается толькоJDK 1.8и выше.
Шаг 3: Дизайн процесса
Давайте возьмем демонстрацию ktv в качестве примера, чтобы понять конфигурацию и конфигурацию узлов и атрибутов посредством демонстрации и практики демонстрации.APIиспользование.
Описание демонстрации: N человек идут на ктв петь, каждый поет песню, первоначальная цена потребления ктв составляет 30 юаней на человека, если общая стоимость превышает 300, будет скидка 10%, а если общая цена менее 300, будет выплачена первоначальная цена.
S3.1
Создайтеbpmфайл, как показано ниже:
Примечание:bpmПуть к файлу должен быть таким же, какcodeПоследовательно, в режиме загрузки файла процессный движок выполняется в соответствии сcodeНайдите файл.
S3.2
Проектирование процессов с помощью плагинов или прямое написание процессовxmlдокумент.
S3.3 Процесс вызова
Напишите следующий модульный тест:
public void testProcessEngine() {
final String code = "bpm.ktv.ktvExample";
final Map<String, Object> context = new HashMap<>();
final List<String> pList = new ArrayList<>();
pList.add("wuxiang");
pList.add("xuan");
pList.add("yusu");
context.put("pList", pList);
final ProcessEngine<TbbpmModel> processEngine = ProcessEngineFactory.getProcessEngine();
final TbbpmModel tbbpmModel = processEngine.load(code);
final OutputStream outputStream = TbbpmModelConverter.getInstance().convertToStream(tbbpmModel);
System.out.println(outputStream);
System.out.println(processEngine.getTestCode(code));
processEngine.preCompile(code);
System.out.println(processEngine.start(code, context));
}
compileflowРодом только поддерживает TaobaoBPMСтандарт, для совместимостиBPMN 2.0Спецификация, сделаны некоторые адаптации, но поддерживается только частьBPMN 2.0Элементы могут быть расширены на исходной основе, если для их поддержки требуются другие элементы.