[전문가칼럼]댄 터니스/팁코소프트웨어






SOA(Service-Oriented Architecture)에서 비즈니스 프로세스 관리(BPM)를 활용하려는 조직들은 일반적으로 두 가지 타협책 중 하나를 선택해야 했다. 하나는 연결이 제한되는 워크플로우 방식이고, 다른 하나는 사용자에 대한 지원이 제한되는 통합 방식이다. 이 글에서는 이러한 제한을 극복하는 SOA 환경에서 BPM에 대한 통합 아키텍처의 장점에 대해 논의한다.

통합 방식을 효율적으로 사용하면 서로 독립적이지만 같은 모델 안에 정의되어 있는 프로세스 계층과 서비스 계층을 얻게 된다. 궁극적으로 이 경우에 프로세스 모델은 동전과 같다. 즉, 하나의 실체에 고유한 '측면'이 두 개 있는 것이다.

이 방식을 사용하면 해당 프로세스와 상호 작용하는 기반 서비스와 비즈니스 계통 응용 프로그램에 영향을 주지 않으면서 프로세스를 변경할 수 있다. 마찬가지로 해당 서비스를 사용하는 비즈니스 프로세스에 영향을 주지 않으면서 서비스의 기술적인 토대를 변경할 수 있다. 변경 사항은 공유되기 때문에 모델에서 무엇을 변경하건 관계없이 변경 사항은 모델의 다른 '면'에 등록된다. 해당 면에서 작업하는 사람은 변경 사항을 실제로 보지 못할 수도 있다. 이 유연한 모델 중심 디자인 방식은 프로세스 기민성을 제고하고, 변화의 영향을 제한시키고, 비즈니스 분석가 및 IT 개발자의 전문 기술을 적절히 활용할 수 있도록 함으로써 효율적인 공동 작업을 촉진한다.

SOA와 BPM은 동전의 양면
BPM과 SOA를 서로 다른 기술이나 접근 방식으로 간주하면 이 둘 모두의 활용도가 제한된다. 이 둘을 같은 동전의 양면처럼 생각하는 것이 훨씬 낫다. 한쪽 면만 있는 동전은 더 이상 합법적인 동전이 아니므로 아무런 가치가 없다. SOA 없는 BPM이나 BPM 없는 SOA는 쓸모 없을 정도까지는 아니더라도 비즈니스적인 면에서 가치가 낮다. BPM과 SOA는 서로의 가치를 높여 줄 수 있다. 이 둘을 통합하면 단순히 산술적인 1+1의 증가 효과를 얻는 데 그치는 것이 아니라 사용 가능한 서비스 및 프로세스가 기하급수적으로 늘어난다.

SOA는 응용 프로그램 및 데이터를 광범위하게 배포하고 재사용할 수 있는 독립적인 개별 구성 요소 또는 '서비스'로 나누는 아키텍처이다. SOA는 확장성과 서비스 품질이 입증된 서비스를 IT 부서가 재사용하도록 함으로써 비즈니스 기민성을 제고한다. 이러한 재사용 덕분에 출시 시간을 단축할 뿐만 아니라 개발 비용까지 절감할 수 있다.

SOA에 BPM이 배치되어 있는 경우에는 복잡한 비즈니스 프로세스를 모델링하기 위해 BPM을 통해 구성할 수 있는 빌딩 블록으로 이러한 서비스를 사용한다. 새 서비스를 만드는 것 외에도 SOA의 핵심 디자인 원칙은 기존 레거시 응용 프로그램의 구성 요소를 보존하여 서로 다른 비즈니스 프로세스에서 호출할 수 있는 서비스로 활용하는 것이다. 이 재사용 가능한 서비스를 조립하여 새로운 '복합' 서비스 및 응용 프로그램을 만들 수도 있다. 새 코드를 빌드하고 테스트할 필요가 없기 때문에 시간과 비용을 절약할 뿐만 아니라 생산 환경에서 이미 입증된 서비스를 SOA가 도입하기 때문에 프로세스 오류의 위험도 줄어든다.

