KR20090125113A - 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템 - Google Patents
원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템 Download PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 5
- 238000013479 data entry Methods 0.000 claims description 3
- 239000000446 fuel Substances 0.000 description 7
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 241000677635 Tuxedo Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006833 reintegration Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/02—Reservations, 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
본 발명은 원격 커스터마이제이션 모듈 및 상기 모듈을 포함하는 시스템에 관한 것이다. 이에 한정되는 것은 아니지만, 상세하게는, 본 발명은 비지니스(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)
- 로직 엔진으로부터 원격지에 있는 서버상에서 구동하는, 상기 로직 엔진에 대한 원격 커스터마이제이션(customisation) 모듈로서,상기 서버상에서 구동하는 애플리케이션 및 상기 로직 엔진과 통신하도록 구성되는 통신 인터페이스;상기 통신 인터페이스를 통해 상기 로직 엔진으로부터 데이터에 대한 입력(incoming) 요청을 수신하도록 구성되며, 상기 요청을 달성하기 위해 요구되는 데이터를 추출하기 위하여 상기 애플리케이션에 질의하도록(interrogate) 추가 구성되는 로직 엘리먼트를 포함하며, 상기 로직 엘리먼트는 응답 데이터를 생성하기 위해 상기 추출된 데이터를 프로세싱하고, 상기 로직 엔진에 상기 응답 데이터를 전달하도록 구성되는, 원격 커스터마이제이션 모듈.
- 제1항에 있어서,API를 포함하는, 원격 커스터마이제이션 모듈.
- 제2항에 있어서,상기 API는 웹사이트에 대한 코딩 내에서 코딩되는, 원격 커스터마이제이션 모듈.
- 제2항에 있어서,상기 API는 현재 웹 서비스 내에서 코딩되는, 원격 커스터마이제이션 모듈.
- 제2항에 있어서,상기 API는 규칙들에 대응하는 데이터 엔트리(entry)들을 포함하는 데이터 구조를 포함하고, 상기 데이터 엔트리들은 실행 시 상기 응답 데이터의 생성을 초래하는, 원격 커스터마이제이션 모듈.
- 제5항에 있어서,상기 규칙들은 상기 응답 데이터의 계산 및 애플리케이션의 질의(interrogation)를 제어하는(govern), 원격 커스터마이제이션 모듈.
- 제2항에 있어서,상기 API는 프로시져 지향 기술(POD: procedure oriented description) 데이터에 의하여 기술되는, 원격 커스터마이제이션 모듈.
- 제7항에 있어서,상기 POD 데이터는 확장성 마크업 언어(XML)를 포함하는, 원격 커스터마이제이션 모듈.
- 제7항에 있어서,상기 POD 데이터는 웹 서비스 기술 언어(WSDL)를 포함하는, 원격 커스터마이제이션 모듈.
- 제3항에 있어서,상기 모듈은 상기 로직 엔진에 위치되는 플러그로부터 질의를 수신하도록 구성되는, 원격 커스터마이제이션 모듈.
- 제1항에 있어서,상기 로직 엔진은 비지니스(business) 로직 엔진을 포함하는, 원격 커스터마이제이션 모듈.
- 제11항에 있어서,상기 비지니스 로직 엔진은 예약(booking) 엔진을 포함하는, 원격 커스터마이제이션 모듈.
- 제12항에 있어서,상기 예약 엔진은 여행 예약 엔진을 포함하는, 원격 커스터마이제이션 모듈.
- 로직 엔진 및 클라이언트 서버를 포함하는 비지니스 시스템으로서,상기 로직 엔진 및 상기 클라이언트 서버는 네트워크를 통해 통신하도록 구성되고,상기 로직 엔진은 비지니스 로직에 대응하는 데이터 구조들을 포함하고,상기 서버는 제1항에 따른 원격 커스터마이제이션 모듈을 호스팅(host)하며,상기 원격 커스터마이제이션 모듈은 상기 로직 엔진에 위치되는 플러그로부터 수신되는 질의 데이터에 응답하여 상기 클라이언트 서버상에 저장된 데이터로부터 얻어진 응답 데이터를 상기 로직 엔진에 제공하도록 구성되는, 비지니스 시스템.
- 제14항에 있어서,상기 로직 엔진은 상기 원격 커스터마이제이션 모듈을 호스팅하는 상기 서버와 호환성이 있는 포맷으로 질의 데이터를 포맷하도록 구성되는 어댑터(adapter)를 포함하는, 비지니스 시스템.
- 제14항에 있어서,상기 로직 엔진은 비지니스 로직 엔진을 포함하는, 비지니스 시스템.
- 제16항에 있어서,상기 비지니스 로직 엔진은 예약 엔진을 포함하는, 비지니스 시스템.
- 제17항에 있어서,상기 예약 엔진은 여행 예약 엔진을 포함하는, 비지니스 시스템.
- 제14항에 있어서,상기 로직 엔진은 에러 조건을 정의하는, 비지니스 시스템.
- 제19항에 있어서,상기 에러 조건이 발생하면, 상기 로직 엔진은 디폴트(default) 모드로 리턴하도록 구성되는, 비지니스 시스템.
- 제19항에 있어서,상기 에러 조건이 타임아웃 기간을 초과하면, 상기 로직 엔진은 사용자에게 타임아웃 응답을 리턴하도록 구성되는, 비지니스 시스템.
- 프로세서상에서 실행될 때, 상기 프로세서를 제1항의 원격 커스터마이제이션 모듈로서 작동하게 하는 소프트웨어.
- 프로세서상에서 실행될 때, 상기 프로세서를 제15항의 플러그로서 작동하게 하는 소프트웨어.
- 제1항에 따른 원격 커스터마이제이션 엔진을 제공함으로써 로직 엔진의 기능을 증가시키는 방법으로서,상기 원격 커스터마이제이션 엔진은 상기 로직 엔진에서 수신되는 사용자 요청을 충족시키기 위해 요구되는 파라미터에 대응하는 응답 데이터를 리턴하도록 구성되며, 상기 로직 엔진은 파라미터 데이터에 대응하는 데이터를 제공하도록 프로그래밍되지 않는, 로직 엔진의 기능을 증가시키는 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR200487232Y1 (ko) | 2018-04-17 | 2018-09-28 | 김태희 | 설치가 용이한 인조잔디 매트 |
Families Citing this family (3)
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)
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 |
-
2007
- 2007-02-22 US US11/709,521 patent/US7913264B2/en active Active
-
2008
- 2008-01-17 WO PCT/EP2008/050517 patent/WO2008101754A1/en active Application Filing
- 2008-01-17 AU AU2008217180A patent/AU2008217180B2/en active Active
- 2008-01-17 CA CA2677389A patent/CA2677389C/en active Active
- 2008-01-17 CN CN200880005850.3A patent/CN101636718A/zh active Pending
- 2008-01-17 JP JP2009550684A patent/JP2010521723A/ja active Pending
- 2008-01-17 EP EP08707964A patent/EP2122465A1/en not_active Ceased
- 2008-01-17 KR KR1020097019686A patent/KR101301092B1/ko active IP Right Grant
- 2008-01-17 EP EP20100194408 patent/EP2293190A3/en not_active Ceased
- 2008-01-17 BR BRPI0808068-2A patent/BRPI0808068A2/pt not_active IP Right Cessation
Cited By (1)
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 |