KR20150040960A - 여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑 - Google Patents

여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑 Download PDF

Info

Publication number
KR20150040960A
KR20150040960A KR20157004888A KR20157004888A KR20150040960A KR 20150040960 A KR20150040960 A KR 20150040960A KR 20157004888 A KR20157004888 A KR 20157004888A KR 20157004888 A KR20157004888 A KR 20157004888A KR 20150040960 A KR20150040960 A KR 20150040960A
Authority
KR
South Korea
Prior art keywords
data
mapping
profile
target
generic
Prior art date
Application number
KR20157004888A
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
Priority claimed from EP12368016.7A external-priority patent/EP2693391A1/en
Priority claimed from US13/565,102 external-priority patent/US20140039943A1/en
Application filed by 아마데우스 에스.에이.에스. filed Critical 아마데우스 에스.에이.에스.
Publication of KR20150040960A publication Critical patent/KR20150040960A/ko

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

여행 산업에 사용하기에 적절한 방법, 장치 및 프로그램 제품은 동적 및 계층적 제너릭 데이터 맵핑 모델(28)을 사용하여 프로파일 관리 시스템과 같은 소스 시스템(12)으로부터 복수의 다운스트림 타깃 시스템(14)으로 여행자 프로파일 데이터를 발행한다. 제너릭 데이터 맵핑 모델은, 예를 들어, 여행자 프로파일(18)의 발행과 관련하여, 타깃-특정 발행 데이터 맵핑(22)을 동적으로 구축하여, 동적으로 구축된 발행 데이터 맵핑을 사용하여 여행자 프로파일을 타깃 포맷으로 변환할 수 있도록 하는데 사용될 수 있다.

Description