기존 BPM 제품군, 후속 개발 필요
워크플로우, 문서 관리 또는 순수 BPM 세계를 배경으로 하는 BPM 공급업체들은 프로세스 디자인 및 관리(정의, 모델링, 시뮬레이션, 작업 대기열 관리, 사용자 인터페이스, 규칙 엔진, 분석, 사람과의 프로세스 상호 작용)에 초점을 맞추는 경향이 있었다. 그리고 비즈니스 분석가가 이 프로세스를 진행하고 책임지는 방향으로 작업이 이루어져 왔다.

기업이 프로세스를 진행하고 책임지도록 하는 것이 올바른 방식이지만 기존의 '순수'제품군에는 결점이 있다. 특정 통합 서비스와 통신하는 데 필요한 연결성이 사후에 추가되었거나 아예 없기 때문이다. 이러한 연결은 주로 구속력이 약한 OEM 관계 또는 기본 통합 어댑터를 통해 이루어진다. 이 방식에는 두 가지 결점이 있다. 첫째, BPM 제품군 내에서 관리할 수 있는 프로세스 수가 제한될 수 있다. 즉, 응용 프로그램 또는 다른 시스템과 결부되지 않았거나 크게 결부되지 않은 프로세스만 관리할 수 있다. 둘째, 시스템이 프로세스에 통합될 때 연결의 융통성이 매우 낮기 때문에 나중에 모델을 자유롭게 변경할 수 없다.

반면에 EAI(Enterprise Application Integration)를 계승하는 BPM 공급업체들은 연결성을 바탕으로 이 과제를 해결하려고 했다. 다시 말해, SAP와 오라클이 서로 호환되도록 만들고 해당 정보를 메인프레임 응용 프로그램 및 데이터 웨어하우스에 전달하는 방법을 연구했다. 이 작업은 프로세스 디자인을 비즈니스 분석가의 몫이 아니라 개발자의 몫으로 남겨 놓는 고도의 전문 도구를 통해 수행된다. 프로세스에서 사람과 관련된 기능에 대해서는 낮은 우선 순위를 부여했다.

그 결과 두 가지 종류의 제품이 탄생했다. 이 두 종류는 각각 문제를 절반 정도 해결하지만 비즈니스와 IT 모두에게 유연성, 적응성 및 효율성을 제공하는 완전한 해결책은 제시하지 못한다.

이 두 방식 중 하나를 선택하여 비즈니스 프로세스를 관리하려면 큰 타협이 필요하다.
● 워크플로우 방식을 받아들일 경우에는 시스템을 연결하고 구성하기 위해 개발자들이 많은 코딩 작업을 수행해야 한다는 사실을 감수해야 한다.
● 통합 방식을 도입할 경우에는 포괄적인 인프라 및 연결 프레임워크가 존재하지만 분석가는 비즈니스 요구 사항을 개발자에게 전달하고 개발자로 하여금 응용 프로그램을 디자인, 배치, 관리 및 지원하도록 해야 한다. 더구나 전문적인 사용자 중심 기능의 통합 없이 이 과정이 이루어져야 한다.

SOA와 BPM의 통합 접근방식
다음에서는 BPM 및 SOA를 통합하기 위해 시도할 수 있는 접근 방식에 대해 자세히 설명한다. 또한 아래 설명된 접근 방식을 수행함으로써 기대할 수 있는 구체적인 이점도 덧붙인다.
다수의 BPM 공급업체는 특정 유형의 프로세스에 대해 비즈니스 분석가가 완전하고 효율적인 프로세스를 디자인하는 데 필요한 기능을 제공한다. 비즈니스 계통 응용 프로그램에서 정보를 쉽게 검색, 업데이트 및 동기화할 수 있도록 해주는 미리 세워진 비즈니스 프로세스 통합용 통합 서비스에 액세스할 수 없기 때문에 사용자는 사람과 시스템을 모두 통합하는 프로세스를 디자인할 수 없다.

