상명대학교 / 서광규 교수


 




 

2-2. 비즈니스 이해관계자와 협력하여 패키지된 비즈니스 기능 지정

PBC는 캡슐화된 소프트웨어이지만 비즈니스 기능을 나타내며 실제로는 API라기보다는 미니 애플리케이션에 가깝다. PBC가 정말로 유용하고 재사용 가능한 기능을 나타내도록 하기 위해 애플리케이션 리더는 비즈니스 이해관계자와 긴밀히 협력하여 PBC를 정의해야 한다.

비즈니스 분석가가 애플리케이션 설계의 틀을 잡는 데 중심적인 역할을 하는 것처럼, 기술 전문가와 함께 PBC 설계를 구체화하는 주요 참여자이기도 한다. 소프트웨어 아키텍처 프로젝트에서 비즈니스 전문가와 기술 전문가 간의 긴밀한 관계는 많은 조직에서 흔하지 않다.

컴포저블 애플리케이션의 계획 및 설계를 위한 다분야("융합") 팀의 구성 및 운영을 촉진하는 것은 애플리케이션 리더가 수행해야 할 중요한 역할이다. 이를 달성하려면 비즈니스 리더와 긴밀히 협력하여 협업 기회를 찾아야 한다(또는 즉시 명확하지 않은 경우 이러한 기회를 창출해야 한다). 비즈니스 리더와 협력하여 헌장, 목표, 인센티브 및 참여 직원을 정의하여 융합 팀을 구성한다. 융합 팀 운영에서 IT 전문가의 적극적이고 협력적인 참여에 우선 순위를 부여하고 모니터링하여 적절한 비즈니스 리더와 지속적인 대화를 유지한다.

애플리케이션 리더는 개발자의 비즈니스 애플리케이션 설계 전문 지식을 활용하여 PBC 설계 모범 사례를 안내해야 한다. 비즈니스 애플리케이션과 PBC(표 1 참조)의 친숙한 특성 간의 대조를 사용하여 기존의 친숙한 엔터프라이즈 애플리케이션 설계 방법의 업그레이드로서 PBC 설계에 대한 로드맵을 제공한다.

 


[표1. 기존 애플리케이션과 PBC 비교]


 

기존 애플리케이션은 중요한 비즈니스 영역(예: 영업, 재무 또는 인사)에 완전한 기능 세트를 제공하도록 설계되었으므로 일반적으로 대규모 비즈니스 개체(엔티티) 컬렉션을 관리한다. 대부분의 기존 애플리케이션은 API를 통해 일부 기능을 노출하고 애플리케이션 구성에 참여할 수 있지만 내부 얽힘으로 인해 PBC 기반 디자인의 디자인 자유도와 민첩성이 부족하다.

대조적으로, PBC는 비즈니스 상황이 요구하고 발전함에 따라 구성을 통해 다른 비즈니스 기능과 결합(및 재결합)되도록 개별 비즈니스 기능을 캡슐화하도록 설계되었다. 이는 고객, 제품 또는 은행 계좌와 같은 최대 하나의 비즈니스 개체를 나타낸다. "고객” PBC는 고객 개체의 수명 주기만 관리하는 반면, CRM 애플리케이션은 실제 고객을 위한 다양한 비즈니스 활동을 지원한다. 고객 PBC는 CRM(또는 기타) 구성의 많은 구성 요소 중 하나이다.

구성 가능 애플리케이션 개발을 위해 비즈니스-IT 공동 작업을 추진하는 애플리케이션 리더는 사내 애플리케이션 설계 또는 현대화 및 공급업체 애플리케이션 선택을 PBC의 비즈니스 중심 모듈성에 맞게 안내해야 한다. 이를 통해 기술 및 비즈니스 전문가가 적극적으로 참여하는 융합 팀이 정의적인 설계 결정을 내릴 수 있다.

PBC는 독립형으로 획득되거나 설계되는 경우가 거의 없다. 대부분은 처음에 미리 구성된 애플리케이션의 일부로 제공된다. 그러나 조직의 업무 방식이 변경됨에 따라 다양한 역할에 맞게 재구성될 수 있는 PBC? 기반 애플리케이션의 기능은 일부 PBC가 초기 애플리케이션 제품군 내에서만 재사용되는 경우에도 운영 PBC 아키텍처의 중요한 이점이다.

 

 




 

