Java DSL로 워크플로 정의
3027 단어 dsljavaworkflowopensource
그러나 문제는 워크플로우를 정의하는 방법입니다.
많은 경우 워크플로는 모델로 표현됩니다. 흐름도. 이를 위해서는 모델링 도구도 필요하며 개발자가 항상 원하는 것은 아닙니다.
따라서 개발자가 워크플로의 세계에 진입할 수 있도록 Automatiko(워크플로를 기반으로 서비스 및 기능을 구축하기 위한 오픈 소스 툴킷)은 최근 Workflow Java DSL을 도입했습니다.
이 DSL(도메인 특정 언어)은 워크플로우를 정의하기 위한 API와 같은 편리한 흐름과 함께 제공됩니다. 모든 개발자에게 쉬운 진입점을 제공하기 위해 모든 IDE와 잘 통합되어 있습니다.
기본 사항을 간단히 살펴 보겠습니다.
@Workflows
public class MyWorkflows {
public WorkflowBuilder splitAndJoin() {
WorkflowBuilder builder = WorkflowBuilder.newWorkflow("splitAndJoin", "Sample workflow with exclusive split and join");
String x = builder.dataObject(String.class, "x");
String y = builder.dataObject(String.class, "y");
SplitNodeBuilder split = builder.start("start here").then()
.log("log values", "X is {} and Y is {}", "x", "y")
.thenSplit("split");
JoinNodeBuilder join = split.when(() -> x != null).log("first branch", "first branch").thenJoin("join");
split.when(() -> y != null).log("second branch", "second branch").thenJoin("join");
join.then().log("after join", "joined").then().end("done");
return builder;
}
}
여기서 주목해야 할 몇 가지 중요한 측면:
@Workflows
로 주석이 달린 WorkflowBuilder
를 반환하는 모든 공용 메서드에 대해 서비스 API를 생성하도록 지시합니다.splitAndJoin
메서드는 다음과 같은 간단한 작업 흐름을 정의합니다.x
및 y
를 선언합니다.이 워크플로 정의를 기반으로 빌드 시 Automatiko는 이 워크플로를 서비스로 표시하는 완전한 기능(REST) 서비스 API를 생성합니다.
또한 위의 워크플로 정의를 기반으로 워크플로 다이어그램도 생성됩니다.
몇 줄의 워크플로 DSL 개발자는 설명적인 방식으로 비즈니스 논리를 정의할 수 있을 뿐만 아니라 즉시 사용 가능한 서비스 API 및 모든 인스턴스에 대한 실행 시각화를 얻을 수 있습니다.
이것은 Workflow Java DSL에 대한 매우 간단한 소개일 뿐이며 Automatiko documentation에서 보다 완전한 시작 안내서를 찾을 수 있으므로 살펴보고 시도해 보시기 바랍니다.
워크플로에 도전할 수 있는 흥미로운 사용 사례가 있다면 기꺼이 시도해 보겠습니다! 비즈니스 논리를 포함하기 위해 워크플로를 어디까지 사용할 수 있는지 살펴보겠습니다.
마지막으로 Automatiko Workflow Java DSL을 시연하는 짧은 비디오
Reference
이 문제에 관하여(Java DSL로 워크플로 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mswiderski/define-workflows-with-java-dsl-97c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)