KR20060045622A - 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈 - Google Patents

컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈 Download PDF

Info

Publication number
KR20060045622A
KR20060045622A KR1020050030334A KR20050030334A KR20060045622A KR 20060045622 A KR20060045622 A KR 20060045622A KR 1020050030334 A KR1020050030334 A KR 1020050030334A KR 20050030334 A KR20050030334 A KR 20050030334A KR 20060045622 A KR20060045622 A KR 20060045622A
Authority
KR
South Korea
Prior art keywords
source
column
destination
etl
data elements
Prior art date
Application number
KR1020050030334A
Other languages
English (en)
Inventor
피터 제이. 스트롬퀴스트
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060045622A publication Critical patent/KR20060045622A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D40/00Casings or accessories specially adapted for storing or handling solid or pasty toiletry or cosmetic substances, e.g. shaving soaps or lipsticks
    • A45D40/26Appliances specially adapted for applying pasty paint, e.g. using roller, using a ball
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D40/00Casings or accessories specially adapted for storing or handling solid or pasty toiletry or cosmetic substances, e.g. shaving soaps or lipsticks
    • A45D40/24Casings for two or more cosmetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D40/00Casings or accessories specially adapted for storing or handling solid or pasty toiletry or cosmetic substances, e.g. shaving soaps or lipsticks
    • A45D2040/0006Accessories

Abstract

컴퓨터화된 재무 시스템에 있어서, 재무 데이터베이스(financial database)의 재무 테이블로부터의 데이터 요소를 미리 정해진 포맷에 따라 보고자 테이블(reporter table)로 로딩하기 위한 추출, 변환 및 로딩(Extraction, Transformation and Loading:ETL) 패키지를 구성하는데 이용되는 ETL 설계자 모듈이 제시된다. 이러한 ETL 설계자 모듈에는 변환 객체(transformation object)를 규정하는 변환 클래스가 포함된다. 각각의 변환 객체가 재무 테이블의 소스 칼럼에서의 소스 데이터 요소를 보고자 테이블의 연관 목적지 칼럼에 해당하는 보고자 포맷으로 변환할 책임을 진다.
분산 환경, 데이터베이스, ETL, 재무 시스템

Description

컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈{EXTRACTION, TRANSFORMATION AND LOADING DESIGNER MODULE OF A COMPUTERIZED FINANCIAL SYSTEM}
도 1은 본 발명이 이용될 수 있는 예시적 환경을 도시한 블록도,
도 2는 본 발명의 실시예에 따른 컴퓨터화된 재무 시스템에 관한 간략한 블록도,
도 3 및 도 4는 예시적 소스 재무 테이블을 도시한 도면,
도 5는 데이터를 반입하고, 변환하여, 목적지 데이터베이스로 반출하는 데이터 펌프 아키텍처를 도시한 도면,
도 6은 추출, 변환 및 로딩(태스크) 모듈의 기능을 도시한 도면,
도 7은 본 발명의 실시예에 따른 ETL 설계자 모듈을 위한 예시적 객체 모델을 도시한 도면,
도 8 및 도 9는 예시적 목적지 보고자 테이블을 도시한 도면,
도 10은 본 발명의 실시예에 따른 ETL 패키지 구성 방법을 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
204 : 서버 218 : 애플리케이션 인터페이스
220 : 툴 인터페이스 222 : SQL 네임스페이스
224 : SQL 분산형 관리 객체 226 : ETL 서비스
228 : ETL 패키지 206 : 소스 데이터베이스
208 : 목적지 데이터베이스 202 : 재무 보고 소프트웨어 패키지
본 발명은 전반적으로 컴퓨터화된 재무 시스템(financial system)에 있어서의 추출, 변환 및 로딩(Extraction, Transformation and Loading : ETL) 설계자 모듈에 관한 것으로서, 상기 ETL 설계자 모듈은 서버의 ETL 서비스 모듈에 대해 ETL 패키지를 구성하게 하는 명령을 전달하도록 동작한다. ETL 패키지는 소스 데이터베이스, 즉 데이터 스토어에 저장된 소스 재무 테이블에서 요소들을 추출 및 변환하여, 미리 정해진 포맷(그 소스 테이블에서의 포맷과는 독립적임)을 갖는 목적지 데이터베이스, 즉 데이터 스토어의 목적지 테이블로 로딩하는데 이용된다.
컴퓨터화된 재무 시스템은 회계 프로그램 및 재무 보고 프로그램 등을 비롯한 다양한 소프트웨어 패키지를 포함한다. 회계 프로그램은 비즈니스에 관한 여러 계정들, 예컨대 총계정원장(general ledger), 재산목록(inventory), 미수금(accounts receivable), 미지급계정(accounts payable), 잔액(balances), 임금 대장(payable) 및 기타 계정 등을 보유하고 있다. 총계정원장은 어떤 회사의 재무 활동 및 그 히스토리에 관한 저장소(storehouse)이며, 그 회사에 관한 모든 재무 거래를 포함하고 있다. 그와 같은 총계정원장 및 기타 다른 계정들이 하나 이상의 데이터베이스 내에 테이블(재무 테이블)들로서 저장된다.
재무 보고 애플리케이션은, 그와 같은 데이터베이스의 재무 테이블들에 저장되어 있는 데이터를 이용하여 보고서(report)를 작성한다. 이러한 보고서에는, 예컨대 잔액 보고서(balance report) 및 예측 보고서(forecasting report) 등이 포함될 수 있다.
비즈니스에 관한 재무 테이블을 저장하고 있는 데이터베이스들은 통상적으로 다양한 데이터베이스 관리 시스템(DBMS)을 이용하여 조직되고 유지된다. 그와 같은 데이터베이스 시스템들 중에는, 관계 데이터베이스 관리 시스템(RDBMS)이라고 인식되는 "관계" 모델에 해당하는 것들이 있다. 관계 데이터베이스는 칼럼과 로우의 관계형 2차원 테이블로 조직된 데이터 모음이다. 소정의 테이블에 속한 데이터는 그 테이블에 대한 동작 세트, 예컨대 결합(join), 정렬(sort), 합병(merge) 등을 수행함으로써 액세스되고 조작될 수 있다. 이들 동작들은 일반적으로 SQL 등과 같은 질의 언어로 구성된 사용자-정의형 질의에 의해서 시작된다. SQL 질의는, 일반적으로 선택, 검색 또는 처리할 데이터 세트를 기술하는 고급 명령들로 구성된다.
전술한 바와 같이, 재무 보고 프로그램은 하나 이상의 재무 테이블에 저장된 해당 비즈니스에 관한 재무 정보들에 액세스하여 보고서를 작성하는데 이용될 정보를 추출해야 한다. 일부 종래의 재무 보고 프로그램이나 툴은 소정의 데이터베이스의 특정 재무 테이블에 직접 액세스하도록 하는 프로그램 코드(예컨대, SQL 문)를 그 소프트웨어 내에 포함하였다. 이러한 방법에 있어서의 한가지 문제점은 재 무 테이블이 변경되거나 추가되는 경우 그 변경이나 추가가 이루어진 재무 테이블에 액세스하기 위해서는 재무 보고 프로그램의 프로그램 코드도 변경되어야 한다는 점이다. 이와 같은 변경은 복잡하고, 수행하기가 시간 및 비용 소모적이다.
상기 방법과 다른 방법으로는 일부 서버에 의하여 제공되는 기존의 추출, 변환 및 로딩(ETL) 서비스를 이용하는 방법이 있다. ETL 서비스는 서로 다른 소스들로부터 데이터를 추출하여 변환하고, 하나 또는 복수의 목적지로 통합하여 미리 정해진 포맷에 따라 데이터 웨어하우스나 데이터 마트를 구성하도록 하는 일련의 툴을 제공한다. Microsoft® SQL Server의 데이터 변환 서비스(DTS)는 ETL 서비스의 일예이다.
ETL 서비스는 재무 보고 애플리케이션에 맞추어진 사용자 지정 데이터 이동 솔루션(custom data movement solution)을 정의하는 ETL 패키지(Microsoft® SQL Server의 DTS 패키지)를 생성하기 위한 것이다. 각 ETL 패키지는 일반적으로 소스 테이블에 저장되어 있는 데이터 요소에 대해 필요한 추출 및 변환을 수행하도록 동작하는 여러 스텝의 연관 태스크들을 규정한다. 또한, 이러한 ETL 패키지를 실행하면 소스 테이블에서 지정된 소스 데이터를 반입하고, 필요한 포맷으로 그 데이터를 변환하여, 저장소에의 목적지 데이터베이스 내의 목적 테이블로 그 데이터를 반출한다. 따라서, ETL 서비스를 이용하여 ETL 패키지를 형성할 수 있고, 그 ETL 패키지가 소스 재무 테이블(예컨대, 총계정원장)로부터 선택된 데이터 요소들을 이동시키고, 그 데이터 요소들을 필요한 포맷으로 변환하며, 재무 보고 애플리케이션이 이용할 준비를 갖춘 보고자 테이블로 그 데이터 요소들을 로딩한다. 또한, 변경 사항이 있을 경우 재무 보고 애플리케이션의 프로그램 코드를 변경할 필요없이 ETL 패키지에 대해 필요한 변경 사항을 수용하도록 직접적 변경이 이루어질 수 있다.
이와 같은 ETL 서비스를 이용하면 보고자 애플리케이션 코드를 특정 재무 테이블에 맞출 필요는 없지만, 사용자 지정 데이터 이동을 규정하는 ETL 패키지는 여전히 프로그램되고 구성되어야 한다. ETL 서비스는 사용자로 하여금 직접 DTS 패키지를 구성하게 하는 사용자 인터페이스(예컨대, Microsoft® SQL Server의 DTS를 위한 Enterprise Manager)를 포함한다. 그와 같은 프로그래밍은 시간 소모적인 일이며, 또한, 필요한 소스 데이터와 그 데이터에 관하여 필요한 데이터 포맷을 포함해서 재무 보고 애플리케이션이 요청하는 목적지 테이블에 관하여 모두 알고 있고, 또한 추출, 변환 및 로딩 스텝을 수행하도록 ETL 패키지를 어떻게 프로그램 즉 구성할 것인지에 관해서도 알고 있는 사람에 의해서 수행되어야만 한다. 또한, ETL 패키지 구성은 필요한 데이터 추출, 변환 또는 로딩 동작을 수행하기 위하여 수동으로 입력되어야 하는 연관 태스크들과 복수의 스텝들로 인해서 복잡해질 수 있다.
재무 보고 애플리케이션이 이용할 ETL 패키지를 프로그래밍 즉 구성하는 방법으로서, 보다 효율적이고 사용자 친화적인 개선된 방법이 필요로 된다.
전반적으로 본 발명은 컴퓨터화된 재무 시스템에 있어서 ETL 패키지를 구성하는데 이용되는 ETL 설계자 모듈에 관한 것이다. 각 ETL 패키지는 재무 데이터베이스에 속한 하나 이상의 재무 테이블로부터의 데이터 요소들을 미리 정해진 포맷에 따라 하나의 보고자 테이블로 로딩하는데 이용될 수 있다. 이러한 ETL 설계자 모듈에는 변환 객체를 규정하는 변환 클래스가 포함된다. 각 변환 객체는 소정의 재무 테이블에서의 하나의 소스 칼럼에 속한 소스 데이터 요소들을 소정의 보고자 테이블에서의 하나의 연관 목적지 칼럼에 해당하는 보고자 포맷으로 변환한다.
본 발명의 일 실시예에 따르면, 그와 같은 변환에는 소스 데이터 요소들 중 적어도 일부와 미리 정해진 치환 요소의 치환이 포함된다.
본 발명의 또 다른 실시예에 따르면, 그와 같은 변환에는 소스 데이터 요소들의 파싱(parsing)이 포함된다.
본 발명의 또 다른 실시예에 따르면, 그와 같은 변환에는 둘 이상의 소스 칼럼에 속한 소스 데이터 요소들의 연결(concatenation)이 포함된다.
본 발명의 또 다른 실시예에 따르면, 그와 같은 변환에는 소정의 소스 칼럼에 속한 소스 데이터 요소들에 대한 피벗(pivot)이 포함된다.
본 발명은 전반적으로 컴퓨터화된 재무 시스템에 있어서의 ETL 설계자 모듈에 관한 것으로서, 상기 ETL 설계자 모듈은 서버의 ETL 서비스 모듈에 대해 ETL 패키지를 구성하게 하는 명령을 전달하도록 동작한다. 각 ETL 패키지는 소스 데이터베이스에 저장된 소스 테이블에서 소스 요소들을 추출 및 변환하여, 미리 정해진 포맷(그 소스 테이블에서의 포맷과 독립적임)을 갖는 목적지 데이터베이스의 목적지 테이블로 로딩하는데 이용된다.
컴퓨팅 환경 개관
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 일 예 를 도시한 도면이다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일 예일 뿐이고 본 발명의 기능성이나 그 이용 범위에 관하여 어떠한 제한을 가하고자 한 것이 아니다. 컴퓨팅 환경(100)은 그 예시적 동작 환경(100)에 도시된 컴포넌트 각각 또는 이들 컴포넌트들의 조합에 대해 전혀 종속되지 않으며 어떠한 요구도 하지 않는다는 점을 알아야 한다.
본 발명은 다른 많은 수의 범용 또는 특수 목적 컴퓨팅 시스템 환경이나 구성에서도 동작 가능하다. 본 발명과 함께 이용하기 적합한 주지의 컴퓨팅 시스템, 환경, 및/또는 구성의 예에는, PC, 서버 컴퓨터, 핸드헬드 즉 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반형 시스템, 셋탑 박스, 프로그램 가능 소비자 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치들 중 임의의 시스템 또는 장치를 포함하는 분산 컴퓨팅 환경 등이 포함되며, 다만 이로써 제한되는 것은 아니다.
본 발명은 컴퓨터에 의해서 실행되는 컴퓨터 실행가능 명령(예컨대, 프로그램 모듈)의 일반적 문맥에서 기술될 수 있다. 일반적으로, 프로그램 모듈에는 특정한 태스크를 수행하거나 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등이 포함된다. 본 발명은 또한 통신 네트워크를 통하여 링크된 원격 프로세싱 장치들에 의해서 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치들을 포함한 원격 컴퓨터 저장 매체 및 지역 컴퓨터 저장 매체 어느 쪽에나 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적 시스템에는 컴퓨터(110) 형태의 범용 컴퓨팅 장치가 포함된다. 컴퓨터(110)의 컴포넌트에는 프로세싱 유닛(120), 시스템 메모리(130), 그리고 상기 시스템 메모리를 비롯한 다양한 시스템 컴포넌트들을 상기 프로세싱 유닛(120)으로 연결하는 시스템 버스(121)가 포함될 수 있으며, 다만 이로써 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스나 메모리 제어기, 주변 버스, 그리고 다양한 버스 아키텍처 중 임의의 아키텍처를 이용한 로컬 버스 등을 비롯하여 여러 타입의 버스 구조 중 임의의 구조일 수 있다. 제한이 아닌 예로서, 그와 같은 아키텍처에는 ISA (Industrial Standard Architecture) 버스, 마이크로-채널 아키텍처(Micro-Channel Architecture:MCA) 버스, 확장형 ISA(Extended ISA:EISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 메자닌 버스(Mezzanine bus)라고도 알려진 주변 컴포넌트 연결장치(Peripheral Component Interconnect:PCI) 버스 등이 포함될 수 있다.
컴퓨터(110)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해서 액세스될 수 있고, 휘발성 매체 및 비휘발성 매체, 착탈식 매체 및 고정식 매체를 포함하는 임의의 이용 가능 매체일 수 있다. 제한이 아니라 예로서, 컴퓨터 판독 가능 매체에는 컴퓨터 저장 매체와 통신 매체가 포함될 수 있다. 컴퓨터 저장 매체에는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보를 저장하기 위한 임의의 방법 또는 기술로써 구현된 휘발성 및 비휘발성, 착탈식 및 고정식 매체 모두가 포함될 수 있다. 컴퓨터 저장 매체에는 RAM, ROM, EEPROM, 플래시메모리 등의 메모리 기술 과, CD-ROM, DVD 등의 광디스크 저장장치와, 자기카세트, 자기테이프, 자기디스크 저장장치 등의 자기 저장장치와, 기타 필요한 정보를 저장하는데 이용될 수 있고 컴퓨터(100)에 의해서 액세스될 수 있는 임의의 매체가 포함될 수 있으며, 다만 이로써 제한되는 것은 아니다. 통신 매체는 일반적으로 반송파 등의 변조형 데이터 신호 또는 기타 전송 메카니즘으로써 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 기타 데이터 등을 구현하며 임의의 정보 전달 매체를 포함한다. "변조형 데이터 신호"라는 용어는 하나 이상의 특성 세트를 갖는 신호로서 그 신호 안에 정보를 인코딩하는 방식으로 변형된 신호를 의미한다. 제한이 아니라 예로서, 통신 매체에는 유선 네트워크나 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선, 및 기타 무선 매체 등의 무선 매체가 포함된다. 전술한 매체들 중 임의의 것으로 이루어진 조합도 컴퓨터 판독 가능 매체의 범위에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장매체를 포함한다. 예컨대 스타트업 동안에, 컴퓨터(110) 내의 소자들 간 정보 전달을 돕는 기본 루틴을 포함하는 기본 입출력 체계(BIOS)는 일반적으로 ROM(131)에 저장되어 있다. 일반적으로, RAM(132)은 프로세싱 유닛(120)에 의해서 직접 액세스 가능하고 그리고/또는 바로 조작되는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아니라 예로서, 도 1은 운영체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있다.
컴퓨터(110)는 또한 또 다른 착탈식/고정식 휘발성/비휘발성 컴퓨터 저장매 체를 포함할 수도 있다. 제한이 아니라 예로서, 도 1은 고정식, 비휘발성 자기 매체로부터 판독하거나 그러한 매체에 기록하는 하드디스크 드라이브(141), 착탈식, 비휘발성 자기디스크(152)로부터 판독하거나 그러한 매체에 기록하는 자기디스크 드라이브(151), 그리고 CD ROM 등의 기타 광학 매체 등의 착탈식, 비휘발성 광디스크(156)로부터 판독하거나 그러한 매체에 기록하는 광디스크 드라이브(155)를 도시하고 있다. 예시적 동작 환경에서 이용될 수 있는 기타 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장매체로는 자기테이프 카세트, 플래시메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등이 포함되며, 이로써 제한되는 것은 아니다. 하드디스크 드라이브(141)는 일반적으로 인터페이스(140) 등의 고정식 메모리 인터페이스를 통하여 시스템 버스(121)로 연결되고, 자기디스크 드라이브(151) 및 광디스크 드라이브(155)는 일반적으로 인터페이스(150) 등의 착탈식 메모리 인터페이스에 의하여 시스템 버스(121)로 연결된다.
도 1에 도시되어 있으며 앞서 논의된 각 드라이브 및 그 관련 컴퓨터 저장 매체들이 컴퓨터(110)를 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장하고 있다. 도 1에서는, 예컨대 하드디스크 드라이브(141)가 운영체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 이들 컴포넌트는 운영체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 상이할 수도 있음을 알아야 한다. 여기서는 최소한 서로 상이한 카피임을 나타내기 위하여 운영체제(144), 애플리케이션 프로그램 (145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)에 상이한 참조번호를 이용한 것이다.
사용자는 키보드(162), 마이크로폰(163), 또는 마우스, 트랙볼, 터치패드 등의 위치 지정 장치(161) 등의 입력 장치를 통하여 컴퓨터(110)로 명령과 정보를 입력할 수 있다. 이와 다른 입력 장치(도시되지는 않음)로는 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이들 입력 장치나 또 다른 기타 입력 장치들은 종종 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통하여 프로세싱 유닛(120)으로 연결되지만, 기타 다른 인터페이스 및 버스 구조, 예컨대 병렬 포트, 게임 포트, 유니버설 직렬 버스(USB) 등에 의하여 연결될 수도 있다. 모니터(191) 등과 같은 타입의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통하여 시스템 버스(121)에 연결된다. 모니터에 더하여, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수도 있으며, 이들은 출력 주변 인터페이스(190)를 통해서 연결될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 등과 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속을 이용한 네트워크형 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 PC, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드일 수 있고 일반적으로 컴퓨터(110)와 관련하여 앞서 개시한 구성 요소들 중 많은 수의 요소들이나 그 전체를 포함할 수 있다. 도 1에 도시된 논리 접속에는 LAN(171) 및 WAN(173)이 포함되어 있지만, 기타 다른 네트워크도 포함될 수 있다. 이와 같은 네트워킹 환경은 사무실, 기업 컴퓨터 네트워크, 인트라넷 및 인터 넷 등에서 일반적이다.
LAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 즉 어댑터(170)를 통하여 LAN(171)으로 연결된다. WAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(110)는 일반적으로 인터넷 등과 같은 WAN(173)을 통하여 통신을 형성하기 위한 모뎀 기타 수단을 포함한다. 내장형 또는 외장형인 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메카니즘을 통하여 시스템 버스(121)로 연결될 수 있다. 네트워크형 환경에서는, 컴퓨터(110)와 관련하여 도시된 프로그램 모듈이나 그 일부가 원격 메모리 저장 장치에 저장될 수 있다. 제한이 아니라 예로서, 도 1은 원격 컴퓨터(180)에 존재하는 원격 애플리케이션 프로그램(185)을 도시하고 있다. 도시된 네트워크 접속은 예시적이며 컴퓨터들 간에 통신 링크를 형성하는 또 다른 수단이 이용될 수도 있음에 유의해야 한다.
전술한 바와 같이, 본 발명은 도 1을 참조하여 기술된 것 등과 같은 컴퓨터 시스템 상에서 수행될 수 있다. 이와 달리, 본 발명은 서버나 메시지 처리 전용 컴퓨터 상에서 수행될 수도 있고, 또는 분산형 시스템에 있어서 본 발명의 각기 다른 부분들이 분산형 컴퓨팅 시스템의 각기 다른 부분에서 수행될 수도 있다.
컴퓨터화된 재무 시스템
도 2는 본 발명의 다양한 실시예에 따른 컴퓨터화된 재무 시스템(200)을 개략적으로 도시한 도면이다. 시스템(200)은 일반적으로 재무 보고 소프트웨어 패키지(202), 서버(204), 소스 재무 데이터베이스(206), 그리고 목적지 보고자 데이터베이스(208)를 포함한다. 일반적으로 재무 데이터베이스(206)에는 어느 비즈니스 에 관한 재무 거래들과 같은 관련 데이터의 모음이 포함되며, 바람직하게는 재무 테이블이라 불리는 2차원 행렬 형태로 데이터가 구성된 관계 데이터베이스이다.
관계 데이터베이스는 일반적으로 복수의 테이블을 포함한다. 일반적으로 데이터베이스는 또한 연상 구조(associative structure)를 가질 것이다. 연상 구조의 예로는 B-트리나 해시 인덱스 형태의 인덱스 구조가 일반적이지만 이로써 제한되는 것은 아니다. 그와 같은 인덱스 구조는 테이블 사이즈와 무관하게 거의 일정한 액세스 시간에 의해 테이블 내의 특정 로우에 대한 검색이 가능하도록 한다. 연상 구조는 데이터베이스 사용자에게는 투명하지만 데이터베이스 관리 시스템의 제어와 효율적 조작을 위하여 필수적이다.
데이터베이스 관리 시스템(DBMS), 특히 관계 데이터베이스 관리 시스템(RDBMS)은 메모리 매체에 대한 데이터 저장, 메모리 매체로부터의 데이터 검색, 그리고 메모리 매체 상의 데이터 갱신 등(이로써 제한되는 것은 아님)과 같은 데이터베이스 특징들을 지원하는 제어 시스템이다.
예시적 재무 데이터베이스(206)에는 총계정원장 테이블(210)과 잔액 테이블(212)이 포함되며, 이들 테이블들이 각각 도 3 및 도 4에 도시되어 있다. 각 테이블은 로우(216)와 칼럼(214)으로 이루어진다. 예시적 총계정원장 테이블(210)은 각 칼럼 단위로 참조번호, Code 1, Code 2, 날짜, 차변(Debit), 그리고 대변(Credit) 필드를 포함한다. 잔액 테이블(212) 내의 칼럼(214)은 각 칼럼 단위로 기간, 1, 2, 3, 및 4 필드를 포함한다. 재무 데이터베이스(206)는 또한 그 데이터베이스 내의 각 테이블에 관한 정보를 저장한 인덱스 테이블(도시되지는 않음)을 포함하고 있다.
일반적으로, 관계 데이터베이스에 저장된 데이터는 SQL 등의 질의 언어로 구성된 사용자-정의형 질의에 의해서 액세스될 수 있다. 대개, 임의의 주어진 SQL 질의마다, 그 SQL 질의의 목적을 달성하기 위하여 데이터에 대해 행해져야 하는 많은 순차적 동작들이 있다.
도 2의 예시적 서버(204)는 본질적으로 3개의 계층을 포함하는 단순한 SQL 서버 RDBMS 아키텍처를 갖는다. 계층 1은 서버 인터페이스를 사용자 애플리케이션으로 통합할 수 있게 하는, 예컨대 DCOM(Distributed Component Object Modules) 등의 애플리케이션 인터페이스(218)와, 독립적 소프트웨어 벤더들에 의하여 개발된 관리 및 구성 툴들의 통합을 위한 인터페이스를 제공하는 툴 인터페이스(220)를 포함하여, 적어도 두 개의 클래스의 SQL 서버와의 통합을 제공한다.
계층 2는 SQL 네임스페이스(222), SQL 분산형 관리 객체(Distributed Management Objects)(224) 및 ETL 서비스(226)를 포함한 애플리케이션 프로그래밍 인터페이스(API)를 제공하여 다른 애플리케이션에 대해 SQL 서버(204)의 기능성을 개방한다. 사용자 인터페이스(228)는 Wizards, HTML 등에 의해 제공된다.
SQL 분산형 관리 객체 API(224)는 시스템 저장형 프로시저, 레지스트리 정보, 운영체제 리소스 및 DDL의 사용을 추상화하여, SQL 서버를 위한 모든 관리 및 구성 태스크에 API를 제공한다.
(ETL) 서비스 API(226)는 SQL 서버(204) 또는 기타 서버 제품에 의하여 제공되는 서비스가 데이터 웨어하우스 및 데이터 마트를 구성하는데 도움이 되도록 만 들고 바람직하게 데이터 펌프 애플리케이션을 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 이들 서비스는 ETL 패키지(230)(예컨대, DTS 패키지)에 따라 이종(heterogeneous)의 데이터 소스들 간에 데이터를 전송하고 변환할 수 있는 능력을 제공한다.
본 발명은 펌프 애플리케이션 실행을 통하여 서버(204)의 ETL 서비스(226)를 이용해서 소스 재무 테이블, 예컨대 그 소스 재무 데이터베이스(206)에서의 총계정원장 테이블(210)로부터 소스 요소들을 추출하고, 그 소스 요소들 중 적어도 일부를 변환하며, ETL 패키지(230)의 실행을 통하여 그 소스 요소들을 보고자 데이터베이스 또는 데이터 스토어(208)의 목적지 보고자 테이블로 로딩 또는 펌핑한다.
이러한 동작이 도 5에 개략적으로 도시되어 있다. 각 로우(216)가 소스 테이블로부터 데이터 펌프(232)로 뽑혀 나오면, 변환(233)이 적용된다. 그와 같이 변환된 소스 요소는 이를 목적지 데이터베이스(208)의 대응 목적지 테이블로 펌핑 또는 로딩하기 이전에 임시로 스테이징 테이블에 저장될 수 있다. 데이터 펌프(232)는 도 1에 도시된 컴퓨터 시스템(100)의 프로세싱 유닛(120)에 의해서 실행되는 명령을 포함한 애플리케이션 프로그램(135)의 전체 또는 일부로서 구현될 수 있다.
도 6은 태스크 모듈 즉 ETL 패키지(230)의 기능을 도시한 도면이고, 이는 Microsoft® SQL Server의 DTS 패키지를 나타낼 수 있다. 도시된 바와 같이, 각 패키지(230)는 그 패키지(230)에 대한 작업 흐름을 정의하는 스텝들(234)과, 소정의 데이터에 대해 실제 동작을 수행하는 태스크들(236)과, 시스템 전체적으로 이용 가능한 광역 변수들(238)을 포함한다. 각 ETL 패키지(230)는 컴포넌트 객체 모델(COM) 파일에 저장될 수 있다.
COM 객체는 객체 지향 프로그래밍 모델에 따라 설계된 모듈이다. 객체 지향 프로그래밍은 프로그램 모듈의 프로시저와 내부 상태를 알 필요없이 그 프로그램 모듈을 사용 및 재사용할 수 있게 한다. 스텝 객체(234)가 태스크(236)의 실행에 관한 제어 흐름을 조정한다. 연관 스텝(234)을 갖지 않는 태스크(236)는 결코 실행되지 않는다. 스텝 객체(234)는 또한 대응 태스크(236)와 연관된 순위 제약(precedence constraints)을 형성할 수도 있다. 순위 제약이란 그 대응 태스크(236)의 실행에 앞서 발생해야 하는 이벤트들을 말한다.
태스크(236)는 (예컨대, 데이터 펌프에 의해서) 데이터에 대해 수행될 실제 동작들을 규정한다. 예컨대, 태스크(236)는 여러 포맷 간에 데이터를 변환할 수 있다. 데이터가 이용 가능한 포맷인 경우라도, 변환 태스크(236)는 그 데이터를 목적지 로우로 이동시키기 이전에 변환할 수 있다. 이와 같은 태스크는 사용자 지정 절차형 스크립트(custom procedural script)(236a), ActiveX 스크립트(236b) 또는 간단한 데이터 펌프 변환(236c)일 수 있다. 태스크(236)는 소스 테이블(예컨대, 총계정원장 테이블(210)이나 데이터베이스 테이블(212)), 보고자 데이터베이스(208)의 목적지 테이블(244), 그리고 이들 두 테이블 간 연관 칼럼들(246)을 규정한다. 또한, 태스크(236)는 데이터가 어떻게 변환되는지를 정의하는 변환 알고리즘(233)을 포함한다.
그러므로 COM 기반형 아키텍처로 통합될 수 있는 각 ETL 패키지(230)는 또한 많은 다양한 태스크들(236)에 관한 명세(specification)와, 그 많은 태스크들 사이의 복잡한 작업 흐름 및 스케줄링 관계에 관한 명세도 허용한다. 기존의 프로세싱 환경은 순위 관계, 그리고 그와 같은 작업 흐름 및 스케줄링의 명세에 대비하기 위하여 모든 태스크들 간 그 모든 관계에 대하여 미리 정해진 명세(예컨대, 트리 형태)를 필요로 한다. 그러나 COM 기반형 ETL 패키지(230)는 각 태스크마다 개별적으로, 한번에 하나의 태스크에 관한 순위 및 우선순위 명세를 통하여 그 전체 스케줄링 관계에 관한 명세를 고려한다. 따라서, 개별 스텝(234)에 관한 순위 제약이 알려져 있는 이상 전체 스케줄링 명세가 미리 알려질 필요는 없다.
재무 보고 소프트웨어 패키지(202)는 ETL 설계자 모듈(250), 데이터 리프레셔 모듈(252), 및 보고자 애플리케이션 즉 모듈(254)을 포함한 다양한 프로그램 모듈을 포함한다. 패키지(202)는 또한 사용자 인터페이스(256)를 포함하는데, 사용자(258)는 그 사용자 인터페이스(256)를 통하여 프로그램 모듈을 볼 수 있고 프로그램 모듈과 인터랙션, 예컨대 ETL 설계자 모듈(250)에 대한 입력 제공, 보고서 설계, 보고서 보기 등의 인터랙션을 할 수 있다.
일반적으로, 프로그램 모듈에는 컴퓨터 판독가능 매체 상에 저장되며 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등이 포함된다. 또한, 당업자라면 본 발명이 도 1과 관련하여 개시된 것과 다른 컴퓨터 시스템 구성, 예컨대 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반형 또는 프로그램 가능 소비자 전자 장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등에서도 실시될 수 있음을 알 것이다. 본 발 명은 또한 통신 네트워크를 통하여 링크된 원격 프로세싱 장치에 의하여 태스크가 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서는, 프로그램 모듈이 지역 및 원격 메모리 저장 장치에 위치할 수 있다.
본 발명의 ETL 설계자 모듈(250)은, 소스 재무 데이터베이스(206)의 재무 테이블로부터의 데이터를 추출 및 변환하고 미리 정해진 포맷에 따라 그 데이터를 목적지 보고자 데이터베이스(208)의 보고자 테이블로 로딩하도록 설계된 ETL 패키지(230)를 구성하기 위하여, 애플리케이션 인터페이스(218)(도 2)를 통해서 ETL 서비스와 프로그램에 따라 통신하는데 이용되는 인터페이스, 값 타입 및 클래스 라이브러리를 포함한다. 보고자 데이터베이스(208)는 보고서(259) 작성을 위하여 보고자 애플리케이션(254)에 의해서 액세스될 수 있다.
ETL 설계자 모듈(250)에 관한 예시적 객체 모델이 도 7에 개략적으로 도시되어 있다. ETL 설계자 모듈(250)은 매퍼 엔진 루트 클래스(mapper engine root class)를 포함하며 그 매퍼 엔진 루트 클래스로부터 매퍼 엔진 객체가 정의 또는 인스턴스화된다. 매퍼 엔진 루트 객체(260)가 소스와 목적지 칼럼 매핑 및 변환을 구성한다. 매퍼 엔진 루트 객체(260)의 형제(sibling) 객체들은 바람직하게 소스 데이터베이스 브랜치(262) 및 목적지 데이터베이스 브랜치(264)의 계층적 구조로 조직된다.
매퍼 엔진 객체 모델의 소스 데이터베이스 브랜치(262)는 일반적으로 소스 재무 데이터베이스(206)의 소스 테이블을 나타낸다. 소스 데이터베이스 브랜치(262)는 소스 데이터베이스 객체(350), 소스 테이블 객체(352), 및 소스 칼럼 객체 (354)를 포함한다.
소스 데이터베이스 객체(350)는 소스 데이터베이스 클래스에 의해서 정의되고 그 인스턴스화(instantiation)에 해당하며, 소스 데이터베이스, 예컨대 소스 재무 데이터베이스(206) 등을 식별(즉, 네이밍(naming))한다.
소스 테이블 객체(352)는 소스 데이터베이스 객체(350)의 형제이고 소스 테이블 클래스에 의하여 정의되며 그 인스턴스화에 해당한다. 소스 테이블 객체(352)는 소스 테이블, 예컨대 소스 재무 테이블(210)(도 3) 또는 소스 재무 테이블(212)(도 4)을 식별(즉, 네이밍)한다.
소스 칼럼 객체(354)는 대응하는 소스 테이블 객체(352)의 형제이고 소스 클래스에 의하여 정의되며 그 인스턴스화에 해당한다. 소스 칼럼 객체(354) 각각은 해당 소스 테이블에서 하나의 칼럼, 예컨대 그 칼럼 이름(즉, 필드)과 데이터 타입 등을 식별한다. 이러한 정보는 바람직하게 소스 데이터베이스(206)와의 통신을 통하여 수신된 소스 테이블의 스키마로부터 획득된다. 도 3의 예시적 소스 테이블(210)에 있어서는, 소스 칼럼 객체가 참조번호, Code 1, Code 2, 날짜, 차변 및 대변 칼럼 등의 각 칼럼마다 생성될 것이다.
목적지 데이터베이스 브랜치(264)는 일반적으로 목적지 보고자 데이터베이스(208)의 목적지 테이블을 나타내며, 그 예가 도 8 및 도 9에 도시되어 있다. 도 8은 도 3의 총계정원장 테이블(210)에 대응한 예시적 보고자 테이블(270)을 도시하고 있다. 도 9는 도 4의 잔액 테이블(212)에 대응한 예시적 보고자 테이블(272)을 도시하고 있다. 또한, 브랜치(264)는 목적지 테이블의 칼럼들과 대응 소스 재무 데이터베이스(206)의 소스 테이블의 칼럼들 사이에서의 연관 관계를 나타낸다. 목적지 데이터베이스 브랜치(264)는 목적지 데이터베이스 객체(274), 목적지 테이블 객체(276), 목적지 객체(278), 연관 객체(280), 및 변환 객체(282)를 포함한다.
목적지 데이터베이스(274)는 목적지 데이터베이스 클래스에 의하여 정의되며 그 인스턴스화에 해당하고 목적지 데이터베이스, 예컨대 목적지 보고자 데이터베이스(208) 등을 식별(즉, 네이밍)한다.
목적지 테이블 객체(276)는 목적지 데이터베이스 객체(274)의 형제이고 목적지 테이블 클래스에 의하여 정의되며 그 인스턴스화에 해당한다. 목적지 테이블 객체(276)는 미리 정해진 목적지 테이블, 예컨대 목적지 보고자 테이블(270)(도 8) 또는 목적지 보고자 테이블(272)(도 9) 등을 식별(즉, 네이밍)한다. 목적지 테이블의 스키마는 보고자 애플리케이션에 의하여 요구되는 포맷에 따라 ETL 설계자 모듈(250)로 프로그램된다.
목적지 칼럼 객체(278)는 대응하는 목적지 테이블 객체(276)의 형제이고 목적지 객체 클래스에 의하여 정의되며 그 인스턴스화에 해당한다. 목적지 칼럼 객체(278) 각각은 목적지 테이블에서의 하나의 칼럼, 예컨대 그 칼럼 이름(즉, 필드)과 데이터 타입 등을 식별한다. 또한, 목적지 칼럼 객체(278)는 대응하는 목적지 테이블에 기초하여 미리 정의되고, 따라서 아무런 사용자 입력도 없이 설정된다. 도 8의 예시적 보고자 테이블(270)에 있어서, 목적지 칼럼 객체는 각 칼럼, 예컨대 참조번호, Code, 날짜, 차변, 대변 칼럼마다 생성될 것이다.
하나 이상의 연관 객체(280)는 각 목적지 칼럼 객체(278)의 형제이고 연관 클래스에 의하여 정의되며 그 인스턴스화이다. 연관 객체(280) 각각은 소스 테이블(예컨대 총계정원장(210)(도 3) 등)에서의 소정의 칼럼과 목적지 테이블에서의 대응 부모 목적지 칼럼 객체(278)의 연관을 식별한다. 따라서, 연관 객체는 소스 테이블에서의 하나 이상의 칼럼과 목적지 테이블에서의 하나의 칼럼 간에 매핑을 정의한다. 그러므로 목적지 보고자 테이블의 칼럼 중 적어도 일부는 대응하는 연관 객체(280)를 가질 것이고, 그 각각은, 대응하는 소스 테이블 객체(352)의 소스 칼럼 객체(354)에 의하여 정의된 이용 가능한 소스 칼럼 중 하나에 대응한다. 예컨대, 참조번호 보고자 칼럼(290)을 참조번호 소스 칼럼(292)으로 매핑하기 위하여, 보고자 테이블(279)에서의 참조번호 보고자 칼럼(290)을 식별하는 목적지 객체(278)의 형제인 연관 객체(280)가 소스 재무 테이블(210)에서의 참조번호 소스 칼럼(292)에 대응한 소스 칼럼 객체(354)로 링크될 수 있다. 마찬가지로, 연관 객체(280)는 목적지 날짜 칼럼(294)을 소스 날짜 칼럼(296)으로 매핑할 수 있고, 목적지 차변 칼럼(298)을 소스 차변 칼럼(300)으로 매핑할 수 있다. 또한, 복수의 연관 객체(280)는 하나의 목적지 객체(278)로 링크될 수도 있다. 예컨대, 목적지 Code 칼럼(302)에 대응한 목적지 객체는, 소스 테이블에서의 소스 Code 1 및 Code 2 칼럼(304,306) 각각에 대한 소스 칼럼 객체(354)를 식별하는 두 개의 연관 객체 형제를 가질 수 있다.
변환 객체(282)는 연관 객체(280)의 형제이며 그에 대응하고 변환 클래스에 의해서 정의되고 그 인스턴스화에 해당한다. 일반적으로, 변환 객체(282)는 소스 요소들을 소스 테이블 칼럼의 소스 포맷으로부터 연관된 목적지 칼럼의 목적지 포 맷으로 변환할 책임을 진다. 변환 객체(282)는 필요한 변환을 수행하도록 ETL 패키지(230)로 프로그램될 스텝들 및 연관 태스크들을 정의한다.
변환 객체(282)는 치환(310), 파스(312), 연결(314), 및 피벗(316) 변환을 수행하도록 구성될 수 있다. 치환 변환(310)은 일반적으로 소스 요소 중 적어도 일부를 미리 정해진 치환 요소로 치환하는 과정을 포함한다. 그와 같은 치환은 대개 소스 요소의 값이나 의미는 유지한 채 소스 요소의 포맷만을 변형시킨다. 예컨대, 소스 재무 테이블(210)은 그 날짜 칼럼(214)에서 소스 포맷 MM/DD/YY(월/일/두 자리 연도)로 구성된 소스 요소들(320)을 갖지만, 그와 연관된 보고자 테이블(270)의 목적지 날짜 칼럼(294)은 목적지 포맷 MM/DD/YYYY(월/일/네 자리 연도)로 구성된다. 대응하는 변환 객체(282)는 각 소스 요소(320)를 MM/DD/YY의 소스 포맷에서 그 목적지 포맷으로 변환할 책임을 진다. 따라서, 이러한 예시적 변환 객체(282)가 소스 요소(320)를 목적지 테이블(270)로 펌핑하기 이전에 연도 표시를 두 자리 포맷에서 네 자리 포맷으로 변환하도록 동작한다.
파스 변환(312)은 일반적으로 소스 칼럼의 소소 요소들(320) 중 일부를 소스 포맷으로부터 연관된 목적지 칼럼을 위하여 필요한 목적지 포맷으로 변환하도록 파싱 또는 삭제하는 과정을 포함한다. 따라서, 파스 변환(312)은, 예컨대 소스 요소(320)가 여러 부분의 정보, 예컨대 클라이언트 식별자 부분과 문제 식별자 부분 등을 포함하는 코드에 대응하고 그 대응하는 목적지 칼럼은 단지 클라이언트 식별자 부분만을 필요로 하는 경우 유용하다. 또한, 파스 변환은 불필요한 문자를 제거하는데 이용될 수도 있다. 예컨대, 소스 재무 테이블(210)은 ###-##의 소스 포맷을 갖는 참조번호 칼럼(292)을 갖지만, 대응하는 즉 연관된 목적지 참조번호 칼럼(290)의 목적지 포맷은 #####이다. 따라서, 대응 변환 객체는 칼럼(292)에서의 소스 요소(320)에 대해 "-"를 삭제하도록 파스 변환을 수행할 것이고 이로써 소스 요소를 목적지 포맷으로 변환한다.
연결 변환(314)은 일반적으로 대응하는 연관 객체(280)에 의하여 정의되는 바와 같이 단일의 목적지 칼럼으로 연관된 둘 이상의 소스 칼럼을 결합하는 과정을 포함한다. 예컨대, 변환 객체(282)는 소스 테이블(210)(도 3)의 소스 Code 1 및 Code 2 칼럼(330, 332) 각각을 목적지 테이블(270)(도 8)의 목적지 Code 칼럼(302)으로 링크하는 연관 객체(280)에 연관될 수 있다. 이러한 경우, 변환 객체(282)는 별도의 코드로 이루어진 소스 포맷(예컨대, "44" 및 "A222")을 두 코드가 하나의 코드(예컨대, "44A22")로 결합된 목적지 포맷으로 변환되도록 소스 Code 1 및 Code 2 칼럼(330, 332)을 연결할 책임진다.
피벗 변환(316)은 일반적으로 소스 테이블의 칼럼과 로우를 전치시키는 과정, 즉 칼럼 데이터를 로우 데이터로 변환하는 과정을 포함한다. 예컨대, 도 4의 소스 테이블(212)은 비즈니스에 관한 주기가 칼럼(214)으로 구성되고 시작 잔액과 종결 잔액이 로우(216)로 구성된 소스 포맷을 갖는다. 불행히도, 대응하는 목적지 테이블(272)(도 9)은 소스 포맷과 반대되는 목적지 포맷을 갖는다. 즉, 주기는 로우(334)로 구성되고 시작 잔액과 종결 잔액은 칼럼(336)으로 구성된다. 피벗 변환(316)은 목적지 테이블에 매칭되도록 소스 테이블 요소(320)를 전치시킴으로써 필요한 변환을 제공하도록 동작하며, 이는 도 9에서 완료 상태로 도시되어 있다.
매퍼 엔진 객체(260)는 ETL 생성기 메소드(360)를 포함하는데, 이러한 메소드(360)는, 호출될 경우, ETL 서비스(226)와 프로그램에 따라 통신하여, 그 매퍼 엔진 객체(260)의 목적지 연관 객체와 그 서비스에 따라 소스 테이블의 소스 데이터 요소에 대한 필요한 추출 및 변환을 수행하고 그 변환된 소스 데이터 요소를 목적지 테이블로 로딩하는데 이용될 수 있는 ETL 패키지(230)를 생성한다. 따라서, ETL 생성기(360)는 SQL 문 프로그래밍과 순위 설정을 포함하여, 매퍼 엔진 객체에 기초한 ETL 서비스(226)를 통해서 자동으로 ETL 패키지(230)에 관한 스텝들과 연관된 태스크들을 구성하는 명령을 생성한다.
도 10은 본 발명의 실시예에 따라 ETL 패키지(230)를 구성하는 방법을 나타내는 흐름도를 도시하고 있다. 본 방법은 컴퓨터 매체에 저장된 대응하는 명령의 실행을 통하여 시스템(200)의 ETL 설계자 모듈(250)에 의해서 수행될 수 있다. 본 방법의 단계(370)에서는, 하나 이상의 연관 객체(280)(도 7)가 형성되는데, 그 각각의 연관 객체(280)는, 대응하는 보고자 테이블(예컨대, 도 8의 보고자 테이블(270))에서의 하나의 목적지 칼럼에 대응하고 그 목적지 칼럼에 연관된 소스 재무 테이블(예컨대, 도 3의 총계정원장 테이블(210))에서의 하나 이상의 소스 칼럼을 식별한다. 소스 및 목적지 칼럼은, 전술한 바와 같이, 바람직하게 소스 및 목적지 칼럼 객체에 의해서 식별된다. 다음으로, 단계(372)에서는, 변환 객체(282)(도 7)가 형성되며, 그 변환 객체(282)는 적어도 하나의 소스 칼럼의 소스 데이터 요소를 그 소스 포맷으로부터 연관 객체에 의하여 식별되는 연관된 목적지 칼럼의 보고자 포맷으로 변환하는 것에 관하여 정의하고 있다. 변환 객체에 의하여 정의되는 변 환은 전술한 것들 중 임의의 것, 예컨대 치환, 파스, 연결 또는 피벗일 수 있다. 그와 같은 변환은 사용자(258)로부터의 입력에 따라 선택된다(도 2). 최종적으로, 단계(374)에서는, 소스 칼럼의 소스 데이터 요소(320)(도 3)를 추출하고 그 소스 데이터 요소를 변환 객체에 따라 보고자 포맷으로 변환하며 그 변환된 소스 데이터 요소를 연관 객체에 따라 보고자 데이터 테이블의 연관 목적지 칼럼으로 로딩하도록 ETL 패키지(230)를 구성하기 위한 명령이 생성된다. 이하에서 보다 상세히 설명하는 것처럼, 이러한 방법은 또한 단계(374)에서 명령을 생성하기 이전에 요청되는 보고자 테이블의 목적지 칼럼에 관하여 연관 객체가 완비되었는지를 확인하는 단계를 포함할 수도 있다.
사용자가, 소스 및 목적지 칼럼에 관한 필요한 연관 모두를 정의하고 소스 칼럼에 포함된 데이터 요소에 관하여 그 데이터 요소를 목적지 보고자 테이블의 보고자 포맷으로 변환하기 위해서 필요한 모든 변환을 정의함으로써 요구되는 ETL 동작에 관한 매퍼 엔진 객체 모델을 적절하게 완비하는 것은 반드시 필요하다. 그렇지 않다면, ETL 패키지(230)는 요구되는 변환 및 펌프 동작을 수행할 수가 없을 것이고 이는 곧 불완전한 목적지 보고자 테이블을 가져오게 될 것이다.
본 발명의 일 실시예에 따르면, 목적지 칼럼 객체(278)는 목적지 테이블에 관하여 매핑과 변환이 충분히 정의되었음을 보증하는데 이용되는 "IsRequired"와 "IsComplete" 속성을 포함한다. IsComplete 속성은 객체 모델 상태가 완전한 것이라 할 수 있는지 여부를 나타내고 IsRequired 속성은 그 객체 모델 상태가 완전해야 한다고 요구되는지 여부를 나타낸다. IsRequired 속성이 "참"이라고 설정된 경 우에는, 목적지 칼럼 객체(278)에 관하여 요청되는 모든 연관 객체(280) 및 변환 객체(282)가 설정될 때까지 IsComplete 속성은 "거짓"으로 설정된다. 반대로, IsRequired 속성이 "거짓"으로 설정된 경우에는, 목적지 객체에 관한 연관 및 변환 객체가 반드시 설정되어야 하는 것은 아니므로 IsComplete 속성이 "참"으로 설정될 수 있다. ETL 생성기 메소드(360)는 목적지 테이블 객체에 관한 모든 목적지 칼럼 객체(278)에 있어서 IsComplete 속성이 "참"으로 설정된 때에만 대응하는 ETL 패키지(230)를 구성할 수 있게 된다.
IsRequired 속성의 설정은 다양한 조건에 따라 변화할 수 있다. 예컨대, 사용자가 소스 테이블이 거래 테이블을 포함한다고 표시하는 경우, 그와 같은 데이터를 위한 칼럼에 대응하는 목적지 칼럼 객체(278)에 있어서 IsRequired 속성은 "거짓"에서 "참"으로 변경될 수 있다. 이러한 경우, 이들 목적지 칼럼 객체에 관하여 필요한 연관 및 변환 객체가 완비되어 IsComplete 속성을 "참"으로 변경한 이후에만 ETL 생성기 메소드(360)가 실행될 수 있다.
IsRequired 및 IsComplete 속성에 기초하여, ETL 생성기 메소드(360)가 실행될 수 있기 이전에 사용자에 의하여 완비되어야만 하는 연관 및 변환을 나타내는 태스크 패인이 사용자 인터페이스(256)(도 2)에 제공될 수 있다. 따라서, 바람직하게 그 태스크 패인은 완비되지 않았으나 필요로 되는 목적지 칼럼 객체(즉, 목적지 칼럼) 및 나머지 태스크들, 예컨대 연관된 소스 테이블의 소스 칼럼 식별 또는 완비되어야만 하는 변환의 선택 등을 식별한다.
본 발명은 특정한 실시예와 관련하여 기술되었지만, 당업자라면 본 발명의 사상과 영역을 벗어나지 않는 범위에서 그 형태나 세부 사항에 있어서 변경이 이루어질 수 있음을 알 것이다.
재무 보고 애플리케이션이 이용할 ETL 패키지를 구성하는 보다 효율적이고 사용자 친화적인 개선된 방법으로서 ETL 설계자 모듈이 제시된다.

Claims (21)

  1. 재무 데이터 스토어(financial data store)의 재무 테이블로부터의 소스 데이터 요소들을 미리 정해진 포맷을 갖는 보고자 테이블(reporter table)로 로딩(load)하기 위한 추출, 변환 및 로딩(Extraction, Transformation and Loading:ETL) 패키지를 구성하기 위한, 컴퓨터화된 재무 시스템(computerized financial system)의 컴퓨터 판독가능 매체 상에 저장된 ETL 설계자 모듈로서,
    목적지 칼럼 객체들(destination column objects) - 상기 목적지 칼럼 객체들 각각은 상기 보고자 테이블에서의 하나의 목적지 칼럼을 식별함 - 을 정의하는 목적지 칼럼 클래스와,
    연관 객체들(association objects) - 상기 연관 객체들 각각은 상기 재무 테이블에서의 적어도 하나의 소스 칼럼의, 대응하는 상기 목적지 칼럼 객체에 의하여 식별되는 하나의 목적지 칼럼과의 연관을 식별함 - 을 정의하는 연관 클래스와,
    변환 객체들(transformation objects) - 상기 변환 객체들 각각은 소스 칼럼의 소스 데이터 요소를 대응하는 연관 객체에 의하여 식별되는 상기 연관된 목적지 칼럼의 보고자 포맷으로 변환할 책임을 짐 - 을 정의하는 변환 클래스
    를 포함하는 ETL 설계자 모듈.
  2. 제1항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 적어도 일부와 미리 정해진 치환 요소의 치환(substitution)이 포함되는 ETL 설계자 모듈.
  3. 제1항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 파싱(parsing)이 포함되는 ETL 설계자 모듈.
  4. 제1항에 있어서,
    상기 변환에는 둘 이상의 소스 칼럼에 속한 소스 데이터 요소들의 연결(concatenation)이 포함되는 ETL 설계자 모듈.
  5. 제1항에 있어서,
    상기 변환에는 상기 소스 칼럼의 상기 소스 데이터 요소들에 대한 피벗(pivot)이 포함되는 ETL 설계자 모듈.
  6. 제1항에 있어서,
    상기 변환 객체 및 상기 연관 객체들이 각각 상기 목적지 칼럼 객체들 중 하나의 형제(sibling)인 ETL 설계자 모듈.
  7. 제6항에 있어서,
    상기 목적지 칼럼 객체들은 목적지 테이블 클래스에 의하여 정의되는 목적지 테이블 객체의 형제인 ETL 설계자 모듈.
  8. 제1항에 있어서,
    상기 목적지 객체, 상기 연관 객체 및 상기 변환 객체들에 기초하여 ETL 패키지를 구성하기 위해서 서버의 ETL 서비스 모듈과 프로그램에 따라 통신하도록 구성된 ETL 생성기 메소드(ETL generator method)를 포함하는 ETL 설계자 모듈.
  9. ETL 패키지를 구성하기 위한, 컴퓨터화된 재무 시스템의, 컴퓨터 판독가능 매체 상에 저장된 ETL 설계자 모듈로서,
    변환 객체들 - 상기 변환 객체들 각각은 재무 원장 테이블(financial ledger table)에 속한 소스 칼럼의 소스 데이터 요소들을 보고자 테이블의 연관 목적지 칼럼의 보고자 포맷으로 변환할 책임을 짐 - 을 정의하는 변환 클래스를 포함하는 ETL 설계자 모듈.
  10. 제9항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 적어도 일부와 미리 정해진 치환 요소의 치환이 포함되는 ETL 설계자 모듈.
  11. 제9항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 파싱이 포함되는 ETL 설계자 모 듈.
  12. 제9항에 있어서,
    상기 변환에는 둘 이상의 소스 칼럼에 속한 상기 소스 데이터 요소들의 연결이 포함되는 ETL 설계자 모듈.
  13. 제9항에 있어서,
    상기 변환에는 상기 소스 칼럼의 상기 소스 데이터 요소들에 대한 피벗이 포함되는 ETL 설계자 모듈.
  14. 컴퓨터화된 재무 시스템에서, 재무 데이터 스토어의 재무 테이블로부터의 소스 데이터 요소들을 미리 정해진 포맷을 갖는 보고자 테이블로 로딩하기 위한 추출, 변환 및 로딩(ETL) 패키지를 구성하는 컴퓨터로 구현되는 방법으로서,
    가) 하나 이상의 연관 객체 - 상기 연관 객체들 각각은 상기 보고자 테이블에서의 목적지 칼럼과 연관된 하나 이상의 소스 칼럼을 식별함 - 를 형성하는 단계와,
    나) 상기 소스 칼럼들 중 적어도 하나의 소스 칼럼의 소스 데이터 요소들을 소스 포맷으로부터 상기 연관 객체에 의하여 식별되는 상기 연관된 목적지 칼럼의 보고자 포맷으로 변환하는 것에 관하여 정의하는 변환 객체를 형성하는 단계와,
    다) 상기 소스 칼럼의 상기 소스 데이터 요소들을 추출하고, 상기 변환 객체 에 따라 상기 소스 데이터 요소들을 상기 보고자 포맷으로 변환하고, 상기 변환된 소스 데이터 요소들을 상기 연관 객체들에 따라 상기 보고자 데이터 테이블의 상기 연관된 목적지 칼럼으로 로딩하도록 ETL 패키지를 구성하기 위한 명령어들을 생성하는 단계
    를 포함하는 ETL 패키지 구성 방법.
  15. 제14항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 적어도 일부와 미리 정해진 치환 요소의 치환이 포함되는 ETL 패키지 구성 방법.
  16. 제14항에 있어서,
    상기 변환에는 상기 소스 데이터 요소들의 파싱이 포함되는 ETL 패키지 구성 방법.
  17. 제14항에 있어서,
    상기 변환에는 둘 이상의 소스 칼럼에 속한 상기 소스 데이터 요소들의 연결이 포함되는 ETL 패키지 구성 방법.
  18. 제14항에 있어서,
    상기 변환에는 상기 소스 칼럼의 상기 소스 데이터 요소들에 대한 피버팅이 포함되는 ETL 패키지 구성 방법.
  19. 제14항에 있어서,
    상기 가) 단계는 하나 이상의 소스 칼럼과 미리 정해진 목적지 칼럼의 연관을 정의하는 사용자 입력을 수신하는 단계를 포함하는 ETL 패키지 구성 방법.
  20. 제14항에 있어서,
    상기 나) 단계는 상기 변환을 선택하는 사용자 입력을 수신하는 단계를 포함하는 ETL 패키지 구성 방법.
  21. 제14항에 있어서,
    상기 다) 단계를 수행하기 이전에 상기 보고자 테이블의 각 목적지 칼럼에 대해 연관 객체가 완비되었는지 여부를 확인하는 단계를 포함하는 ETL 패키지 구성 방법.