2-3. 데이터 관리, 분석 및 애플리케이션 모듈화에 대한 설계 접근 방식 통합

비즈니스 운영 및 의사 결정에서 속도와 인텔리전스에 대한 현재 중요한 비즈니스 요구는 많은 조직이 오랫동안 직면해 온 과제, 즉 애플리케이션에 대한 투자와 데이터 관리 및 분석에 대한 투자를 분리하는 과제를 증가시킨다. 데이터 과학자와 비즈니스 의사 결정자는 분석 및 데이터 관리 애플리케이션 또는 클라우드 DaaS(Data as a Service)를 사용하는 반면 핵심 비즈니스 운영은 엔터프라이즈 CRM, ERP 및 기타 비즈니스 애플리케이션 또는 클라우드 SaaS를 사용한다. 이러한 분리는 비즈니스 애플리케이션이 고급 인텔리전스에 대한 전체 액세스를 거부하고, 분석 애플리케이션이 운영 데이터 및 대부분의 비즈니스 사용자에 대한 전체 액세스를 거부한다. 결과 애플리케이션은 충분한 정보를 바탕으로 결정을 내리지 않으며, 발견된 일부 통찰력은 비즈니스 운영 및 의사 결정에 완전한 영향을 미치지 않을 수 있다.

 

이러한 문제를 해결하기 위해 컴포저블 애플리케이션의 고급 지능형 아키텍처는 데이터 및 분석을 위해 별도의 전용 PBC를 채택한다. 이러한 PBC는 표준 애플리케이션 PBC와 동일한 구성 및 인터페이스 아키텍처를 따르지만 내부는 다르게 설계되었다(그림 3 참조).

 

■ 응용 프로그램 기능은 비즈니스 개체의 상태와 운영을 캡슐화하고 해당 개체의 자율성과 무결성을 책임진다.

■ 데이터 및 분석 기능은 통합 데이터 패브릭에서 작동하며 광범위한 소스의 분석 통찰력 및 데이터 참조를 제공한다.

애플리케이션과 데이터 및 분석 기능을 PBC에 일관되게 패키징하면 운영 및 분석 비즈니스 기능의 소프트웨어 표현이 통합되고 고립된 데이터 및 애플리케이션 투자, 전략, 기술, 관행 및 기술의 오랜 문제를 해결하는 데 도움이 된다.

 


[그림3. PBC: 지능형 컴포저블 비즈니스 애플리케이션의 빌딩 블록]


 

 

2-3-1. 애플리케이션 기능(Application Capabilities)

애플리케이션 기능은 추상적이거나 물리적인 엔터티에서 작동하며 전체 구현에서는 소유한 엔터티의 전체 데이터 및 수명 주기 운영을 완전히 캡슐화한다. 작업이나 정보를 위해 엔터티와 상호 작용하는 유일한 방법은 PBC의 API 및 이벤트 인터페이스를 통하는 것이다. 대부분의 PBC는 특히 아키텍처 채택 초기에 전체 기능보다 낮은 수준으로 구현된다.

■ 응용 프로그램 PBC는 은행 시스템의 저축 계좌나 소매 응용 프로그램의 제품과 같은 잘 정의된 비즈니스 엔티티에서 작동하는 비즈니스 기능을 캡슐화한다. 예를 들어, 트럭 운송 회사는 연료, 운전자, 차량, 리스, 계약, 화물, 주문, 위반 등에 대한 응용 프로그램 PBC를 설계할 수 있다. 응용 프로그램 PBC의 책임은 주체 엔티티를 "소유"하고 관리하며 다른 PBC, 응용 프로그램 및 사용자 경험과의 상호 작용을 지원하는 것이다.

■ 디지털 트윈 PBC는 물리적 객체 또는 프로세스의 디지털 표현을 관리하는 비즈니스 기능을 캡슐화한다(성공적인 디지털 트윈 설계를 위해 4개의 빌딩 블록 사용 참조). 완전히 구현된 디지털 트윈은 물리적 프로세스 또는 사물의 작동을 모니터링, 분석 및 (극단적으로) 시뮬레이션할 수 있으므로 물리적 객체의 모든 관련 조건, 동작, 명령, 입력 및 출력을 나타낼 수 있다.

 

 

2-3-2. 데이터 및 분석 기능

