디지털 탈바꿈을 위한 프로세스 설계 [2부] - 서비스 기반 프로세스 설계 원칙
상태바
디지털 탈바꿈을 위한 프로세스 설계 [2부] - 서비스 기반 프로세스 설계 원칙
  • 고희숙 이사
  • 승인 2019.12.02 04:25
  • 조회수 2214
  • 댓글 0
이 콘텐츠를 공유합니다

 

용어 정의

디지털 탈바꿈(Digital Transformation)을 위해서는 고객과 시장의 요구에 유연하고 기민하게 대응할 수 있는 비즈니스 수행 체계를 갖추어야 한다. 이러한 목적 달성을 위해서 기업들은 서비스 지향 아키텍처(SOA, Service-Oriented Architecture) 또는 이벤트 기반 아키텍처(EDA, Event Driven Architecture)등의 도입을 적극적으로 추진하고 있다.

최근 주목을 받고 있는 MSA(Micro-service Architecture)는 서비스 지향 아키텍처의 한 유형이라고 할 수 있다. 이벤트 기반 마이크로 서비스(EDM, Event Driven Micro-Service)는 MSA를 보완하는 아키텍처 방식으로 소개되고 있기도 하다. 디지털 비즈니스를 효과적으로 지원하기 위해서는 프로세스, 서비스, 이벤트 등의 개념을 명확하게 이해하고 접근해야 한다.

 

▶ 프로세스(또는 액티비티)

조직이 수행하는 업무 활동으로서 프로세스가 수행되면 비즈니스 상태가 변경된다. 프로세스는 데이터의 생성, 변경, 삭제 등을 통해 변경된 비즈니스 상태를 기록한다. 프로세스는 유일하게 정의되어야 하며, 업무 규칙의 일관성을 보장해야 한다.

▶ 서비스

서비스는 한번에 수행되어야 하는 업무 단위이다. 하나의 서비스는 여러 프로세스를 포함할 수 있고, 하나의 프로세스는 여러 서비스에 포함될 수 있다. 서비스는 고객 및 협력사와 상호작용 그리고 회사 내부의 비즈니스 요건을 처리하기 위한 목적으로 수행된다. 서비스는 비즈니스 상태의 일관성을 보장해야 한다.

▶ 이벤트

시스템의 내부 또는 외부에서 발생하는 사건으로 중요한 상태 변화(significant change in state)를 촉발시킨다. 이벤트는 스스로 상태 변화를 기록하지는 않는다. 프로세스를 수행하게 함으로써 비즈니스 상태 변동을 발생시킨다. 비즈니스 관점에서 유의미한 이벤트를 빠짐없이 도출하여 정의하는 것이 중요하다.
 

투이톡_비즈니스프로세스_1.jpg
[그림 1] Event와 Service 개념도(이해를 돕기 위해 개념적으로 표현)

 

서비스 기반 프로세스 설계 절차

서비스는 프로세스 모델의 프로세스를 대상으로 정의한다. 하나의 서비스는 하위 서비스들로 구성될 수 있다. 예를 들어 회원가입 업무 중에 ‘회원필수정보 입력’이라는 비즈니스 서비스를 생각해보자. ‘회원필수정보 입력’ 서비스는 ‘회원유형 분류’, ‘회원ID생성’, ‘회원정보 등록’ 등의 단위 서비스들의 조합이 된다. ‘회원필수정보 입력’이라는 비즈니스 서비스는 업무 흐름에 따라 단위 서비스들의 흐름으로 정의한다.

투이톡_비즈니스프로세스_2.jpg
[그림 2] 서비스 정의 사례

 

각각의 액티비티는 업무 담당자들이 정의한다. 도구를 이용하면 수행 업무 규칙을 명확하게 정의할 수 있다. 해당 서비스의 입력 메시지와 출력 메시지, 활용하는 데이터 오브젝트, 서비스 처리 절차 등을 업무 담당자가 이해할 수 있는 형태로 정의한다.

투이톡_비즈니스프로세스_3.jpg
[그림 3] 단위 서비스의 업무규칙 정의 사례

 

서비스 정의 규칙

서비스 기반 프로세스 구축에서 서비스의 도출은 중요하며, 각 서비스는 업무적으로 독립적으로 처리가 가능한 단위 업무로 정의하지만 서비스의 크기에 대한 부분은 명확한 규정이 없으며, 구현할 시스템의 업무적인 필요와 환경, 성능에 따라 정의된다.

