2005년 11월 8일

워크플로우 기반의 개발이 확산될까?


워크플로우란 사람과 소프트웨어를 조화시키는 액티비티의 세트라고 할 수 있으며, 휴먼 워크플로우와 시스템 워크플로우로 구분된다.

이것은 Windows Vista에서 사용될 차세대 API인 WinFX의 Windows Workflow Foundation을 통해 제공되며, 개발자는 프레임워크 및 도구를 이용하여 개발하게 된다.

그렇다면 워크플로우는 과연 어떤 경우에 사용하는가? 간단하게 생각해보자.

은행 대출의 경우: "제출된 서류는 24시간 내에 승인이 되어야하고, 승인될 경우 7일 내에 대출되어야 한다."

위와 같은 실제 업무는 상당히 긴 트랜잭션으로서, 최대 7일 동안 상태 관리를 해야 한다. 이것을 기존의 애플리케이션 방식으로 처리하려면, 모두 "로직"으로서 코딩을 해야 했다. 하지만 워크플로우 기반 개발을 하게 되면, 관련 프레임워크를 사용하여 보다 손쉽게 적은 코드로서 개발이 가능한 것이다.

순차적인 워크플로우 처리뿐만 아니라, 상태 또는 룰(규칙)에 기반한 처리도 가능하므로 활용성이 높다.

하지만 이것이 아무리 개념상으로 좋다고 하더라도, 개발자들이 얼마나 제대로 사용하는가?하는 것은 완전히 별개의 문제일 것이다. 기존의 방식으로 처리가 가능할 경우, 대부분의 보수적인 개발자들은 새로운 방식을 굳이 적용하려 하지 않는다. 확산에는 상당한 시일이 걸릴 것이다.

[그림 출처: Microsoft PDC 2005]

댓글 4개:

최재훈 :

개인용 일정관리 소프트웨어(웹기반이든, 데스크탑환경기반이든)를 만들기 좋을 것 같습니다. 당장은 엔터프라이즈 환경보다는 개인용 소프트웨어부터 적용되지 않을까요?

김우승 :

보통 workflow 는 formal workflow 와 adhoc workflow 나뉘어집니다. 컨설팅과 업무프로세스 개선을 통해서 adhoc workflow을 formal workflow 로 만들기도 합니다만, 보통 시스템을 구추할 때는 adhoc workflow 가 가장문제가 됩니다. 도구가 있어서 분명 편리하게 구현되고 유지관리가 되기는 하겠지만요. 그래서 보통은 은행과 같이 workflow가 명확한 곳에서 많이 쓰이게 되는 것이죠. 다만 MS가 workflow 엔진을 개발하면 관련한 office 도구들이 자연스럽게 연결되었기에 기대가 되긴 하지만 보통 큰 기업들은 어떤 형태이든 워크플로우엔진이나 BPM 들이 도입된 상태여서 이러한 시스템과의 통합부분이 숙제가 되겠군요.

Bobby Ryu :

호홋.. 김책임님, 일부러 커멘트 남겨주셔서 고맙습니다. 회사 밖에서 이렇게 상호작용하니 색다른 느낌이 있군요.

그런데 글이 너무 딱딱해요. ^^

다음에는 좀 더 부드럽게 써주실거죠?

김우승 :

제목이 workflow 가 아니었다면 더 부드럽게 썼을텐데... workflow 의 work가 나를 딱딱하게 만드는군요. 이러한 상호작용을 딱딱하게 표현하면 knowlegde sharing ... 이래서 난 컨설턴트들이 싫을때가 있어요. 쉬운말 너무 어렵게 써서.

댓글 쓰기

댓글을 환영합니다.

스팸으로 인해 모든 댓글은 운영자의 승인 후 등록됩니다. 스팸, 욕설은 등록이 거부됩니다. 구글의 블로그 시스템은 트랙백을 지원하지 않습니다.