데이터 및 분석 PBC는 데이터 패브릭의 리소스에 대한 액세스 및 분석을 제공한다. 이들은 개별 엔터티를 캡슐화하거나 소유하지 않지만 알고리즘, 메타데이터, 소스 및 파생 데이터, 데이터 패브릭의 기타 리소스를 활용하여 데이터 및 분석 통찰력을 제공한다. 애플리케이션 PBC는 엔터티의 상태를 캡슐화하고 해당 엔터티에 대한 데이터나 일부 분석만 제공할 수 있지만, 데이터 패브릭 기반 PBC는 통합된 광범위하게 기반을 둔 데이터 및 인텔리전스 서비스를 제공한다. 또한 데이터 패브릭은 PBC, 애플리케이션 및 기타 소스에서 데이터를 수집한 다음 관리한다. PBC는 데이터 패브릭에 있는 데이터의 무결성이나 일관성에 대해 책임을 지지 않으며 데이터의 마스터 거버너 역할을 한다. 데이터 패브릭의 정보 아키텍처가 PBC와 느슨하게 결합되어 있기 때문에 잘 설계된 데이터 및 분석 PBC를 사용하면 기업이 경쟁 PBC를 안팎으로 교환할 수 있다.

■ 분석 PBC는 일반적으로 여러 응용 프로그램 및 비즈니스 개체에서 소스가 제공되는 복합 데이터 패브릭 형태로 작동한다. 이들의 역할은 데이터 과학 알고리즘(예측, 규범 및 AI 스타일 분석 포함)을 적용하여 통찰력, 의사 결정 권장 사항 및 AI 서비스를 도출하고 다른 PBC, 애플리케이션 또는 의사 결정자에게 전달하는 것이다.

 

데이터를 전달할 때 이러한 PBC는 특히 데이터 패브릭에서 캡처된 사전 분석 또는 실시간 스트림 분석을 수행하도록 설계된 경우 이벤트 중심 스트림 인터페이스를 사용할 가능성이 더 높다. 두 경우 모두 데이터에서 발견된 패턴으로 인해 구독하는 PBC 또는 애플리케이션, 이메일과 같은 통신 서비스, 특수 데이터 저장소 또는 대시보드와 같은 사용자 경험, 음성, 텍스트 또는 이미지 인식과 같은 AI 서비스에 경고가 게시될 가능성이 높다. 자금세탁 경고, 동적 상황별 가격 책정 또는 처방적 분석에 대한 의사결정 권장과 같은 분석 서비스를 제공한다. 모두 분석 PBC를 활용할 수 있는 사용 사례의 예이다.

■ 데이터 PBC는 데이터 패브릭 형태와 같은 통합 데이터 소스에서도 작동한다. 그들의 역할은 데이터 패브릭 프로세스를 통해 수집되고 준비된 데이터 참조를 관리, 검색 및 전달하는 것이다. 이러한 참조 중 일부는 주소 조회 또는 표준 부품 ID 검색만큼 간단할 수 있는 반면, GraphQL 모델링을 사용한 그래프 데이터베이스 탐색과 같은 고급 참조도 있을 수 있다.

다양한 유형의 PBC 간에는 세분성과 책임에 명확한 차이가 있다. 그러나 이들 모두에 적용되는 핵심 비즈니스 이점은 비즈니스 중심의 설계자, 기술 전문가 및 비즈니스 사용자가 이해하고 관리할 수 있는 모듈식 설계 형태로 응용 프로그램 소프트웨어를 표현한다는 것이다.
애플리케이션 리더는 통일된 PBC 아키텍처를 사용하여 애플리케이션, 분석 및 데이터 관리 방식의 융합을 모색해야 한다. 전통적인 고립은 애플리케이션에 대한 통찰력의 모든 힘을 거부하고 이용 가능한 분석 통찰력의 영향을 제한한다.

 

 




 

3. 결론

비즈니스 환경이 끊임없이 변화하고 사용자 요구가 기하급수적으로 증가함에 따라 미래에 적합한 소프트웨어 엔지니어링 전략을 개발하는 것은 큰 어려움이다. 애플리케이션 리더는 비즈니스 애플리케이션에서 구성 가능한 엔터프라이즈 아키텍처를 준수하도록 요구해야 한다.

 

본 고에서는 다음과 같은 내용들을 확인하였다.