따라서 IT 개발자는 고객 프로필 검색, 주소 업데이트, 신용 점수 계산, 재고 업데이트 등의 작업을 수행하기 위해 일련의 간단한 통합 서비스를 개발할 수 있는 플랫폼이 필요하다. 그리고 이러한 서비스는 비즈니스 프로세스에서 액세스하여 사용할 수 있어야 한다.
여기에서 문제는 서비스 및 프로세스를 모델링하기 위해서는 일반적으로 한 명이 아닌 여러 명의 전문 지식이 필요하다는 것이다. 따라서 이 리소스를 가장 효율적으로 사용하기 위해서는 각 도구가 두 개의 평행 작업 흐름을 계속 통합하면서도 각각의 관련 기술 집합에 맞게 조정되어야 한다.

비즈니스 프로세스 모델은 이 두 가지 작업을 모두 지원해야 한다. 비즈니스 부서가 위에서 아래로 만들어 가는 프로세스 모델이 IT 부서가 아래에서 위로 만들어 가는 인프라와 중간에서 만나 하나로 통합되는 것이다. 프로세스 모델이 비즈니스 프로세스의 실시간 보기를 제공하는 라이브 모델이 되기 위해서는 전체 비즈니스 프로세스를 반영해야 한다. 그렇기 때문에 비즈니스 및 IT 부서가 각각 이 모델에 기여해야 하는 부분이 있는 것이다.

비즈니스와 IT 부서의 전문지식 최대한 활용
프로세스 모델에서 서로 확연히 구분되는 두 가지 부분이 있기 때문에 이렇게 서로 독립적으로 진행되는 공동 작업이 가능하다. 이러한 방법을 사용하면 비즈니스 직원은 자신이 맡은 분야에서 프로세스에 대한 지식이 반영되도록 프로세스를 모델링할 수 있다. 사용자가 사용할 수 있는 기능은 정보(예: 누가 무슨 작업을 수행하는가, 해당 리소스의 단가 비용은 얼마인가 등)를 통합하는 비즈니스 분석가의 기술 집합에 맞춰 조정된다.

일종의 응용 프로그램이나 시스템이 필요한 부분이라고 생각되는 곳에 도착하면 간단하게 확인만 한 후에 계속 프로세스를 수립하면 된다. 이 '미완성' 프로세스를 그대로 시뮬레이션 할 수 있기 때문에 비즈니스 직원은 자신이 만든 프로세스를 분석하고 최적화할 수 있다.
결과 프로세스 모델은 바로 실행 가능하다. 이 모델은 특정 순간에 프로세스가 어떻게 작동해야 하는지를 보여 줄 뿐만 아니라 무엇이 구현되고 있는지도 보여 준다. 그리고 비즈니스 프로세스의 실행을 실질적으로 이끌어간다. 이 방식을 사용하면 독립적인 프로세스와 서비스 계층을 얻게 된다. 해당 프로세스와 상호 작용하는 기반 서비스와 비즈니스 계통 응용 프로그램에 영향을 주지 않으면서 프로세스를 변경할 수 있다.

마찬가지로 해당 서비스를 사용하는 비즈니스 프로세스에 영향을 주지 않으면서 서비스의 기술적인 토대를 변경할 수 있다. 이 방식을 사용하면 비즈니스 분석가는 프로세스의 기술적인 토대에 대해 신경 쓰지 않아도 되고, IT 부서는 비즈니스 요구 사항을 제대로 반영했는지 걱정하지 않아도 된다. 이로 인해 프로세스가 크게 향상된다. 또한 향상된 프로세스 덕분에 비즈니스 기민성을 제고하고 변경 사항의 영향을 고립시킬 수 있다. 이 방식을 사용할 때는 프로세스 모델이 변경될 경우 해당 변경 사항이 앞뒤로 전달되므로(즉, 실행 프로세스에 변경 사항이 반영됨) 프로세스 모델은 언제나 비즈니스를 정확하게 반영한다.