여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑{DYNAMIC AND HIERARCHICAL GENERIC DATA MAPPING FOR TRAVELER PROFILE PUBLICATION}
본 발명은 일반적으로 컴퓨터 및 컴퓨터 소프트웨어에 관한 것으로, 보다 상세하게는, 여행자에 대한 프로파일 데이터를 관리하는 것에 관한 것이다.
컴퓨터 기술은 여행 산업에서 여행 예약 및 이와 연관된 데이터를 관리하고 지원하는데 점점 더 많이 사용되고 있다. 초기에, 여행 산업은 오프라인 및 온라인 채널(예를 들어, 컴퓨터 예약 시스템(computer reservation system: CRS), 전역 배분 시스템(global distribution system: GDS), 판매시점(point-of-sale) 애플리케이션, 미들 및 백 오피스(mid-and-back office) 애플리케이션, 셀프 부킹 도구(self-booking tool:SBT) 등)에 대해 매우 전문화된 여행 예약 서비스를 전달하는데 집중하였다. 개별 여행자와 연관된 데이터를 관리하는데 사용되는 프로파일 관리와 같은 일부 주변 서비스도 개발되었으나, 주로 매우 전문화된 예약 서비스를 지원하도록 설계되어서, 그 결과 프로파일 관리는 각 채널과 시스템에 일반적으로 사용되는 특정 데이터베이스, 데이터 구조 및 데이터 흐름을 통해 프로파일 데이터에 의존하는 여행 예약 서비스로 전문화된 것으로 나타났다. 나아가, 프로파일 관리 서비스를 지원하는 기술 인프라(technology infrastructure)는 다수의 전용 세그먼트된 솔루션에 기반하여, 시스템 간에 프로파일 데이터를 공유하는 것이 전통적으로 문제로 되었다.
인터넷과 모바일 기술이 등장함에 따라, 여행자는 여행 쇼핑 경험 동안 다수의 채널을 수반하는 글로벌 여행 쇼핑 방법에 점점 더 의존하고 있다. 이들 새로운 소비 모드에서는, 많은 다른 경제적인 및 경쟁적인 요인(factor) 중에서, 여행 소매업자가 모든 채널에 걸쳐 글로벌적으로 일관적인 서비스를 전달할 필요성이 강화되었다. 부작용으로, GDS와 SBT를 포함하나 이들로 제한되지 않는 다수의 다운스트림 시스템에 의해 액세스가능한 프로파일 데이터를 위한 중앙 레포지토리(central repository)에 대한 필요성이 제기되었다. 다수의 다운스트림 시스템에 의해 사용하기 위한 프로파일 데이터를 저장하는 레포지토리는 이후 프로파일 관리 시스템이라고 언급된다.
그러나, 상이한 다운스트림 시스템에 대해 상이한 기술 인프라, 데이터베이스, 데이터 구조 및 데이터 흐름이 제공되는 경우, 상이한 다운스트림 시스템에 의해 사용될 수 있는 방식으로 프로파일 관리 시스템에 저장된 프로파일 데이터를 제공하는 것은 단순하지 않은 문제이다. 더욱이, 일부 다운스트림 시스템에 대해, 특정 마켓, 지리적 구역 및/또는 기업(corporation) 또는 조직(organization)에 호환가능한 특정 방식으로 프로파일 데이터를 포맷할 필요성이 있는 것으로 인해 추가적인 문제가 존재할 수 있다.
프로파일 데이터를 프로파일 관리 시스템으로부터 다운스트림 시스템으로 제공하는 것은 일반적으로 발행(publication)이라고 언급되는데, 일반적으로, 프로파일 데이터를, 본 명세서에서 소스 시스템이라고도 언급되는 프로파일 관리 시스템에 의해 사용되는 포맷으로부터, 본 명세서에서 타깃 시스템이라고도 언급되는 특정 다운스트림 시스템에 의해 사용되는 상이한 포맷으로 변환(transformation)하는 것을 수반한다. 변환을 수행하기 위하여, 발행 데이터 맵핑(mapping)은 일반적으로 발행된 프로파일(published profile)이 문법적으로 및 의미적으로 타깃 시스템과 호환가능한 포맷으로 타깃 시스템으로 제공될 수 있도록 생성되고 사용될 것이 요구된다. 발행 데이터 맵핑은 소스 포맷의 프로파일 데이터에 발행 데이터 맵핑을 적용하기 위해 일반적으로 변환 엔진에 의해 사용된다. 이 변환을 통해 원하는 타깃 시스템으로 발행하기에 적절한 타깃 포맷의 프로파일 데이터를 생성할 수 있다.
전통적으로, 프로파일 관리 시스템에 발행 데이터 맵핑을 통합하고 발행 데이터 맵핑을 한정하는 것은 사람 오퍼레이터에 의해 수행되는 여러 단계와 많은 수동 동작을 요구하는 오프라인 공정이다. 예를 들어, 외부 고객은 발행 데이터 맵핑을 논리적으로 설명하는 양식(form)을 기입하고 이 양식을 프로파일 관리 시스템을 관리하는 개체(entity)에 제출하는 것이 요구될 수 있다. 이 개체에서 기능 전문가는 제출된 양식을 검증(validate)하고 구현 요청을 개체에 있는 기술적 전문가에 송신할 수 있고, 이 전문가는 XSL(Extensible Stylesheet Language)과 같은 데이터 변환 언어를 사용하여 발행 데이터 맵핑을 구현할 수 있다. 이후, 발행 데이터 맵핑은 프로파일 관리 시스템에 저장되고 활성화될 수 있고, 기능 전문가는 라이브 프로파일 발행 테스트를 수행하여 새로운 발행 데이터 맵핑을 검증할 수 있다.
그러나, 이 공정은 일반적으로 수동 동작의 복잡성, 에러 가능성 및 이러한 에러를 정정하는데 추가적인 검증을 수행해야 할 필요성으로 인해, 시간이 소비되고 지연이 발생한다. 더욱이, 프로파일 관리 개체의 관점으로부터 보면, 제출된 양식의 검증은 높은 레벨의 전문 기술 및 기능 지식을 요구하여, 비즈니스 상황 및 제품 사양에 대해 훈련된 자격 있는 직원, 및 다운스트림 시스템 특이성(specificity)에 대해 충분한 기술 지식과 경험으로 훈련된 직원을 요구한다.
이들 제한사항은 새로운 기업, 조직, 지리적 구역 및/또는 마켓을 프로파일 관리 시스템에 통합하려고 시도할 때 강화되어, 프로파일이 자체 고유한 데이터 모델을 가지는 많은 수의 다운스트림 시스템으로 발행될 것을 요구하고 자체 발행 데이터 맵핑을 요구한다.
전통적인 접근법에서 나타나는 다른 단점은 데이터 맵핑 중복(redundancy) 및 유지 비용으로 인해 발생한다. 주어진 여행 소매업자에 대해 많은 다운스트림 시스템에서 일부 프로파일 요소는 항상 동일한 의미를 구비하는 반면, 다른 프로파일 요소는 특정 기업 또는 조직에만 의존하거나 또는 마켓에만 의존할 수 있다. 그 결과, 프로파일 관리 시스템에 종종 중복된 정보가 있어서, 비싼 유지 비용을 초래하고, 종종 공통 타깃 요소의 업데이트에 응답하여 많은 발행 데이터 맵핑이 변화될 것을 요구한다.
그리하여, 프로파일 관리 시스템에서 여행자 프로파일 데이터를 관리하고 발행하는 방식에 대한 상당한 개선 요구가 이 기술 분야에 지속적으로 존재한다.
본 발명은, 여행자 프로파일 데이터를, 프로파일 관리 시스템과 같은 소스 시스템으로부터, 복수의 다운스트림 타깃 시스템으로 발행하는 동적 및 계층적 제너릭 데이터 맵핑 모델(dynamic and hierarchical generic data mapping)을 사용하는 방법, 장치 및 프로그램 제품을 제공하는 것에 의해 종래 기술과 연관된 이들 및 다른 문제를 해결한다. 본 발명에 따른 제너릭 데이터 맵핑 모델은, 예를 들어, 여행자 프로파일의 발행과 관련하여, 예를 들어, 타깃-특정된 발행 데이터 맵핑을 동적으로 구축하여, 동적으로 구축된 발행 데이터 맵핑을 사용하여 여행자 프로파일을 타깃 포맷으로 변환할 수 있도록 하는데 사용된다.
더욱이, 본 발명에 따른 제너릭 데이터 맵핑 모델은, 제너릭 데이터 맵핑의 계층적 집합(hierarchical collection)에서 자녀(child)/후손(descendent) 제너릭 데이터 맵핑이 부모(parent)/조상(ancestor) 제너릭 데이터 맵핑에 한정된 하나 이상의 맵핑 요소를 상속(inherit)할 수 있도록 계층적 특성으로 이루어질 수 있다. 그리하여, 후손 제너릭 데이터 맵핑으로부터 발행 데이터 맵핑을 생성하는 동안, 조상 제너릭 데이터 맵핑에 한정된 하나 이상의 상속된 맵핑 요소는 후손 제너릭 데이터 맵핑에 한정된 하나 이상의 맵핑 요소와 결합(combined)되어 한정된 및 상속된 맵핑 요소에 따라 소스 프로파일 데이터를 타깃 프로파일 데이터로 전환(convert)하는 발행 데이터 맵핑을 구성할 수 있다.
그리하여, 본 발명의 일 측면에 따라, 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터(profile data)를 발행(publish)하는데 사용하기 위한 발행 데이터 맵핑(publication data mapping)을 생성하는 방법으로서, 상기 소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성된, 상기 방법은, 제너릭 데이터 맵핑(generic data mapping)의 계층적 집합(hierarchical collection)으로부터 상기 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 단계로서, 상기 제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소(mapping element)를 한정하고, 상기 복수의 맵핑 요소에 있는 각 맵핑 요소는 상기 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 상기 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 상기 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손(descendent)이고, 상기 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소에 맵핑하는 제2 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제2 제너릭 데이터 맵핑으로부터 상기 제2 맵핑 요소를 상속(inherit)하는, 상기 액세스하는 단계; 및 상기 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 상기 발행 데이터 맵핑을 동적으로 생성하는 단계로서, 상기 발행 데이터 맵핑은 상기 제1 및 제2 제너릭 데이터 맵핑에 한정된 상기 제1 및 제2 맵핑 요소에 기초하여 상기 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 상기 타깃 시스템을 위한 상기 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환(convert)하도록 구성된, 상기 생성하는 단계를 포함한다.
본 발명의 다른 측면에 따라, 장치는, 적어도 하나의 프로세서; 및 프로그램 코드를 포함하고, 상기 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해 실행될 때 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터를 발행할 때 사용하기 위한 발행 데이터 맵핑을 생성하도록 구성되고, 상기 소스 시스템은, 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성된다. 상기 프로그램 코드는, 제너릭 데이터 맵핑의 계층적 집합으로부터 상기 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 동작으로서, 상기 제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소를 한정하고, 상기 복수의 맵핑 요소에 있는 각 맵핑 요소는 상기 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 상기 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 상기 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손이고, 상기 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소로 맵핑하는 제2 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제2 제너릭 데이터 맵핑으로부터 상기 제2 맵핑 요소를 상속하는, 상기 액세스하는 동작; 및 상기 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 상기 발행 데이터 맵핑을 동적으로 생성하는 동작으로서, 상기 발행 데이터 맵핑은, 상기 제1 및 제2 제너릭 데이터 맵핑에 한정된 상기 제1 및 제2 맵핑 요소에 기초하여 상기 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 상기 타깃 시스템을 위한 상기 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환하도록 구성된, 상기 생성하는 동작에 의하여, 상기 발행 데이터 맵핑을 생성하도록 구성된다.
본 발명의 또 다른 측면에 따라, 프로그램 제품은, 컴퓨터 판독가능한 매체; 및 상기 컴퓨터 판독가능한 매체에 저장된 프로그램 코드를 포함하고, 상기 프로그램 코드는, 실행시 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터를 발행하는데 사용하기 위한 발행 데이터 맵핑을 생성하도록 구성되고, 상기 소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성된다. 상기 프로그램 코드는, 제너릭 데이터 맵핑의 계층적 집합으로부터 상기 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 동작으로서, 상기 제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소를 한정하고, 상기 복수의 맵핑 요소에 있는 각 맵핑 요소는 상기 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 상기 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 상기 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손이고, 상기 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소에 맵핑하는 제2 맵핑 요소를 한정하고, 상기 제1 제너릭 데이터 맵핑은 상기 제2 제너릭 데이터 맵핑으로부터 상기 제2 맵핑 요소를 상속받는, 상기 액세스하는 동작; 및 상기 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 상기 발행 데이터 맵핑을 동적으로 생성하는 동작으로서, 상기 발행 데이터 맵핑은, 상기 제1 및 제2 제너릭 데이터 맵핑에 한정된 상기 제1 및 제2 맵핑 요소에 기초하여 상기 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 상기 타깃 시스템을 위한 상기 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환하도록 구성된, 상기 생성하는 동작에 의하여, 상기 발행 데이터 맵핑을 생성하도록 구성된다.
일부 실시예에서, 상기 소스 시스템으로부터 상기 여행자에 대한 소스 프로파일 데이터는 상기 발행 데이터 맵핑을 사용하여 상기 타깃 시스템을 위한 타깃 프로파일 데이터로 전환된다. 더욱이, 일부 실시예에서 상기 발행 데이터 맵핑을 동적으로 생성하는 단계는 상기 소스 시스템에 있는 상기 여행자에 대한 소스 프로파일을 업데이트한 것에 응답하여 수행된다. 또 다른 실시예에서, 상기 소스 프로파일 데이터를 전환하는 단계는 상기 소스 프로파일을 타깃 프로파일로 전환하는 단계를 포함하고, 상기 발행 데이터 맵핑은 XSLT 스타일시트(stylesheet)를 포함하고 상기 소스 프로파일과 타깃 프로파일은 각각 XML 문서를 포함한다.
다른 실시예에서, 상기 제1 맵핑 요소는 상기 소스 시스템으로부터 상기 제1 타깃 데이터 요소로 제1 및 제2 소스 데이터 요소를 결합(bind)시키는 그룹을 포함하고, 상기 소스 프로파일 데이터를 타깃 프로파일 데이터로 전환하는 단계는 상기 제1 소스 데이터 요소와 연관된 소스 프로파일 데이터가 존재하지 않는 것으로 결정된 것에 응답하여 상기 제2 소스 데이터 요소와 연관된 소스 프로파일 데이터를 폐기하는 단계를 포함한다. 일부 실시예에서, 상기 제1 맵핑 요소는 상기 소스 시스템으로부터의 제1 소스 데이터 요소와 자유 텍스트를 상기 타깃 시스템으로부터의 상기 제1 타깃 데이터 요소에 결합시키는 그룹을 포함하고, 상기 소스 프로파일 데이터를 타깃 프로파일 데이터로 전환하는 단계는 상기 제1 소스 데이터 요소와 연관된 소스 프로파일 데이터가 존재하지 않는 것으로 결정된 것에 응답하여 상기 자유 텍스트를 폐기하는 단계를 포함한다.
더 다른 실시예에서, 상기 소스 프로파일 데이터는 상기 여행자에 대한 프로파일과 연관되고, 또 상기 방법은, 상기 타깃 프로파일 데이터를 상기 타깃 시스템으로 통신하는 것에 의해 상기 프로파일을 발행하는 단계; 상기 발행 데이터 맵핑을 동적으로 생성한 후 상기 발행 데이터 맵핑을 캐싱(caching)하는 단계; 및 상기 발행 데이터 맵핑을 재사용하여 상기 발행 데이터 맵핑이 캐싱된 것으로 결정된 것에 응답하여 제2 프로파일을 발행하는 단계를 더 포함한다. 나아가, 일부 실시예에서, 상기 소스 프로파일 데이터는 상기 여행자에 대한 프로파일과 연관되고, 상기 방법은, 상기 타깃 프로파일 데이터를 상기 타깃 시스템으로 통신하는 것에 의해 상기 프로파일을 발행하는 단계; 상기 발행 데이터 맵핑을 동적으로 생성한 후 상기 발행 데이터 맵핑을 캐싱하는 단계; 및 상기 발행 데이터 맵핑을 동적으로 생성하는데 사용된 적어도 하나의 제너릭 데이터 맵핑이 변화된 것으로 결정된 것에 응답하여 제2 프로파일을 발행하는 것과 관련하여 상기 발행 데이터 맵핑을 동적으로 재생성하는 단계를 더 포함한다.
또한, 일부 실시예에서, 상기 제2 제너릭 데이터 맵핑은 제3 맵핑 요소를 포함하고, 상기 제1 맵핑 요소는 상기 제3 맵핑 요소를 오버라이드(override)한다. 일부 실시예에서, 상기 제2 맵핑 요소는 상기 제1 제너릭 데이터 맵핑에서의 상기 제2 맵핑 요소의 오버라이드가 금지되도록 판독 전용이다. 다른 실시예에서, 상기 계층적 집합에 있는 각 제너릭 데이터 맵핑은 글로벌 제너릭 데이터 맵핑, 조직-특정 제너릭 데이터 맵핑 및 구역-특정 제너릭 데이터 맵핑으로 구성된 그룹으로부터 선택된다.
추가적인 실시예에서, 상기 제1 및 제2 제너릭 데이터 맵핑 중 적어도 하나는 상기 타깃 시스템과 연관된 유저로부터 수신된 입력에 응답하여 업데이트되고; 및 상기 제2 제너릭 데이터 맵핑을 상기 제1 제너릭 데이터 맵핑으로 업데이트할 때 이루어진 변화는 상기 제1 제너릭 데이터 맵핑이 상기 제2 제너릭 데이터 맵핑의 후손인 것에 기초하여 자동적으로 전파된다. 더 다른 실시예에서, 상기 변화를 자동적으로 전파하는 단계는 상기 제1 제너릭 데이터 맵핑에 기초하여 발행 데이터 맵핑을 사용하여 프로파일을 발행하는 요청에 응답하여 수행된다.
본 발명을 특징으로 하는 이들 및 다른 잇점은, 본 명세서에 첨부되고 추가적인 부분을 형성하는 청구범위에 제시된다. 그러나, 본 발명, 및 본 발명을 사용하여 달성되는 잇점과 목적을 더 잘 이해하기 위해, 본 발명의 예시적인 실시예를 설명하는 첨부된 설명 부분과 도면을 참조한다.
도 1은 본 발명의 일 실시예에 따른 동적 및 계층적 제너릭 데이터 맵핑 모델을 구현하기에 적절한 예시적인 데이터 처리 시스템의 블록도.
도 2는 도 1의 시스템의 예시적인 하드웨어 및 소프트웨어 구현 블록도.
도 3은 도 1 내지 도 2의 시스템에 사용될 수 있는 예시적인 제너릭 데이터 맵핑의 블록도.
도 4 내지 도 5는 도 1 내지 도 2의 시스템에 사용될 수 있는 제너릭 데이터 맵핑의 예시적인 계층적 집합의 블록도.
도 6은 도 1 내지 도 2의 시스템에 사용될 수 있고 제너릭 데이터 맵핑 모델에서 상속 개념을 도시하는 예시적인 부모 및 자녀 제너릭 데이터 맵핑의 블록도.
도 7은 도 1 내지 도 2의 시스템에 사용될 수 있고 제너릭 데이터 맵핑 모델에서 상속 개념을 더 도시하는 제너릭 데이터 맵핑의 예시적인 계층적 집합의 블록도.
도 8은 도 7의 제너릭 데이터 맵핑의 계층적 집합에서 제너릭 데이터 맵핑의 업데이트를 도시하는 블록도.
도 9는 도 7의 제너릭 데이터 맵핑의 계층적 집합으로부터 병합된 제너릭 데이터 맵핑을 생성하는 것을 도시하는 블록도.
도 10은 도 1 내지 도 2의 시스템에서 여행자 프로파일의 발행과 관련하여 발행 데이터 맵핑을 동적으로 생성하는 것을 도시하는 블록도.
도 11은 도 1 내지 도 2의 시스템에서 발행 데이터 맵핑을 검색(retrieving)하는 예시적인 루틴을 도시하는 흐름도.
도 12는 도 1 내지 도 2의 시스템에서 여행자 프로파일의 발행과 관련하여 XSLT-포맷 발행 데이터 맵핑을 동적으로 생성하는 것을 도시하는 블록도.
도 13은 도 1 내지 도 2의 시스템에 구현될 수 있는 제너릭 데이터 맵핑을 위한 객체 모델의 블록도.
도 14는 도 1 내지 도 2의 시스템에 구현될 수 있는 표준 및 커스텀 제너릭 데이터 맵핑(standard and custom generic data mapping)을 병합하는 병합기를 도시하는 블록도.
도 15는 도 1 내지 도 2의 시스템에서 표준 제너릭 데이터 맵핑을 커스텀 제너릭 데이터 맵핑으로 업데이트하는 것을 전파(propagation)하는 것을 도시하는 블록도.
도 16은 도 1 내지 도 2의 시스템에 구현될 수 있는 예시적인 그래픽 유저 인터페이스의 블록도.
도 17은 도 1 내지 도 2의 시스템에서 여행자 프로파일을 발행하기 위한 예시적인 루틴을 도시하는 흐름도.
본 발명에 따른 실시예는, 여행자 프로파일 데이터를, 프로파일 관리 시스템과 같은 소스 시스템으로부터, 복수의 다운스트림 타깃 시스템으로 발행하는 것을 제공하는 동적 및 계층적 제너릭 데이터 맵핑 모델을 제공한다. 본 발명에 따른 제너릭 데이터 맵핑 모델은, 예를 들어, 여행자 프로파일로부터의 프로파일 데이터의 발행과 관련하여, 예를 들어, 타깃-특정된 발행 데이터 맵핑을 동적으로 구축하여, 동적으로 구축된 발행 데이터 맵핑을 사용하여 프로파일 데이터를 타깃 포맷으로 변환할 수 있도록 하는데 사용된다.
도 1에 도시된 바와 같이, 예를 들어, 소스 시스템(12) 및 복수의 타깃 시스템(14)을 포함하는 데이터 처리 시스템(10)은 여행자 프로파일을 특정 타깃 시스템(14)으로 발행하기 위하여 소스 포맷(16)의 여행자 프로파일로 구성된 프로파일 데이터를 타깃 포맷(18)으로 변환하는데 사용될 수 있다. 이런 점에서, 소스 시스템은, 예를 들어, 여행자 데이터에 대한 중앙 레포지토리로 동작하는 프로파일 관리 시스템으로 구현될 수 있는 반면, 타깃 시스템은 여행자-관련된 데이터를 사용하기를 원하는 사실상 임의의 시스템, 예를 들어, 컴퓨터 예약 시스템(CRS), GDS(global distribution system), POS(point-of-sale) 애플리케이션, 미들 및 백 오피스 애플리케이션, SBT(self-booking tool) 등을 사용하여 구현될 수 있다. 이런 점에서, 프로파일 데이터는, 예를 들어, 여행-관련된 웹 사이트 또는 서비스의 여행자 또는 유저와 관련된 데이터, 또는 여행 산업과 연관된 다른 프로파일-유형 데이터를 포함하는 여러 여행-관련된 데이터를 포함할 수 있다. 프로파일 변환 컴포넌트(component)(20)는, 예를 들어, 소스 포맷과 타깃 포맷 사이에 여행자 프로파일을 변환하는데 사용될 수 있고, 발행 컴포넌트(22)는 타깃 프로파일을 적절한 타깃 시스템(14)으로 발행하는데 사용될 수 있다.
컴포넌트(20)를 사용하여 프로파일 변환을 수행하기 위하여, 발행 데이터 맵핑(22)은 제너릭 데이터 맵핑 모델(28)에 유지되는 하나 이상의 제너릭 데이터 맵핑(26)으로부터 발행 데이터 맵핑(22)을 동적으로 생성하는 동적 데이터 맵핑 생성 컴포넌트(24)에 의하여 생성된다. 예시된 실시예에서 제너릭 데이터 맵핑 모델은 발행 데이터 맵핑을 생성하는데 사용되는 제너릭 데이터 맵핑의 집합을 한정한다. 이런 점에서, 발행 데이터 맵핑은, 소스 시스템으로부터의 여행자 프로파일로부터 타깃 시스템으로 프로파일 데이터를 발행하여 발행된 프로파일 데이터를 타깃 시스템에 의해 판독가능한 포맷으로 변환하거나 전환할 수 있도록 하는데 사용될 수 있는 데이터 맵핑인 것으로 고려될 수 있다. 발행 데이터 맵핑은 일부 실시예에서 프로파일 데이터를 변환하거나 전환하는데 본래 형태(native form)로 사용되거나, 또는 프로파일 데이터를 변환하기 전에 추가적인 전환을 요구할 수 있다. 나아가, 프로파일 데이터의 발행은 발행 데이터 맵핑을 사용하여 변환 또는 전환을 넘어 추가적인 단계를 요구할 수 있다. 예를 들어, 일부 실시예에서, 프로파일 데이터는 변환 또는 전환 전 및 후에 직렬화(serialization) 및 병렬화(deserialization)를 요구할 수 있다.
본 명세서에 설명된 실시예에서, 제너릭 및 발행 데이터 맵핑은 하나 이상의 맵핑 요소를 포함하고, 여기서 각 맵핑 요소는 소스 시스템으로부터의 하나 이상의 소스 데이터 요소와 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정한다. 일부 실시예에서, 추가적인 자유 텍스트(free text)가 맵핑 요소에 더 포함되면 타깃 시스템 요구조건에 기초하여 추가적인 텍스트를 타깃 데이터 요소에 포함시킬 수 있다. 맵핑 요소는 일부 실시예에서 그룹을 더 포함할 수 있는데, 여기서 소스 데이터 요소들 중 어느 것이 소스 프로파일 데이터에 존재하지 않을 때 소스 데이터 요소의 그룹은 변환 또는 전환에서 생략될 수 있다. 일부 실시예에서, 발행 및 제너릭 데이터 맵핑 및/또는 내부에 한정된 맵핑 요소는 서로 동일할 수 있어서, 제너릭 데이터 맵핑에 한정된 맵핑 요소를 발행 데이터 맵핑에 포함시키는데 변환 또는 전환이 요구되지 않을 수 있다. 그러나, 다른 실시예에서, 발행 데이터 맵핑에 포함시키기에 적절한 포맷으로 제너릭 데이터 맵핑에 한정된 맵핑 요소를 구현하는데 일부 변환 또는 전환이 요구될 수 있다.
더욱이, 제너릭 데이터 맵핑 모델은 동적 및 계층적 특성이 있다. 제너릭 데이터 맵핑 모델은 발행 데이터 맵핑이 소스 시스템으로부터 특정 타깃 시스템으로 프로파일 데이터의 발행과 관련하여 제너릭 데이터 맵핑 모델로부터 필요에 따라 및 동적으로 생성될 수 있다는 점에서 동적이다. 소스 시스템으로부터 특정 타깃 시스템으로 프로파일 데이터를 변환 또는 전환하는데 요구되는 데이터 맵핑이 프로파일 데이터를 타깃 시스템으로 발행하는 요청 전에 완전히 한정되고 전개되어야 하는 정적 시스템과는 달리, 본 명세서에 설명된 제너릭 데이터 맵핑 모델의 동적 특성에 의하면, 예를 들어, 여행자 프로파일이 소스 시스템에서 업데이트된 것에 응답하여, 프로파일 데이터를 특정 타깃 시스템으로 발행하는 요청이 수신될 때마다, 발행 데이터 맵핑이 진행 중에 생성될 수 있다.
제너릭 데이터 맵핑 모델은, 이 모델에 의해 한정된 개별 제너릭 데이터 맵핑이 계층적 집합으로 구성될 수 있고, 또 계층적 집합에 있는 다른 제너릭 데이터 맵핑의 후손/자손이 계층적 집합에 있는 조상/부모 제너릭 데이터 맵핑으로부터 맵핑 요소를 물려줄 수 있게 하는 상속을 사용할 수 있다는 점에서 계층적일 수 있다. 아래에서 보다 분명해지는 바와 같이, 예를 들어, 제너릭 데이터 맵핑은 특정 국가, 지리적 구역, 기업, 조직 등에 한정될 수 있고, 또 특정 타깃 시스템에 대해 제너릭 데이터 맵핑을 생성하는 것이 기초단계인 스크래치(scratch)로부터 시작할 필요가 없으나, 다른 제너릭 데이터 맵핑에 추가 또는 변형을 나타낼 수 있도록 계층적으로 관련될 수 있다. 일부 제너릭 데이터 맵핑은 예를 들어 글로벌적일 수 있는 반면, 다른 맵핑은 조직-특정 또는 구역-특정된 것일 수 있다.
프로파일을 타깃 포맷으로 변환하는데 사용되는 데이터 맵핑을 생성, 편집, 삭제 및 관리하기 위하여, 시스템(10)은, 예를 들어, 애플리케이션 프로그래밍 인터페이스(API)(36) 및/또는 관리 GUI(38), 예를 들어, 웹-기반 GUI를 통해 소스 유저(32)와 타깃 유저(34)에 액세스가능한 데이터 맵핑 관리 컴포넌트(30)를 더 포함한다. 아래에서 보다 분명해지는 바와 같이, 타깃 유저(34)에 의해 데이터 맵핑 관리 컴포넌트(30)에 액세스를 제공하는 것에 의해, 타깃-특정 변환을 관리하는 것과 연관된 오버헤드(overhead)의 대부분은 모든 타깃 시스템에 대한 변환을 관리할 것을 소스 개체에 요구함이 없이 타깃 개체에 의해 처리될 수 있다.
프로파일 변환 및 발행 공정에 관한 추가적 상세가 보다 상세히 설명된다.
하드웨어 및 소프트웨어 환경
도 2는 동적 및 계층적 제너릭 데이터 맵핑 모델을 구현할 수 있는 데이터 처리 시스템(50)을 위한 예시적인 하드웨어 및 소프트웨어 환경을 도시한다. 시스템(50)은 하나 이상의 서버-유형 컴퓨터(52), 예를 들어, 클러스터로 형성된 또는 다른 분산된 아키텍처로 서로 연결된 다수의 컴퓨터로 구현될 수 있다. 각 컴퓨터(52)는 일반적으로 컴퓨터(52)의 메인 저장매체를 포함하는 랜덤 액세스 메모리(RAM) 디바이스, 및 임의의 보충 레벨의 메모리, 예를 들어, 캐시 메모리, 비-휘발성 또는 백업 메모리(예를 들어, 프로그래밍가능한 메모리 또는 플래시 메모리), 판독 전용 메모리 등을 나타낼 수 있는 메모리(56)에 연결된 적어도 하나의 하드웨어-기반 마이크로프로세서를 포함하는 중앙 처리 유닛(54)을 포함한다. 더욱이, 메모리(54)는 컴퓨터(52) 내 어디엔가에 물리적으로 위치된 메모리 저장매체, 예를 들어, 마이크로프로세서 내에 있는 임의의 캐시 메모리, 및 예를 들어, 대용량 저장 디바이스 상에 저장되거나 또는 컴퓨터(52)에 연결된 다른 컴퓨터 상에 저장된 가상 메모리로 사용되는 임의의 저장 용량을 포함하는 것으로 고려될 수 있다. 컴퓨터(52)는 일반적으로 외부와 정보를 통신하는 다수의 입력과 출력을 더 수신한다. 유저 또는 오퍼레이터와 인터페이싱하기 위하여, 컴퓨터(52)는 일반적으로 하나 이상의 유저 입력 디바이스, 예를 들어, 키보드, 포인팅 디바이스, 디스플레이, 프린터 등을 포함하는 유저 인터페이스(126)를 포함한다. 그렇지 않고, 유저 입력은 예를 들어 인터넷과 같은 네트워크(62)에 연결된 네트워크 인터페이스(60)를 통해 다른 컴퓨터 또는 단말로부터 수신될 수 있다. 컴퓨터(52)는, 예를 들어, 내부 하드 디스크 저장 디바이스, 외부 하드 디스크 저장 디바이스, 외부 데이터베이스, 저장 영역 네트워크 디바이스 등일 수 있는 하나 이상의 대용량 저장 디바이스(64)와 더 통신할 수 있다.
여러 외부 디바이스는 네트워크(62)를 통해 시스템(50), 예를 들어, 하나 이상의 소스 또는 프로파일 관리 유저(66), 하나 이상의 타깃 유저(68) 및 하나 이상의 타깃 시스템(70)에 연결될 수 있다.
각 컴퓨터(52)는 일반적으로 운영 시스템(72)의 제어 하에 동작하며, 그리고 여러 컴퓨터 소프트웨어 애플리케이션, 컴포넌트, 프로그램, 객체, 모듈, 데이터 구조 등, 예를 들어, 아래에 보다 상세히 설명된 바와 같이, 프로파일 관리 컴포넌트(76), 프로파일 변환 컴포넌트(78), 데이터 맵핑 관리 컴포넌트(80) 및 발행 컴포넌트(82)와 같은 여러 컴포넌트를 포함하는 프로파일 관리 시스템(56), 소스 레포지토리(84), 및 제너릭 데이터 맵핑 모델(88) 및 발행 데이터 맵핑 캐시(90)를 포함하는 데이터 맵핑 레포지토리(86)를 실행하고 이에 의존한다. 더욱이, 여러 애플리케이션, 컴포넌트, 프로그램, 객체, 모듈 등은, 예를 들어, 컴퓨터 프로그램의 기능을 구현하는데 요구되는 처리를 네트워크를 통해 다수의 컴퓨터에 할당할 수 있는 분산된 또는 클라이언트-서버 컴퓨팅 환경에서 네트워크를 통해 컴퓨터(52)에 연결된 다른 컴퓨터 내 하나 이상의 프로세서에서 더 실행될 수 있다. 예를 들어, 컴퓨터(52)에 포함된 것으로 본 명세서에서 설명된 기능의 일부는 타깃 시스템, 소스 또는 타깃 클라이언트 컴퓨터, 또는 다른 외부 디바이스에서 구현될 수 있다.
일반적으로, 운영 시스템 또는 특정 애플리케이션, 컴포넌트, 프로그램, 객체, 모듈 또는 명령 시퀀스의 일부 또는 심지어 서브세트로 구현되었든지 여부에 상관없이, 본 발명의 실시예를 구현하도록 실행되는 루틴은 본 명세서에서 "컴퓨터 프로그램 코드" 또는 간단히 "프로그램 코드"라고 언급된다. 프로그램 코드는 일반적으로 컴퓨터 내 여러 메모리 및 저장 디바이스에서 여러 곳에 상주하는 하나 이상의 명령을 포함하고, 상기 명령은, 컴퓨터 내 하나 이상의 프로세서에 의해 판독되어 실행될 때, 이 컴퓨터로 하여금 본 발명의 여러 측면을 구현하는 단계 또는 요소를 실행하는데 필요한 단계를 수행하게 한다. 더욱이, 본 발명은 완전히 기능적인 컴퓨터 및 컴퓨터 시스템의 상황에서 설명되었으나, 이 기술 분야에 통상의 지식을 가진 자라면 본 발명의 여러 실시예가 여러 형태의 프로그램 제품으로 분산될 수 있고 본 발명은 실제로 분산을 수행하는데 사용되는 컴퓨터 판독가능한 매체의 특정 유형에 상관없이 동등하게 적용될 수 있다는 것을 이해할 수 있을 것이다.
이러한 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체는, 컴퓨터-판독가능한 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하기 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비-휘발성, 및 이동식 및 비-이동식 매체를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체는 RAM, ROM, 소거가능한 프로그래밍가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능한 판독 전용 메모리(EEPROM), 플래쉬 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 다른 광 저장매체, 자기 카세트, 자기 테이프, 자기 디스크 저장매체 또는 다른 자기 저장 디바이스, 또는 컴퓨터(52)에 의해 액세스될 수 있고 원하는 정보를 저장하는데 사용될 수 있는 임의의 다른 매체를 더 포함할 수 있다. 통신 매체는 컴퓨터 판독가능한 명령, 데이터 구조 또는 다른 프로그램 모듈을 구현할 수 있다. 예로서, 비제한적으로, 통신 매체는 유선 매체, 예를 들어 유선 네트워크 또는 직접-유선 연결, 및 무선 매체, 예를 들어 음향, RF, 적외선 및 다른 무선 매체를 포함할 수 있다. 상기한 바의 임의의 조합도 컴퓨터 판독가능한 매체의 범위 내에 포함될 수 있다.
이후 설명되는 여러 프로그램 코드는 본 발명의 특정 실시예에 구현된 애플리케이션에 기초하여 식별될 수 있다. 그러나, 이후 임의의 특정 프로그램이라는 용어는 단지 편의를 위해 사용된 것일 뿐이어서, 본 발명은 이 용어에 의해 식별되거나 및/또는 암시된 임의의 특정 애플리케이션에서만 사용하는 것으로 제한되어서는 안되는 것으로 이해된다. 나아가, 컴퓨터 프로그램이 루틴, 절차, 방법, 모듈, 객체 등으로 구성될 수 있는 방식, 및 일반적인 컴퓨터(예를 들어, 운영 시스템, 라이브러리, API, 애플리케이션, 애플릿 등) 내에 상주하는 여러 소프트웨어 층으로 프로그램 기능이 할당될 수 있는 방식에는 일반적으로 끝이 없으므로, 본 발명은 본 명세서에 설명된 특정 구성 및 프로그램 기능의 할당으로 제한되지 않는 것으로 이해된다.
이 기술 분야에 통상의 지식을 가진 자라면 도 1 및 도 2에 도시된 예시적인 환경이 본 발명을 제한하는 것으로 의도된 것이 아니라는 것을 인식할 수 있을 것이다. 사실, 이 기술 분야에 통상의 지식을 가진 자라면 다른 대안적인 하드웨어 및/또는 소프트웨어 환경이 본 발명의 범위를 벗어남이 없이 사용될 수 있다는 것을 인식할 수 있을 것이다.
동적 및 계층적 제너릭 데이터 맵핑 모델
이후 설명되는 실시예에서, 탄력적인 제너릭 데이터 맵핑(generic data mapping: GDM) 모델은, (예를 들어, 구조화된 및 비-구조화된 다운스트림/타깃 시스템을 위한) 상이한 유형의 데이터 모델에 용이하게 채용되는, 타깃에 독립된 데이터 맵핑을 한정하는데 사용되고, 프로파일 데이터를 특정 타깃 포맷으로 변환하는데 사용되는 데이터 맵핑을 보고 관리하는데 필요한 기능 세트를 감소시키기 위해 논리적으로 사람이 이해할 수 있는 뷰(view)로 표현된다.
이후 설명되는 실시예에서, GDM은 본 명세서에서 타깃/다운스트림 시스템의 데이터 요소(예를 들어, 타깃 프로파일 필드)와 하나 이상의 소스 데이터 요소(예를 들어, 소스 프로파일 필드 및 임의의 자유 텍스트) 사이의 관계를 한정하는 라인으로도 언급되는 복수의 맵핑 요소를 포함한다. 다시 말해, 맵핑 요소 또는 라인에서, 타깃 프로파일 필드는 소스 프로파일 필드 및 자유 텍스트의 임의의 조합으로 맵핑될 수 있다.
도 3은, 예를 들어, 2개의 맵핑 요소(102, 104)를 포함하는 예시적인 GDM(100)을 도시한다. 맵핑 요소(102)는 추가적인 자유 텍스트로서 스페이스(space) 문자와 함께 타깃 필드 "Contact.FullName"를 소스 필드 "Contact.LastName" 및 "Contact.FirstName"에 맵핑한다(즉, 2개의 필드는 연쇄(concatenated)되고 스페이스 " "으로 분리된다). 맵핑 요소(104)는 소스 필드 "HomeAddress.Line1", 콤마 자유 텍스트 "," 및 소스 필드 "HomeAddress.Line2"의 연쇄를 타깃 필드 "BillingAddress.Line"으로 맵핑한다.
데이터 맵핑은 종종 간단치 않아서, 타깃/다운스트림 시스템의 제약을 맞추는데 여러 동작이 소스 또는 타깃 필드에 적용될 필요가 있다. 더욱이, 일부 경우에, 라인 또는 맵핑 요소는 특정 문맥 하에서만 유효할 수 있다. 따라서, 탄력성 및 보다 정제된 맵핑을 가능하게 하기 위해, 본 발명에 따른 GDM 모델에는 여러 특징이 제공될 수 있다:
그룹화: 소스 데이터 요소(소스 프로파일 필드 및 자유 텍스트)의 그룹이 한정될 수 있다. 그렇게 함으로써, 소스 데이터 요소들이 서로 결합(bound)되게 하여, 프로파일 필드가 특정 여행자 프로파일에 존재하지 않는 경우, 소스 데이터 요소의 전체 그룹이 폐기되도록 할 수 있다. 예를 들어, 그룹들은 특수한 구분 문자(delimiter) (예를 들어, "{" 및 "}"을 사용하여 한정되게 하여, "성명(Name)"에 대한 타깃 필드가 "{성씨(LastName)}{/이름(FirstName)}"으로 한정된 소스 데이터 요소 그룹으로 맵핑되는 경우, 발행된 여행자 프로파일에서 "이름" 프로파일 데이터가 누락된 경우 자유 텍스트 "/"가 생략되게 할 수 있다. 나아가, 그룹화는 그룹에 대한 공통 속성(매크로)의 정의를 가능하게 한다. 더욱이, 그룹에 필수 요소가 존재하지 않는 경우, 전체 그룹은 폐기될 수 있고 발행된 프로파일로부터 생략될 수 있다.
매크로(Macro): 그룹/소스 프로파일 필드당 커스텀 매크로를 한정하여 특정 데이터 변환(예를 들어, 데이터 절단(truncation), 데이터 이동(translation), 데이터 분할(split) 등)을 하는 것이 바람직할 수 있다.
폐기가능한 라인: 소스 프로파일 필드 또는 소스 데이터 요소 그룹이 비어 있는 경우, 라인을 폐기하는 것이 바람직할 수 있다. 예를 들어, "성씨"가 비어 있는 경우 "{성씨}{/이름}"으로 맵핑된 타깃 필드 "성명"은 폐기될 수 있다.
필수 라인: 타깃 필드로 맵핑된 소스 데이터 필드가 비어 있는 경우에도 라인을 항상 생성하는 것이 바람직할 수 있다. 이것은, 예를 들어, 여행사 직원이 여행자에 대한 일부 정보를 취득할 것을 상기시키는데 유용할 수 있다.
또한 전술된 바와 같이, 본 발명에 따른 GDM 모델은 또한 계층적 특성으로 이루어지고, 이는, 데이터 중복을 최소화하고, 상이한 타깃 시스템에 사용되는 다수의 데이터 맵핑의 관리를 촉진한다. GDM은 다른 GDM으로부터 상속하고 미리 결정된 상속 규칙(inheritance rule)을 따르는 것에 의해 다른 GDM을 효과적으로 "커스터마이즈(customize)"할 수 있다. 본 명세서에서 자녀 또는 후손 GDM으로도 언급되는 상속하는 GDM은 커스터마이즈된 맵핑 요소만을 사용하여 한정될 수 있고, 부모 또는 조상 GDM으로부터 상속된 임의의 맵핑 요소는 부모/조상 GDM에 한정된다.
그리하여 여행 소매업자와 같은 개체는 글로벌 또는 디폴트 GDM에 대한 전체 데이터 맵핑을 한정하는 데에만 요구될 수 있고, 이후 새로운 데이터 맵핑이 (예를 들어, 새로운 전개를 위해) 요구될 때마다, 이 개체는 한정된 계층으로부터 적절한 GDM을 선택하고, 원하는 라인만을 커스터마이즈하는 것에 의해 이전에 선택된 것으로부터 상속하는 새로운 GDM을 생성하기만 하면 된다.
도시된 실시예에서, GDM의 계층은 다운스트림/타깃 시스템마다 특정될 수 있다. 그러나, 다른 실시예에서, 특정 타깃 시스템에 대한 모든 GDM은 타깃에 독립적인 하나 이상의 마스터 GDM으로부터 상속할 수 있다.
상속을 통해 관련된 GDM은 GDM의 계층적 집합체인 것으로 고려될 수 있고, 예를 들어, 트리(tree)로 표현될 수 있다. 예를 들어, 도 4는 특정 기업 또는 조직에 대한 지리적 특이성을 캡처하여, 예를 들어, 하나 이상의 구역-특정 GDM(114)을 사용하여 특정 지리적 구역에 대해, 및 하나 이상의 국가-특정 GDM(116)을 사용하여 각 구역에 대해 마스터 기업-범위(wide)의 GDM(112)을 한정하고 변경한, 예시적인 GDM 계층적 집합(110)을 도시한다. 대안적으로, 도 5에 도시된 바와 같이, GDM 계층적 집합(120)은 마스터 국가에 및 기업에 독립적인 GDM(122)을 포함할 수 있고, 이는 이후 GDM(124)에 의해 상이한 지리적 구역에서는 변경되고, GDM(126)에 의해 특정 기업에서 더 변경된다.
상속을 제공하는 것에 의해, 새로운 전개를 하려면 재한정되거나 확장될 기존의 GDM에 커스터마이즈가능한 타깃 필드만을 종종 요구한다. 나아가, 기존의 계층을 유지하는 관점으로부터 보면, 다수의 GDM에 의해 상속된 하나의 GDM에 있는 공통 필드를 업데이트하면 일반적으로 다수의 개별 GDM의 업데이트를 요구하지 않는다.
상속을 지원하기 위해, 맵핑 중에서 상속되거나 및/또는 커스터마이즈될 수 있는 맵핑에 제약을 제공하는 것이 바람직할 수 있다. 예를 들어, 도시된 실시예에서 라인 또는 맵핑 요소는 판독 전용 라인으로 한정될 수 있는데, 이는 상속하는 GDM에 의해 변경되지 않거나(이에 의해 가장 중요한 타깃 필드에 부착을 보장하고, 필수 타깃 필드의 제거를 금지시킬 수 있다) 또는 부모 GDM에 의해 한정되고 자녀 GDM에 의해 커스터마이즈되도록 개방될 수 있는 커스터마이즈 가능한 라인(예를 들어, 전체 라인이 커스터마이즈되거나, 또는 라인의 일부분만이 커스터마이즈될 수 있다)에 의해 변경되지 않을 수 있다.
따라서, 도시된 실시예에서, 부모 GDM으로부터 상속하는 새로운 GDM은, 라인의 유형을 변화시키는 것(예를 들어, 커스터마이즈 가능한 라인을 판독 전용 라인으로 전환시키는 것)에 의해, 커스터마이즈 가능한 컨텐츠(예를 들어, 전체 라인 또는 라인의 일부)를 변화시키는 것에 의해, 라인 속성을 변화시키는 것에 의해, 또는 부모 라인, 부모 라인의 부모 등으로 아직 맵핑되지 않은 타깃 필드에 대응하는 새로운 라인을 추가하는 것에 의해 부모, 부모의 부모 등의 커스터마이즈 가능한 라인을 변경시키는 것이 가능할 수 있다.
예를 들어, 도 6은 (타깃 필드 Contact.FullName 및 BillingAddress.Line에 대해) 2개의 판독 전용 라인(132, 134) 및 (타깃 필드 UniqueID에 대해) 하나의 커스터마이즈 가능한 라인(136)을 포함하는 부모 GDM(130)을 포함하는 계층을 도시한다. 자녀 GDM(138)은 CustomField1을 UniqueID에 맵핑하는 것에 의해 커스터마이즈 가능한 라인(136'으로 표시)을 기입하고, CustomField2를 비고 필드(Remark field)에 맵핑하는 새로운 라인(140)을 추가한다. 또한, 도 7은 6개의 GDM(152-162)을 포함하는 보다 복잡한 계층(150)을 도시한다.
에러 위험(즉, 프로파일에서 고유한 발생을 가지는 타깃 필드가 2번 맵핑되는 것)을 감소시키기 위해, GDM이 생성되거나 또는 업데이트될 때마다 상속 계층의 일관성을 체크하는 것이 바람직할 수 있다. 이렇게 하면 바람직하게는 발행 동안 프로파일 거부를 최소화할 수 있다. 따라서, 예를 들어, GDM의 생성/업데이트에 응답하여, 계층에서 상위 GDM(부모 GDM, 부모의 부모 등)을 분석하여 임의의 상속 규칙이 충족되지 않는지를 검출하고, 그럴 경우 생성/업데이트를 거부한다. 더욱이, 계층에서 하위 GDM(이 GDM으로부터 또는 이 GDM으로부터 자체적으로 상속하는 GDM 등으로부터 상속하는 모든 GDM)에서 업데이트는 상속 GDM으로 자동적으로 및 동적으로 전파될 수 있고, 이에 의해 상속 GDM은 상속 규칙을 충족하기 위하여 업데이트된다. 따라서, 예를 들어, GDM에서 타깃 필드 '비고'를 맵핑하는 새로운 라인이 추가되면, 이 타깃 필드를 이미 맵핑한 모든 상속하는 GDM은 이 특정 라인을 상실할 수 있다.
도 8에 도시된 바와 같이, 예를 들어, GDM(156)의 업데이트는 부모 GDM(152)과 일관성이 체크될 것을 요구하고, 이에 따라 업데이트된 라인이 GDM(162)으로 전파되게 한다. 또한, GDM(160)의 업데이트는 부모 GDM(154)과 증조부 GDM(152)과 일관성이 체크될 것을 요구한다.
더욱이, 전술된 바와 같이, 본 발명에 따른 GDM 모델은 여행자 프로파일을 특정 타깃 시스템으로 발행하는 동안 사용하기 위한 데이터 맵핑을 동적으로 생성하는 것을 더 지원한다. 특히, 도시된 실시예에서, 한정된 일관적인 계층적 GDM 모델에서, 발행 동안 사용될 특정 GDM은 GDM의 라인 또는 맵핑 요소 및 임의의 조상 GDM의 라인 또는 맵핑 요소에 기초하여 연산될 수 있다. 특정 GDM은 일반적으로 부모, 부모의 부모 등의 판독 전용 라인, 특정 GDM에 재한정된 커스터마이즈 가능한 라인, 및 부모에 재한정되고 그 자녀에 재한정되지 않은 커스터마이즈 가능한 라인, 부모의 부모에 재한정되고 자녀에 재한정되지 않은 커스터마이즈 가능한 라인 등을 추가하는 것일 수 있다. 더욱이, 전술된 상속 규칙 및 동적 일관성 공정으로 인해, 병합 공정은 일반적으로 임의의 충돌 없이 및 GDM 계층에서 일관성을 더 체크할 필요 없이 수행될 수 있어, 이에 의해, 특정 GDM을 동적으로 생성하는 것을 촉진할 수 있다.
도 9는, 예를 들어, 조상 GDM(152, 154)로부터 라인 또는 맵핑 요소를 포함하는 GDM(160)으로부터 생성된 병합된 GDM(164), 및 조상 GDM(152, 156)으로부터 라인 또는 맵핑 요소를 포함하는 GDM(162)로부터 생성된 병합된 GDM(166)을 도시한다.
본 명세서에 설명된 계층적 및 동적 제너릭 데이터 맵핑 모델의 여러 특징은 일부 실시예에서 생략될 수 있고, 추가적인 특징은 본 발명의 사상과 범위를 벗어남이 없이 포함될 수 있는 것으로 이해된다. 그리하여, 본 발명은 본 명세서에 개시된 특정 제너릭 데이터 맵핑 모델로 제한되지 않는다.
대화식 관리
본 명세서에 설명된 제너릭 데이터 맵핑 모델은 확장가능하고 타깃에 독립적인 특성이 있는 것으로 인해, GDM의 관리는 종종 비-기술자인 유저, 예를 들어, 타깃 시스템 직원에 의해 수행될 수 있을 만큼 충분히 간단하고 직관적이다. 예를 들어, 비-기술자인 여행사 직원에 의해 예를 들어, 제너릭 데이터 맵핑 모델에 의해 한정된 GDM을 유저가 생성, 검색, 업데이트, 삭제 및 검색할 수 있게 하는 GDM 웹 서비스를 지원하는 것이 바람직할 수 있다.
더욱이, 본 발명에 따른 실시예는 GDM이 생성되거나 또는 변경되자마자 발행 공정에 GDM을 사용하는 것을 지원하여, 일반적으로 사람이 개입함이 없이 GDM으로부터 발행 데이터 맵핑을 요구시 생성할 수 있다. 예를 들어, 도 10은, GDM으로부터, 본 명세서에서 생성된 데이터 맵핑이라고도 언급되는 발행 데이터 맵핑을 동적으로 생성하는 것을 도시한다. 특히, 데이터 맵핑 생성기 컴포넌트(170)는 타깃 시스템과 연관된 GDM(172)에 액세스하고, 이로부터, 프로파일 데이터를 소스 프로파일(178)로부터 타깃 프로파일(180)로 변환하기 위해 데이터 변환 컴포넌트(176)에 의해 사용하기에 적절한 생성된 또는 발행 데이터 맵핑(174)을 생성한다. GDM은 보다 데이터 맵핑의 논리적 뷰인 것으로 고려될 수 있는 반면, 생성된 또는 발행 데이터 맵핑은 보다 다운스트림 발행 시스템에서 사용하기 위해 구체적으로 채용된 데이터 맵핑의 특정 뷰인 것으로 고려될 수 있는 것으로 이해된다. 그리하여, 발행 또는 제너릭 데이터 맵핑을 생성하는 것은, 예를 들어, 다운스트림 발행 시스템에 사용하기에 적절한 데이터 맵핑을 생성하는 추가적인 동작을 요구할 수 있다.
더욱이, GDM에 이루어진 변형이 바로 이용가능한 것을 보장하기 위하여, 동적으로 그리고 진행 중에, 예를 들어, 발행 데이터 맵핑이 사용될 때마다 발행 데이터 맵핑을 생성하는 것이 바람직할 수 있다. 예를 들어, 일부 실시예에서, 프로파일의 발행은, 예를 들어, 모든 다운스트림/타깃 시스템이 타이밍에 맞게 프로파일에 업데이트를 수신하는 것을 보장하기 위하여 프로파일에 있는 데이터가 소스 시스템에서 업데이트되는 시간에 수행될 수 있다.
일부 실시예에서, 예를 들어, 프로파일이 자주 발행되는 경우, 각 프로파일 발행과 관련하여 발행 데이터 맵핑을 동적으로 생성하면, 상당한 시스템 오버헤드를 야기할 수 있다. 이러한 경우에, 이전에-생성된 발행 데이터 맵핑을 캐싱하는 캐싱 메커니즘(caching mechanism)을 추가적으로 포함하여 이에 의해 후속 프로파일 발행에 재사용을 허용하는 것이 바람직할 수 있다. 캐싱 메커니즘을 사용하는 것을 통해, 발행 데이터 맵핑은, 연관된 GDM, 또는 그 조상 중 하나가 발행 데이터 맵핑의 마지막 사용 이후 변화될 때에만 생성될 필요가 있을 수 있다.
도 11은, 예를 들어, (예를 들어, GDM을 사용하는 프로파일의 발행과 관련하여) 특정 GDM에 대한 발행 데이터 맵핑을 검색하는 요청에 응답하여 실행될 수 있는 데이터 맵핑 생성 루틴(200)을 도시한다. 제일 먼저, 블록(202)에서, 참조된 GDM에 대한 임의의 조상 GDM이 변화되었는지 여부를 결정한다. 만약 변화되었다면, 제어는 블록(204)으로 진행하여 이 변화를 참조된 GDM으로 전파한다. 이후, 블록(202)에서 변화가 검출되지 않았다면, 제어는 블록(206)으로 진행하여 참조된 GDM에 액세스하고 참조된 GDM에 변화가 일어났는지 여부를 결정한다. 만약 변화가 일어났다면, 제어는 블록(208)으로 진행하여 통합된(또는 병합된) GDM 뷰를 구축하고, 이후 블록(210)으로 진행하여 통합된 GDM 뷰로부터 발행 데이터 맵핑을 생성하고 발행 데이터 맵핑을 캐시에 저장한다. 제어는 이후 블록(212)으로 진행하여, 요청에 응답하여, 생성된 발행 데이터 맵핑을 리턴하고, 루틴(200)이 종료된다.
블록(206)으로 리턴한 후, GDM이 변화되지 않은 것으로 결정되면, 제어는 블록(214)으로 진행하여 참조된 GDM에 대응하는 발행 데이터 맵핑의 캐싱된 버전이 현재 캐싱되었는지 여부를 결정한다. 만약 캐싱되지 않았다면, 제어는 블록(208)으로 진행하여 발행 데이터 맵핑을 생성한다. 그렇지 않은 경우, 블록(214)은 제어를 블록(212)으로 전달하고, 이 블록(212)은 요청에 응답하여 발행 데이터 맵핑의 캐싱된 사본을 리턴한다.
그리하여, GDM에 변화가 일어날 때마다, 대응하는 발행 데이터 맵핑의 임의의 캐싱된 사본은 폐기되고 새로이 생성된 발행 데이터 맵핑으로 대체될 수 있다. 캐시는 제한된 사이즈를 더 구비할 수 있고, 그리하여, 버려진(cast-out) 발행 데이터 맵핑이 사용된 마지막 시간 이후 다른 발행 데이터 맵핑이 캐시에 추가된 결과 버려진 경우, 발행 데이터 맵핑이 캐시에 존재하지 않을 수 있는 것으로 이해된다.
전술된 동적 및 계층적 제너릭 데이터 맵핑 모델은 본 발명에 따라 다수의 상이한 방식으로 구현될 수 있다. 예를 들어, 이후 하이라이트된 일 구현에서, 프로파일 데이터 변환은 XSLT(Extensible Stylesheet Language Transformation) 프로세서로 여행자 프로파일의 XML 직렬화된 형태에 XML(Extensible Markup Language) 변환을 적용하여 수행될 수 있다. 따라서, 발행 데이터 맵핑은 GDM으로부터 생성된 XSLT 스타일시트로 구현될 수 있다.
도 12에 도시된 바와 같이, 예를 들어, 프로파일의 발행은 직렬화기(222)로 GDM(220)을 직렬화하여 직렬화된 GDM(224)을 생성하는 것을 포함할 수 있다. 이후 XSLT 생성기(228)를 사용하여 XML 변환(226)이 수행되어 XSLT 스타일시트의 형태를 구비하는 발행 또는 생성된 데이터 맵핑(230)이 생성된다. XSLT 생성기 그 자체는 XML 직렬화된 GDM(224)을 데이터 맵핑에 사용된 XSLT 스타일시트(230)로 변환할 수 있는 스타일시트이다.
다음으로, 소스 프로파일(232)의 발행 동안, 소스 프로파일은 직렬화기(234)에 의해 직렬화되어 직렬화된 프로파일(236)이 생성되고, 이후 발행 데이터 맵핑(230)을 사용하여 XML 변환(238)이 수행되어 변환된 직렬화된 프로파일(240)이 생성된다. 병렬화기(242)는 프로파일을 병렬화하여, 타깃 여행자 프로파일(246)을 생성한다.
일반적으로, XSLT 생성기 스타일시트의 개수는 데이터 맵핑의 볼륨에 의존하지 않기 때문에 많은 데이터 맵핑을 생성하는데 적은 XSLT 생성기 스타일시트가 요구된다. 따라서 이것은 종종 이러한 스타일시트를 수동으로 기록하고 유지하기에 충분하다. 본 명세서에 설명된 GDM으로부터 XSLT-포맷 발행 데이터 맵핑을 생성하기에 적절한 XSLT 생성기 스타일시트를 생성하는 것은 본 발명의 이익을 가지는 이 기술 분야에 통상의 지식을 가진 자의 능력 안에 있는 것으로 이해된다.
이 구현에서 GDM은 도 13에 한정된 객체 모델을 포함할 수 있는 반면, GDM(250)은 하나 이상의 자유 텍스트 요소(256) 및 소스 데이터 요소(258)를 각각 포함하는 하나 이상의 그룹(254)과 각각 연관된 복수의 타깃 데이터 요소(252)를 포함한다. 이들 요소들은 결합(combine)되어 하나 이상의 맵핑 요소 또는 라인을 형성하고 이 하나 이상의 맵핑 요소 또는 라인은 타깃 필드 참조를 특정 타깃 시스템에 희망하는 여러 결합(binding), 그룹화 및 변환을 통해 하나 이상의 소스 필드 참조로 맵핑한다. 이 구현에서 그룹은 자유 텍스트 및 소스 필드 참조의 혼합된 시퀀스이고, 소스 데이터를 그룹화하는 것은 그룹의 하나의 소스 필드가 한정되지 않은 경우 전체 그룹이 폐기되도록 데이터 맵핑의 결과에 영향을 미친다.
메모리 내 구조화된 데이터, XML 문서 및 지속적인 저장매체를 포함하는 관리 서비스 및 발행 공정에 필요한 모든 상이한 표현에 동일한 객체 모델이 사용된다. 더욱이, 이 구현에서 GDM의 계층적 집합은 기업 및 지리적 특이성과 매칭하기 위해 2개의 레벨에서 상속 트리를 형성한다. 제1 레벨에서 하나의 마켓(예를 들어, 지리적 구역)에 커스터마이즈가능하고 특정된 표준 GDM이 있고, 제2 레벨에서는 하나의 표준 GDM으로부터 상속하고 단일 기업의 여행자 프로파일에 적용할 커스터마이즈가능한 부분을 기입하는 커스텀 GDM이 있다.
커스터마이즈는 이 실시예에서 2개의 레벨에서 허용된다. 제일 먼저, 라인 또는 맵핑 요소 레벨에서 및 그룹 레벨에서 허용된다. 후자의 레벨에서, 완료가능한 라인(complete-able line)은 하나 이상의 커스터마이즈 가능한 그룹을 포함하는 것으로 고려될 수 있다. 라인 또는 그룹이 커스터마이즈 가능한지 여부를 식별하기 위해, 특수한 속성(isCustom)이 사용될 수 있다. 이 특수한 속성이 거짓(False)으로 설정된 경우, 라인/그룹은 변경될 수 없고, 이 경우에 모든 변경은 서버에 의해 거부될 수 있다. 커스텀 라인에서, isCustom 속성은 라인 레벨에 한정되고, 완료가능한 라인에서, isCustom 속성은 그룹 레벨에 한정된다. 예를 들어, 도 14에 도시된 바와 같이, 표준 GDM(260)은 3개의 맵핑 요소(262, 264 및 266)로 한정될 수 있다. 맵핑 요소(262)는 판독 전용이고, 여행자 성명을 맵핑하는데 사용되고, 2개의 그룹, 즉 이름(first name)과 "/" 문자의 연쇄에 대한 하나의 그룹과, 성씨(last name)에 대한 하나의 그룹을 포함한다. 맵핑 요소(264)는 완료가능한 라인이고, 국가에 대한 하나의 판독 전용 그룹과, 커스텀 GDM(268)과 맵핑 요소(270)로 도시된 바와 같이 도시(city)를 포함하도록 커스터마이즈될 수 있는 하나의 커스터마이즈가능한 그룹을 포함한다. 맵핑 요소(266)는 비고 그룹(remark group)을 포함하도록 GDM(268)의 맵핑 요소(272)로 도시된 바와 같이 커스터마이즈될 수 있는 커스텀 라인이다.
이 실시예에서, 커스텀 GDM의 일관성을 보장하는 것은 커스텀 GDM이 표준 GDM의 커스텀 라인 또는 완료가능한 라인만을 한정하였는지를 검증하는 것을 포함할 수 있다. 더욱이, 표준 GDM에 있는 라인과 커스텀 GDM에 있는 라인 사이에 대응 관계를 발견하는 것을 촉진하기 위해, 고유한 식별자(또는 문신(tattoo))가 생성/업데이트 시간에 발행 프레임워크에 의해 각 라인 및 각 그룹에 할당될 수 있다. 그리하여, 도 14에 도시된 바와 같이, 커스텀 GDM은 이것이 재한정하는 라인이나 그룹의 식별자(ID)를 지정할 수 있다.
따라서, 라인 및 그룹 식별자에 기초하여, 커스텀 GDM의 검증은 상대적으로 간단할 수 있다. 예를 들어, 커스텀 GDM은 이것이 한정하는 라인/그룹 식별자가 이미 표준 GDM에 존재하고 이들 식별자가 커스터마이즈가능한 라인/그룹에만 대응하는 경우 유효한 것으로 결정될 수 있다.
발행에 사용될 제너릭 데이터 맵핑을 자동으로 연산하는 것은 계층의 일관성 및 라인/그룹의 식별자에 의존할 수 있다. 특히, 도 14에 더 도시된 바와 같이, 병합된 GDM(274)은 커스텀 GDM(268)에 한정된 모든 라인/그룹 및 표준 GDM(260)에 한정되고 커스텀 GDM(268)에 아직 한정되지 않은 모든 라인/그룹을 포함할 수 있다. 따라서, 병합된 GDM(274)은 표준 GDM(260)으로부터 맵핑 요소(262)를 포함하고, 커스텀 GDM(268)으로부터의 맵핑 요소(272), 및 맵핑 요소(270)에 의해 맵핑 요소(264)의 커스터마이즈한 것으로 생성된 병합된 맵핑 요소(276)를 오버라이드(override)하는 것을 포함할 수 있다.
표준 GDM으로부터 커스텀 GDM으로 업데이트를 전파하기 위하여, 일관성을 유지하기 위하여 커스텀 GDM으로부터의 맵핑 요소를 폐기하는 것이 필요할 수 있다. 예를 들어, 도 15에 도시된 바와 같이, 표준 GDM(280)이 오버라이드한 맵핑 요소(288, 290)를 구비한 커스텀 GDM(286)에 의해 오버라이드된, 변하지 않는 맵핑 요소(282) 및 맵핑 요소(284)를 포함하는 경우, (표준 GDM(280')의 맵핑 요소(284')로 도시된) 맵핑 요소(284)가 변경되면 (286')으로 도시된 바와 같이 커스텀 GDM(286)의 맵핑 요소(290)가 폐기될 수 있다.
이 동작은 식별자에 기초하여 더 구현될 수 있다. 예를 들어, 표준 GDM이 업데이트되고 있을 때, 라인/그룹 식별자는 라인/그룹이 (맵핑 요소(282)에서와 같이) 변화되지 않은 경우 보존될 수 있다. 더욱이, 라인/그룹이 (맵핑 요소(284')에서와 같이) 변화된 경우 라인/그룹 식별자가 재생성될 수 있다. 또한, 표준 GDM의 업데이트를 커스텀 GDM으로 전파하기 위해, 라인/그룹 식별자가 표준 GDM에 여전히 존재하는 경우, 라인/그룹은 (맵핑 요소(288)에서와 같이) 보존되고, 라인/그룹 식별자가 표준 GDM에 더 이상 존재하는 경우(이는 라인/그룹이 변경되거나 삭제된 것을 의미함), 라인/그룹이 (맵핑 요소(290)에서와 같이) 커스텀 GDM에 보존되지 않는다.
데이터 맵핑을 전개하고 유지하는 것을 타깃 개체 또는 고객에 위임하기 위해, 웹 서비스 인터페이스는 표준 제너릭 데이터 맵핑의 생성/업데이트/삭제, 커스텀 제너릭 데이터 맵핑의 생성/업데이트/삭제, 주어진 마켓과 연관된 리스트에 존재하는 표준 GDM, 주어진 기업 및 선택적으로 마켓과 연관된 리스트에 존재하는 커스텀 GDM과 같은 원격 동작을 제안하는데 사용될 수 있다. 웹 서비스는 발행을 관리하는 그래픽 인터페이스를 더 포함할 수 있다. 따라서, 고객 또는 타깃 개체 자신이 제너릭 데이터 맵핑 및 제어 프로파일 발행을 관리할 수 있다.
웹 서비스는, 예를 들어, 최종-유저에 의해 생성된 GDM을 홀딩하는 지속적인 저장매체와 상호작용하는 관리 서버에 의해 호스트될 수 있다. 발행 시스템은 동일한 지속적인 저장매체에 액세스하여 대응하는 발행 데이터 맵핑이 생성된 GDM을 추출할 수 있다(예를 들어, 도 1 참조, 직접 원격 호출을 지원하는 API(38), 및 웹-기반 관리 GUI를 지원하는 관리 GUI(38)를 제공하는 데이터 맵핑 관리 컴포넌트(30) 참조).
웹 서비스는 XML 포맷을 사용하여 클라이언트와 서버 사이에 메시지를 교환할 수 있다. XML 포맷은 전술된 GDM 모델과 동일한 구조를 따를 수 있다. 예시적인 웹 인터페이스는 도 16에서 (300)으로 더 도시되고, 타깃 식별자, 부모 GDM 식별자 및 커스터마이즈가능한 GDM 식별자를 입력하는 제어부를 포함하고, 타깃 필드와 소스 필드를 선택하고 맵핑하는 제어부를 포함한다.
전술된 다른 실시예에서와 같이, 표준/커스텀 GDM으로부터 업데이트는 발행 프레임워크에서 동시에 고려될 수 있다. 일부 실시예에서, 데이터 맵핑은 표준/커스텀 GDM이 변경될 때마다 재생성될 수 있지만, 표준 GDM이 표준 GDM으로부터 상속하는 상당한 개수의 커스텀 GDM을 구비하는 경우, 모든 커스텀 GDM을 업데이트하는 지연은 상당할 수 있고, 이 지연 동안 도달하는 프로파일 발행은 추가적인 보호조치를 수행할 필요 없이 최후 GDM을 사용하는 것이 보장되지 않을 수 있다.
그리하여, 이 구현에서, 도 17에 도시된 바와 같이 발행 시간에 동적으로 및 진행 중에 데이터 맵핑을 생성하는 것이 바람직할 수 있다. 구체적으로, 고객 서버(310)에 의해 여행자 프로파일의 업데이트에 응답하여(단계 1), 프로파일 발행 컴포넌트(312)는, 제일 먼저, 프로파일에의 업데이트를 요청자에 컨펌(confirm)하고, 두 번째로, 데이터 맵핑 생성 컴포넌트(314)로부터 발행 데이터 맵핑을 요청할 수 있다(단계 2). 컴포넌트(314)는 타깃 시스템(320)에 대한 커스텀 GDM(316)이 변화되었는지 여부를 결정하고(단계 3), 이후 이 커스텀 GDM이 기초로 하는 표준 GDM(318)이 변화되었는지 여부를 결정한다(단계 4).
표준 GDM(318)이 변화되었다면, 이 정보는 커스텀 GDM(316)으로 다시 운반되고, 이후 새로운 표준 GDM을 검색하고(단계 5) 업데이트된 커스텀 GDM을 업데이트하고 저장한다(단계 6). 커스텀 GDM(316)은 변화된 상태를 나타내는 컴포넌트(314)에 응답하고, 컴포넌트(314)는 새로운 커스텀 GDM을 검색하고(단계 7), 이 새로운 커스텀 GDM은, 표준 GDM과 커스텀 GDM을 병합하고 병합된 GDM을 컴포넌트(314)로 리턴하는 것(단계 8)에 의해 커스텀 GDM에 의해 처리된다. 컴포넌트(314)는 발행 데이터 맵핑을 재연산하고 저장하고, 발행 데이터 맵핑을 프로파일 발행 컴포넌트(312)로 리턴한다(단계 9). 컴포넌트(312)는 데이터 맵핑을 업데이트된 프로파일에 적용하여, 업데이트된 프로파일을 타깃 포맷으로 변환하고(단계 10), 업데이트된 프로파일을 다운스트림 타깃 시스템(320)으로 발행한다(단계 11).
전술된 구현은, 예를 들어, 다수의 여행 소매업자, 예를 들어, 여행사가, 여행자를 사용하는 여러 기업을 위하여 여행하는 종업원 또는 여행자에 여행 서비스를 제공할 수 있게 하는데 사용될 수 있다. 이런 점에서, 많이 기술적으로 복잡하지 않을 수 있는 여행 소매업자 유저는, 데이터 맵핑이 여행 소매업자 자신에 의해 여러 다운스트림 시스템에 대해 생성되고 업데이트될 수 있게 하는 상대적으로 간단하고 직관적인 인터페이스를 구비할 수 있다. 그러나, 본 발명은 프로파일 데이터를 중앙 레포지토리로부터 여러 다운스트림 시스템으로 발행하는 것이 바람직할 수 있는 다른 여행-관련된 서비스와 관련하여 사용될 수 있는 것으로 이해된다. 그리하여, 본 발명은 본 명세서에 개시된 특정 응용으로 제한되지 않는다.
본 발명의 이익을 가지는 이 기술 분야에 통상의 지식을 가진 자에게는 다른 변형을 구현할 수 있는 것이 명백하다. 그러므로, 본 발명은 이후 첨부된 청구범위에 의해 한정된다.

Claims (16)

  1. 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터(profile data)를 발행(publish)하는데 사용하기 위한 발행 데이터 맵핑(publication data mapping)을 생성하는 방법으로서, 상기 소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성되고, 상기 방법은,
    제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소(mapping element)를 한정하고, 복수의 맵핑 요소에 있는 각 맵핑 요소는 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손(descendent)이고, 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소에 맵핑하는 제2 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제2 제너릭 데이터 맵핑으로부터 제2 맵핑 요소를 상속(inherit)하는, 제너릭 데이터 맵핑(generic data mapping)의 계층적 집합(hierarchical collection)으로부터 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 단계; 및
    발행 데이터 맵핑은 제1 및 제2 제너릭 데이터 맵핑에 한정된 제1 및 제2 맵핑 요소에 기초하여 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 타깃 시스템을 위한 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환(convert)하도록 구성되어, 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 발행 데이터 맵핑을 동적으로 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 발행 데이터 맵핑을 사용하여 타깃 시스템을 위한 타깃 프로파일 데이터로 전환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    발행 데이터 맵핑을 동적으로 생성하는 단계는 소스 시스템에 있는 여행자에 대한 소스 프로파일을 업데이트한 것에 응답하여 수행되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    소스 프로파일 데이터를 전환하는 단계는 소스 프로파일을 타깃 프로파일로 전환하는 것을 포함하고, 발행 데이터 맵핑은 XSLT 스타일시트(stylesheet)를 포함하고 소스 프로파일과 타깃 프로파일은 각각 XML 문서를 포함하는 것을 특징으로 하는 방법.
  5. 제2항에 있어서,
    제1 맵핑 요소는 소스 시스템으로부터 제1 타깃 데이터 요소로 제1 및 제2 소스 데이터 요소를 결합(bind)하는 그룹을 포함하고, 소스 프로파일 데이터를 타깃 프로파일 데이터로 전환하는 단계는 제1 소스 데이터 요소와 연관된 소스 프로파일 데이터가 존재하지 않는 것으로 결정된 것에 응답하여 제2 소스 데이터 요소와 연관된 소스 프로파일 데이터를 폐기하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제2항에 있어서,
    제1 맵핑 요소는 소스 시스템으로부터의 제1 소스 데이터 요소와 자유 텍스트를 타깃 시스템으로부터의 제1 타깃 데이터 요소에 결합하는 그룹을 포함하고, 소스 프로파일 데이터를 타깃 프로파일 데이터로 전환하는 단계는 제1 소스 데이터 요소와 연관된 소스 프로파일 데이터가 존재하지 않는 것으로 결정된 것에 응답하여 자유 텍스트를 폐기하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    소스 프로파일 데이터는 여행자에 대한 프로파일과 연관되고, 상기 방법은,
    타깃 프로파일 데이터를 타깃 시스템으로 통신하는 것에 의해 프로파일을 발행하는 단계;
    발행 데이터 맵핑을 동적으로 생성한 후 발행 데이터 맵핑을 캐싱(caching)하는 단계; 및
    발행 데이터 맵핑이 캐싱된 것으로 결정된 것에 응답하여 제2 프로파일을 발행하기 위해 발행 데이터 맵핑을 재사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    소스 프로파일 데이터는 여행자에 대한 프로파일과 연관되고, 상기 방법은,
    타깃 프로파일 데이터를 타깃 시스템으로 통신하는 것에 의해 프로파일을 발행하는 단계;
    발행 데이터 맵핑을 동적으로 생성한 후 발행 데이터 맵핑을 캐싱하는 단계; 및
    발행 데이터 맵핑을 동적으로 생성하는데 사용된 적어도 하나의 제너릭 데이터 맵핑이 변화된 것으로 결정된 것에 응답하여 제2 프로파일을 발행하는 것과 관련하여 발행 데이터 맵핑을 동적으로 재생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    제2 제너릭 데이터 맵핑은 제3 맵핑 요소를 포함하고, 제1 맵핑 요소는 제3 맵핑 요소를 오버라이드(override)하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    제2 맵핑 요소는 제1 제너릭 데이터 맵핑내의 제2 맵핑 요소의 오버라이드가 금지되도록 판독 전용인 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    계층적 집합에 있는 각 제너릭 데이터 맵핑은 글로벌 제너릭 데이터 맵핑, 조직-특정 제너릭 데이터 맵핑 및 구역-특정 제너릭 데이터 맵핑으로 구성된 그룹으로부터 선택된 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    타깃 시스템과 연관된 유저로부터 수신된 입력에 응답하여 제1 및 제2 제너릭 데이터 맵핑 중 적어도 하나를 업데이트하는 단계; 및
    제1 제너릭 데이터 맵핑이 제2 제너릭 데이터 맵핑의 후손인 것에 기초하여 제2 제너릭 데이터 맵핑을 제1 제너릭 데이터 맵핑으로 업데이트할 때 이루어진 변화를 자동적으로 전파하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    변화를 자동적으로 전파하는 단계는 제1 제너릭 데이터 맵핑에 기초하여 발행 데이터 맵핑을 사용하여 프로파일을 발행하는 요청에 응답하여 수행되는 것을 특징으로 하는 방법.
  14. 적어도 하나의 프로세서; 및
    소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성되고, 적어도 하나의 프로세서에 의해 실행될 때 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터를 발행할 때 사용하기 위한 발행 데이터 맵핑을 생성하도록 구성되는 프로그램 코드를 포함하는 장치이며, 상기 프로그램 코드는,
    제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소를 한정하고, 복수의 맵핑 요소에 있는 각 맵핑 요소는 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손이고, 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소로 맵핑하는 제2 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제2 제너릭 데이터 맵핑으로부터 제2 맵핑 요소를 상속하는, 제너릭 데이터 맵핑의 계층적 집합으로부터 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 동작; 및
    발행 데이터 맵핑은, 제1 및 제2 제너릭 데이터 맵핑에 한정된 제1 및 제2 맵핑 요소에 기초하여 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 타깃 시스템을 위한 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환하도록 구성되어, 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 발행 데이터 맵핑을 동적으로 생성하는 동작에 의하여,
    발행 데이터 맵핑을 생성하도록 구성된 것을 특징으로 하는 장치.
  15. 컴퓨터 판독가능한 매체; 및
    소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성되고, 실행시 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터를 발행하는데 사용하기 위한 발행 데이터 맵핑을 생성하도록 구성되는, 컴퓨터 판독가능한 매체에 저장된 프로그램 코드를 포함하는 프로그램 제품이며, 상기 프로그램 코드는,
    제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소를 한정하고, 복수의 맵핑 요소에 있는 각 맵핑 요소는 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 제1 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제너릭 데이터 맵핑의 계층적 집합에 있는 제2 데이터 맵핑의 후손이고, 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소에 맵핑하는 제2 맵핑 요소를 한정하고, 제1 제너릭 데이터 맵핑은 제2 제너릭 데이터 맵핑으로부터 제2 맵핑 요소를 상속받는, 제너릭 데이터 맵핑의 계층적 집합으로부터 타깃 시스템과 연관된 제1 제너릭 데이터 맵핑에 액세스하는 동작; 및
    발행 데이터 맵핑은, 제1 및 제2 제너릭 데이터 맵핑에 한정된 제1 및 제2 맵핑 요소에 기초하여 소스 시스템으로부터 여행자에 대한 소스 프로파일 데이터를 타깃 시스템을 위한 제1 및 제2 타깃 데이터 요소와 연관된 타깃 프로파일 데이터로 전환하도록 구성되어, 제1 및 제2 제너릭 데이터 맵핑에 적어도 기초하여 발행 데이터 맵핑을 동적으로 생성하는 동작에 의하여,
    발행 데이터 맵핑을 생성하도록 구성된 것을 특징으로 하는 프로그램 제품.
  16. 소스 시스템으로부터 복수의 타깃 시스템 중 하나의 타깃 시스템으로 여행자 프로파일 데이터를 발행하는데 사용하기 위한 발행 데이터 맵핑을 생성하는 방법으로서, 상기 소스 시스템은 복수의 여행자에 대한 프로파일 데이터를 저장하도록 구성되고, 상기 방법은,
    여행자 프로파일을 업데이트한 것에 응답하여, 프로파일 발행 컴포넌트가 데이터 맵핑 생성 컴포넌트로부터 발행 데이터 맵핑을 요청하는 단계;
    제너릭 데이터 맵핑의 계층적 집합은 복수의 맵핑 요소를 한정하고, 복수의 맵핑 요소에 있는 각 맵핑 요소는 소스 시스템으로부터의 적어도 하나의 소스 데이터 요소와 타깃 시스템으로부터의 타깃 데이터 요소 사이의 관계를 한정하고, 커스텀 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제1 타깃 데이터 요소에 맵핑하는 제1 맵핑 요소를 한정하고, 커스텀 제너릭 데이터 맵핑은 제너릭 데이터 맵핑의 계층적 집합에 있는 표준 제너릭 데이터 맵핑의 후손이고, 제2 제너릭 데이터 맵핑은 적어도 하나의 소스 데이터 요소를 제2 타깃 데이터 요소에 맵핑하는 제2 맵핑 요소를 한정하고, 커스텀 제너릭 데이터 맵핑은 표준 제너릭 데이터 맵핑으로부터 제2 맵핑 요소를 상속하는, 데이터 맵핑 생성 컴포넌트가 제너릭 데이터 맵핑의 계층적 집합으로부터 타깃 시스템과 연관된 커스텀 제너릭 데이터 맵핑에 액세스하는 단계;
    표준 제너릭 데이터 맵핑이 변화되었는지 여부를 결정하는 단계;
    표준 제너릭 데이터 맵핑이 변화된 경우, 커스텀 제너릭 데이터 맵핑을 표준 제너릭 데이터 맵핑의 변화로 업데이트하는 단계;
    표준 제너릭 데이터 맵핑 및 커스텀 제너릭 데이터 맵핑을 병합하고, 병합된 제너릭 데이터 맵핑을 데이터 맵핑 생성 컴포넌트에 리턴하고, 이 병합된 제너릭 데이터 맵핑을 데이터 맵핑 컴포넌트에 저장하고 이 병합된 제너릭 데이터 맵핑을 프로파일 발행 컴포넌트에 더 리턴하는 단계; 및
    프로파일 발행 컴포넌트가 병합된 제너릭 데이터 맵핑을 업데이트된 프로파일에 적용하여 타깃 시스템에 따라 이 병합된 제너릭 데이터 맵핑을 타깃 프로파일로 전환하고 전환된 업데이트된 프로파일을 타깃 시스템에 발행하는 단계를 포함하는 것을 특징으로 하는 발행 데이터 맵핑을 생성하는 방법.
KR20157004888A 2012-08-02 2013-07-22 여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑 KR20150040960A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP12368016.7A EP2693391A1 (en) 2012-08-02 2012-08-02 Dynamic and hierarchical generic data mapping for traveler profile publication
US13/565,102 US20140039943A1 (en) 2012-08-02 2012-08-02 Dynamic and hierarchical generic data mapping for traveler profile publication
US13/565,102 2012-08-02
EP12368016.7 2012-08-02
PCT/EP2013/002160 WO2014019649A1 (en) 2012-08-02 2013-07-22 Dynamic and hierarchical generic data mapping for traveler profile publication

Publications (1)

Publication Number Publication Date
KR20150040960A true KR20150040960A (ko) 2015-04-15

Family

ID=48900936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20157004888A KR20150040960A (ko) 2012-08-02 2013-07-22 여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑

Country Status (4)

Country Link
KR (1) KR20150040960A (ko)
AU (1) AU2013299003A1 (ko)
CA (1) CA2877778A1 (ko)
WO (1) WO2014019649A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531555B2 (en) * 2021-03-26 2022-12-20 International Business Machines Corporation Selective pruning of a system configuration model for system reconfigurations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2470593A (en) * 2009-05-28 2010-12-01 British Broadcasting Corp Provision of runtime bindings for software objects with polymorphic types.

Also Published As

Publication number Publication date
CA2877778A1 (en) 2014-02-06
WO2014019649A1 (en) 2014-02-06
AU2013299003A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
US20210049190A1 (en) System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment
US9256655B2 (en) Dynamic access of data
US8346747B2 (en) Extending database tables in a multi-tenant environment
US9870203B2 (en) Consumption layer for business entities
CN111897815A (zh) 一种业务处理方法和装置
JP5226770B2 (ja) 共有・カスタマイズ可能なマルチテナントデータのメモリ内キャッシング
US8176083B2 (en) Generic data object mapping agent
CN102770849B (zh) 当应用基于用户的安全性时优化数据高速缓存
US20100005074A1 (en) System and method for accessing data
US20120166976A1 (en) Dynamic User Interface Content Adaptation And Aggregation
US11163616B2 (en) Systems and methods for enabling interoperation of independent software applications
US9164776B2 (en) Dynamic determination of navigation targets in a flexible user interface environment
US20140157154A1 (en) Managing business objects
US10261808B2 (en) Access operation with dynamic linking and access of data within plural data sources
US9600299B2 (en) Application object framework
US20140039943A1 (en) Dynamic and hierarchical generic data mapping for traveler profile publication
CN109377157A (zh) 薪酬数据处理方法及装置、存储介质、电子设备
US10685019B2 (en) Secure query interface
US20140201135A1 (en) Access Control List (ACL) Generation for Replicated Data
US9946885B2 (en) Process-oriented modeling and flow to restrict access to objects
KR20150040960A (ko) 여행자 프로파일의 발행을 위한 동적 및 계층적 제너릭 데이터 맵핑
US11860939B2 (en) Manipulating a table with an XML column in a database
EP2693391A1 (en) Dynamic and hierarchical generic data mapping for traveler profile publication
US20230128661A1 (en) Information retrieval framework
US20230385449A1 (en) Purpose-based data management for computing systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application