DATOR


애플리케이션 영향 분석과 데이터 흐름(Meta Data Lineage) 커버 스토리


coverstory.jpg


2000년대 초반 프랑스의 CAST란 애플리케이션 분석 솔루션이 국내에 소개된 이후 여러 업체에서 애플리케이션 정적 분석 솔루션을 개발하여 현재까지 많은 기업들에서 사용하고 있다. 애플리케이션 영향 분석에 대하여 간단하게 정의하자면, 애플리케이션을 구성하는 프로그램의 원시코드(C, Java, JSP, XML, …)를 파싱하여 프로그램간의 참조 관계를 추적하고, 프로그램 내에서 사용된 쿼리를 파싱하여 프로그램에서 참조하는 DB 테이블과 컬럼 정보를 추출, 사용자에게 정보를 제공하는 솔루션이다. 물론, Eclips 나 Visual Studio 같은 개발 툴에서도 참조 관계를 추적할 수 있는 기능을 제공하고 있지만, 이것은 단일 개발 툴이나 하나의 프로그램 언어로 개발된 경우만 제공받을 수 있다는 제약이 있다. 대분분의 대형 기업에서 운영되는 애플리케이션은 다양한 플랫폼과 여러 종류의 프로그램 언어를 사용하여 개발하게 된다. 애플리케이션 영향 분석 솔루션은 이렇게 다양한 환경에서 개발된 프로그램 코드를 분석하여 영향 분석 정보를 제공한다. 예를 들면, 화면은 XPlatform으로, 서비스 영역은 Java로, DA 영역은 C로 개발된 애플리케이션이 있을 수 있다. 만약, 이 애플리케이션에서 참조하는 테이블의 구조가 변경된다면 개발자는 테이블이 참조된 모든 쿼리를 C 프로그램에서 찾고, 그 다음 C 프로그램을 참조하는 Java 프로그램을 찾고, 그 다음 Java 프로그램을 참조하는 XPlatform의 UI 프로그램을 찾은 후 모든 프로그램에서 테이블과 관련이 있는 영역의 소스 내용을 수정해야 할 것이다. 이 내용을 다이어그램으로 표현한다면 아래 그림1과 같은 형태가 될 것이다. 애플리케이션 영향 분석 솔루션은 아래 그림 1처럼 테이블 수정 시 개발자가 수정해야 할 프로그램 코드 파일을 자동으로 추적하여 제공함으로써 개발자는 고생스럽게 수정해야 할 프로그램 코드 파일을 찾는데 시간을 낭비하지 않고 개발에 전념할 수 있다.



cs1.jpg


그림 1. 테이블 영향 관계


응용프로그램에 대한 참조 관계의 정보를 활용하여 영향 분석을 하듯이 데이터에 대해서도 메타데이터를 활용하여 흐름에 대한 정보를 제공할 수 있다. 일반적으로 데이터 웨어하우스(DW)에서 메타데이터는 데이터 흐름(Data Lineage)이 중요한 요소 중의 하나이다. 데이터 흐름이란 데이터의 혈통 또는 계보를 의미하며 BI에서 보여 주는 보고서의 내용이 최초 어디에서 생성되어 수집되었는지를 보여 준다. 아래 그림 2는 간단한 데이터의 흐름을 다이어그램을 표현하였다. 이와 같은 데이터의 흐름 정보를 제공하기 위해선 메타데이터 시스템은 BI, DBMS, ETL, 등 다양한 시스템과 인터페이스를 통하여 각 솔루션의 메타데이터를 수집할 수 있어야 가능하다.


cs2.jpg


그림 2. 데이터 흐름


그러나, 이러한 솔루션은 그 종류의 다양성만큼이나 다양한 형식의 데이터 Export를 지원하기 때문에 하나의 메타데이터 시스템에서 모든 종류의 솔루션과 인터페이스를 통하여 메타데이터를 수집하는 것은 불가능에 가까운 것이 현실이다. 이에 미국의 OMG에서는 CWM(Common Warehouse Meta Model)이라는 표준화된 메타모델을 정의하여 미국 내의 메타데이터 관련 기업들은 CWM 기반의 데이터 교환 인터페이스를 지원하도록 하고 있다. 아래 그림 3은 CWM Meta Model의 주제 영역을 표현하고 있다. 그림에서 Transformation은 ETL에 해당하고, Object Model과 Relational은 데이터 모델과 RDB에 해당하며, OLAP은 Report에 해당한다. 이론적으로 CWM은 데이터 흐름 분석을 위한 모든 데이터를 수집할 수 있는 모델 구조를 정의하고 있다.



cs3.jpg


그림 3. CWM Meta Model


만약, 메타데이터 시스템이 CWM 기반으로 메타데이터를 수집할 수 있고, 모든 메타데이터 관련 솔루션들이 CWM기반 데이터 Export 기능을 지원한다면, 메타데이터 시스템은 어떤 기업에 납품되어 구축되더라도 별도의 기능 개선 작업 없이 바로 메타데이터 수집 작업을 시작할 수 있다.

 지금까지 애플리케이션 영향 분석과 데이터 흐름에 대하여 간단하게 설명을 하였다. 결과적으로 데이터 흐름 관점에서 본다면 애플리케이션 영향 분석과 데이터 흐름은 상당히 밀접한 관련이 있다.
아래 그림 4는 애플리케이션 영향 분석 다이어그램과 데이터 흐름 다이어그램을 합쳐 본 다이어그램이다. 앞에서 데이터 흐름이 데이터가 최초 어디에서 생성된 것인지 그 흐름을 찾는 것이라고 언급했었는데, 기업의 전체 시스템 관점에서 본다면 데이터의 최초 생성은 단말기 영역이 될 것이다.



cs4.jpg


그림 4 애플리케이션 영향 분석과 데이터 흐름


또한, 메타데이터 관점에서 본다면 애플리케이션 분석 정보 또한 메타 데이터의 한 종류가 된다. 이러한 메타데이터 시스템은 기업의 전체 시스템 내의 데이터 흐름 정보를 한눈에 파악할 수 있도록 서비스할 수 있다. 최근 기업내의 시스템 규모가 크고 다양해짐에 따라 관리하는 데이터 또한 복잡하고 방대해지고 있다. 당연히 이러한 시스템을 관리하는 것은 점점 어려워지고 있는 것이 현실이다. 따라서, 이런 통합된 데이터의 흐름(계보)를 추적하여 쉽게 파악하여 보다 간편하고 쉽게 시스템을 운영하길 바란다.



Tag :

Leave Comments