KR20110048015A - 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템 - Google Patents

타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템 Download PDF

Info

Publication number
KR20110048015A
KR20110048015A KR1020100107271A KR20100107271A KR20110048015A KR 20110048015 A KR20110048015 A KR 20110048015A KR 1020100107271 A KR1020100107271 A KR 1020100107271A KR 20100107271 A KR20100107271 A KR 20100107271A KR 20110048015 A KR20110048015 A KR 20110048015A
Authority
KR
South Korea
Prior art keywords
data
target system
application
target
client
Prior art date
Application number
KR1020100107271A
Other languages
English (en)
Inventor
데이비드 에드워드 튜크스베리
아눕 찬드란
보리스 타벤킨
Original Assignee
다솔 시스템즈 에노비아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 다솔 시스템즈 에노비아 코포레이션 filed Critical 다솔 시스템즈 에노비아 코포레이션
Priority to KR1020100107271A priority Critical patent/KR20110048015A/ko
Publication of KR20110048015A publication Critical patent/KR20110048015A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

컴퓨터 시스템 및 방법은 타깃 시스템의 웹 (글로벌 컴퓨터 네트워크) 서비스 데이터에 대한 액세스를 제공한다. 타깃 시스템은 다중의 웹 서비스들을 통해 데이터를 노출한다. 애플리케이션 인터페이스는 타깃 시스템을 위한 애플리케이션들 간에서 기존 (미리 정의된) 웹 서비스를 재사용하는 타깃 시스템과 인터페이싱하도록 구성된다. 애플리케이션 인터페이스는 노출된 데이터를 질의한다. 매핑 부재는 노출된 데이터의 애플리케이션 인터페이스 질의 및 대상 애플리케이션 내에서 사용가능한 객체들의 구문 간을 매핑한다. 매핑 부재는 대상 애플리케이션이 질의에 응답하여 생성된 객체 인스턴트의 데이터를 액세스 가능하도록 한다.

Description