이 방식은 비즈니스 부서와 IT 부서가 서로의 전문 지식을 최대한 효율적으로 활용할 수 있도록 해주므로 서로 간의 가장 효율적인 공동 작업을 촉진한다. 이 전략을 도입하는 조직은 BPM 제품군에서 가장 많은 종류와 수의 프로세스를 관리할 수 있다. 이는 결코 가볍게 넘어갈 수 있는 결과가 아니다. BPM이 원칙적으로 일상적인 관리 작업이라는 것은 의심할 여지가 없다. 하지만 일상적인 작업도 적절한 기술을 통해 지원하고 향상시킬 수 있는 법이다.

프로세스 모니터링 강화
BPM의 주요 이점 중 하나는 프로세스를 처음부터 끝까지 실시간으로 모니터링하고 분석할 수 있다는 것이다. 통합 BPM 및 SOA 아키텍처는 이러한 모니터링의 범위와 능률을 확대할 수 있다.

이러한 모니터링 능률 증가는 BPM 제품군의 '이벤트 사용'으로 가능하다. 즉, 이벤트는 비즈니스 프로세스 전체에서 매 주요 지점마다 게시된다. 비즈니스 프로세스에서 작업 또는 사례가 진행될 때, 비즈니스 활동 모니터링 대시보드를 통해 모든 관련 이벤트를 실시간으로 대조, 집계 및 표시할 수 있다. 이 시나리오에서는 이벤트가 비즈니스 프로세스의 정확한 상황에 맞춰 표시되며, 저수준 통합 작업 및 고수준 사용자 작업 모두에서 정확한 데이터가 통합된다. 데이터 웨어하우스 등의 외부 소스를 포함하여 여러 소스의 메시지를 통합할 수 있는 대시보드는 더욱 큰 이점을 제공한다. 조직이 전체 비즈니스 프로세스를 완전하게 실시간으로 볼 수 있기 때문이다. 즉, BPM 제품군의 범위를 뛰어넘는 비즈니스 프로세스를 구현할 수 있다.

재사용 가능한 서비스 또는 비즈니스 프로세스를 만드는 데 많은 노력이 필요하지만 이를 관리하고 유지하는 것도 매우 어려운 장기적인 작업이다. 비즈니스 프로세스는 디자인 및 테스트 과정이 끝난 후에 실제 사용 단계로 들어간다. 사용 환경에서 BPM 및 SOA 솔루션 내의 모든 구성 요소 및 프로세스에 대해 일관된 시스템 관리를 유지하면 조직이 문제를 빠르게 파악하고 수정할 수 있다.

실행 엔진과 완전하게 통합된 총체적인 자체 해결 시스템 관리 기능을 갖추면 기업 전체의 분산된 응용 프로그램 및 시스템을 모니터링하고 관리하는 데 도움이 된다. 이 솔루션은 특정 컴퓨터에서 엔진을 시작 및 중지하고, 진단 메시지를 보고하고, 오류 로그를 모니터링하고, 다양한 자동 경고를 발행하는 등 BPM 및 SOA 배치의 모든 단계를 관리하는 데 사용될 수 있다. 궁극적으로 이 방법은 시스템 관리자가 시스템 인프라의 일상 작업을 능동적으로 관리함으로써 BPM 및 SOA 솔루션의 최대 가동 시간을 보장하고, 이에 따라 ROI를 최대화할 수 있도록 해준다.

BPM과 EAI 지향 방식의 장점 결합해 운영해야
아키텍처 관점에서 효과적이고 능률적인 BPM을 배치하려면 BPM 지향 방식과 EAI 지향 방식의 장점을 결합하여 서로 보완하는 식으로 함께 운영해야 한다. 이 통합 아키텍처는 디자인에서 배치, 사용에 이르기까지 모든 비즈니스 프로세스 단계에서 최고의 가시적인 성과를 제공한다. 이 방식은 비즈니스 분석가에서 IT 부서, 시스템 관리자에 이르기까지 비즈니스 프로세스 관리에 참여하는 모든 사람들이 보다 적극적이고 효율적으로 참여하도록 만든다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지