■ 불확실한 시기에 회복력을 보장하려면 필요에 따라 재구성할 수 있는 모듈식 응용 프로그램이 필요하지만, 많은 공급업체 및 기업 응용 프로그램은 여전히 모놀리식으로 남아 있어 변화가 느리고 비용이 많이 든다.
■ 탄력성을 달성하려면 비즈니스와 기술 혁신이 밀접하게 연계되어야 한다. 그러나 대부분의 기술팀은 비즈니스 전문가와의 긴밀한 협업 경험이 부족하고 기술 중심의 애플리케이션 설계를 개발하므로 적극적인 비즈니스 참여에 적합하지 않다.
■ 기존 솔루션은 애플리케이션 데이터와 분석 프로세스를 분리하거나 이를 모놀리식 애플리케이션에 묶인다. 두 모델 모두 급격한 변화의 시대에 신속하고 정보에 입각한 상황에 맞는 의사 결정을 제한하는 포괄적이고 실행 가능한 인텔리전스에 대한 비즈니스 액세스를 줄인다.

 

따라서 전략을 담당하는 애플리케이션 리더는 다음을 수행해야 한다.
■ 조직의 패키지 비즈니스 기능(PBC)을 정의하기 위해 컴포저블 엔터프라이즈 애플리케이션용 Gartner 참조 모델을 사용하여 모듈식, 구성 가능 및 탄력성을 갖춘 애플리케이션 전략을 개발한다.
■ 팀이 애플리케이션을 별도로 패키지된 비즈니스 기능의 구성으로 모델링하고 민주화된 플랫폼 도구를 배포하도록 지시하여 비즈니스 이해관계자가 애플리케이션 개발에 직접 참여할 수 있도록 지원한다.
■ 데이터, 분석 및 애플리케이션 기능을 상호 구성 가능한 PBC로 설계하여 데이터 관리, 분석 및 애플리케이션 기능의 통합 사용을 지원한다.

 

최근 몇 년간 IT업계에서는 다양한 애플리케이션과 서비스 등이 출시되고 나면, 사용자나 고객의 요구사항이 점차 다양하고 많아지고 있는데, 이러한 다양한 고객의 요구사항을 빠르게 반영하려면 관리 및 개선이 쉬워야 하고 효율적이어야 한다. 이러한 요구사항을 만족하기 위해 오픈소스와 API 등을 활용한 다양한 조합이 시도되고 있고 이러한 시도는 컴포저블 구조로 나타나고 있다. IT 서비스, 애플리케이션, 데이터 등을 조합할 수 있게 구성해, 빠르게 변화하는 시대의 흐름과 다양한 고객의 요구사항을 수용할 수 있는 모습이 주목받고 있고 이러한 트렌드는 기존 서비스와 애플리케이션의 구조는 물론 기업의 형태와 프로세스까지 바꿀 수 있는 잠재력을 포함하고 있다.

컴포저블 애플리케이션은 비즈니스 중심의 모듈식 구성요소가 핵심으로 마치 레고처럼 필요한 블록을 끼웠다 뺐다 하듯이 기업이 제공하는 서비스이다. 이러한 구조를 만들 때 코드를 더 쉽게 사용하고 재사용할 수 있도록 만들어 새로운 제품이나 서비스의 출시 기간을 단축하고 기업의 이익이나 효율성을 높일 수 있는 가치를 제공한다. 컴포저블 애플리케이션은 기업의 근본적인 변화를 요구하는데, 동시에 효율성을 높여 빠르고 유연한 애플리케이션을 만들 수 있다. 기업의 변화를 주도하는 컴포저빌리티(Composability)는 미래를 위한 도구로 거대한 비즈니스와 개발 구조, 더 나아가 조직 구조와 업무 프로세스를 바꿀 수 있으며 이러한 컴포저블 애플리케이션을 활용하는 기업이 경쟁기업보다 구현 속도 경쟁 우위를 점할 수 있으며 향후에 기업은 컴포저블을 활용하는가 혹은 활용하지 않는가에 따라 새로운 성장 동력과 사용자의 충성도 확보가 가능하고 이를 통한 경쟁력 확보여부가 결정될 것으로 전망된다.

 

 



참 고 문 헌




  1. Gartner, Gartner’s Reference Model to Deliver Intelligent Composable Business Applications, 2020.10.
  2. https://www.lgcns.com/blog/it-trend/26877/
  3. https://kissflow.com/application-development/composable-applications/




저작권 정책


K-ICT 클라우드혁신센터의 저작물인 『마이크로서비스를 넘어 컴포저블 애플리케이션(Composable Application)으로 전환』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.