본문 바로가기
Mendix

[Mendix] Microflow & Nanoflow (마이크로플로우/나노플로우)?

by WaterPunch 2022. 9. 12.

Microflow / Nanoflow 시작화면

멘딕스에서는 MicroflowNanoflow라는 것을 지원을 한다

멘딕스를 설명한다고하면 대표적으로

위에 초록색 점과 빨간색 점이 있고 그 사이를 연결해주는 검은 줄이 있는걸 보여주는데 

처음보는 사람은 "그래서 이게 뭔데?" 라는 느낌이 들 수 있다.

 

그래서 일반적으로 알아듣게 설명하고자 한다.

 

위에 이미지는 Microflow / Nanoflow 를 생성했을 때 초기 화면이고

여기서 객체 생성과 같이 액션을 취하게 되면 이런식으로 박스가 하나씩 추가가 되는 형식이다.

그래서 여기서 좀더 복잡하게 생성을 하게 되면

이런식의 도표가 나오기도 하고...

 

뭘한건지 모르겠는데 구글에 Mendix Microflow를 검색을 하고 이미지를 보게 되면

개발하다가 광기에 빠진 개발자가

광기

이런 그림도 그리고 논다.

 

잡설이 좀 길었던것 같은데

그래서 이게 무엇이냐 설명하자면

Mendix Docs에서는 애플리케이션의 논리를 표현하는 것이라고 설명하는데

이해하기 쉽게 설명하면

일반 개발 언어의 메서드라고 이해하면 되겠다.

 

그럼 MicroflowNanoflow의 차이점이 무엇이냐가 관건인데

Microflow 는 서버 사이드(런타임 서버) 에서 이루어지는 작업

Nanoflow는 클라이언트 사이드(브라우저/기기)에서 이루어지는 작업

이라고 알고있음 쉽겠다.

 

Nanoflow에서 생성할 수 있는 Action
Microflow에서 사용할 수 있는 Action

위에 있는 Action들이 Microflow / Nanoflow에서 사용하는 것들인데

하나하나 다 설명하기보다

가장 핵심적인 것만 말하자면

 

위에서 말했듯이 Nanoflow는 클라이언트 사이드 / Microflow는 서버 사이드에서 이루어지는 작업인데

Nanoflow에서는 Javascript Action 이라고 JavaScript 코드를 사용해서 개발하는 Action이 있으나

Microflow에서는 Javascript Action 대신에 Java Action이 있다.

 

Javascript Action은 Mendix Studio Pro에서 즉시 개발/수정이 가능하지만

Java Action은 Deploy Eclipse라는 것을 해준 후 이클립스에서 개발해주어야 한다

그리고 Java Action을 디버그를 하려면 이클립스에서 디버그를 걸어야 한다

 

그리고

Nanoflow에서는 Microflow를 호출할 수 있지만,

Microflow에서 Nanoflow를 호출할 수 없다.

 

그래서 보통 Validation이 필요한 작업인 경우

버튼의 On Click 이벤트에 Call a Nanoflow를 한 후

Nanoflow 에서 Validation 체크를 해주고

내부에서 Microflow를 호출해 서버에서 작업을 하는 형식으로 개발을 하게된다

 

그리고 마이크로플로우에는 트랜잭션이 적용되어 있어

마이크로플로우가 종료되기 전에 에러가 발생할 경우 Rollback 처리가 된다.

다만, 혹시 모르니 최대한 비즈니스 로직을 수행한 뒤에 객체 커밋을 수행하는 것이 좋겠다. 

반응형

댓글