적절한 서비스 정의를 위하여 가장 일반적인 ‘회원가입’ 서비스를 예로 들어 설명한다. 회원가입은 다른 서비스와 연관 없이 독립적으로 수행 가능하므로 하나의 서비스로 가능하지만 실제 시스템 구축 시에는 더 많은 사안들에 대한 결정이 필요하다.

회원가입에 대한 업무적인 요구사항을 우선적으로 정의한 후 서비스 후보를 결정한다.

1) 회원가입이 가능한 채널은 모바일/인터넷, 간편 가입, 가입신청서(방문) 형태를 제공한다. → 외부 채널 단으로 프로세스 시작 이벤트 방안으로 정의함. 등록을 위한 화면은 별도로 정의 필요

2) 회원필수정보는 ID, 이름, 생년월일이며 인증을 위한 수단으로 이메일이나 전화번호 둘 중 하나는 필수로 제공해야 한다. → 필수 정보를 입력 받아서 등록하고 중복 확인 함. 간편 결제는 필수 정보만, 다른 경우에는 이메일/전화번호 둘 중 하나가 필수

3) 회원은 본인인증 여부에 따라 준회원과 정회원으로 구분되어 관리된다. → 본인 인증을 위한 서비스 별도로 처리, 이메일이나 전화번호를 통한 본인 인증 외부 서비스 호출

4) ID/이름/생년월일이 중복된 경우 이메일/전화번호가 있으면 인증을 통하여 기존 고객 여부를 확인하고, 간편 가입인 경우 회원에 의해 기존 회원 여부를 확인하고, 기존 고객이 아닌 경우 ID변경을 요청한다. → 세가지 정보가 모두 중복인 경우에는 중복 확인 필요, ID 중복인 경우 ID 변경 요청

5) 패스워드는 암호화되어 변경 및 재설정은 본인에게만 확인 가능하도록 지원된다. → 패스워드 등록 후 암호화 하여 처리

6) 필수 정보 이외의 회원정보를 등록 관리한다. → 회원정보 등록: 연락처, 주소, 선호 정보 등


위의 업무 요건에 따라 “회원 필수 정보 입력”, “본인 인증”, “패스워드등록”, “회원정보 등록” 과 같은 서비스를 도출하고, “본인인증”은 외부 인터페이스, 나머지는 하나의 서비스 노드로 등록, 사용 데이터는 회원정보로 정의할 수 있다.

 

회원 관리 서비스 정의 사례

 투이톡_비즈니스프로세스_4.jpg

 이와 같이 모든 서비스는 업무 정의를 기반으로 도출되며, 화면은 외부 시스템으로 동일한 데이터를 입력하여도 채널 별로 별도의 화면을 구성할 수 있다.

도출된 서비스는 각각을 프로세스상의 액티비티로 매핑하고, 수행 순서와 수행 조건 등을 프로세스 상에서 정의 한다. 필요한 경우 오프라인 작업을 추가할 수 있다.
 

투이톡_비즈니스프로세스_5.jpg


서비스 노드의 구성은 독립적인 운영이 가능한 구조로, 연관성이 높은 업무 처리를 위한 어플리케이션 운영에서 데이터 관리까지 하나의 서비스로 구성하고 있으므로 대부분은 주요 콘텐츠를 중심으로 오너쉽을 가지는 기능들의 집합을 하나의 서비스 노드로 규정하는 것이 일반적이다.

예로 들은 회원관리처럼 회원정보를 활용하는 모든 서비스를 하나의 서비스 노드로 정의하여 회원정보의 CRUD를 구현하기도 하며, 회원등급관리나 마케팅 활동 결과와 같은 추가회원정보를 다른 업무에서 활용할 때 회원가입 관리서비스, 회원등급관리서비스, 회원마케팅반응서비스 등으로 분리할 수도 있다.

그러므로 프로젝트 수행 시 각 프로세스 단위나 포함하고 있는 서비스의 크기 등에 대한 표준을 미리 정의하여야 하며, 각 서비스의 사용 주체를 명확하게 해야 전체 사용자 시스템에서 제공하는 서비스 관리가 효과적이다.

서비스 기반 프로세스 설계 시 도출된 서비스는 지속적인 검증을 통하여 공통 서비스화 하거나 서비스 영역을 재조정하는 작업을 진행한다. 

 

- 끝 -


 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.