KR1020050030334A 2004-04-13 2005-04-12 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈 KR20060045622A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/823,145 US7805341B2 (en) 2004-04-13 2004-04-13 Extraction, transformation and loading designer module of a computerized financial system
US10/823,145 2004-04-13

Publications (1)

Publication Number Publication Date
KR20060045622A true KR20060045622A (ko) 2006-05-17

Family

ID=34939122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050030334A KR20060045622A (ko) 2004-04-13 2005-04-12 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈

Country Status (5)

Country Link
US (1) US7805341B2 (ko)
EP (1) EP1594051A3 (ko)
JP (1) JP2005302035A (ko)
KR (1) KR20060045622A (ko)
CN (1) CN1684069A (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941397B2 (en) * 2004-02-25 2011-05-10 International Business Machines Corporation Dynamically capturing data warehouse population activities for analysis, archival, and mining
US8214799B2 (en) * 2004-07-08 2012-07-03 Microsoft Corporation Providing information to an isolated hosted object via system-created variable objects
US20060010423A1 (en) * 2004-07-08 2006-01-12 Microsoft Corporation Variable namespaces and scoping for variables in an object model
US7614006B2 (en) * 2005-02-11 2009-11-03 International Business Machines Corporation Methods and apparatus for implementing inline controls for transposing rows and columns of computer-based tables
EP1748366A1 (en) * 2005-07-28 2007-01-31 Sap Ag A data processing system and method
US8639652B2 (en) * 2005-12-14 2014-01-28 SAP France S.A. Apparatus and method for creating portable ETL jobs
CN1897025B (zh) * 2006-04-27 2011-02-02 南京联创科技集团股份有限公司 海量数据处理中多线程工作包并行的etl技术
US7904899B2 (en) * 2006-06-20 2011-03-08 Intuit Inc. Third-party customization of a configuration file
EP1895410A1 (fr) * 2006-09-01 2008-03-05 France Telecom Procédé et système d'extraction d'un tableau croisé d'une base de données, et produit programme d'ordinateur correspondant
US7844976B2 (en) * 2006-09-08 2010-11-30 Microsoft Corporation Processing data across a distributed network
US9183321B2 (en) * 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US9880980B2 (en) * 2007-03-05 2018-01-30 International Business Machines Corporation Document transformation performance via incremental fragment transformations
US20090043778A1 (en) * 2007-08-08 2009-02-12 Microsoft Corporation Generating etl packages from template
US8112333B2 (en) * 2007-10-17 2012-02-07 Hartford Fire Insurance Company System and method for processing payroll related insurance premiums
US8515787B2 (en) * 2007-10-17 2013-08-20 Hartford Fire Insurance Company System and method for processing and transmitting payroll-related data for insurance transactions
US20100010837A1 (en) * 2008-07-09 2010-01-14 Hartford Fire Insurance Company System and method for use in billing for group benefit insurance
US8239389B2 (en) * 2008-09-29 2012-08-07 International Business Machines Corporation Persisting external index data in a database
US20100106746A1 (en) * 2008-10-28 2010-04-29 Foundationip, Llc Modular interface for database conversion
CN101533407B (zh) * 2009-04-10 2010-09-29 中国科学院软件研究所 一种etl流程中异常数据检测方法
US8423502B1 (en) 2009-05-04 2013-04-16 Amdocs Software Systems Limited System, method, and computer program product for permitting an upgrade of extract, transform, and load (ETL) processes, independent of a customization performed by a user
CN102713888A (zh) * 2009-10-28 2012-10-03 Cpa软件有限公司 用于数据库转换的模块化接口
CN102110102A (zh) * 2009-12-29 2011-06-29 北大方正集团有限公司 数据处理方法及装置、文件识别方法及工具
CN102129425B (zh) * 2010-01-20 2016-08-03 阿里巴巴集团控股有限公司 数据仓库中大对象集合表的访问方法及装置
US8799299B2 (en) * 2010-05-27 2014-08-05 Microsoft Corporation Schema contracts for data integration
EP2625629B1 (en) * 2010-10-04 2023-12-06 Sempras Software, Inc. Methods and apparatus for integrated management of structured data from various sources and having various formats
US9053576B2 (en) * 2010-12-21 2015-06-09 International Business Machines Corporation Identifying reroutable data columns in an ETL process
WO2012090222A1 (en) * 2010-12-29 2012-07-05 Esssar Investments Limited System and method for converting & presenting financial information
US8484550B2 (en) 2011-01-27 2013-07-09 Microsoft Corporation Automated table transformations from examples
US8438049B2 (en) 2011-08-02 2013-05-07 Hartford Fire Insurance Company System and method for processing data related to group benefit insurance having critical illness coverage
US8515898B2 (en) 2011-09-21 2013-08-20 International Business Machines Corporation Column based data transfer in extract transform and load (ETL) systems
US10019468B1 (en) * 2012-02-29 2018-07-10 Nationwide Mutual Insurance Company System and method for data integration
US8510261B1 (en) * 2012-05-29 2013-08-13 Sap Ag System and method of generating in-memory models from data warehouse models
CN103488537B (zh) * 2012-06-14 2017-02-01 中国移动通信集团湖南有限公司 一种数据抽取、转换和加载etl的执行方法及装置
US9767173B2 (en) 2012-10-22 2017-09-19 Workday, Inc. Systems and methods for interest-driven data sharing in interest-driven business intelligence systems
US9405812B2 (en) * 2012-10-22 2016-08-02 Platfora, Inc. Systems and methods for providing performance metadata in interest-driven business intelligence systems
CN103500203A (zh) * 2013-09-27 2014-01-08 金蝶软件(中国)有限公司 一种在线查账的方法,存储数据的方法及对应装置
US10346374B1 (en) 2014-03-14 2019-07-09 Open Invention Network Llc Optimized data migration application for database compliant data extraction, loading and transformation
US10210246B2 (en) 2014-09-26 2019-02-19 Oracle International Corporation Techniques for similarity analysis and data enrichment using knowledge sources
US10296192B2 (en) 2014-09-26 2019-05-21 Oracle International Corporation Dynamic visual profiling and visualization of high volume datasets and real-time smart sampling and statistical profiling of extremely large datasets
CN105589874B (zh) * 2014-10-22 2019-03-15 阿里巴巴集团控股有限公司 Etl任务依赖关系的检测方法、装置及etl工具
US9754027B2 (en) * 2014-12-12 2017-09-05 International Business Machines Corporation Implementation of data protection policies in ETL landscapes
US20170032458A1 (en) * 2015-07-29 2017-02-02 Stressco Inc. Systems, methods and devices for extraction, aggregation, analysis and reporting of financial data
CN105512239A (zh) * 2015-11-30 2016-04-20 中国建设银行股份有限公司 一种数据库数据推送方法和装置
US11023483B2 (en) * 2016-08-04 2021-06-01 International Business Machines Corporation Model-driven profiling job generator for data sources
US10394815B2 (en) * 2016-10-20 2019-08-27 Microsoft Technology Licensing, Llc Join with predictive granularity modification by example
US11093494B2 (en) * 2016-12-06 2021-08-17 Microsoft Technology Licensing, Llc Joining tables by leveraging transformations
CN107084787A (zh) * 2017-03-08 2017-08-22 北京环境特性研究所 一种aotf成像光谱仪光谱定标的温度修正方法
US11429871B2 (en) * 2017-05-18 2022-08-30 International Business Machines Corporation Detection of data offloading through instrumentation analysis
US11055310B2 (en) * 2017-12-04 2021-07-06 Bank Of America Corporation SQL server integration services (SSIS) package analyzer
CN111563113A (zh) * 2020-04-28 2020-08-21 中国银行股份有限公司 异常数据修正方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667951A (ja) 1992-05-20 1994-03-11 Nec Corp データベース管理システム
US5701461A (en) 1995-01-27 1997-12-23 Microsoft Corporation Method and system for accessing a remote database using pass-through queries
US6631382B1 (en) 1996-01-02 2003-10-07 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US6995675B2 (en) * 1998-03-09 2006-02-07 Curkendall Leland D Method and system for agricultural data collection and management
US6356901B1 (en) 1998-12-16 2002-03-12 Microsoft Corporation Method and apparatus for import, transform and export of data
US6668253B1 (en) 1999-09-08 2003-12-23 Reynolds & Reynolds Holdings, Inc. Enterprise information management system and methods
JP4552242B2 (ja) 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US20020065744A1 (en) 1999-11-30 2002-05-30 Seth Collins Method for internet matching of user request to specific merchandise
US7565311B2 (en) 1999-12-16 2009-07-21 Sumitomo Mitsui Banking Corporation Conversion engine and financial reporting system using the conversion engine
US20010047372A1 (en) * 2000-02-11 2001-11-29 Alexander Gorelik Nested relational data model
US7203660B1 (en) * 2001-04-09 2007-04-10 Priceline.Com Incorporated Apparatus, system, and method for dynamic demand reporting and affectation
US6996568B1 (en) 2001-06-20 2006-02-07 Microstrategy Incorporated System and method for extension of data schema
US20030208460A1 (en) 2002-05-06 2003-11-06 Ncr Corporation Methods, systems and data structures to generate and link reports
US7716095B2 (en) 2002-09-30 2010-05-11 Fannie Mae Web-based financial reporting system and method
WO2005050476A1 (en) 2003-10-29 2005-06-02 Sap Ag Sytems and methods for searching and displaying reports

Also Published As

Publication number Publication date
EP1594051A2 (en) 2005-11-09
US7805341B2 (en) 2010-09-28
EP1594051A3 (en) 2005-12-07
US20050228728A1 (en) 2005-10-13
JP2005302035A (ja) 2005-10-27
CN1684069A (zh) 2005-10-19

Similar Documents

Publication Publication Date Title
US7805341B2 (en) Extraction, transformation and loading designer module of a computerized financial system
US6611838B1 (en) Metadata exchange
US7096231B2 (en) Export engine which builds relational database directly from object model
US6356901B1 (en) Method and apparatus for import, transform and export of data
US8352478B2 (en) Master data framework
US8392464B2 (en) Easily queriable software repositories
US8010905B2 (en) Open model ingestion for master data management
US20040128276A1 (en) System and method for accessing data in disparate information sources
US11693912B2 (en) Adapting database queries for data virtualization over combined database stores
US20080005135A1 (en) Defining and extracting a flat list of search properties from a rich structured type
US20110087708A1 (en) Business object based operational reporting and analysis
US7668888B2 (en) Converting object structures for search engines
US7099727B2 (en) Knowledge repository system for computing devices
EP1815349A2 (en) Methods and systems for semantic identification in data systems
US20140330780A1 (en) Universal delta data load
US8639717B2 (en) Providing access to data with user defined table functions
US11550785B2 (en) Bidirectional mapping of hierarchical data to database object types
EP4155965A1 (en) System and method for facilitating metadata identification and import
US8316013B2 (en) Programmatic retrieval of tabular data within a cell of a query result
US11940951B2 (en) Identification and import of metadata for extensions to database artefacts
Rosenthal et al. Trends and scale-up for data administration
Kakivaya et al. Durable storage of .NET data types and instances
Langit Introducing SSIS

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid