caffeine-library/Domain-Driven-Design

[discussion] bpmn

Closed this issue · 2 comments

토론 주제

bpmn

토론 내용

Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.
by wikipedia

팀에서 비즈니스 프로세스를 정의하기 위해 bpmn을 사용하고 있습니다.

ex) 고객 판매 시나리오 1
image

여러분의 팀에서는 비즈니스 프로세스 모델(시나리오?)을 어떠한 방식으로 관리하시는지 궁금합니다.

  • 비지니스 프로세스
    • 크기가 큰 비지니스 프로세스를 어떻게 관리하는가?
      • ex. RDS 생성과정에서 관여되는 여러 프로세스들
    • 어떻게 관리할 수 있지?
      • Camunda
        • 장점 : 클래스 의존성이 줄어든다
          • Spring Context 에 직접 접근하기 때문에 클래스 내부에서 다른 클래스를 직접 호출하는 구체적인 로직을 작성 할 필요가 없다 (Camuda에서 그런 구체적인 로직들을 관리함)
        • 단점 : 트랜잭션이 전체로 걸려 있어서 하나가 실패한다면 전체 롤백
      • 인수테스트/통합테스트를 통해서 전반적인 플로우는 인식할 수 있지 않을까?
        • 테스트 비용이 늘어난다면, 테스트 만으로 모든 케이스를 적용할 수 없을 때
      • 위키로 정리
  • 플로우 다이어그램 활용하는 사례 :

GPT가 말한 BPMN의 장점

BPMN(Business Process Model and Notation)은 비즈니스 프로세스 모델링을 위한 표준 표기법으로, 다음과 같은 장점을 가지고 있습니다.

  1. 비즈니스 프로세스 모델링의 표준화
    BPMN은 표준화된 표기법으로, 비즈니스 프로세스를 모델링할 때 각 기업이나 조직에서 독자적인 표기법을 사용하는 것을 방지하고, 다른 조직과의 커뮤니케이션을 원활하게 합니다.

  2. 시각화와 이해의 용이성
    BPMN은 그래픽 형태의 표기법으로, 다양한 기호와 색상을 사용하여 프로세스의 각 단계와 흐름을 시각적으로 이해하기 쉽게 표현합니다.

  3. 비즈니스 프로세스 개선과 자동화의 용이성
    BPMN은 비즈니스 프로세스를 모델링하고 분석하는 데 사용될 수 있으며, 이를 통해 프로세스를 개선하고 자동화하는 것이 가능합니다. 이는 비즈니스 프로세스의 효율성과 생산성을 향상시킬 수 있습니다.

  4. 다양한 도구와 플랫폼에서 지원
    BPMN은 표준 표기법으로서, 다양한 BPM(Business Process Management) 툴 및 플랫폼에서 지원됩니다. 따라서, 비즈니스 프로세스 모델링과 자동화를 위한 다양한 기능을 지원하는 다양한 도구를 활용할 수 있습니다.

  5. 프로세스 모니터링과 최적화의 용이성
    BPMN은 프로세스의 실행 및 모니터링을 위한 데이터를 제공하며, 이를 통해 프로세스의 최적화와 문제점의 식별이 용이합니다. 이를 통해 비즈니스 프로세스를 지속적으로 개선하고 효율성을 높일 수 있습니다.

따라서, BPMN은 비즈니스 프로세스 모델링 및 자동화를 위한 표준 표기법으로, 다양한 장점을 가지고 있습니다.

BPMN 에 대해 처음 들어보는 생소한 내용이라 몇 가지 질문을 남깁니다. ㅎㅎ

  1. 로직이 변경됨에 따라 BPMN 도 계속 갱신을 해 줘야 할텐데, 이런 최신화는 어떻게 관리하고 있나요?
    답 : 코드와 동기화가 가능하다. 자바 라이브러리여서 자바 코드와 모델이 상호작용하면서 pr 하나에 모델 변경 코드와 비즈니스 로직 코드 변경이 같이 들어간다.
  2. BPMN 을 처음 접하는 시각으로 보면 시퀀스 다이어그램이나 플로우 다이어그램 등의 다이어그램과 크게 다르지 않아 보이는데, 사용해보신 소감을 듣고 싶습니다.
    답 : 자바 코드는 아니다보니 타입 세이프하지 않다. 생산성이 떨어진다. 단위테스트는 어렵고 통합 테스트를 돌려야 한다.
  3. 표준 모델이라고 해도 타 조직이나 팀에서 같은 표준을 바라보아야 시너지가 날 텐데, 전사적으로 많이 활용되고 있는지 궁금합니다. (활용된다면 어떻게 관리되고 있는지??)
    답 : 팀에서만 사용되는 표준이다. 전사적으론 관리되고 있지 않다.