타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템{COMPUTER METHOD AND SYSTEM PROVIDING ACCESS TO DATA OF A TARGET SYSTEM}
인터넷과 같은 글로벌 컴퓨터 네트워크는 새로운 컴퓨팅 플랫폼 및 애플리케이션 (소프트웨어 애플리케이션 디자인을 포함) 을 제공하였다. 예를 들어, 인터넷 스케일 분산 컴퓨팅은 플랫폼 컴퓨팅과 같은 소위 네트워크를 제공한다. 플랫폼으로서의 네트워크는 (웹-인에이블 애플리케이션으로 구성된) 애플리케이션 이 전적으로 브라우저를 통해 실행되도록 한다. 또한, 플랫폼으로서의 네트워크는 유저들이 다양한 역할들을 가로질러 또는 다양한 역할들 내에서 협력하도록 한다.
소정의 웹-인에이블 애플리케이션과 관련하여, 유저/클라이언트 (분산 객체 구조 클라이언트) 는 각자의 브라우저를 통해 애플리케이션을 실행한다. 브라우저는 애플리케이션 서버 (분산 객체 서버) 와 통신한다. 추가로, 브라우저는 웹 서버와 통신한다. 인증 서비스, 트랜잭션 서비스, 네이밍 서비스, 관리 서비스, 및 보안 서비스와 같은 다수의 서비스는 애플리케이션 서버 및 웹 서버에 모두에 복제된다. 통상적으로 각 유저/클라이언트는 별개로 플랫폼에 등록된다. 그리고 각 유저/클라이언트는 웹 서버 서비스의 각자의 세트를 구현할 책임이 있다.
현재까지 플랫폼의 클라이언트 상의 유저가 다른 데이터에 데이터 및 관계를 복사하거나 다중 애플리케이션들을 가로질러 존재하는 웹 서버 서비스를 활용하기 위한 메커니즘이 없었다.
플랫폼으로서 네트워크를 사용하는 컴퓨터 구현 프로그램 및 협업 시스템의 산업적 예시는 제품수명주기관리 (Product Lifecycle Management: PLM) 시스템이다. PLM 솔루션은 기업들이 제품 데이터를 공유하고, 공통 프로세스를 적용하고, 그리고, 확장된 기업의 구상을 가로질러 구상에서부터 상품 수명의 끝까지의 제품의 개발을 위한 기업 지식에 영향을 주도록 도움을 주는 경영 전략과 관련이 있다. 이러한 개념에 따르면, 기업은 기업 부서로만 이루어진 것뿐만 아니라 비즈니스 파트너, 공급자, 주문자 상표부착 제조자 (OEM), 및 고객들과 같은 다른 관계자들로도 이루어진다. 이런 관계자들을 포함함으로써, PLM은 이 네트워크가 제품과 프로세스를 개념화, 디자인, 구축, 및 지원하기 위한 단일 개체로 동작하도록 하게 할 수 있다.
컴퓨터 보조 설계 (CAD) 를 포함한다고 알려진, 컴퓨터 보조 기술은 PLM 솔루션 중 하나이다. CAD는 제품 디자인을 창작하기 위한 소프트웨어 솔루션과 관련된다. 유사하게, CAE는 Computer-Aided Engineering (컴퓨터 보조 엔지니어링) 의 약어이며, 예를 들어, 이는 미래 제품의 물리적 행위를 시뮬레이션하기 위한 소프트웨어 솔루션과 관련된다. CAM은 컴퓨터 보조 생산 (Computer-Aided Manufacturing) 을 나타내며 통상적으로 제조 프로세스 및 동작을 정의하기 위한 소프트웨어 솔루션을 포함한다. 몇몇 PLM 솔루션은 예를 들어 디지털 목업 (mockup) (제품의 3차원 그래픽 모델) 을 생성함으로써, 제품을 디자인하며 개발하는 것을 가능하게 한다. 디지털 제품은 먼저 적합한 애플리케이션을 사용하여 정의되며 시뮬레이션 될 수도 있다. 그 후에, 간결한 디지털 제조 프로세스가 정의되며 모델링될 수도 있다.
예를 들어, 일반적으로, Dassault Systemes (상표 CATIA, ENOVIA 및 DELMIA 하) 에 의해 제공되는 PLM 솔루션은 제품 엔지니어링 지식을 조직화하는 엔지니어링 허브, 제조 엔지니어링 지식을 관리하는 제조 허브, 및 엔지니어링 및 제조 허브 양자로의 기업 통합 및 연결을 가능케 하는 기업 허브를 제공한다. 시스템 전체로 최적화된 제품 정의, 제조, 준비, 생산 및 서비스를 드라이브하는, 동적인 지식 기반 제품 생성 및 의사결정 지원이 가능하도록 제품, 프로세스, 자원을 연결하는 개방 객체 모델을 전달한다.
이러한 PLM 솔루션은 제품의 관계적 데이터베이스를 포함한다. 그 데이터베이스는 텍스트 데이터 세트 및 데이터 간의 관계를 포함한다. 데이터는 통상적으로 제품과 관련한 기술적 데이터를 포함하며 그 데이터는 데이터의 계층순으로 정렬되고 검색 가능하도록 색인이 된다. 그 데이터는, 종종 모델링된 제품 및 프로세스인 모델링된 객체들을 나타낸다.
제품 구성, 프로세스 지식 및 자원 정보를 포함하는 PLM 정보는 통상적으로 협력적 방법으로 편집되도록 의도된다. 예를 들면, 협력적 방법으로 일하는 설계자 팀은, 웹 인에이블 애플리케이션을 통하여 원격 사이트로부터 제품과 관련한 공유 정보에 액세스하여 개별적으로 제품을 디자인하는데 기여할 수 있다. 각 유저 또는 원격 사이트는 시스템 플랫폼에 별도로 등록되며, 각자는 이 프로젝트의 애플리케이션 (들) 을 위한 웹 서버 서비스의 세트를 구현하도록 하는 책임이 있다. 비록 유저가 다른 애플리케이션을 위해 원래 구현된 기존 웹 서비스를 가지고 있을 수 있더라도, 현재 프로젝트를 위해 이러한 웹 서비스를 재사용 또는 공유하는 메커니즘이 없다. 플랫폼의 클라이언트 또는 애플리케이션에 있는 유저가 기존 웹서비스를 복사 또는 사용하도록 할 필요가 있다.
본 발명은 전술한 종래 기술의 결점을 해결한다. 특히, 본 발명은 2 이상의 애플리케이션을 가로질러 클라이언트 시스템의 웹 (글로벌 컴퓨터 네트워크 서버) 서비스의 재이용 또는 공동 이용을 가능케 하는 컴퓨터 방법, 시스템 및 장치를 제공한다.
바람직한 실시 예에서, 본 발명의 시스템은 애플리케이션 인터페이스 및 매핑 부재를 포함한다. 애플리케이션 인터페이스는 다중의 웹 서비스를 통하여 데이터를 노출하는 타깃 (클라이언트) 시스템에 인터페이싱한다. 애플리케이션 인터페이스는 노출된 데이터를 질의한다. 애플리케이션 인터페이스는 애플리케이션 인터페이스가 타깃 시스템을 위한 애플리케이션 중에 기존 (이전에 제공된) 웹 서비스를 재이용하도록, 2 이상의 애플리케이션을 가로질러 다중 웹서비스 중 적어도 하나의 웹 서비스를 공동으로 사용한다.
이 재이용을 달성하기 위해, 애플리케이션 인터페이스는, 타깃 시스템으로부터의 웹서비스 데이터의 조합된 관점을 발생하는 방식으로, 타깃 시스템의 웹서비스 중 적어도 2개의 웹서비스에 호출들을 체이닝 (chain) 한다. 적어도 2개의 웹 서비스는 타깃 시스템에 의해 이전에 제공된다.
매핑 부재는 (a) 글로벌 컴퓨터 네트워크 서비스를 통하여 노출된 데이터의 애플리케이션 인터페이스 질의와 (b) 대상 애플리케이션에서 사용가능한 객체 구문 간을 매핑한다. 매핑 부재는 대상 애플리케이션이 애플리케이션 인터페이스에 의해 구현된 것과 같은 질의에 응답하여 생성된 객체 인스턴스의 데이터에 액세스 가능하도록 한다.
몇몇 실시예에서, 타깃 시스템은 협력 또는 유사한 플랫폼에 대해 외부 또는 이질적인 시스템이며, 분산 객체 아키텍처 클라이언트로서 구성된다. 대상 애플리케이션은 임의의 컴퓨터 시스템으로서 구현되는데, 그 대상 애플리케이션은 확가능 마크업 언어 (XML) 클라이언트, 원격 메소드 호출 (RMI) 클라이언트, 엔터프라이즈 자바빈 (EJB), 및 자바 원시 인터페이스 (JNI) 클라이언트 중 임의의 것으로 구현된다.
일 실시 예에서, 본 발명은 외부 시스템 (타깃 시스템) 과 통합시키도록 하는 협력 플랫폼의 능력을 향상시킨다. 더 자세히 설명하자면, 실시 예들은 플랫폼으로 하여금 질의 데이터를 제공하는 웹서비스를 제공하는 외부 시스템과 데이터를 공유가능케 하므로, 플랫폼의 저장 레이어를 확장하기 위한 인터페이스는 본 발명으로부터 혜택을 본다. 본 발명은 선언적 방식으로 웹서비스 호출 (다중 질의) 의 시퀀스를 설명하는 능력을 제공한다. 발명의 구현은 데이터의 통합된 뷰를 생성하도록, 웹 서비스 명령의 시퀀스를 실행한다. 이는 외부 데이터를 설명하는 단순화된 방법을 용이하게 하며, 이 외부 데이터를 PLM (Product Lifecycle Management) 데이터 모델로 매핑하는 용이한 방법을 허용한다. PLM 데이터 모델은 플랫폼 애플리케이션 (PLM, CV5 등) 에 의해 자연적으로 소모된다.
따라서, 본 발명은 관계/종속에 기초한 "통합된 뷰" 를 고찰하며 외부 데이터를 통합하도록 기존 웹 서비스를 이용하는, 고유한 질의/매핑 구문을 정의한다. 본 발명은 임의의 추가적인 "코드"를 기입하지 않으며 외부 시스템으로부터 데이터를 통합하는 문제를 해결하여 시간과 비용을 절약한다. 또한, 본 발명은 협력 플랫폼이 데이터 통합화를 요구하는 다양한 애플리케이션을 호스트하도록 기회를 연다. 그러한 목적에 있어서, 본 발명은 다음과 같은 문제를 다룬다.
1. 다중 시스템들을 가로질러 제품 재료를 찾는데 낭비된 시간
2. 동기화된 개별적 엔터프라이즈 시스템을 유지하도록 하는 복잡한 통합
3. 별개 시스템에서 일하는 유저들 간의 비효율적인 협업
4. 데이터 이동에서 복잡성으로 인한 레가시 시스템을 없애기 어려움
5. 다른 시스템에 다시 입력되는 데이터로 인한 작업의 중복
6. 수동 유저 간섭을 이용하는 외부 공급자와의 비효율적인 데이터 공유
그러므로 본 발명의 실시 예들은 인프라구조 레벨의 솔루션을 제공하며 이 인프라구조를 사용하도록 의도된 임의의 고객에 의해 정의되어야만 하는 고유한 질의 구문을 정의한다.
다른 도면에 걸쳐 동일한 참조부호가 동일한 부분을 지칭하는 첨부 도면들에 도시된 바와 같이, 상기 내용은 발명의 예시적인 실시 형태에 대한 다음의 보다 자세한 설명으로 명료해 질 것이다. 도면은 반드시 비율로 정해질 필요는 없으나, 대신 본 발명의 도시되는 실시 예에 주안점을 둔다.
도 1a-1c 는 본 발명의 실시 예들이 전개되는 협력 플랫폼의 개략도 및 블록 다이어그램이다.
도 2 는 타깃 시스템으로부터 데이터의 조합된 뷰를 발생시키는, 타깃 시스템의 다중 웹 (글로벌 컴퓨터 네트워크) 서비스에 호출을 체이닝하는, 본 발명의 실시 예의 개략도이다.
도 3 은 본 발명의 원리에 따라 도 1의 플랫폼 스키마에 매핑된 도 2의 조합된 뷰의 개략도이다.
도 4는 도 2 및 3의 예시에 있어서 질의/매핑 구문을 구현하는 본 발명의 매핑 엔진의 개략도이다.
도 5는 본 발명의 일 실시 예에서 프로세싱 및 데이터 제어의 플로우차트이다.
도 6 및 7 은 각각 본 발명의 실시 예가 동작하는 컴퓨터 네트워크 환경의 개략도 및 블록도이다.
본 발명의 실시 형태 예의 설명은 다음과 같다.
본 발명의 실시형태를 채용한 협력 플랫폼 (200) 이 도 1a 및 도 1b에 도시되어있다. 협력 플랫폼 (200) 은 분산 객체 아키택쳐로서 구성된다. 협력 플랫폼 (200) 의 선호된 실시형태는 다양한 웹 브라우저 (228) (단순화를 위해 도 1b에 하나만 도시됨), 웹 서버 (238) (명확성 위해 하나만 도시), 애플리케이션 서버 (236), 및 저장 레이어 (220) (데이터 서버 및 파일 서버에 대응하는 애플리케이션 서버 데이터베이스를 포함) 을 포함한다. 웹 브라우저 (228) 를 통하여, (확장가능 마크업언어 (XML) 클라이언트 (204') 로 구현된) 애플리케이션 (202) 이 실행된다. 웹 브라우저 (228) 는 웹 서버 (238') 상에 있는 XML 서버 (206') 와 (파이어월 (208) 을 통해) 통신한다. 또한, 웹 서버 (238') 는 원격 매소드 호출 (RMI) 클라이언트 (210) 및 XML-RMI 인터페이스 (222) 를 포함한다.
유사하게, 이러한 및 다른 애플리케이션들 (202) 은 RMI 클라이언트, EJB (엔터프라이즈 자바 빈) 클라이언트, JNI (자바 네이티브 인터페이스) 클라이언트, 및 다른 웹서버 아키텍처 상의 클라이언트로 구현될 수 있다. 일반적으로 이런 클라이언트들은 도 1a에서 (204) 로 참조 된다. (일반적으로 참조되는) 대응 서버 (206) 는 웹 서버 (238') 와 유사하게 (즉, 각 관련 클라이언트 (210) 및 인터페이스 (222)를 갖는) 구성되는 (일반적으로 도 1A에서 참조되는) 각 웹서버 (238) 상에 상주한다.
도 1b 에 더 도시된 바와 같이, 애플리케이션 서버 (236) 는 RMI 서버 (212), EJB 클라이언트 (214), EJB 서버 (216) 상에 상주하는 정보 서비스 (218) (퍼시스턴스, 메세징, 라이프사이클, 워크플로우, 정책 관리자, 관리, 및 구조 관리) 및 RMI-EJB 인터페이스 (224) 를 포함한다. 웹 서버 (238') 는 웹서버 (238') 상에 상주하는 XML-RMI 인터페이스 (222) 를 통하여 애플리케이션 서버 (236) 와 통신한다. 웹 서버 (238') 는 또한 RMI-EJB 인터페이스 (224) 를 통하여 EJB 서버 (216) 상에 상주하는 정보 서비스 (218) 와 통신한다. 따라서 상술된 구성을 사용함으로써, 애플리케이션 (202) 을 사용하는 유저는 웹 서버 (238') 를 통하여 XML 클라이언트 (204') 로부터 EJB 서버 (216) 상의 정보 서비스 (218) 에 액세스할 수 있다. CORBA 기반 아키텍처 내에서 복제되는 서비스 (인증, 보안, 트랜잭션, 네이밍 및 데이터베이스 관리) 는 웹서버 (238') 에 의해 제공되며, 애플리케이션 서버 (236) 와 공유된다. 이 구성은 "웹-중심"으로서 지칭되며 애플리케이션 (202) 은 (예를 들어 3-계층 CORBA-based, 웹 인에이블 애플리케이션에 대향하여) N-계층 (N-Tier)이다. 애플리케이션 (202) 은 웹상에서 전개되며, 웹 서버 (238') 또는 애플리케이션 서버 (236) 의 서비스 및 관리 능력을 완전히 활용할 수 있게 한다.
정보 서비스 (218) 는 네트워크 내 임의의 포인트로부터 액세스 될 수 있다. 예를 들어, 파이어월 (208) 내측으로 RMI 클라이언트 (234) 상의 애플리케이션 (232) 을 구현하는 유저는 RMI-EJB 인터페이스 (224) 를 통하여 RMI 서버 (212) 로부터 EJB 서버 (216) 상의 정보 서비스 (218) 에 액세스할 수 있다. 유사하게, 파이어월 (208) 내측으로부터 EJB 클라이언트 (242) 상의 애플리케이션 (240) 을 구현하는 유저는 EJB 서버 (216) 로부터 직접 EJB 서버 (216) 상의 정보 서비스 (218) 에 액세스할 수 있다. 애플리케이션 (202, 232, 및 240) 은 상이한 서버상에서 구현되는 동일한 애플리케이션이다.
따라서, 플랫폼 (200) 은 (CORBA 기반 아키텍처와 같은) 통상적인 웹 인에이블, 3-레이어 애플리케이션에 제한되지 않지만, 본 명세서 내에서 참조로 전부 포함되고, 본 발명의 양수인에게 양도된 U.S. 특허 제 6,934,709 호에 상술된 시스템 컴파일러로 인한 N-계층 애플리케이션을 가진다. 웹 서버 (238) 및 애플리케이션 서버 (236) 을 구축할 경우, 인터페이스 (N-계층) 의 임의의 조합 및 임의의 수는 서로의 상단 상에 스택될 수도 있다.
선호된 실시형태에서, 협력 플랫폼 (200) 은 글로벌, 엔터프라이즈 와이드 전개를 지원하기 위한 유연한 PLM (Product Lifecycle Management) 환경을 제공한다. 바람직하게는 협력 플랫폼 (200) 은 아이디어로부터 제품 경험까지의 제품 관련 정보 및 지식 모두에 대한 액세스와 관리를 가능하게 하는 다양한 논네이티브 및 네이티브 애플리케이션들 (202, 232, 242) 을 위한 단일 개방 환경/플랫폼이다. 플랫폼 (200) 은 모든 엔지니어링 분야 및 모든 PLM 엔터프라이즈 비즈니스 프로세스들은 아닐지라도 다수를 스팬한다.
협력 플랫폼 (200) 은 현재와 미래에 오너쉽의 가능한 최저 총 비용으로 조직의 요구를 충족하는 것을 보장하도록 비즈니스 프로세스, 유저 인터페이스, 및 인프라구조 옵션을 용이하게 구성하기 위한 유연성을 제공한다. 이를 위해 플랫폼 (200) 의 인프라구조 서비스 중 하나는 도 1a 에 도시된 Adaplet (120) 으로 지칭된 애플리케이션 적응 인터페이스이다. Adaplet (120) 은 애플리케이션 서버 (236) 가 플랫폼 (200) 에 네이티브하지 않은 데이터 소스와 통신하게 하며, 이 데이터가 협력 플랫폼 (200) 에 네이티브한 것처럼 이 데이터를 나타낼 수 있게 한다.
본 발명은 도 1c 내지 도 5와 관련하여 다음에 설명되는 바와 같이 플랫폼 (200) 의 Adaplets (120) 인프라구조를 향상시킨다.
Adaplet API는 외계 (외부) 또는 비-네이티브 (non-native) 시스템 (300) (예로, CRM (고객 관계 관리), ERP (엔터프라이즈 자원 계획) 또는 임의의 다른 엔터프라이즈 애플리케이션) 으로부터의 비즈니스 개체/객체를 "적응" 시킴으로써 협력 플랫폼 (200) 의 저장 관리 레이어 (220; 도1a) 의 확장을 허용한다. Adaplet 인터페이스/API의 구체적 구현 (예) 은 Adaplet (120) 로 공지되어 있으며, 협력 플랫폼 (200) (모델링 질의 언어-MQL 및 애플리케이션 개발 장비- ADK 레이어) 에 의해 사용될 수 있는 비즈니스 객체/개체 (121) 및 이들의 관계를 수집한다.
각 Adaplet (120) 은 타깃 (외부) 시스템 (300) 에 특정되고, 플랫폼 네이티브 애플리케이션 (202, 232, 240) 이 사용할 수 있는 별도의 볼트 (Vault; 125, 도1a) 로서 나타난다. Adaplet 볼트 (125) 에 발행된 질의는 비-Adaplet 볼트 (126) 로부터 분간할 수 없는 방식으로 비즈니스 객체 (121) 및 관계를 리턴한다.
Adaplet (120) 은 타 시스템 (300) 의 간섭 및 IT 상에 부담을 유발하지 않으면서, 다중의 소스로부터 통합된 정보를 제공하도록, 플랫폼 (200) 과 타 시스템 (300) 간에 실시간 인터오퍼레이션 (inter-operation) 을 가능케 한다. Adaplet (120) 이 채용됨으로써, 마치 타 시스템 (300) 내 정보가 실제로 플랫폼 (200) 의 일부인 것처럼, 플랫폼 유저는 타 시스템 (300) 내에 저장된 정보에 대한 액세스를 가지게 된다. 외부 저장 정보는 네이티브 플랫폼 데이터로부터 구별할 수 없도록 만들어진다. 또한, 네이티브 플랫폼 정보 상에서 실행될 수 있는 동작들은 타깃 시스템 (300) 으로부터의 외부 정보 상에서 실행될 수 있다.
Adaplet (120) 은 서로 간에 유사한 능력을 갖는다.
(a) 이들은 통합된 트랜잭션 관리와 양방향성 (bidirectional) 이다. 타깃 시스템 (300) 은 2-단계 커밋 (commit) 을 구현할 수도 있으며 1-단계 데이터 소스로서 취급될 수도 있다.
(b) 이들은 비즈니스 객체 (121) 및 적응된/외부 시스템 (300) 내의 비즈니스 객체들 (121) 간의 관계 모두를 노출한다.
(c) 이들은 스키마 (schema) 를 확장하며 합성 객체 (121) 를 구축할 능력을 가진다. 일부 객체 (121) 속성은 협력 플랫폼 (200) 내에, 나머지는 적응된/외부 시스템 (300) 내에 상주할 수도 있다. 조합된 객체 (121) 는 협력 플랫폼 (200) 을 통해 단일 객체로서 나타나게 된다.
(d) 이들은 다른 페더레이션 (federation) 내 객체들을 연결하는 능력을 가진다. 플랫폼 (200) 관계는 네이티브 비즈니스 객체를 적응된/외부 볼트 (125) 내 객체 (121) 에 연결하거나 또는 상이한 적응된/외부 볼트 (125) 내 객체들 (121) 을 연결하도록 사용될 수도 있다.
본 발명에 앞서, Adaplet 인터페이스는 다음 두 가지 상이한 아키텍처를 이용하도록 구성될 수 있다. 하나의 옵션은 외부 데이터 소스에 대한 직접 데이터베이스 연결에 기초하였다. 또한, Adaplet은 명세서에서 WSA (Web Service Adaplets) 로 지칭 되는 웹 서비스 API (150) 을 사용하여 구현될 수 있다.
일 실시형태에서, 웹 서버 Adaplet은 웹 서버 (150) 를 통해 (타깃 시스템 (300) 의) 외계/외부 데이터베이스에 토크하는 자바 Adaplet 이다. 협력 플랫폼 (200) 은 웹 서비스 (150) 의 클라이언트 측면을 제공한다. 플랫폼 클라이언트 (200) 와 적응된 시스템 (300) 간의 핸드쉐이크 (handshake) 는 플랫폼 (200) 이 제공하는 WSDL 파일 (130) 에 의해 정의된다. WSDL 파일 (130) 은 웹 서비스 (150) 가 이해하는 메시지, 이 메시지들에 대응하는 포맷, 그 서비스 (150) 가 지원하는 프로토콜, 등을 기술한다.
고객들은 스터브 (stubs) 과 스켈레톤 (skeleton) 파일 (111) 을 생성하도록 이 WSDL 파일 (130) 을 적합한 자바 또는 C-Sharp 툴 (tool) (110) 과 함께 사용할 수 있다. 스터브 (stubs) 와 스켈레톤 (skeleton) 파일 (111) 은 웹 서비스 (150) 가 동작하도록 런타임에서 사용된다.
WSDL 툴 (110) 에 의해 생성된 파일 (111) 중 하나는, 스켈레톤의 공공 기능이 클라이언트 플랫폼 (200) 에 의해 행해진 호출들에 대한 답신을 제공하는 코드로 채워져 있어야만 하는 스켈레톤이다. 이 스켈레톤 (111) 에 있어서의 대부분의 기능은 적응된 시스템 (300) 으로부터 데이터를 받거나 세팅한다. 다른 몇몇은 트랜젝션 제어에 포함되어 있다.
WSA Adaplet에 의해 리턴된 객체/관계 (121) 는 물리적 및 논리적 레벨 모두에서 플랫폼 (200) 내 객체/관계 구조에 부합해야 한다. 타깃 시스템 (300) 으로부터의 응답 데이터는 통합 매핑 엔진에 의해 플랫폼 (200) 내 비즈니스 객체/관계 (121) 에 매핑된다. 이를 위해 (통합 매핑 엔진을 통한) WSA Adaplet 은 적응된 시스템 (300) 이 노출하기를 원하는 "타입", "속성", "관계" 등을 기술하는 스키마 파일 (135) 을 사용한다.
외부 시스템 (300) 으로부터 비즈니스 객체/데이터 (121) 를 추출하기 위해, WSA Adaplet이 구성되어야하며, 각 타깃 시스템 (300) 은 Adaplet API에 의해 노출된 인터페이스에 부합하는 각각의 특정 웹 서비스 (150) 를 구현 (즉, WSDL (130) 내에 정의되고, 스켈레톤 파일 (111) 내에서 코딩된 동작/방법을 구현) 해야만 한다. 실제로, 이는 그 통합이 사실상 협력 플랫폼 (200) 을 외부 시스템 (300) 에 연결하기 위해 생성될 중간 레이어 (타깃 시스템 (300) 특정 WSA Adaplet) 를 필요로 한다는 것을 의미한다. 이는 통합을 더욱 어렵게 하고 비싸게 만든다.
더욱이, 기존 웹 서비스 (150) 는 WSA Adaplet에 의해 정의되는 인터페이스에 부합하지 않기 때문에, WSA (Web Service Adaplet) 는 외부 데이터를 통합하기 위한 외계 시스템 (300) 에서 기존 웹 서비스 (150) 를 이용할 수 없다.
마지막으로, 이러한 웹 서비스 Adaplet의 제한으로 통합된 레이어를 추출하는 동안 이들은 통합된 데이터의 관계 또는 가항성 (navigability) 을 고려하지 않는다.
본 발명은 Adaplet 인프라구조 (infrastructure) 를 향상하며 개선한다. 본 발명에 의해 취해진 접근법은 상술된 것과 근본적으로 다르며, 질의 구문 (Query syntax) 을 정의하는 동안 통합된 데이터의 관계 및 그들의 운항성을 고찰한다. 이하에서 더 설명되는 바와 같은 합성 "문서 객체 모델"로부터 객체 (121) 가 생성되며, 본 발명은 그 합성 "문서 객체 모델" 을 형성하도록 하는 웹 서비스 호출의 체이닝을 사용한다.
따라서, 본 발명은 이전 WSA (Web Service Adaplets) 를 더 쉽게 사용하도록 한다. 출원인은 본 발명이 WSA 기술의 채택을 크게 높일 것이라고 믿는다. 또한, 발명의 실시형태들은 협력 플랫폼 (200) 이 비 구조화된 데이터 (환자 기록, 등) 와 같은 비-통상적인 데이터를 위한 중앙저장소가 되도록 가능케 한다.
협력 플랫폼 (200) 에 대한 본 발명의 이점의 일부는;
(1) 데이터 및 자동화 프로세스를 엔터프라이즈 및 비즈니스 파트너들까지 가로질러 교환하는 능력을 제공한다는 점,
(2) 사용자들이 다중 시스템으로부터의 정보로 작업하도록 가능하게 하여 글로벌 비즈니스 협력을 증진시키는 점, 정보의 이 전체론적 관점은 더 나은 의사 결정 지원 시스템, 낮은 비용으로 번역 및 더 빠른 제품 개발 주기를 가능하게 할 것이다.
(3) 타 데이터베이스로부터 데이터의 점진적인 병합 및 이동을 제공하는 점,
(4) 마치 플랫폼 데이터베이스/기억장치 레이어 (22) 내에 저장되었던 것처럼, 상이한 시스템상에 상주하는 제품 정보의 표시가 가능해지는 점, 및
(5) 다수의 데이터 소스에 연결된 동안 개발 노력 및 복잡한 코딩을 줄여주는 점이다.
기존의 웹 서비스 Adaplet과 비교하여, 본 발명의 주요한 이점은 외계 또는 타깃 시스템 (300) 에 있는 기존 소프트웨어 자산 (asset) (기존 웹 서비스 (150)) 의 재사용이다. 또한, 본 발명은 외부 시스템 (300) 으로부터 데이터를 통합하기 위한 임의의 추가적인 "코딩"을 요구하지 않는다.
도 1c-4을 보면, 본 발명의 실시형태가 상세히 설명되며 다음에 기술되어 있다. 본 발명의 Adaplet (120) 아키텍쳐 및 구현은 타깃 시스템 (300) 상에 기존 웹 서비스 (150) 의 소모를 허용한다. 이러한 향상에 추가로, 본 발명은 단일 루트로부터 임의의 문서/서비스 (응답) 의 임의의 노드를 식별할 수 있는 "고유한" 질의/매핑 구문 (25) 을 정의한다.
도 2에서 도시된 바와 같이, 타깃 시스템 (300) 은 "getStandardInfo" 및 "getMaterialInfo"를 위한 별개의 웹서비스 (150a, b) 를 노출한다. "getStandardInfo" 서비스 호출 (150a) 로부터의 응답은 "getMaterialInfo" 웹 서비스 (150b) 를 위해 요구되는 입력 ("materialid") 을 포함한다. 본 발명의 Adaplet (120) 은 호출을 직렬로 논리적으로 부가하고 체이닝함으로써 이러한 두 서비스 호출 (150a, 150b) 의 조합된 뷰 (32) 를 형성한다. 조합된 뷰 (32) 는 단일 논리 문서로 간주 될 수 있다.
조합된 뷰 (32) 로부터, 매핑 엔진 (35) 은 플랫폼 스키마 (135) (도3) 로의 매핑을 단순화한다. 매핑된 뷰 (34) 가 생성된다. 이는 다음과 같이 이루어진다. 경로 언어는 단일 "루트"로부터 임의의 문서 (또는 서비스 (150)) 의 임의의 노드를 식별할 수 있다. 다음으로, 매핑 엔진 (35) 은 도 4에 도시된 것처럼 질의/매핑 구문 (25) 을 구현한다.
매핑 (25) 은 각 노드가 서비스 (150) 를 호출할 수도 있는 단순한 경로를 보여준다. 또한, 경로 정의는 URL형 방식으로 인수 (arguement) 또는 파라미터를 통과시키도록 "매크로" 구문을 이용한다. 매핑 (25) 은 루트 컨텍스트 (21) 및 파생 컨텍스트 (23) 와 같은 객체 컨텍스트에 기초한 미리 정의된 매크로를 사용한다. 예를 들어, 루트 컨텍스트 (21) 로써의 $(name) 은 도 4의 도시된 예에서 채용된다.
또한, 매핑 (25) 은 문서/응답 메시지 내용에 기초한 동적 (dynamic) 매크로를 사용한다. 이는 도시된 예에서 파생 컨텍스트 (23) 로써의 $(materialid) 로 나타내진다.
도 1c 및 5를 참조하면, 일 예시의 제한되지 않는 실시형태에서 본 발명의 adaplet (120) 의 구현 및 동작은 다음과 같다. Adaplet (120) 은 타깃 시스템 (300) 의 기존 (미리 정의/제공된) 웹 서비스 (150) 를 통하여 타깃 시스템 데이터베이스에 토크하는 자바 컴포넌트로서 구현된다. 도 1b에서 상술 된 바와 같이, 플랫폼 (200) 은 adaplet (120) 의 구현이 자바에 제한되지 않도록 자바에 부가하여 다른 (복수의) 컴퓨터 아키텍처를 지원할 수 있다. 협력 플랫폼 (200) 은 웹 서비스 (150) 의 클라이언트 측면을 제공한다. Adaplet (120) 인터페이스 (도 5의 스텝 501) 는 타깃 시스템 (300) 에 의해 노출되는 웹 서비스 (150) 를 위한 WSDL 파일 (130) 을 취득한다. 이전 WSA Adaplet의 경우에, 클라이언트 플랫폼 (200) 과 타깃 시스템 (300) 간의 핸드세이크 (handshake) 는 WSDL 파일 (130) 에 의해 정의되며, WSDL 파일 (130) 은 각 웹 서비스 (150) 가 이해하는 메시지, 그 메시지들에 대한 응답의 포맷, 서비스가 지원하는 프로토콜, 등을 기술한다.
유저들은 스터브와 스켈레톤 파일 (111) 을 생성하도록 적합한 자바 툴 (110) 과 함께 WSDL 파일 (130) 을 사용한다. 스터브 및 클라이언트 클래스는 스키마 파일 (135) (예로 Schema.xml) 에서 설명된 바와 같이 복합 비즈니스 객체를 구축하도록 런타임에 제공자 클래스 (140) 에 의해 사용된다. 유저는 이전 WSA Adaplet에서와 같이 타깃 시스템 (300) 에 의해 구현되도록, 메소드를 스켈레톤 파일 (111) 에 채울 필요가 없다.
다음에 adaplet 인터페이스 (스텝 503, 도 5) 는 파라미터 파일 (133) 을 기록하며, 이는 구성 세팅을 만들기 위한 메커니즘이다. 또한, 스텝 (503) 은 제공자 클래스 (140), 및 타깃 시스템 (300) 에 의해 노출된 웹서비스 (150a,b,...n) 로의 종결점을 정의한다. Adaplet (120) 인터페이스는 adaplet 볼트 (125) 설명과 함께 데이터베이스 (123) 내에 XML 파일을 저장한다. 이 XML 파일은 파싱 (parsed) 되며 일부는 "볼트 추가" 명령 (나중에 다룸) 에 대한 입력으로 사용되며 일부는 스키마맵 과 같이 adaplet 제공자의 init() 진입점 (entry point) 으로 변환된다.
스텝 (505) 은 스키마 파일 (135) 을 기록한다. 그 내용들 즉, 스키마 맵은 클라이언트 플랫폼 (200) 을 통해 제공자의 init() 호출에 응답하여 리턴된다. 일 실시 형태에서, 스키마 매핑 파일 (135) 은 XML 파일이다. Adaplet (120) 에 의해 리턴된 객체/관계 (121) 는 협력 플랫폼 (200) 내의 객체/관계 구조에 부합해야 한다. 매핑은 adaplet (120) 구현의 책임이다. 관계 adaplet (120) 은 관계 데이터를 비즈니스 객체로 변환하는 매핑 엔진 (35) 으로 이를 달성한다.
스텝 (507) 에서. 제공자 클래스 (140) 는 인터페이스 (예를 들어, 일 실시형태에서 ffprovider 인터페이스) 를 구현한다. 이는 질의 인터페이스를 구현하도록 기존 대상 웹 서비스 (150) 인터페이스를 사용하여 제공자 클래스 (140) 에 의해 제공된다. 일 실시 형태에서, 도 4의 질의/매핑 구문 (25) 은 제공자 클래스 (140) 로 구축된다. 그러나 다른 실시 형태에서 질의/매핑 구문 (25) 은 관계를 운항하고 기존 웹 서비스 (150) 로부터의 결과를 조합하도록 제공자 클래스 (140) 와 무관할 수도 있다.
제공자 클래스 (140) 가 생성한 인터페이스는 (i) 스켈레톤 파일 (111) 을 타깃 시스템에 의해 구현되는 메소드로 채우도록 및 (ii) 각 타깃 시스템 내 웹서비스/스켈레톤 클래스 매소드를 구현하도록 유저의 기존 WSA Adaplet 접근 및 요구사항을 대신한다.
스텝 (509) 에서 adaplet (120) 인터페이스는 MQL 명령:
Add Vault [vaultname] external file [file name]
을 실행한다.
여기서 [filename] 은 스텝 (503) 에서 저장된 파라미터 파일 (133) 내 XML 파일로부터 판독된다. 따라서 클라이언트 플랫폼 (200) / adaplet (120) 은 타깃 시스템 (300) 의 하나 이상의 기존에 존재한/제공된 웹 서비스 (150) 호출의 사용을 통하여 복합 비즈니스 객체를 위해 타깃 시스템 데이터를 질의한다. 특히, adaplet (120) 은 이미 도 2에서 설명한 바와 같이 웹 서비스 호출을 체이닝한다.
이번에는, 제공자 클래스 (140) 가 스키마 파일 (135) 의 스키마 맵을 수반하는 대상 복합 비즈니스 객체 (121) 를 구축한다. 특히, 제공자 클래스 (140) 는 호출된 기존 웹 서비스 (150) 로부터의 결과를 조합하며, 매핑 엔진 (35) 은 웹 서비스 호출 구문에서부터 플랫폼 (200) 스키마까지 매핑한다. (도 3 및 4 내에 상술되었다.)
본 발명의 adaplet (120) 은 다중 웹 서비스 (150) 응답 메세지를 체이닝하며, 적절한 및 "고유한" 매핑 (25) 을 정의하도록 조합된 뷰 (32) 및 매핑된 뷰 (34) (문서 객체 모델) 를 이용하는 능력에 있어서 고유하며, 이에 의해서 외부 시스템 (300) 으로부터의 객체들 (121) 을 통합한다.
사용의 잠재적 기회들:
본 발명의 adaplet (120) 은 임의의 추가적인 코딩/ 클래스 매소드의 타깃 시스템 구현 없이 기존 웹 서비스 (150) 의 재사용을 증진시키며 잠재적으로 다중 도메인을 가로질러 구문 매핑 (25) 을 상호 연결할 수 있다. 본 발명의 adaplet (120) 은 타깃 시스템 (300) 에 플랫폼 (200) 이 정의한 서비스를 구현하도록 요구하는 기존 웹 서비스 Adaplet 구현을 개선시킨다.
본 발명의 발명 adaplet (120) 의 또 다른 잠재적 적용은 문서/ 서비스 (150) 가 기초적 구조, 종속성을 갖으며 내비게이션을 요하는 임의의 문제에 있다. 일 예는 RTF (Rich Text Format)/ xml 프래그먼트들을 단일의 어셈블리로 통합하는 요구사항 관리에 있다. 또 다른 예는 전용 웹 서비스를 경유해 참조된, '인-시츄' (in situ) 로 남겨진 문서들이다. 엔터프라이즈 지식의 80% 는 관계된 데이터페이스가 아닌 파일 서버에 방치되어있다. 적절한 문서들에 대한 액세스는 유저들이 일하는 방법을 바꾸지 않고 이 정보를 이용할 수 있게 한다.
기존 적응기들 및 통합 (federation) 툴킷은 비즈니스 객체들의 점대점 (point to point) 통합을 행한다. 이들은 관계/종속성을 갖는 객체/데이터를 위한 시스템들 간 매핑을 정의할 필요를 다루지 않는다.
도 6은 본 발명이 구현될 수도 있는 컴퓨터 네트워크 또는 유사한 디지털 프로세싱 환경을 도시한다.
(애플리케이션을 실행하는 클라이언트 (204) 와 같은) 클라이언트 컴퓨터/디바이스 (50) 및 (플랫폼 (200) 의 웹서버 (238) 및 애플리케이션 서버 (236) 와 같은) 서버 컴퓨터 (60) 는 애플리케이션 프로그램 등을 실행하는 프로세싱, 저장 장치 및 입/출력 디바이스를 제공한다. 또한, 클라이언트 컴퓨터/디바이스 (50) 는 통신 네트워크 (70) 을 통하여 다른 클라이언트 디바이스/프로세스들 (50) 및 서버 컴퓨터 (60) 로 구현되는 타깃 시스템 (300) 과 같은 다른 컴퓨팅 디바이스에 연결될 수 있다. 통신 네트워크 (70) 는 원격 액세스 네트워크, 글로벌 네트워크 (예로 인터넷), 컴퓨터들의 세계적인 집합, 로컬 영역 또는 광역 네트워크, 및 현재 서로 통신하도록 각각의 프로토콜 (TCP/IP, 블루투스 등) 을 사용하는 게이트웨이들의 일부일 수 있다. 다른 전자 디바이스/컴퓨터 네트워크 아키텍처에도 적합하다.
도 7은 도 6의 컴퓨터 시스템에서의 컴퓨터 (예로, 클라이언트 프로세서/디바이스 (50) 또는 서버 컴퓨터 (60)) 의 내부 구조의 도면이다. 각 컴퓨터 (50, 60) 는 시스템 버스 (79) 를 포함하며 여기서 버스란 컴퓨터 또는 프로세싱 시스템의 컴포넌트 사이에 데이터 전송을 위해 사용되는 하드웨어 라인들의 세트이다. 본질적으로 버스 (79) 는 엘리먼트들 간 정보의 전송을 가능케 하는 컴퓨터 시스템 (예로, 프로세서, 디스크 기억 장치, 메모리, 입/출력 포트, 네트워크 포트, 등) 의 다른 엘리먼트들을 연결하는 공유된 통로 (conduit) 이다. 다양한 입력 및 출력 디바이스 (예로, 키보드, 마우스, 디스플레이, 프린터, 스피커, 등) 를 컴퓨터 (50, 60) 에 연결하기 위한 I/O 디바이스 인터페이스 (82) 는 시스템 버스 (79) 에 부착된다. 네트워크 인터페이스 (86) 는 컴퓨터가 네트워크 (예로, 도 6의 네트워크 (70)) 에 부착된 다양한 다른 디바이스에 연결되도록 한다. 메모리 (90) 는 본 발명의 실시 형태 (예로, 상술된 adaplet (120), 매핑 엔진 (35) 및 지원하는 질의/매핑 구문 (25) 및 다른 코드) 를 구현하도록 사용된 컴퓨터 소프트웨어 명령어 (92) 및 데이터 (94) 를 위한 휘발성 기억 장치를 제공한다. 디스크 기억장치 (95) 는 본 발명의 실시형태를 구현하도록 사용된 컴퓨터 소프트웨어 명령 (92) 및 데이터 (94) 를 위한 비휘발성 기억장치를 제공한다. 또한, 중앙처리장치 (84) 는 시스템 버스 (79) 에 부착되어 있으며 컴퓨터 명령의 실행을 제공한다.
*일 실시형태에서 프로세서 루틴 (92) 및 데이터 (94) 는 본 발명의 시스템을 위한 소프트웨어 명령의 적어도 일부를 제공하는 컴퓨터 판독가능 매체 (예로, 하나 이상의 DVD-ROM, CD-ROM, 디스켓, 테이프 등과 같은 휴대용 저장 매체) 를 포함하는 (일반적으로 (92) 로 참조된) 컴퓨터 프로그램 제품이다. 컴퓨터 프로그램 제품 (92) 은 당업계에 공지된 바와 같이 임의의 적합한 소프트웨어 설치 절차에 의해 설치될 수 있다. 다른 실시형태로, 또한 적어도 소프트웨어 명령의 일부는 케이블, 통신 및/또는 무선 연결을 통해 다운로드될 수도 있다. 다른 실시형태에서, 본 발명의 프로그램은 전파 매체 (예로, 인터넷 또는 다른 네트워크(들) 와 같은 글로벌 네트워크를 걸쳐 전파되는 라디오파, 적외선파, 레이저파, 음파, 또는 전기파) 를 통한 전파된 신호에 대해 구현되는 컴퓨터 프로그램 전파 신호 제품 (107) 이다. 이러한 캐리어 매체 또는 신호들은 적어도 본 발명의 루틴/프로그램 (92) 을 위한 소프트웨어 명령의 일부를 제공한다.
택일적 실시형태에서, 전파된 신호는 전파된 매체로 전달된 아날로그 캐리어파 또는 디지털 신호이다. 예를 들어, 전파된 신호는 글로벌 네트워크 (예로 인터넷), 전기 통신 네트워크 또는 다른 네트워크를 통해 전파된 디지털화된 신호 일 수도 있다. 일 실시형태에서 전파된 신호는 밀리초(milli second), 초, 분, 또는 더 긴 기간 동안 네트워크를 통해 패킷 단위로 보내진 소프트웨어 애플리케이션을 위한 명령과 같이 일정 기간 동안 전파 매체를 통해 전송된 신호이다. 또 다른 실시형태에서, 컴퓨터 프로그램 전파 신호 제품을 위해 위에 상술되었듯이 컴퓨터 프로그램 제품 (92) 의 컴퓨터 판독가능 매체는, 예를 들어, 전파 매체를 수신하고 전파 매체에 구현된 전파된 신호를 식별함으로써 컴퓨터 시스템 (50) 이 수신하고 판독할 수도 있는 전파 매체이다.
일반적으로 말하면, "캐리어 매체"라는 용어 또는 과도상태 캐리어는 전술한 과도상태 신호, 전파된 신호, 전파된 매체, 저장 매체 등을 모두 포함한다.
본 발명이 상세히 도시되고 그 예시적 실시형태들을 참조하여 상술되었지만, 첨부된 청구항에 의해 포함되는 발명의 범위로부터 일탈함 없이 형태 및 세부항목에서 다수의 변경이 행해질 수도 있다는 것을 당업자들에 의해 이해될 것이다.

Claims (16)

  1. 타깃 시스템의 네트워크 서비스 데이터에 액세스를 제공하는 컴퓨터 시스템으로서,
    다중의 글로벌 컴퓨터 네트워크 서비스들을 통하여 데이터를 노출하는 타깃 시스템과 인터페이싱하고, 상기 노출된 데이터를 질의하는 애플리케이션 인터페이스로서, 상기 타깃 시스템에 대해, 상기 애플리케이션 인터페이스가 상기 타깃 시스템에 대한 애플리케이션들 사이에서 글로벌 컴퓨터 네트워크 서비스들을 재사용하도록, 상기 애플리케이션 인터페이스는 2 이상의 애플리케이션에 걸쳐 상기 다중의 글로벌 컴퓨터 네트워크 서비스 중 하나를 공동으로 사용하는, 상기 애플리케이션 인터페이스, 및
    (a) 상기 노출된 데이터의 질의 (query) 로서, 상기 애플리케이션 인터페이스에 의해 구현되는, 상기 질의 와 (b) 대상 애플리케이션에 있어서 사용가능한 객체들의 구문 간을 매핑하며, 상기 대상 애플리케이션이 상기 질의에 응답하여 생성된 객체 인스턴스의 데이터에 액세스하도록 가능케 하는 매핑 수단을 구비하는, 컴퓨터 시스템.
  2. 제 1 항에 있어서,
    상기 질의를 구현함에 있어서, 상기 애플리케이션 인터페이스는 상기 타깃 시스템으로부터 데이터의 조합된 뷰를 발생하는 방식으로, 상기 타깃 시스템의 상기 글로벌 컴퓨터 네트워크 서비스들 중 적어도 2개의 글로벌 컴퓨터 네트워크 서비스들에 대한 호출들을 체이닝 (chain) 하며, 및
    상기 애플리케이션 인터페이스가 상기 타깃 시스템의 기존 자산 (assets) 을 재사용하도록, 상기 적어도 2개의 글로벌 컴퓨터 네트워크 서비스들이 상기 타깃 시스템에 의해 미리 제공되는, 컴퓨터 시스템.
  3. 제 2 항에 있어서,
    상기 조합된 뷰로부터의 상기 매핑 수단은 상기 대상 애플리케이션에서 객체들의 질의 구문을 매핑하는, 컴퓨터 시스템.
  4. 제 1 항에 있어서,
    상기 컴퓨터 시스템은 협력 플랫폼에 의해 채용되며,
    상기 타깃 시스템은 상기 협력 플랫폼에 대해 외부 시스템이며 분산된 객체 클라이언트로서 구성되는, 컴퓨터 시스템.
  5. 제 1항에 있어서,
    상기 대상 애플리케이션은 확장가능한 매핑 언어 (XML) 클라이언트, 원격 메소드 호출 (RMI) 클라이언트, 엔터프라이즈 자바 빈 (EJB) 클라이언트 및 자바 네이티브 인터페이스 (JNI) 클라이언트 중 임의의 것으로서 구현되는, 컴퓨터 시스템.
  6. 타깃 시스템의 네트워크 서비스 데이터에 액세스하는 컴퓨터로 구현된 방법으로서,
    다중의 글로벌 컴퓨터 네트워크 서비스를 통해 데이터를 노출하는 타깃 시스템과 대상 애플리케이션 간을 인터페이싱하는 단계로서, 상기 인터페이싱 단계는 상기 노출된 데이터의 질의를 구현하고, 상기 타깃 시스템에 대해, 글로벌 컴퓨터 네트워크 서비스들이 상기 타깃 시스템에 대한 애플리케이션들 사이에서 재사용되도록, 상기 인터페이싱 단계는 2 이상의 애플리케이션들에 걸쳐 상기 다중의 글로벌 컴퓨터 네트워크 서비스들 중 하나를 공동으로 사용하는, 상기 인터페이싱 단계; 및
    (a) 상기 노출된 데이터의 질의 와 (b) 상기 대상 애플리케이션에 있어서 사용가능한 객체들의 구문 간을 매핑하며, 상기 대상 애플리케이션이 상기 질의에 응답하여 생성되는 객체 인스턴스들의 데이터에 액세스 가능하게 하는 매핑 단계를 포함하는, 컴퓨터로 구현된 방법.
  7. 제 6 항에 있어서,
    상기 질의를 구현함에 있어서, 상기 인터페이싱 단계는 상기 타깃 시스템으로부터 데이터의 조합된 뷰를 발생하는 방식으로, 상기 타깃 시스템의 상기 글로벌 컴퓨터 네트워크 서비스들 중 적어도 2개의 글로벌 컴퓨터 네트워크 서비스들에 대한 호출들을 체이닝하며,
    상기 인터페이싱 단계가 상기 타깃 시스템의 기존 자산 (assets) 을 재사용하도록, 상기 적어도 2개의 글로벌 컴퓨터 네트워크 서비스들은 상기 타깃 시스템에 의해 미리 제공되는, 컴퓨터로 구현된 방법.
  8. 제 7 항에 있어서,
    상기 매핑 단계는,
    상기 조합된 뷰로부터, 상기 대상 애플리케이션에서 객체들의 매핑 질의 구문을 매핑하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  9. 제 6 항에 있어서,
    상기 컴퓨터로 구현된 방법은 협력 플랫폼에 의해 이용되며, 및
    상기 타깃 시스템은 상기 협력 플랫폼에 대해 외부 시스템이며 분산된 객체 클라이언트로서 구성되는, 컴퓨터로 구현된 방법.
  10. 제 6 항에 있어서,
    상기 대상 애플리케이션은 확장가능한 매핑 언어 (XML) 클라이언트, 원격 메소드 호출 (RMI) 클라이언트, 엔터프라이즈 자바 빈 (EJB) 클라이언트 및 자바 네이티브 인터페이스 (JNI) 클라이언트 중 임의의 것으로서 구현되는, 컴퓨터로 구현된 방법.
  11. 애플리케이션을 통한 적어도 하나의 외부 시스템에 의해 제공되는 적어도 2개의 웹 서비스들에의 액세스 및 질의를 위한 컴퓨터 시스템으로서,
    (i) 각 웹 서비스는 적어도 또 다른 웹 서비스와는 통합되지 않은 (non-consolidated) 데이터를 보유하고,
    (ii) 상기 애플리케이션은 각 웹 서비스에 대한 각각의 인터페이스를 구비하며,
    상기 컴퓨터 시스템은,
    통합된 방법으로 상기 웹 서비스들로부터 기인한 질의를 수신하고 질의하기 위한 애플리케이션 인터페이스들을 적응시키는 적응 유닛 (adapting unit), 및
    웹 서비스들로부터 기인한 통합되지 않은 질의를 통합된 데이터로 조합하기 위한 매핑 수단을 구비하는, 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 적응 유닛은 상기 애플리케이션 인터페이스들이 질의 결과들의 조합된 뷰를 발생시키는 상기 웹 서비스들 중 2 이상의 웹서비스에 대한 호출들을 체이닝하도록 적응시키는, 컴퓨터 시스템.
  13. 제 12 항에 있어서,
    상기 매핑 수단은 통합된 데이터 스키마 (schema) 에 질의 구문을 매핑하는, 컴퓨터 시스템.
  14. 제 11 항에 있어서,
    상기 인터페이스들을 적응시키는 상기 적응 유닛은 상기 적어도 하나의 외부 시스템의 자산들을 효과적으로 재사용하는, 컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 적어도 하나의 외부 시스템은 분산된 객체 클라이언트로서 구성된, 컴퓨터 시스템.
  16. 제 11항에 있어서,
    상기 컴퓨터 시스템은 협력 플랫폼인, 컴퓨터 시스템.
KR1020100107271A 2009-10-30 2010-10-29 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템 KR20110048015A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100107271A KR20110048015A (ko) 2009-10-30 2010-10-29 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/610,096 2009-10-30
KR1020100107271A KR20110048015A (ko) 2009-10-30 2010-10-29 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20110048015A true KR20110048015A (ko) 2011-05-09

Family

ID=44239228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100107271A KR20110048015A (ko) 2009-10-30 2010-10-29 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20110048015A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310779B1 (ko) 2021-03-08 2021-10-08 주식회사 단디코리아 비대면 업무 환경을 위한 crm 서비스 지원 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310779B1 (ko) 2021-03-08 2021-10-08 주식회사 단디코리아 비대면 업무 환경을 위한 crm 서비스 지원 장치

Similar Documents

Publication Publication Date Title
US8589594B2 (en) Programmatic management of software resources in a content framework environment
US7343428B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US6985939B2 (en) Building distributed software services as aggregations of other services
Volter et al. Remoting patterns
McGovern et al. Java web services architecture
US7188158B1 (en) System and method for component-based software development
US6775680B2 (en) High level assembler metamodel
US6964053B2 (en) Type descriptor language (TDLanguage) metamodel
US6904598B2 (en) COBOL metamodel
Balen Distributed object architectures with CORBA
Abi-Antoun et al. Enabling the Refinement of a Software Architecture into a Design
US8788513B2 (en) Computer method and system providing access to data of a target system
Mukhi et al. Multi-protocol web services for enterprises and the grid
Al-Rawahi et al. Approaches to identify and develop Web services as instance of SOA architecture
KR20110048015A (ko) 타깃 시스템의 데이터에 액세스를 제공하는 컴퓨터 방법 및 시스템
Lui et al. Pro Spring Integration
Madiajagan et al. Interoperability in component based software development
Kim Modeling of Distributed Systems with SOA & MDA.
Yang Application of SOA and web service in implementing heterogeneous system integration
Xian Research of B2B e-Business Application and development technology based on SOA
Sarferaz Process Integration
Sadtler et al. Patterns: Implementing self-service in an SOA environment
Preston RADGIS-An improved architecture for runtime-extensible, distributed GIS applications
Helton An architecture for interfacing coarse-grained components in software applications
Florczyk et al. INSPIRE-able Services

Legal Events

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