KR20090125113A - 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템 - Google Patents

원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템 Download PDF

Info

Publication number
KR20090125113A
KR20090125113A KR1020097019686A KR20097019686A KR20090125113A KR 20090125113 A KR20090125113 A KR 20090125113A KR 1020097019686 A KR1020097019686 A KR 1020097019686A KR 20097019686 A KR20097019686 A KR 20097019686A KR 20090125113 A KR20090125113 A KR 20090125113A
Authority
KR
South Korea
Prior art keywords
engine
data
logic engine
logic
module
Prior art date
Application number
KR1020097019686A
Other languages
English (en)
Other versions
KR101301092B1 (ko
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 KR20090125113A publication Critical patent/KR20090125113A/ko
Application granted granted Critical
Publication of KR101301092B1 publication Critical patent/KR101301092B1/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/46Multiprogramming arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

로직 엔진으로부터 원격지에 있는 서버상에서 구동하는, 로직 엔진에 대한 원격 커스터마이제이션(customisation) 모듈은 서버상에서 구동하는 애플리케이션 및 로직 엔진과 통신하도록 구성되는 통신 인터페이스를 포함한다. 모듈은 통신 인터페이스를 통해 로직 엔진으로부터 데이터에 대한 입력(incoming) 요청을 수신하도록 구성되는 로직 엘리먼트를 더 포함한다. 로직 엘리먼트는 상기 요청을 만족시키기 위해 요구되는 데이터를 추출하기 위하여 애플리케이션에 질의하도록(interrogate) 구성된다. 로직 엘리먼트는 또한 응답 데이터를 생성하여 로직 엔진에 상기 응답 데이터를 넘기도록 상기 추출된 데이터를 프로세싱하도록 구성된다.

Description

원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템{REMOTE CUSTOMISATION MODULE AND SYSTEM COMPRISING SAID MODULE}
본 발명은 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템에 관한 것이다. 이에 한정되는 것은 아니지만, 상세하게는, 본 발명은 비지니스(business) 엔진에 대한 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 비지니스 시스템에 관한 것이다. 이에 한정되는 것은 아니지만, 보다 상세하게는, 본 발명은 여행 예약(booking) 엔진에 대한 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 여행 예약 시스템에 관한 것이다.
클라이언트들에 대하여 서비스 제공자에 의해 호스팅되는 비지니스 엔진, 예를 들어, 항공사를 위해 Amadeus S.A.S.에 의하여 호스팅되는 여행 예약 엔진은 서비스에 대한 사용자 요청들을 수신하기 위한 그리고 서비스의 가격 및 유효성을 체크하기 위한 애플리케이션 소프트웨어를 포함한다.
비지니스 엔진은 큰 비지니스 규칙의 세트를 포함한다. 예를 들어, 비행 예약 엔진의 경우에, 규칙들은 서비스되는 식사의 타입, 예약이 표준 클래스인지 또는 비지니스 클래스인지 여부, 및 비행의 출발지 및 종착지를 포함할 수 있다. 서비스 제공자의 각각의 클라이언트는 모든 클라이언트들과 연관되는 표준 규칙들 뿐 아니라, 그들이 제공하는 서비스에 특정되는 규칙들을 요구한다. 예를 들어, 상이한 연료 할증료 계산이 각각의 클라이언트에 대하여 적용되거나, 또는 각각의 항공사가 수 많은(frequent) 비행 마일리지(flyer miles)를 관리하기 위한 자신의 규칙을 가질 수 있다.
현재, 비지니스 엔진의 커스터마이제이션은 서비스 제공자에 의하여 소유되고 작동되는 비지니스 엔진의 코어(core) 코드를 변경하는 단계를 수반한다.
이것은 다수의 문제들과 연관된다. 예를 들어, 새로운 버전의 코드들의 발행 횟수가 엄격하게 제어된다. 이는 새로운 버전의 코드의 각각의 발행이 코드의 작동 버전에 진입하는 코딩에 있어 에러 가능성을 도입하기 때문이다. 그러한 코딩 에러들은 구동시, 코드의 결함(failure)을 야기할 수 있다. 엄격한 레벨의 서비스 품질이 서비스 제공자상에 클라이언트 회사들에 의하여 부가되므로, 이것은 바람직하지 않다. 또한, 단일 클라이언트의 요건을 충족시키기 위하여 코드에 이루어지는 사소한 변경은 서비스 제공자의 클라이언트들 전부에 대하여 비지니스 엔진 코드 결함을 초래할 수 있다.
또한, 클라이언트의 요건들을 충족시키기 위한 코어 코드의 커스터마이제이션은 시간 소모적일 수 있다. 이것은 시장에 클라이언트가 원하는 커스터마이제이션을 초래하는데 지연을 야기할 수 있다. 이것은 각각의 특정 클라이언트에 대한 비지니스 엔진의 기능을 제한한다.
비지니스 엔진의 커스터마이제이션은 비지니스 엔진의 계층들 중 임의의 하나에서 일어날 수 있다. 웹사이트의 구성은 웹 디자인 서비스(WDS: web design service)와 같은, 커스터마이제이션 서비스에 위임될 수 있다. 애플리케이션 계층에서, 동작이 부가되거나, 또는 수신된 데이터상에서 작동하는 현재 동작이 확장되거나, 또는 비지니스 엔진에 의하여 생성될 수 있다. 비지니스 계층에서, 엔터프라이즈 자바 빈(EJB: enterprise Java Bean)이 요청된 부가적인 기능에 대응하여 설치될 수 있다. 대안적으로, 현재 EJB는 현재 데이터 포맷을 커스터마이즈하는 단계 및 커스터마이즈된 명령을 구현하는 단계에 의하여 확장될 수 있다. 액세스 계층에서, 고객 커넥터가 부가되거나, 새로운 제3자 공급자에 대한 액세스가 제공될 수 있다.
이러한 모든 해결책들은 코어 코드의 완전한 재통합(reintegration)이 작동가능하도록 요구한다는 동일한 고유의 문제점을 갖는다. 대안적으로, 제3자 데이터베이스들의 컨텐츠가 증명될 수 있지 않은 한, 액세스 계층에서 새로운 제3자 공급자의 부가는 가능한 보안 위험을 제공한다.
제3자 공급자의 데이터베이스들의 사용은 네트워크에 걸쳐 송신되는 요청과 연관되는 모든 데이터의 송신을 요청할 것이다. 이것은 상당한 양의 데이터가 네트워크를 통해 송신되도록 요구한다.
본 발명의 제1 양상에 따라, 로직 엔진으로부터 원격지에 있는 서버상에서 구동하는, 로직 엔진에 대한 원격 커스터마이제이션 모듈로서, 서버상에서 구동하는 애플리케이션 및 로직 엔진과 통신하도록 구성되는 통신 인터페이스; 통신 인터페이스를 통해 로직 엔진으로부터 데이터에 대한 입력(incoming) 요청을 수신하도록 구성되며, 요청을 만족시키도록 요구되는 데이터를 추출하기 위하여 애플리케이션에 질의하도록(interrogate) 추가 구성되는 로직 엘리먼트를 포함하며, 로직 엘리먼트는 응답 데이터를 생성하여 로직 엔진에 응답 데이터를 넘기도록 추출된 데이터를 프로세싱하도록 구성된다.
그러한 모듈은 엔진의 명확한 기능에서의 변화에 영향을 미치기 위하여 최종 사용자에게 엔진의 재-코딩을 요청하지 않는다. 따라서, 본 발명은 빠르고, 효과적이며, 신뢰성 있는 주문된(bespoke) 기능의 준비를 초래하는 비지니스 엔진의 릴리즈(release)들 사이에 비지니스 엔진으로 주문된 기능의 효과적인 통합을 허용한다.
애플리케이션 프로그램을 호스팅하는 원격 서버에 변경이 이루어짐에 따라, 다른 측에 속하는 서버들의 액세스는 요구되지 않는다. 본 발명은 제3자 공급자의 데이터베이스들을 수반하는 배열(arrangement)들과 비교되는 데이터 보안을 개선한다.
추가로, 모듈의 코딩에 에러가 존재하면, 모듈이 비지니스 엔진으로부터 원격이기 때문에, 비지니스 엔진은 기능을 계속할 것이다. 본 발명은 종래 기술의 배열들과 비교하여 비지니스 시스템의 강건함을 개선한다.
그러한 원격 시스템은 엔진의 클라이언트에 의하여 요구되는 주문된 서비스를 제공하기 위하여 요청과 관련되는 적은 량의 데이터만이 모듈과 엔진 사이에 수송되도록 요구한다.
커스터마이제이션 모듈은 애플리케이션 프로그래밍 인터페이스(API)를 포함할 수 있다. 통상적인 API들은 턱시도(Tuxedo)(BAE로부터의) 및 웹 서비스를 포함할 수 있다. API는 웹사이트 또는 현재 웹 서비스에 대한 코딩 내에서 코딩될 수 있다. API는 규칙들에 대응하는 데이터 엔트리들을 포함하는 데이터 구조를 포함할 수 있으며, 실행될 때, 데이터 구조는 상기 응답 데이터의 생성을 초래한다. 규칙들은 애플리케이션의 질의에 적용될 수 있으며, 또한, 응답 데이터의 계산에 적용될 수 있다. API는 프로시져 지향된 기술(POD) 데이터에 의하여 기술될 수 있다. POD 데이터는 확장성 마크 업 언어(XML)를 포함할 수 있다. POD 데이터는 웹 서비스 기술 언어(WSDL)를 포함할 수 있다.
모듈은 웹사이트 또는 현재 웹 서비스로 플러깅(plug into)하도록 구성되는 플러그를 포함할 수 있다.
로직 엔진은 비지니스 로직 엔진을 포함할 수 있다. 비지니스 로직 엔진은 예약 엔진을 포함할 수 있다. 예약 엔진은 여행 예약 엔진을 포함할 수 있다.
본 발명의 제2 양상에 따라, 로직 엔진 및 클라이언트 서버를 포함하는 비지니스 시스템이 제공되며, 로직 엔진 및 클라이언트 서버는 네트워크를 통해 통신하도록 구성되고, 로직 엔진은 비지니스 로직에 대응하는 데이터 구조들을 포함하고, 서버는 제1항에 따른 원격 커스터마이제이션 모듈을 호스팅(host)하며, 원격 커스터마이제이션 모듈은 로직 엔진에 위치되는 플러그로부터 수신되는 질의 데이터에 응답하여 클라이언트 서버상에 저장된 데이터로부터 얻어진 응답 데이터를 로직 엔진에 제공하도록 구성된다.
로직 엔진은 에러 조건, 예를 들어, 타임아웃(time out)을 정의할 수 있다. 로직 엔진은 에러 조건이 충족되면, 디폴트 모드로 리턴하도록 구성될 수 있다. 에러 조건이 타임아웃이라면, 타임아웃 조건이 충족되면, 로직 엔진은 사용자에 타임아웃 응답을 리턴하도록 구성될 수 있다.
본 발명의 제3 양상에 따라, 본 발명의 제1 양상의 프로세서상에서 실행될 때, 프로세서가 원격 커스터마이제이션 모듈로서 작동하도록 하는 소프트웨어가 제공된다.
본 발명의 제4 양상에 따라, 본 발명의 제1 양상에 따른 원격 커스터마이제이션 엔진을 제공함으로써 로직 엔진의 기능을 증가시키는 방법이 제공되고, 여기서, 원격 커스터마이제이션 엔진은 로직 엔진에서 수신되는 사용자 요청을 충족시키도록 요구되는 파라미터에 대응하는 응답 데이터를 리턴하도록 구성되며, 로직 엔진은 파라미터 데이터에 대응하는 데이터를 제공하도록 프로그래밍되지 않는다.
본 발명의 실시예들은 이제 단지 실시예로서, 첨부된 도면들을 참조로 기술될 것이다.
도 1은 본 발명의 일 양상에 따라 원격 커스터마이제이션 모듈을 포함하는 예약 시스템의 일 실시예의 개략도이다.
도 2는 본 발명의 일 양상에 따라 원격 커스터마이제이션 모듈을 포함하는 비지니스 시스템의 일 실시예의 계층 구조의 개략도이다.
이제 도 1 및 2를 참조하여, 예약 시스템(100)은 네트워크(106)를 통해 링크 되는 클라이언트 서버(104) 및 예약 엔진(102)을 포함한다. 통상적으로, 네트워크(106)는 개인 네트워크 또는 인터넷이다. 보통, 클라이언트 서버(104)는 여행 예약 서버, 예를 들어, 항공사 예약 서버 또는 호텔 예약 서버이다.
예약 엔진(102)은 백 엔드(back end) 예약 비지니스 로직 모듈(108), 데이터 어댑터(114a) 및 플러그(114b)를 포함한다. 어댑터(114a)는 서버(104)가 성공적으로 질의될 수 있도록 비지니스 로직 모듈(108)에 의하여 송신된 파라미터 데이터를 각각의 클라이언트 서버(104)에 대한 주문된 형태로 맵핑한다. 플러그(114b)는 클라이언트 서버(104)와 인터페이싱하고, 클라이언트 서버(104)에 질의하고 커스터마이제이션 모듈(115)과 연관되는 주문된 비지니스 로직을 실행하는 기능을 실행한다.
통상적으로, 비지니스 로직 모듈(108)은 원격 단말(112)로부터 수신되는 사용자 생성된 질의에 대한 응답의 생성을 제어하는 비지니스 로직 소프트웨어를 포함한다.
통신 모듈(110)은 네트워크(106)를 통해 예약 엔진(102), 원격 단말(112) 및 클라이언트 서버(104) 사이에서 접속성을 제공한다.
클라이언트 서버(104)는 원격 커스터마이제이션 모듈(115)을 포함한다. 원격 커스터마이제이션 모듈(115)은 프로시져-지향 정보를 포함하는 메시지들상에 동작하는 엔드포인트(endpoint)로서 WSDL에서 정의된다. 동작들은 간략하게 설명되고, 그 후, 엔드포인트를 정의하기 위하여 네트워크 프로토콜 및 메시지 포맷으로 제한된다(bound to). 관련된 콘트리트 엔드포인트들은 요약 엔드포인트들(서비스 들)로 결합된다. WSDL은 어떤 메시지 포맷들 또는 네트워크 프로토콜들이 통신하는데 사용되는지와 무관하게 엔드 포인트들 및 그들의 메시지들의 기술(description)을 허용하도록 확장가능하다. 통상적인 프로토콜들 및 메시지 포맷들은 SOAP 1.1, HTTP GET/POST, 및 MIME를 포함한다. 비지니스 로직 모듈(108) 내에 구성 모듈(120) 및 중앙 비지니스 데이터베이스(122)에 의하여 원격 커스터마이제이션 모듈(115)에 액세스하기 위한 구성이 달성된다.
사용 시, 통신 모듈(110)은 본 기술분야의 당업자들에게 공지될 방식으로 로드 밸런싱 배열(118)을 통해 사용자 질의와 연관되는 데이터를 수신하고, 질의를 비지니스 로직 모듈(108)로 전달한다.
비지니스 로직 모듈(108)은 예를 들어, 비행기의 자리의 이용가능성을 체크하기 위하여 사용자 생성 질의를 프로세싱한다. 그러나, 클라이언트 서버(104)와 연관되는 클라이언트는 비지니스 로직 모듈(108) 내에 포함되는 비지니스 로직에 의하여 적용되는 정보를 획득할 수 있다. 이것은 비지니스 로직 모듈(108)에 의하여 플래깅(flag)된다. 비지니스 로직 모듈(108)은 그 후 클라이언트 서버(104)에 질의하기 위하여 데이터 어댑터(114a) 및 플러그(114b)를 호출한다. 예를 들어, 항공사 예약의 경우에, 연료 할증금의 계산은 비지니스 로직 모듈(108)에 대하여 제공되지 않도록 요구될 수 있다.
비지니스 로직 모듈(108)은 비지니스 로직 모듈(108)이 그들을 처리할 수 있는지 여부에 따라, 예약 엔진 커넥터(124) 또는 원격 커스터마이제이션 모듈(115) 중 하나에 사용자 요청의 엘리먼트들을 할당한다. 사용자 질의의 엘리먼트가 예약 엔진(102)에 의하여 처리될 수 있다면, 그것은 예약 엔진 커넥터(124)를 통해 예약 엔진 로직 모듈(126)을 통과한다. 예약 엔진 로직 모듈(126)로부터의 응답 데이터는 그들의 사용자 질의에 응답하여 사용자에게 출력될 질문 데이터에 포함하기 위하여 예약 엔진 커넥터를 통해 비지니스 로직 모듈(108)로 다시 통과한다.
예약 엔진(102)이 다수의 클라이언트 서버들(104)과 통신함에 따라, 구성 모듈(120)은 요청을 만족시키기 위하여 어느 서버(104)가 요구되든지 간에, 이에 대응하는 데이터 베이스(122)로부터 사이트(site) 파라미터를 호출한다. 통상적으로, 사이트 파라미터는 요청을 만족시킬 수 있는 웹 서비스에 대응하는 공용 리소스 로케이터(URL: universal resource locator)의 형태이며, 이것은 대개 클라이언트의 서버이다.
예를 들어, 연료 할증금의 경우에, 데이터 어댑터(114a)는 적절한 클라이언트 서버(104)에 대한 정확한 포맷으로 데이터를 포맷한다. 예를 들어, 루프트한자(Lufthansa)는 에어 프랑스 또는 이베리아(Iberia)에 대해 상이한 데이터 포맷을 요구할 수 있다. 플러그(114b)는 전체 데이터 구조로부터의 어느 데이터의 서브세트가 연료 할증금을 계산하도록 요구되는지를 결정한다. 그러한 전체 데이터 구조는 비행 출발지 및 종착지, 비행 시간 및 기간, 호텔 예약 및 특별 요청들을 포함하는 "여행 계획"의 형태를 취할 수 있다. 연료 할증금의 경우에, 플러그(114B)는 비행 출발지 및 종착지를 원격 커스터마이제이션 모듈(115)로 질의 데이터로서 전달한다.
통상적으로, 플러그(114b) 또는 예약 엔진 접속부(124)는 이러한 지점에서 응답 타임아웃 파라미터를 질의 데이터에 위치시킨다. 질의 데이터는 통신 모듈(110)을 통해 비지니스 로직 모듈(108)로부터 클라이언트 서버(104)로 지나간다.
질의 데이터는 비지니스 로직(108)이 제공할 수 없는 정보를 계산하도록 요구되는 파라미터 값들을 포함한다. 이러한 파라미터 값들은 클라이언트 서버 질의 루틴의 호출에 응답하여 비지니스 로직 모듈(108)로부터 검색된다.
원격 커스터마이제이션 모듈(115)은 그 후 연료 할증금에 대한 값을 리턴하기 위하여 클라이언트 서버(104)을 작동시키는 클라이언트에 관한 주문된 비지니스 로직을 플러그(114b)에 의하여 포워딩되는 파라미터들에 적용한다.
클라이언트 서버(104)는 통신 모듈(110) 및 네트워크(106)를 통해 비지니스 로직 모듈(108)로 응답 데이터를 리턴한다. 연료 할증금의 경우에, 응답 데이터는 금전적 값에 대응할 것이다. 그러나, 응답 데이터가 사용자 질의를 충족시키기 위하여 요구되는 정보 또는 필드에 대응하는 문자 스트링 또는 임의의 숫자 값을 포함할 수 있다는 것을 인지할 수 있을 것이다. 예를 들어, 응답 데이터는 승객이 채식 식사 옵션을 요청하는지 여부에 대한 지시자를 포함할 수 있다.
응답 타임아웃 파라미터가 비지니스 로직 모듈(108)에 의하여 정의되었으면, 응답 데이터가 타임아웃 기간의 만료 이후에 비지니스 로직 모듈(108)에서 수신되지 않는 경우, 요청은 타임아웃될 수 있다. 이러한 상황이 발생하면, 비지니스 로직 모듈(108)은 부가적인 정보 없이 사용자 요청 프로세싱이 계속되는 디폴트 모드로 리턴할 수 있거나, 또는 타임아웃 메시지가 네트워크(106)를 통해 통신 모듈(110)에 의하여 사용자 단말(112)로 라우팅된다.
비지니스 로직 모듈(108)은 응답 데이터를 사용자에게 송신될 회신(reply) 데이터로 통합한다. 사용자는 네트워크(106)를 통해 단말(112)에서 디스플레이상에 회신 데이터를 수신한다.
사용자 요청들 및 그들의 응답의 경로는 예약 엔진(100)에서 캐싱될 수 있으며, 원한다면, 장애를 발견하기 위하여 검토되거나 재생될 수 있다. 부가적으로, 커스터마이제이션 모듈은 코어 비지니스 로직의 무결성을 손상하지 않고 더미 트랜잭션들(dummy)을 실행함으로써 테스트될 수 있다.
"여행 계획"과 같은, 트랜잭션과 연관되는 전체 데이터 세트의 상이한 서브 세트들의 사용은 일반적 어댑터-플러그 쌍(114a, b)의 단일 예, 또는 단일 클라이언트 서버로부터의 응답 데이터의 다수의 인스턴스들을 사용하여, 상이한 클라이언트 서버들로부터의 다수의 응답 데이터를 생성 및 액세스할 수 있다.
타임아웃 파라미터를 참조로 하여 개시되었으나, 사전-정의된 에러 조건들 중 임의의 하나 또는 결함이 발생하면, 비지니스 로직 모듈은 디폴트 모드로 리턴할 수 있다는 것을 인지할 수 있을 것이다.
플러그-인 웹 서비스 모듈의 사용은 동일하거나 유사한 부가적 기능을 제공하기 위하여 추가의 서버에서 이전에 생성된 모듈의 재사용을 허용한다는 것을 인지할 수 있을 것이다. 그러한 재사용은 작은 웹 서비스 플러그-인의 제한된 재-코딩을 요구하고, 이에 따라, 비지니스 로직 모듈의 비지니스 로직의 재-코딩보다 더 쉽고, 더 빠르며, 프로그래밍 에러들의 통합 경향이 덜할 수 있다.
이에 제한되지는 않으나, 비행 예약들, 호텔 예약들 및 여행 보험을 포함하 는 여행 데이터를 참조로 하여 설명되었지만, 본 발명은 원격 웹 서비스에서 플러그에 의하여 비지니스 엔진에 부가적인 기능이 효율적으로 부가되는 임의의 비지니스 시스템에서의 사용에 적합하다.
본 발명의 다양한 실시예들이 개시되었으나, 본 기술분야의 당업자들은 본 발명의 범위를 벗어나지 않고 다양한 변형들, 변화들, 개선들 및 변경들이 이루어질 수 있다는 것을 인지할 수 있을 것이다.

Claims (24)

  1. 로직 엔진으로부터 원격지에 있는 서버상에서 구동하는, 상기 로직 엔진에 대한 원격 커스터마이제이션(customisation) 모듈로서,
    상기 서버상에서 구동하는 애플리케이션 및 상기 로직 엔진과 통신하도록 구성되는 통신 인터페이스;
    상기 통신 인터페이스를 통해 상기 로직 엔진으로부터 데이터에 대한 입력(incoming) 요청을 수신하도록 구성되며, 상기 요청을 달성하기 위해 요구되는 데이터를 추출하기 위하여 상기 애플리케이션에 질의하도록(interrogate) 추가 구성되는 로직 엘리먼트
    를 포함하며, 상기 로직 엘리먼트는 응답 데이터를 생성하기 위해 상기 추출된 데이터를 프로세싱하고, 상기 로직 엔진에 상기 응답 데이터를 전달하도록 구성되는, 원격 커스터마이제이션 모듈.
  2. 제1항에 있어서,
    API를 포함하는, 원격 커스터마이제이션 모듈.
  3. 제2항에 있어서,
    상기 API는 웹사이트에 대한 코딩 내에서 코딩되는, 원격 커스터마이제이션 모듈.
  4. 제2항에 있어서,
    상기 API는 현재 웹 서비스 내에서 코딩되는, 원격 커스터마이제이션 모듈.
  5. 제2항에 있어서,
    상기 API는 규칙들에 대응하는 데이터 엔트리(entry)들을 포함하는 데이터 구조를 포함하고, 상기 데이터 엔트리들은 실행 시 상기 응답 데이터의 생성을 초래하는, 원격 커스터마이제이션 모듈.
  6. 제5항에 있어서,
    상기 규칙들은 상기 응답 데이터의 계산 및 애플리케이션의 질의(interrogation)를 제어하는(govern), 원격 커스터마이제이션 모듈.
  7. 제2항에 있어서,
    상기 API는 프로시져 지향 기술(POD: procedure oriented description) 데이터에 의하여 기술되는, 원격 커스터마이제이션 모듈.
  8. 제7항에 있어서,
    상기 POD 데이터는 확장성 마크업 언어(XML)를 포함하는, 원격 커스터마이제이션 모듈.
  9. 제7항에 있어서,
    상기 POD 데이터는 웹 서비스 기술 언어(WSDL)를 포함하는, 원격 커스터마이제이션 모듈.
  10. 제3항에 있어서,
    상기 모듈은 상기 로직 엔진에 위치되는 플러그로부터 질의를 수신하도록 구성되는, 원격 커스터마이제이션 모듈.
  11. 제1항에 있어서,
    상기 로직 엔진은 비지니스(business) 로직 엔진을 포함하는, 원격 커스터마이제이션 모듈.
  12. 제11항에 있어서,
    상기 비지니스 로직 엔진은 예약(booking) 엔진을 포함하는, 원격 커스터마이제이션 모듈.
  13. 제12항에 있어서,
    상기 예약 엔진은 여행 예약 엔진을 포함하는, 원격 커스터마이제이션 모듈.
  14. 로직 엔진 및 클라이언트 서버를 포함하는 비지니스 시스템으로서,
    상기 로직 엔진 및 상기 클라이언트 서버는 네트워크를 통해 통신하도록 구성되고,
    상기 로직 엔진은 비지니스 로직에 대응하는 데이터 구조들을 포함하고,
    상기 서버는 제1항에 따른 원격 커스터마이제이션 모듈을 호스팅(host)하며,
    상기 원격 커스터마이제이션 모듈은 상기 로직 엔진에 위치되는 플러그로부터 수신되는 질의 데이터에 응답하여 상기 클라이언트 서버상에 저장된 데이터로부터 얻어진 응답 데이터를 상기 로직 엔진에 제공하도록 구성되는, 비지니스 시스템.
  15. 제14항에 있어서,
    상기 로직 엔진은 상기 원격 커스터마이제이션 모듈을 호스팅하는 상기 서버와 호환성이 있는 포맷으로 질의 데이터를 포맷하도록 구성되는 어댑터(adapter)를 포함하는, 비지니스 시스템.
  16. 제14항에 있어서,
    상기 로직 엔진은 비지니스 로직 엔진을 포함하는, 비지니스 시스템.
  17. 제16항에 있어서,
    상기 비지니스 로직 엔진은 예약 엔진을 포함하는, 비지니스 시스템.
  18. 제17항에 있어서,
    상기 예약 엔진은 여행 예약 엔진을 포함하는, 비지니스 시스템.
  19. 제14항에 있어서,
    상기 로직 엔진은 에러 조건을 정의하는, 비지니스 시스템.
  20. 제19항에 있어서,
    상기 에러 조건이 발생하면, 상기 로직 엔진은 디폴트(default) 모드로 리턴하도록 구성되는, 비지니스 시스템.
  21. 제19항에 있어서,
    상기 에러 조건이 타임아웃 기간을 초과하면, 상기 로직 엔진은 사용자에게 타임아웃 응답을 리턴하도록 구성되는, 비지니스 시스템.
  22. 프로세서상에서 실행될 때, 상기 프로세서를 제1항의 원격 커스터마이제이션 모듈로서 작동하게 하는 소프트웨어.
  23. 프로세서상에서 실행될 때, 상기 프로세서를 제15항의 플러그로서 작동하게 하는 소프트웨어.
  24. 제1항에 따른 원격 커스터마이제이션 엔진을 제공함으로써 로직 엔진의 기능을 증가시키는 방법으로서,
    상기 원격 커스터마이제이션 엔진은 상기 로직 엔진에서 수신되는 사용자 요청을 충족시키기 위해 요구되는 파라미터에 대응하는 응답 데이터를 리턴하도록 구성되며, 상기 로직 엔진은 파라미터 데이터에 대응하는 데이터를 제공하도록 프로그래밍되지 않는, 로직 엔진의 기능을 증가시키는 방법.
KR1020097019686A 2007-02-22 2008-01-17 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템 KR101301092B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/709,521 US7913264B2 (en) 2007-02-22 2007-02-22 Remote customisation module and system comprising said module
US11/709,521 2007-02-22
PCT/EP2008/050517 WO2008101754A1 (en) 2007-02-22 2008-01-17 Remote customisation module and system comprising said module

Publications (2)

Publication Number Publication Date
KR20090125113A true KR20090125113A (ko) 2009-12-03
KR101301092B1 KR101301092B1 (ko) 2013-08-27

Family

ID=39186095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019686A KR101301092B1 (ko) 2007-02-22 2008-01-17 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템

Country Status (9)

Country Link
US (1) US7913264B2 (ko)
EP (2) EP2122465A1 (ko)
JP (1) JP2010521723A (ko)
KR (1) KR101301092B1 (ko)
CN (1) CN101636718A (ko)
AU (1) AU2008217180B2 (ko)
BR (1) BRPI0808068A2 (ko)
CA (1) CA2677389C (ko)
WO (1) WO2008101754A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200487232Y1 (ko) 2018-04-17 2018-09-28 김태희 설치가 용이한 인조잔디 매트

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260917B1 (en) * 2004-11-24 2012-09-04 At&T Mobility Ii, Llc Service manager for adaptive load shedding
US10803054B2 (en) 2014-02-03 2020-10-13 Oracle International Corporation Dynamically building a database query by combining a static query clause with a user-specified filter
CN114500685B (zh) * 2022-01-11 2023-07-21 中国人民解放军国防科技大学 一种适配虚幻引擎应用的第三方通信库桥接方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6654814B1 (en) 1999-01-26 2003-11-25 International Business Machines Corporation Systems, methods and computer program products for dynamic placement of web content tailoring
US6792605B1 (en) * 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
US6684257B1 (en) * 1999-10-15 2004-01-27 International Business Machines Corporation Systems, methods and computer program products for validating web content tailored for display within pervasive computing devices
US6996517B1 (en) * 2000-06-06 2006-02-07 Microsoft Corporation Performance technology infrastructure for modeling the performance of computer systems
US7216142B2 (en) * 2000-08-14 2007-05-08 I2 Technologies Us, Inc. Network application program interface facilitating communication in a distributed network environment
US20020099738A1 (en) * 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US8812666B2 (en) * 2001-01-29 2014-08-19 Da Capital Fund Limited Liability Company Remote proxy server agent
JP2002358290A (ja) * 2001-03-19 2002-12-13 Toshiba Corp 情報処理サービス提供方法及びプログラム並びにシステム
US7627853B2 (en) * 2001-10-29 2009-12-01 Accenture Global Services Gmbh Generic connector between a middleware layer and a server software object
US6944828B2 (en) * 2001-12-13 2005-09-13 Appeon Corporation System and method for retrieving and editing the data structure of an HTML UI Control
US20040006653A1 (en) * 2002-06-27 2004-01-08 Yury Kamen Method and system for wrapping existing web-based applications producing web services
US7693998B2 (en) * 2003-06-30 2010-04-06 Microsoft Corporation System and method for message-based scalable data transport
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
GB0322877D0 (en) * 2003-09-30 2003-10-29 British Telecomm Search system and method
US7409692B2 (en) * 2003-09-30 2008-08-05 Sap Ag Software component architecture
US7818759B2 (en) * 2003-11-24 2010-10-19 Ebay Inc. API and business language schema design framework for message exchanges
US7844956B2 (en) * 2004-11-24 2010-11-30 Rojer Alan S Object-oriented processing of markup
US7512957B2 (en) * 2004-12-03 2009-03-31 Microsoft Corporation Interface infrastructure for creating and interacting with web services
US7831955B2 (en) * 2004-12-09 2010-11-09 Asift Technologies, Llc Development and execution platform
US7469402B2 (en) * 2004-12-28 2008-12-23 Sap Aktiengesellschaft Pluggable model framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200487232Y1 (ko) 2018-04-17 2018-09-28 김태희 설치가 용이한 인조잔디 매트

Also Published As

Publication number Publication date
AU2008217180A1 (en) 2008-08-28
CA2677389C (en) 2013-08-06
US20080208641A1 (en) 2008-08-28
US7913264B2 (en) 2011-03-22
EP2122465A1 (en) 2009-11-25
CA2677389A1 (en) 2008-08-28
BRPI0808068A2 (pt) 2014-08-05
WO2008101754A1 (en) 2008-08-28
CN101636718A (zh) 2010-01-27
EP2293190A2 (en) 2011-03-09
JP2010521723A (ja) 2010-06-24
KR101301092B1 (ko) 2013-08-27
AU2008217180B2 (en) 2013-06-13
EP2293190A3 (en) 2013-03-27

Similar Documents

Publication Publication Date Title
JP5969470B2 (ja) 統一されたデータの収集および配信
Pires et al. Building reliable web services compositions
US7216142B2 (en) Network application program interface facilitating communication in a distributed network environment
US20040133460A1 (en) Electronic acquisition system and method using a portal to facilitate data validation and to provide a universal client interface
US7143190B2 (en) Method and system for remotely facilitating the integration of a plurality of dissimilar systems
US8271536B2 (en) Multi-tenancy using suite of authorization manager components
US8417792B2 (en) Asynchronous messaging in web services
US8863097B2 (en) Providing code list extensibility
Kloppmann et al. Business process choreography in WebSphere: Combining the power of BPEL and J2EE
JP2013101676A (ja) マルチフォーマットのメッセージをパースする動的パース/ビルド・エンジン
CN1997983A (zh) 面向服务的架构
US20020087548A1 (en) Method and protocol for client initiated function calls to a web-based dispatch service
KR101301092B1 (ko) 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템
US20080040418A1 (en) Accessing existing data using a service oriented architecture gateway
US8356075B2 (en) Distributed business process management system with local resource utilization
CN100486196C (zh) 使用本域代理服务器实现跨域访问的方法
US8555239B1 (en) Mainframe-based web service development accelerator
US8479175B1 (en) Mainframe-based web service development accelerator
US11995482B2 (en) Atomicity assurance device and atomicity assurance method
US7171420B2 (en) Method and system for utilizing a database as a service
Sward et al. A multi-language service-oriented architecture using an enterprise service bus
US20230421666A1 (en) Interceptor hub for service-consuming applications
KR20060123294A (ko) 웹 서비스 중개기를 위한 포트 타입 어그노스틱 프록시지원
EP4070527A1 (en) Multi-controller opt-out system and method
CA2345539A1 (en) Method and protocol for client initiated function calls to a web-based dispatch service

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 6