KR101008050B1 - 서비스를 생성, 수행 및 매핑하는 시스템 및 방법 - Google Patents

서비스를 생성, 수행 및 매핑하는 시스템 및 방법 Download PDF

Info

Publication number
KR101008050B1
KR101008050B1 KR1020087021937A KR20087021937A KR101008050B1 KR 101008050 B1 KR101008050 B1 KR 101008050B1 KR 1020087021937 A KR1020087021937 A KR 1020087021937A KR 20087021937 A KR20087021937 A KR 20087021937A KR 101008050 B1 KR101008050 B1 KR 101008050B1
Authority
KR
South Korea
Prior art keywords
service
logic
concrete
unit
class
Prior art date
Application number
KR1020087021937A
Other languages
English (en)
Other versions
KR20080111005A (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 KR20080111005A publication Critical patent/KR20080111005A/ko
Application granted granted Critical
Publication of KR101008050B1 publication Critical patent/KR101008050B1/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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5045Making service definitions prior to deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

서비스를 생성하기 위한 시스템 및 방법이 제공된다. 새로운 서비스를 생성할 때, 결합된 추상적인 서비스 로직은 서비스 그레이드 리사이클을 실현하기 위하여 존재하는 서비스의 분류 카탈로그에 존재하는 서비스 분류에 기반하여 발생된다. 서비스를 수행하기 위한 시스템 및 방법이 또한 제공된다. 추상적인 서비스 로직을 조작할 때, 상기 추상적인 서비스 로직은 상기 구체적인 서비스 로직으로 전송된다. 그러면 대응하는 서비스는 상기 구체적인 서비스 로직에 따라 접속된다. 추상적인 서비스를 매핑하기 위한 시스템 및 방법이 또한 제공된다. 본 발명을 사용하는 것에 의하여, 서비스 개발 효율성 및 유연성은 향상된다. 그리고, 상기 서비스 네트웍에 대해 효과적으로 정상적인 조작을 보증하기 위하여 상기 서비스 네트웍의 서비스를 단순하고 빠르게 개발하고 배치할 수 있다.

Description

서비스를 생성, 수행 및 매핑하는 시스템 및 방법{A SYSTEM AND METHOD FOR CREATING, PERFORMING AND MAPPING SERVICE}
본 출원은 "서비스를 생성, 실행 및 매핑하는 시스템 및 방법"이라는 표제로 2006년 10월 10일에 출원된 중국 특허 출원 200610149610.3에 대해 우선권을 주장하며, 그 전문이 여기에 참고로서 통합된다.
본 발명은 네트웍 통신의 기술 분야에 관한 것으로, 특히 서비스를 생성, 실행 및 매핑하는 시스템 및 방법에 관한 것이다.
무선통신 네트웍 기술들 및 사용자들의 요구들이 증가함에 따라, 서비스 제공의 다양한 요구들이 있다. 서비스들의 다양성이 어느 정도에 도달될 때, 상이한 서비스들 사이의 상호 작용의 능력은 더 복잡한 서비스들의 더 개발하는데 있어 조작자들을 제한한다. 요청자들은 일련의 독립적인 서비스 서브-시스템들에 개별적으로 접속하는 대신 완전한 서비스 제공 체인을 높게 요구한다. 특히, 상이한 제공자들 및 상이한 기술 아이디어들, 상기 서비스들의 방법들 및 과정들로 인하여 서비스들을 통합하는 것은 어렵다.
서비스 관리의 아이디어에 대한 요구를 채우기 위해서, 기업은 공통적으로 조작자들의 다양한 리소스들을 통합하고, 상위 계층 서비스에 의한 사용을 위해 개 방되어야 하는 네트웍의 다양한 능력들 및 리소스들을 일정하게 추출하기 위해서 서비스들을 중심에 둔다. 상기 관리 서비스의 전체 수명을 열거하는 것과 같은 기술들의 출현은 다수의 서비스들의 정연한 관리를 위한 기술적 기준을 제공한다. 그리고 이것에 기반하여, 상기 서비스 네트웍을 개발하는 목적은 네트웍 계층 위의 서비스 평면(service plane)에서 가상의 놓여진 네트웍을 수립하고, 근원적인 네트웍의 능력들을 추출하고 격리하고, 그리고 단일 서비스 네트웍 위에 자유롭게 조작되는 다수의 서비스들을 가지는 것이다. 따라서, 상이한 요청자들의 서비스들 사이에서 상호 작용은 이 서비스 네트웍을 통해 수행될 수 있다.
종래 기술에서, 서비스는 전형적으로 SIB(Service Independent Building) 블록으로 생성된다. 상기 SIB는 미리 정의되고 표준화된다. 따라서, 서비스를 생성하는 절차는 간단하고 편리하게 완수될 수 있다. SIB들의 제한된 수로 인하여, 생산자들은 증가하는 복잡한 서비스 로직 생성을 지원하기 위하여 단지 특정 제작자 또는 플랫폼에 제한되는 SIB의 재사용을 유발할 수도 있는 다양한 비표준 SIB들을 정의했다.
현존하는 무선통신 네트웍들 위의 서비스들 사이에 다양한 상호 작용들이 있다. 많은 서비스들은 유사한 기능들을 제공하고, 또한 많은 서비스들은 몇몇 다른 서비스들의 기본 구성요소들의 역할을 할 수 있다. 그러나, 서비스-레벨 재사용은 서비스들의 비유사성, 서비스 인터페이스들의 차이 등으로 인하여 종래 기술에서는 수행될 수 없다. 현재의 거래 접근은 전형적으로 상기 요청자의 요구들을 위해 서비스를 새롭게 개발하는 것이다. 이러한 접근은 개발에서 비효율적이고 보편성의 결핍이다.
서비스들을 구성하는 로직 네트웍 위에, 상기 서비스 정보는 서비스 카탈로그에서 등록되고 분류되기 때문에, 비유사한 서비스들은 상이한 서비스들 사이에 상호 작용이 가능하도록 서비스-지향 기술을 사용하여 단일한 방법(예를 들어, Web 서비스)으로 요약될 수 있다. 상기 서비스 정보는 상기 서비스 카탈로그에서 집중적으로 (고정된 포맷으로) 저장된다. 상기 서비스 정보는 주로 서비스에 대한 주소 정보, 서비스에 대한 인터페이스 기술 정보, 및 서비스에 대한 기능 기술 정보를 포함하고, 또한 서비스에 대한 제공자 정보, 서비스에 대한 클래스 정보 등을 포함할 수도 있다. 상기 서비스 카탈로그는 서비스에 대한 주소 정보를 제공할 수 있다. 만약 서비스 요청자가 서비스를 요청하는 것이 필요하다면, 그는 상기 서비스 카탈로그를 조사하는 것에 의해 상기 서비스의 주소를 획득할 수 있다. 또한 상기 서비스 카탈로그는 상기 서비스에 대한 인터페이스 기술 정보 및 상기 서비스에 대한 기능 기술 정보를 제공할 수 있다. 상기 서비스 요청자는 필수의 서비스인지 여부를 판단하기 위하여 상기 서비스에 대한 상기 기능 기술 정보를 조사하는 것에 의해 상기 서비스의 기능 기술을 획득할 수 있다. 그리고, 상기 서비스 요청자는 상기 서비스에 대한 인터페이스 기술 정보를 조사하는 것에 의하여 상기 인터페이스에 따른 발동 요청을 구성할 수 있다.
현존하는 서비스들은 서비스 로직의 생성을 통해 새로운 서비스의 서비스 제공 로직으로 자유롭고 편리하게 사용될 수 있다고 할지라도, 새로운 문제는 상기 서비스 로직의 조작 동안 발생될 수도 있다. 상기 서비스 로직에 표시된 다른 서비 스가 서비스를 제공하는 것을 실패하거나, 또는 상기 서비스를 위한 최초의 인터페이스 발동 요청이 만족될 수 없고, 따라서 상기 서비스는 상기 서비스의 인터페이스의 변경으로 인해 이용 불가능할 수도 있다. 상기 서비스를 발동하는 모든 서비스 결합들은 이용 불가능할 수도 있고 그것은 결국 체인 작용이 될 수도 있다. 따라서, 기업에서 서비스의 생성에 현존하는 서비스들의 유연하고 효율적인 재사용의 시급한 요구가 있다.
서비스 생성 및 서비스 결합의 분야에서, 서비스는 전형적으로 외부 세계를 위해 서비스를 제공할 수 있다.
본 발명은 서비스 개발의 효율성 및 유연성을 향상시킬 수 있고 서비스의 간단하고 빠른 개발 및 배치를 촉진할 수 있는 서비스를 생성하기 위한 시스템 및 방법을 제공한다.
본 발명은 현존하는 네트웍, 인터페이스 변경 등에서의 서비스의 실패로 기인한 결합 서비스의 이용 불가능성의 문제를 피하기 위하여 이용 가능한 서비스가 현존하는 네트웍 상에 서비스들의 조작에 따라 동적으로 선택될 수 있도록 하는 서비스 실행 시스템 및 방법을 제공한다.
본 발명은 추상적인 서비스 로직의 수행을 보증할 수 있도록 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하기 위한 추상적인 서비스 매핑 시스템 및 방법을 제공한다.
결국, 본 발명에 따른 서비스 생성 시스템의 실시예는,
서비스 제공자가 시스템과 상호 작용하는 인터페이스를 제공하기 위해 형성된 요청자 인터페이스 유닛;
서비스 클래스 카탈로그를 저장하기 위해 형성된 서비스 클래스 저장 유닛;
구체적인 서비스를 생성하기 위해 요구되는 스크립트 개발 및 해석 번역 환경들과 상기 서비스 클래스 저장 유닛에 저장된 상기 서비스 클래스 카탈로그에 따라 생성된 추상적인 서비스 로직을 생성하기 위해 요구되는 편집 환경, 및 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛에게 입력된 지시에 따라 상기 구체적인 서비스 로직을 개발하기 위해 요구되는 편집 환경을 포함하는 서비스 로직 편집 환경들을 상기 서비스 개발자에게 제공하기 위해 형성된 서비스 로직 편집 유닛; 및
상기 서비스 로직 편집 유닛에서 생성된 상기 서비스 로직을 테스트하고 배치하며 요구된 서비스를 생성하기 위해 형성된 서비스 관리 유닛을 포함하며, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이다.
본 발명에 따른 서비스 생성 방법의 실시예는:
새로운 서비스가 생성될 필요가 있을 때, 서비스 생성 시스템에 의해, 미리-생성된 서비스 클래스 카탈로그에서 상기 새로운 서비스에 따른 서비스 클래스를 검색하는 단계;
만약 상기 새로운 서비스에 따른 서비스 클래스가 검색되면, 상기 서비스 생성 시스템에 의해, 상기 서비스 클래스 카탈로그의 상기 서비스 클래스에 따라 추상적인 서비스 로직을 생성하는 단계;
그렇지 않으면, 상기 서비스 생성 시스템에 의해, 구체적인 서비스 로직을 생성하는 단계를 포함하며, 상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이다.
본 발명에 따른 서비스 실행 시스템의 실시예는 상술한 상기 서비스 생성 시스템에 의해 생성된 서비스를 실행한다. 그리고,
상기 서비스 로직 편집 유닛에서 생성된 상기 구체적인 서비스 로직 및 상기 추상적인 서비스 로직을 저장하기 위해 형성된 서비스 저장 유닛;
요청자로부터의 요청에 따라 상기 서비스 저장 유닛으로부터 서비스를 획득하고, 상기 서비스 로직에 따라 상기 요청자를 위한 서비스를 제공하기 위해 형성된 서비스 로직 조작 유닛; 및
상기 서비스 로직 조작 유닛의 상기 추상적인 서비스 로직 조작을 구체적인 서비스 로직으로 변환하고, 상기 변환된 구체적인 서비스 로직을 상기 서비스 로직 조작 유닛으로 회신하기 위해 형성된 서비스 매핑 센터를 포함하며, 상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이다.
본 발명에 따른 서비스 실행 방법의 실시예는:
요청자의 요청에 따라 서비스 클래스 카탈로그의 서비스 클래스에 따라 생성된 구체적인 서비스 로직 또는 추상적인 서비스 로직을 포함하는 서비스 로직을 획득하는 단계;
만약 상기 서비스 로직이 추상적인 서비스 로직이라면, 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하고, 상기 변환된 구체적인 서비스 로직에 따라 상기 요청자에게 구체적인 서비스를 제공하는 단계를 포함하며, 상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이다.
본 발명에 따른 서비스 매핑 센터의 실시예는:
추상적인 서비스 로직을 수신하고, 상기 추상적인 서비스 로직을 처리하기 위하여 서비스 요구조건 분석 유닛, 구체적인 서비스 매핑 유닛, 및 요청 생성 유닛을 발동하고 제어하며, 처리 결과들에 따라 구체적인 서비스 로직을 생성하기 위해 형성된 매핑 제어 유닛;
상기 매핑 제어 유닛에 의해 수신된 상기 추상적인 서비스 로직을 분석하고 현재 정의된 서비스 클래스 카탈로그에 따라 상기 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하기 위해 형성된 상기 서비스 요구조건 분석 유닛;
상기 서비스 요구조건 분석 유닛에 의해 판단된 상기 서비스 클래스에 기반하여 상기 현존하는 네트웍의 서비스 카탈로그로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하기 위해 형성된 상기 구체적인 서비스 매핑 유닛; 및
상기 구체적인 서비스에 대응하는 인터페이스 발동 파일을 생성하기 위해 형성된 상기 요청 생성 유닛을 포함하며, 상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이다.
본 발명에 따른 추상적인 서비스 로직 매핑 방법의 실시예는:
정의된 서비스 클래스들에 따라 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하는 단계;
상기 서비스 클래스 및 미리 판단된 정책에 기반하여, 현재 접속 가능한 구체적인 서비스들로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하는 단계;
상기 구체적인 서비스에 대한 인터페이스 정보를 획득하고 상기 인터페이스 정보에 따라 인터페이스 발동 파일을 생성하는 단계; 및
상기 구체적인 서비스 및 상기 인터페이스 발동 파일을 구체적인 서비스 로직으로 결합하는 단계를 포함하며, 상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이다.
본 발명에 따른 기술적 솔루션들로부터 알 수 있는 바와 같이, 본 발명에 따른 서비스를 생성하기 위한 시스템 및 방법은 표준 서비스 능력의 생성 및 구체화된 발동 동안에 현존하는 네트웍 서비스들의 재사용을 지원할 수 있다. 따라서, 상기 서비스 네트웍에서 서비스들의 빠른 개발 및 배치를 촉진할 수 있다. 본 발명에 따른 서비스 실행 시스템 및 추상적인 서비스 매핑 시스템으로, 상기 추상적인 결합 서비스 로직의 수행은 지원될 수 있다. 그리고, 상기 추상적인 서비스 로직의 번역은 구체적인 결합 서비스 로직을 생성하기 위하여 필요되는 바와 같이 수행될 수도 있다. 따라서, 사용을 위한 동적 선택은 상기 현존하는 네트웍 서비스들의 실패, 인터페이스 변경 등에 기인한 상기 결합 서비스의 이용 불가능성을 효과적으로 회피하기 위하여 상기 현존하는 네트웍 서비스들의 조작을 고려하여 인에이블될 수 있고, 상기 결합 서비스의 정상적인 조작을 보증할 수 있다.
도 1은 본 발명에 따른 서비스 생성 시스템의 제1 실시예의 블록도이다.
도 2는 본 발명에 따른 서비스 생성 시스템의 제2 실시예의 블록도이다.
도 3은 본 발명에 따른 서비스 생성 방법의 바람직한 실시예의 수행 흐름도이다.
도 4는 본 발명에 따른 서비스 실행 시스템의 바람직한 실시예의 블록도이다.
도 5는 본 발명에 따른 서비스 실행 시스템이 요청자를 위해 구체적인 서비스를 제공하는 실시예의 흐름도이다.
도 6은 본 발명에 따른 서비스 실행 시스템이 요청자를 위해 추상적인 서비스를 제공하는 실시예의 흐름도이다.
도 7은 본 발명에 따른 서비스 실행 시스템에서 서비스 로직 조작 유닛의 제1 실시예의 블록도이다.
도 8은 본 발명에 따른 서비스 실행 시스템에서 서비스 로직 조작 유닛의 제2 실시예의 블록도이다.
도 9는 본 발명에 따른 서비스 실행 시스템에서 서비스 매핑 센터의 제1 실시예의 블록도이다.
도 10은 본 발명에 따른 서비스 실행 시스템에서 서비스 매핑 센터의 제2 실시예의 블록도이다.
도 11은 본 발명에 따른 서비스 실행 시스템이 추상적인 서비스 로직을 조작하는 실시예의 흐름도이다.
도 12는 본 발명에 따른 서비스 실행 방법의 바람직한 실시예의 수행 흐름도이다.
도 13은 본 발명에 따른 시스템을 사용하는 것에 의해 요청자를 위해 서비슬 제공하는 실시예의 네트워킹의 개략도이다.
도 14는 본 발명에 따른 추상적인 서비스 매핑 시스템의 바람직한 실시예의 블록도이다.
도 15는 본 발명에 따른 추상적인 서비스 매핑 시스템의 서비스 요구조건 분석 유닛의 실시예의 블록도이다.
도 16은 본 발명에 따른 추상적인 서비스 매핑 시스템의 서비스 인터페이스 매핑 유닛의 실시예의 블록도이다.
도 17은 본 발명에 따른 추상적인 서비스 매핑 방법의 바람직한 실시예의 수행 흐름도이다.
본 발명에 따르면, 서비스 로직(service logic)의 생성에서, 현존하는 서비스들 및 서비스 클래스(service class)들은 추상적인 서비스 로직(abstract service logic)을 생성하고 결합 서비스(combined service)를 생성하기 위하여, 새로운 서비스의 서비스 제공 로직(service provision logic)으로 사용된다. 그에 따라, 서비스들의 효율적인 재사용을 수행한다. 또한, 상기 생성된 추상적인 서비스 로직을 조작하는 메커니즘을 지원하기 위하여, 상기 추상적인 서비스 로직이 발동될 때 상기 추상적인 서비스 로직이 구체적인 서비스 로직으로 매핑된다. 그러면, 현존하는 네트웍에서 이용 가능하고 만족스러운 서비스는 대응하는 서비스를 제공하기 위한 상기 구체적인 서비스 로직에 따라 발견된다.
본 발명은 기술 분야에서 통상의 지식을 가지는 자가 본 발명의 솔루션들을 더 잘 이해하도록 도면들 및 실시예들을 참조하여 다음과 같이 상세히 설명된다.
도 1을 참조하면, 도 1은 본 발명에 따른 서비스 생성 시스템의 제1 실시예의 블록도이다.
본 실시예에서, 본 발명에 따른 서비스 생성 시스템(service creation system)은 요청자 인터페이스 유닛(requestor interface unit)(10), 서비스 클래스 저장 유닛(service class storage unit)(11), 서비스 로직 편집 유닛(service logic edit unit)(12), 및 서비스 관리 유닛(service management unit)(13)을 포함한다. 특히, 상기 요청자 인터페이스 유닛(10)은 서비스 개발자가 상기 시스템과 상호 작용하는 인터페이스를 제공한다; 상기 서비스 클래스 저장 유닛(11)은 서비스 클래스 카탈로그(service class catalog)를 저장하기 위해 형성된다; 상기 서비스 로직 편집 유닛(12)은 상기 요청자 인터페이스 유닛(10)을 통해 상기 시스템에 접속하는 상기 서비스 개발자에게 구체적인 서비스를 생성하기 위해 요구되는 스크립트 개발(script development) 및 해석 번역 환경(interpretation translation environment)들과 추상적인 서비스를 생성하기 위해 요구되고 상기 서비스 클래스 카탈로그에 따라 생성되는 로직 편집 환경(logic edit environment)을 포함하는 서비스 로직 편집 환경들을 제공하기 위해 형성되고, 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛으로 입력된 지시에 따라 요구된 서비스 로직을 생성하기 위해 형성된다; 그리고 상기 서비스 관리 유닛(13)은 상기 서비스 로직 편집 유닛(12)에서 생성된 상기 서비스 로직을 테스트하고 배치(deploy)하기 위해 형성되고 요구된 서비스를 생성하기 위해 형성된다.
상기 서비스 로직 편집 유닛(12)은 구체적인 서비스 로직 생성 유닛(concrete service logic creation unit)(121) 및 추상적인 서비스 로직 생성 유닛(abstract service logic creation unit)(122)을 포함한다. 특히, 상기 구체적인 서비스 로직 생성 유닛(121)은 상기 서비스 개발자에게 다중레벨 API(Application Programming Interface) 인캡슐레이션(encapsulation) 및 접속 모드들을 제공하고 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛(10)으로 입력된 지시에 따라 구체적인 서비스 로직을 생성하기 위해 형성된다; 그리고, 상기 추상적인 서비스 로직 생성 유닛(122)은 상기 서비스 클래스 카탈로그에 현존하는 서비스 클래스들과 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛(10)으로 입력된 지시에 따라 추상적인 서비스 로직을 생성하기 위해 형성된다.
상기 서비스 관리 유닛(13)은 서비스 테스트 유닛(service test unit)(131) 및 서비스 배치 유닛(service deployment unit)(132)을 포함한다. 특히, 상기 서비스 테스트 유닛(131)은 서비스 로직을 테스트하고 상기 서비스 로직의 정확성(correctmess)과 경계 조건(boundary condition) 및 서비스 애플리케이션 서버에 배치된 서비스에 대한 영향을 분석하기 위해 형성된다. 구체적으로, 상기 서비스 로직의 정확성과 경계 조건의 분석은 상기 서비스 로직은 구문(syntax)에서 옳은지 여부에 대한 체크, 상기 서비스 로직을 위해 요구된 모든 파라미터들이 제공되었는지 여부에 대한 판단 등을 지칭한다. 그리고 상기 서비스 애플리케이션 서버에 배치된 서비스에 대한 영향은 조작하는 기존 서비스의 불능화, 조작 에러 등을 포함하는 상기 새로운 서비스의 배치에 기인한 상기 배치된 서비스에 대한 가능한 영향(possible influence)을 지칭한다.
상기 서비스 배치 유닛(132)은 상기 서비스 테스트 유닛(131)의 테스트를 통과한 서비스 로직을 상기 서비스 애플리케이션 서버에 배치한다.
본 발명의 서비스 생성 시스템은 요청자에게 요청자 인터페이스 유닛, 간단하고 편리한 서비스 생성 환경, 및 안전한 서비스 테스트 환경을 제공할 수 있다. 이 시스템으로, 상기 요청자는 일반적인 구체적인 서비스를 생성할 수 있고, 또한 현존하는 서비스들과 결합되는 결합 서비스(combined service)를 편리하게 형성할 수 있다.
상기 서비스 개발자는 상기 요청자 인터페이스 유닛(10)을 통해 상기 시스템에 로그인하고 상기 시스템과 상호 작용한다.
상호 작용 동안에 상기 요청자에 의해 입력된 정보에 따라, 상기 서비스 로직 편집 유닛(12)의 상기 구체적인 서비스 로직 생성 유닛(121)은 상기 요청자를 위한 구체적인 서비스 로직을 생성한다. 또는 상기 추상적인 서비스 로직 생성 유닛(122)은 상기 서비스 클래스 저장 유닛(11)에 저장된 상기 서비스 클래스 카탈로그에 따라 상기 요청자를 위한 추상적인 서비스 로직을 생성한다.
상기 서비스 클래스 카탈로그는 현재 표준 서비스 클래스들의 테이블, 예를 들어, 위치 서비스 클래스, 및 날씨 예보 클래스; 및 각 클래스의 인터페이스 기술(interface description), 예를 들어 입력 및 출력 파라미터들의 타입 및 수, 그리고 상기 파라미터들이 선택적인지 여부를 포함하는 서비스 클래스 정보를 주로 포함한다. 실제로, 상기 서비스 클래스 카탈로그는 또한 서비스 애플리케이션들을 위해 요구되는 바와 같은 다른 정보, 예를 들어 클래스에 현재 포함된 구체적인 서비스에 대한 정보 및 구체적인 서비스와 관련된 인터페이스 기술 정보(interface description information) 및 서비스 기술 정보(service description information)를 또한 저장할 수 있다. 상기 정보는 상기 현존하는 네트웍의 상기 서비스 카탈로그로부터 협력적으로 획득될 수 있다.
상기 구체적인 서비스 로직은 사용되는 서비스가 표시된 구체적인 서비스인 로직을 지칭한다. 상기 구체적인 서비스 로직은 상기 구체적인 서비스가 발동되는 구체적인 인터페이스에 대한 정보 등을 포함한다. 상기 추상적인 서비스 로직은 고 추상적인-레벨 서비스 로직에 의해 기술된 서비스 로직을 지칭한다. 상기 추상적인 서비스 로직에서, 사용되는 상기 구체적인 서비스 및 상기 구체적인 서비스 인터페이스는 구체적으로 표시되지 않는다. 예를 들어, 단지 "서치 서비스"는 표시되나, 상기 서치 서비스가 서비스 제공자 1 또는 서비스 제공자 2에 의해 제공되는지 여부는 표시되지 않는다. 그러한 추상적인 서비스 로직은 발동될 때 직접적으로 실행되지 않고 구체적인 서비스 로직으로 변환된다. 그리고, 구체적인 서비스 인터페이스 발동 파일(invoking file)이 생성된다. 따라서 대응하는 서비스는 발동된다.
상기 서비스 로직 편집 유닛(12)은 상기 서비스 개발자에게 서비스가 개발되고 있을 때 서비스 로직 편집 환경, 상기 개발자에 의해 요구되는 바와 같이 발동될 수 있는 다양한 API 인캡슐레이션 및 접속 모드들, 및 상기 개발자가 스크립트 작성(script writing)에 의해 서비스를 개발할 수 있도록 하는 미리 정의된 스크립트 개발 및 해석 번역 환경들을 제공한다. 다시 말해서, 상기 구체적인 서비스 로직 생성 유닛(121)은 구체적인 서비스들을 생성하는 다양한 현존하는 방법들에서 수행될 수 있다.
추가적으로, 상기 서비스 로직 편집 유닛(12)은 또한 상기 서비스 개발자가 결합 서비스들을 개발하는 것을 돕기 위하여 상기 서비스 클래스 저장 유닛(11)을 통해 현존하는 서비스 클래스들을 획득할 수 있다.
서비스의 생성에서, 상기 개발자는 상기 요청자 인터페이스 유닛(10)을 통해 상기 서비스 로직 편집 유닛(12)에게 서비스 요구조건(service requirement)을 제공한다. 상기 서비스 로직 편집 유닛(12)은 상기 서비스 요구조건을 분석하고, 그러한 서비스의 클래스가 현존하는 서비스들에 존재하는지 여부를 체크하고, 만약 그렇다면 추상적인 서비스 로직을 생성하고, 만약 그렇지 않다면 구체적인 서비스 로직을 생성한다.
상기 서비스 로직의 편집이 종료된 후, 상기 서비스 로직 편집 유닛(12)은 상기 서비스 관리 유닛(13)에게 상기 서비스 로직을 송신한다. 상기 서비스 테스트 유닛(131)은 상기 서비스 로직을 테스트하고, 상기 서비스 로직의 정확성 및 경계 조건, 배치된 서비스에 대한 영향 등을 분석한다. 상기 서비스 로직이 상기 서비스 로직 테스트 유닛(12)에 의해 테스트를 통과한 후, 상기 서비스 배치 유닛(132)은 대응하는 서비스 로직을 서비스 로직 조작 플랫폼 또는 애플리케이션 서버에 배치할 수 있다. 상기 서비스의 특별한 요구조건에 부합하기 위하여, 협상(negotiation)은 대응하는 서비스 트리거 포인트(service trigger point), 서비스 제어 포인트(service control point) 등을 배치하기 위하여 서비스 라우터(service router) 및 정책 센터(policy center)와 수행될 수 있도 있다.
서비스 생성의 안전성을 더 보증하기 위하여, 안전 접속 제어 유닛(security access control unit)이 상기 요청자 인터페이스(10)와 상기 서비스 로직 편집 유닛(11) 사이에 또한 배치될 수도 있다. 도 2는 본 발명에 따른 서비스 생성 시스템의 제2 실시예를 설명한다. 안전 접속 제어 유닛(14)은 상기 서비스 개발자의 레벨 에 따라 상기 서비스 로직 편집 유닛(12)의 상이한 서비스 로직 편집 기능들을 접속하는 서비스 개발자의 권한을 제어하는 것에 의해 상기 서비스 개발자의 권한을 제어하는 역할을 한다. 상기 서비스 개발자의 권한(authority)은 인증(authentication), 디지털 인증서(digital certificate), 계층적 권한(hierarchical authority) 등에 의해 제어될 수도 있다.
또한, 본 실시예는 상기 서비스 클래스 저장 유닛(11)에 저장된 상기 서비스 클래스 카탈로그를 유지하기 위하여, 서비스 클래스 유지 유닛(service class maintenance unit)(15)이 상기 서비스 관리 유닛(13)과 상기 서비스 클래스 저장 유닛(11) 사이에 추가된다는 점에 있어서 도 1에 도시된 바와 같은 제1 실시예와 다르다. 상기 서비스 배치 유닛(132)이 새롭게 개발된 서비스 로직을 상기 서비스 애플리케이션 서버에 배치한 후, 상기 서비스 클래스 유지 유닛(15)은 상기 서비스 클래스를 상기 서비스 클래스 카탈로그에 추가한다. 이러한 방법으로, 만약 상기 개발자가 생성할 필요가 있는 서비스 로직이 상기 서비스 클래스를 필요로 한다면, 상기 서비스 클래스는 상기 카달로그에서 조사(inquire)될 수 있고, 그에 의해 결합 서비스의 개발을 촉진할 수 있다.
다음의 파라미터들은 서비스의 배치에서 표시될 수도 있다.
(1) 서비스 클래스. 이 정보는 서비스 클래스의 이름 및 예상되는 입력 및 출력 파라미터들을 표시하는 상기 서비스 클래스의 인터페이스 예상(선택적)을 포함한다.
(2) 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들. 이 정보는 서비 스 클래스들의 서비스들 발동 순서 및 각 서비스 클래스들의 입력 및 출력 파라미터들의 처리를 포함한다.
(3) 상기 로직의 추상적인 상태 플래그. 상기 플래그는 상기 서비스 로직의 추상적인 상태를 표시한다. 예를 들어,
0: 구체적인 서비스 로직;
1: 어떠한 인터페이스 발동 파일(interface invoking file)도 없이 구체적인 서비스가 표시되는 서비스 로직;
2: 어떠한 인터페이스 발동 파일도 없이 어떠한 구체적인 서비스도 표시되지 않은 구체적인 서비스 클래스가 표시되는 서비스 로직;
3: 어떠한 인터페이스 발동 파일도 없이 구체적인 서비스 클래스 또는 구체적인 서비스가 표시되지 않은 서비스 로직.
(4) 교대 입력 파라미터(alternate input parameter). 상기 파라미터는 대응하는 서비스 클래스를 표시하고 상기 서비스가 발동될 때 요청자에 의해 주어진 불충분한 구체적인 파라미터들의 경우에 채우기 위한 보충(supplementary)이 될 수 있다.
(5) 조작 제어 파라미터. 상기 파라미터는 조작 제어에서 참조 데이터(reference data)를 표시한다. 예를 들어, 시간의 경우에서, 만약 추상적인 서비스 로직의 부분(segment)의 조작 제어 파라미터가 매핑의 전체 기간이 10초 보다 길다는 것이 표시된다면 추상적인 서비스 로직의 부분은 실패한다.
(6) 상기 서비스 로직이 조작되는 동안 상기 요청자에게 제시되는 촉구 정보 인 요청자 촉구 정보
(7) 예상되는 파라미터들. 이 예상되는 파라미터들 파트는 파라미터들의 타입을 표시하고, 요청자 입력 정보의 유효성을 판단하기 위하여 상기 요청자가 데이터를 입력할 때 상기 타입에 대한 비교가 수행된다.
상술한 파라미터들에서, 서비스 클래스 및 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들의 파라미터들은 필수적이고, 나머지 파라미터들은 선택적이다.
또한, 이 시스템에서 상기 서비스 관리 유닛(13)과 연결된 서비스 정보 등록 유닛(service information registration unit)(16)은 추가적으로 배치될 수도 있다. 상기 서비스 정보 등록 유닛(16)은 상기 서비스 애플리케이션 서버에 배치된 상기 서비스 로직에 대한 정보를 현존하는 네트웍의 서비스 카탈로그에 추가하기 위해 형성된다. 다음의 정보는 요구된 바에 따라 포함될 수도 있다.
(1) 서비스 로직에 대한 인터페이스 기술 정보(입력, 출력, 통신 프로토콜 등을 포함하는), 전형적으로 WSDL(Web Service Description Language) 기술(description);
(2) 서비스 로직에 대한 제공자 정보, 예를 들어 제공자:AA; 주소:XXX;
(3) 서비스 로직에 의해 제공된 서비스에 대한 기술 정보, 예를 들어, 상기 서비스는 입력된 지리적 위치에 따라 대응하는 날씨 예보 등을 제공한다.
(4) 상기 서비스 로직이 속하는 클래스, 예를 들어 위치 서비스 클래스;
(5) 상기 서비스 로직이 배치된 상기 서비스 애플리케이션 서버의 물리적 주 소 또는 논리적 주소, 예를 들어 URL(Uniform Resource Locator) 주소.
실제로, 상기 서비스 애플리케이션 서버는 등록 기능을 제공할 수도 있다. 이 경우에, 상기 생성된 서비스 로직에 대한 정보는 상기 서비스 애플리케이션 서버에 의해 제공되는 상기 등록 기능을 통해 직접 현존하는 네트웍의 서비스 카탈로그에 추가될 수도 있다.
도 3을 참조하면, 도 3은 다음의 단계들을 포함하는 본 발명에 따른 서비스 생성 방법의 수행 흐름이다.
단계 301: 서비스 클래스 카탈로그가 생성된다.
상기 서비스 클래스 카탈로그는 서비스 클래스 관련 정보 및 서비스 관련 정보를 포함한다.
상기 서비스 클래스 관련 정보는 주로 다음을 포함한다.
1. 현재 표준 서비스 클래스들의 테이블, 예를 들어, 위치 서비스 클래스, 및 날씨 예보 클래스.
2. 각 클래스의 인터페이스 기술, 예를 들어, 입력 및 출력 파라미터들의 타입 및 수, 그리고 상기 파라미터들이 선택적인지 여부.
상기 서비스 관련 정보는 주로 다음을 포함한다.
1. 서비스 로직에 대한 인터페이스 기술 정보(입력, 출력, 통신 프로토콜 등을 포함하는), 전형적으로 WSDL 기술;
2. 서비스 로직에 대한 제공자 정보, 예를 들어, 제공자: AA; 주소: XXX;
3. 상기 서비스 로직에 의해 제공되는 서비스에 대한 기술 정보, 예를 들어, 상기 서비스는 입력된 지리적 위치에 따라 날씨 예보를 제공한다;
4. 상기 서비스 로직이 속하는 클래스, 예를 들어, 위치 서비스 클래스;
5. 상기 서비스 로직이 배치되는 서비스 애플리케이션 서버의 물리적 주소 또는 논리적 주소, 예를 들어, URL 주소.
상술한 서비스 클래스 관련 정보는 필수적인 정보이다. 그리고, 상기 서비스 관련 정보는 실제 요구되는 바에 따라 선택될 수도 있고, 현존하는 네트웍의 서비스 클래스와 결합되어 사용될 수도 있다.
단계 302: 새로운 서비스를 생성하는 것이 요청된다.
단계 303: 상기 새로운 서비스에 따른 서비스 클래스가 상기 서비스 클래스 카탈로그에서 검색된다. 만약, 그러한 서비스 클래스가 검색된다면 절차는 단계 304로 진행된다. 그렇지 않으면 절차는 단계 305로 진행된다.
단계 304: 추상적인 서비스 로직은 상기 서비스 클래스 카탈로그의 상기 서비스 클래스에 따라 생성된다. 그러면 절차는 단계 306으로 진행된다.
우선, 구체적인 서비스의 서비스 클래스에 관해 상기 서비스 클래스 카탈로그에서 조사된다. 만약 그렇다면, 상기 구체적인 서비스는 상기 서비스 클래스로 대체되고 인터페이스 예상(interface expectation)은 구체화된다. 그렇지 않으면 상기 단계는 스킵(skip)된다.
상술한 단계들은 상기 서비스 로직의 생성된 모든 요구된 구체적인 서비스들이 처리될 때까지 반복적으로 실행된다.
예를 들어, 결합 서비스 생성의 요구가 있다: "우선 구체적인 위치 서비스 A 는 인터페이스 발동 파일 FA로 발동된다. 그러면 구체적인 날씨 예보 서비스 B는 인터페이스 발동 파일 FB로 발동된다. 그리고 결과는 회신된다".
조사는 상기 서비스 클래스 카탈로그에서 수행된다. 만약 상기 구체적인 날씨 예보 서비스 B에 따른 어떠한 날씨 예보 클래스도 없고 위치 서비스 클래스 CA가 검색된다면, 상기 구체적인 위치 서비스 A는 상기 CA로 대체된다. 그리고, 이 서비스 클래스에 대한 인터페이스 예상 XXX는 구체화된다. 생성된 추상적인 서비스 로직의 결과로서, "우선 상기 위치 서비스 클래스는 인터페이스 예상 XXX로 발동된다. 그러면, 상기 구체적인 날씨 예보 서비스 B는 상기 인터페이스 발동 파일 FB로 발동된다. 그리고 결과는 회신된다."
단계 305: 구체적인 서비스 로직이 생성된다. 예를 들어, 서비스는 미리 정의된 스크립트 개발 및 해석 번역 환경들에서 스크립트 작성에 의해 개발될 수 있다.
단계 306: 새로운 서비스 로직이 테스트된다. 예를 들어, 조작 프로세스는 출력이 적절한지 여부를 판단하기 위해 미리 정의된 테스트 스크립트를 통해 시뮬레이션된다.
단계 307: 상기 테스트가 통과되었는지 여부가 판단된다. 만약 그렇다면 절차는 단계 308로 진행된다. 그렇지 않으면 절차는 요청되는 바와 같이 새로운 서비스 로직이 생성되는 단계 302로 되돌아간다.
단계 308: 새롭게 생성된 서비스 로직이 상기 서비스 애플리케이션 서버에 배치된다.
상기 서비스의 배치에서, 상기 새롭게 생성된 서비스 로직의 조작 정보는 우선적으로 설정된다. 상기 조작 정보는 적어도 서비스 클래스 및 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들을 포함하고, 이전에 상세히 설명된 상기 로직의 추상적인 상태 플래그, 교대 입력 파라미터, 조작 제어 파라미터 등을 포함할 수도 있다. 그러면, 상기 조작 정보는 상기 서비스 애플리케이션 서버의 결합 파일로 작성된다.
단계 309: 상기 새로운 서비스 로직에 대한 정보는 상기 서비스 클래스 카탈로그에 추가된다.
상기 새로운 서비스 로직이 상기 서비스 애플리케이션 서버에 배치된 후, 상기 새로운 서비스 로직에 대한 정보는 이후 사용의 편리성을 위해 상기 현존하는 네트웍의 상기 서비스 카탈로그에 추가될 수 있다.
도 4는 본 발명에 따른 서비스 실행 시스템의 바람직한 실시예의 블록도이다.
본 실시예에서, 본 발명에 따른 상기 서비스 실행 시스템은 서비스 저장 유닛(service storage unit)(20), 서비스 로직 조작 유닛(service logic operation unit)(21), 및 서비스 매핑 센터(service mapping center)(22)를 포함한다. 특히, 상기 서비스 저장 유닛(20)은 구체적인 서비스 로직 및 추상적인 서비스 로직을 포함하는 서비스 로직을 저장하기 위해 형성된다; 상기 서비스 로직 조작 유닛(21)은 요청자로부터의 요청에 따라 상기 서비스 저장 유닛(20)의 서비스를 발동하고 상기 서비스 로직에 따라 구체적인 서비스를 제공하기 위해 형성된다; 그리고 상기 서비 스 매핑 센터(22)는 상기 서비스 로직 조작 유닛(21)으로부터의 지시에 따라 상기 서비스 로직 조작 유닛(21)의 추상적인 서비스 로직 조작을 구체적인 서비스 로직으로 변환하기 위해 형성된다.
상기 서비스 저장 유닛(20)은 구체적인 서비스 로직 뿐만 아니라 추상적인 서비스 로직을 저장한다. 상기 요청자가 서비스의 제공을 요구할 때, 우선 상기 서비스 로직 조작 유닛(21)은 상기 요청자로부터의 요청에 따라 서비스 로직을 발동한다. 구체적인 서비스 로직 또는 단지 추상적인 서비스 로직은 상기 요청자가 서비스를 요청할 때, 아래에 각각 기술되는, 상기 요청자에 의해 제공되는 파라미터들에 따라 발견될 수도 있다.
만약, 상기 요청자에 의해 요청된 결합 서비스가 구체적인 서비스 로직이라면, 즉 발동되는 서비스들의 셋(set)이 구체적인 서비스들(구체적인 서비스들은 상기 현존하는 네트웍의 서비스 카탈로그에서 조사될 수 있다.)이라는 것이 상기 서비스 로직에 표시된다. 예를 들어, "우선 위치 서비스(서비스 ID 0001 및 서비스 카탈로그 주소 1000)가 발동되고, 그러면 검색 서비스(상기 서비스 ID 0002 및 상기 서비스 카탈로그 주소 1000)가 발동된다."라는 것이 상기 결합 서비스 로직에 표시된다. 여기서, 상기 위치 서비스 및 상기 검색 서비스는 현존하는 네트웍의 서비스 카탈로그에 등록된 두개의 구체적인 서비스들이다. 그러한 결합 서비스 로직은 발동될 때 상기 서비스 매핑 센터(22)에 의해 서비스-매핑되지 않는다. 그러나, 상기 서비스 로직 조작 유닛(21)은 상기 구체적인 서비스 로직의 상기 정보에 따라 직접 상기 요청자에게 서비스를 제공한다. 수행 흐름의 실시예는 도 5에 도시되고, 다음 단계들을 포함한다.
1. 상기 요청자는 상기 서비스 로직 조작 유닛에게 서비스 ID, 입력 파라미터 등의 정보를 포함하는 서비스 발동 요청을 시작한다.
2. 상기 서비스 로직 조작 유닛은 상기 요청자로부터의 요청 파라미터에 따라 상기 서비스 저장 유닛으로부터 구체적인 서비스 로직인 서비스 로직을 획득한다.
3. 상기 서비스 로직 조작 유닛은 구체적인 서비스들의 셋 및 상기 구체적인 서비스 로직에 표시된 상기 서비스들을 발동하는 것에 따라 서비스 제공자로부터 서비스 발동을 인에이블하기 위해 연속적으로 각 서비스 발동을 시작한다.
4. 상기 서비스 제공자는 발동 결과를 회신한다.
5. 상기 서비스 로직 조작 유닛은 상기 요청자에게 최종 결과를 회신한다.
상술한 단계 3 및 4는 다수 회 실행될 수 있다.
만약, 상기 요청자에 의해 요청된 결합 서비스가 추상적인 서비스 로직이라면, 즉 발동되는 서비스들의 셋(set)이 구체적인 서비스들(상기 서비스 네트웍의 서비스 카탈로그에서 조사될 수 있는 구체적인 서비스들)이 아니고 구체적인 서비스들의 추상인 것이 상기 서비스 로직에서 표시된다. 예를 들어, "우선 위치 서비스가 발동되고, 그러면 검색 서비스가 발동된다."라는 것이 상기 결합 서비스 로직에 표시된다. 여기서, 상기 위치 서비스 및 상기 검색 서비스는 단지 서비스들의 두개의 클래스들이고 구체적인 서비스들이 아니다. 그러한 결합 서비스 로직은 발동될 때 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하기 위해 상 기 서비스 매핑 센터(22)에 의해 서비스-매핑된다. 그러면, 상기 서비스 로직 조작 유닛(21)은 상기 구체적인 서비스 로직의 상기 정보에 따라 상기 요청자에게 서비스를 제공한다.
상기 수행 흐름의 실시예는 도 6에 도시되고 다음의 단계들을 포함한다.
1. 상기 요청자는 상기 서비스 로직 조작 유닛에게 서비스 ID, 입력 파라미터 등에 대한 정보를 포함하는 서비스 발동 요청을 시작한다.
2. 상기 서비스 로직 조작 유닛은 상기 요청자로부터의 요청 파라미터에 따라 상기 서비스 저장 유닛으로부터 추상적인 서비스 로직인 서비스 로직을 획득한다.
3. 상기 서비스 로직 조작 유닛은 상기 서비스 매핑 센터에게 로직 분석 요청을 송신한다. 상기 요청은 특히 다음을 포함한다.
(1) 상기 요청자의 입력 파라미터
(2) 특히 다음의 파라미터 정보를 포함하는 상기 추상적인 서비스 로직:
a) 서비스 클래스. 이 정보는 서비스 클래스의 이름 및 예상되는 입력 및 출력 파라미터들을 표시하는 상기 서비스 클래스의 인터페이스 예상(선택적)을 포함한다.
b) 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들. 이 정보는 서비스 클래스들의 조작 순서 및 각 서비스 클래스의 입력 및 출력 파라미터들의 처리를 포함한다.
c) 상기 로직의 추상적인 상태 플래그. 상기 플래그는 상기 서비스 로직의 추상적인 상태를 표시한다. 예를 들어, 0: 구체적인 서비스 로직; 1: 어떠한 인터페이스 발동 파일(interface invoking file)도 없이 구체적인 서비스가 표시된 서비스 로직; 2: 어떠한 인터페이스 발동 파일도 없이 구체적인 서비스가 표시되지 않은 구체적인 서비스 클래스가 표시된 서비스 로직; 3: 어떠한 인터페이스 발동 파일도 없이 구체적인 서비스 클래스 또는 구체적인 서비스가 표시되지 않은 서비스 로직.
d) 교대 입력 파라미터. 상기 파라미터는 대응하는 서비스 클래스를 표시하고 상기 서비스가 발동될 때 요청자에 의해 주어진 불충분한 구체적인 파라미터들의 경우에서 채우기 위한 보충(supplementary)이 될 수 있다.
e) 조작 제어 파라미터. 상기 파라미터는 조작 제어에서 참조를 위한 데이터를 표시한다. 예를 들어, 시간의 경우에서, 만약 조작 제어 파라미터가 매핑의 전체 기간이 10초 보다 길다는 것이 표시된다면 추상적인 서비스 로직의 부분은 실패한다.
(3) 매핑에서 상기 서비스 매핑 센터를 지원하는 매핑 정책이 또한 포함될 수 있다. 예를 들어, 매핑 프로세스의 상기 구체적인 서비스의 선택에서 서비스에 대한 통신 프로토콜이 상기 HTTP 프로토콜이어야 한다는 것이 요구된다.
4. 상기 서비스 매핑 센터는 서비스 기술, 인터페이스 등에 대한 관련된 정보를 획득하기 위하여 현존하는 네트웍의 서비스 카탈로그와 상호 작용한다. (이 단계는 개별적으로 실행될 수 있고 상기 절차와 동기화된다.)
5. 상기 서비스 매핑 센터는 상기 로직에 포함된 서비스 클래스를 획득하기 위하여 상기 추상적인 서비스 로직을 분석한다.
6. 상기 서비스 매핑 센터는 상기 서비스 클래스를 일정한 룰에 따라 구체적인 서비스에 매핑한다.
7. 상기 서비스 매핑 센터는 상기 구체적인 서비스에 의해 요구된 바와 같은 인터페이스 명세(interface specifiaction)에 따른 상기 관련된 정보로부터의 규격 인터페이스 발동 요청(compliant interface invoking request)을 생성하고, 구체적인 서비스 및 대응하는 인터페이스 발동 파일이 구체화된 구체적인 서비스 로직인 새로운 서비스 로직을 생성한다.
상술한 단계 5 내지 7은 처리되는 추상적인 서비스 로직의 추상 상태에 따라 선택적으로 실행될 수 있다. 예를 들어, 만약 상기 추상 상태가 2이면(어떠한 인터페이스 발동 파일도 없이 구체적인 서비스가 표시되지 않은 구체적인 서비스 클래스가 표시된 서비스 로직), 상기 단계 5는 생략된다. 그리고, 비슷하게, 상기 상태가 1이면(어떠한 인터페이스 발동 파일도 없이 구체적인 서비스가 표시된 서비스 로직), 상기 단계 5 및 6이 생략된다.
8. 상기 서비스 매핑 센터는 상기 서비스 로직 조작 유닛에게 실행 결과를 송신한다. 이 단계에서, 상기 서비스 매핑 센터로부터 상기 서비스 로직 조작 유닛에게 출력된 정보는 상기 구체적인 서비스 로직에 대한 정보를 포함하고, 주로 다음을 포함한다.
a) 구체적인 서비스들 사이의 데이터 흐름들 및 제어 흐름들; 및
b) 구체적인 서비스를 위한 인터페이스 발동 파일
상술한 파라미터들에 더하여, 상기 현재의 것 및 인터페이스 발동 파일들을 상기 구체적인 서비스로 대체할 수 있고 상기 서비스 매핑 센터의 실행에 대한 정보를 보고할 수 있는 다른 구체적인 서비스들이 포함될 수도 있다.
9. 상기 서비스 로직 조작 유닛은 구체적인 서비스들의 셋 및 상기 구체적인 서비스 로직에서 표시되는 상기 서비스들을 발동하는 것에 기반하여 구체적인 서비스 제공자로부터 연속적으로 각 서비스를 발동하는 것을 시작한다.
10. 상기 구체적인 서비스 제공자는 발동 결과를 회신한다.
상술한 단계 9 및 10은 상기 구체적인 서비스 로직의 구체적인 서비스들의 수에 따라 다수 회 실행될 수 있다.
11. 상기 서비스 로직 조작 유닛(10)은 상기 요청자에게 발동 결과를 회신한다.
도 7을 참조하면, 도 7은 도 4에 도시된 바와 같은 본 발명에 따른 서비스 실행 시스템의 서비스 로직 조작 유닛의 제1 실시예의 블록도이다.
상기 서비스 로직 조작 유닛(21)은 요청자 인터페이스 유닛(requestor interface unit)(211), 서비스 선택 유닛(service selection unit)(212), 및 서비스 실행 유닛(service execution unit)(213)을 포함한다. 특히, 상기 요청자 인터페이스 유닛(211)은 상기 요청자가 상기 시스템과 상호 작용하는 인터페이스를 제공하고 상기 요청자에 의해 요청된 서비스의 파라미터를 획득한다; 상기 서비스 선택 유닛(212)은 상기 요청자에 의해 요청된 상기 서비스의 파라미터에 따라 상기 서비스 저장 유닛(20)에서 서비스 로직을 선택하기 위해 형성된다; 그리고 상기 서 비스 실행 유닛(213)은 상기 서비스 선택 유닛(212)에 의해 선택된 상기 서비스 로직의 타입을 판단하고, 만약 그것이 구체적인 서비스 로직이라면 직접 구체적인 서비스 로직 서비스에 접속하고, 그리고 만약 그것이 추상적인 서비스라면 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하기 위해 상기 서비스 매핑 유닛(22)를 발동하고, 그에 따라 상기 구체적인 서비스 로직에 대응하는 서비스에 접속하기 위하여 형성된다.
도 5 및 도 6의 상술한 기술들은 상기 서비스 로직 조작 유닛(212)이 상기 요청자에게 서비스를 제공하는 상세한 절차에 적용될 수 있다. 그리고, 상기 절차는 여기서 설명되지 않는다.
도 8을 참조하면, 도 8은 본 발명에 따른 서비스 실행 시스템에서 상기 서비스 로직 조작 유닛의 제2 실시예의 블록도이다.
도 7에 도시된 바와 같은 실시예와는 달리, 상기 서비스 로직 조작 유닛(21)에는 상기 구체적인 서비스가 실행되기 전에 구체적인 서비스 로직의 구체적인 서비스의 이용 가능성을 감지하기 위해 형성된 구체적인 서비스 이용 가능성 감지 유닛(concrete service availability detection unit)(214)이 추가된다. 예를 들어, 서비스의 접속 가능성의 상태(연결이 끊어진 상태가 아님, 접속이 허용됨, 등)가 감지된다. 상기 감지는 구체적인 서비스에게 구체적인 감지 메시지를 송신하는 것에 의해 수행될 수 있다. 구체적인 서비스의 감지는 상기 요청자에 의해 요청된 서비스 그 자체가 구체적인 서비스인 경우 및 상기 요청자에 의해 요청된 서비스 그 자체가 추상적인 서비스인 경우에 모두 수행될 수 있다. 후자의 경우, 상기 서비스 매핑 센터(22)는 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하고 상기 서비스 실행 유닛에게 상기 구체적인 서비스 로직을 회신한다. 그리고, 상기 서비스 실행 유닛(213)은 상기 구체적인 서비스 로직에서 발동된 상기 구체적인 서비스의 이용 가능성을 감지하도록 상기 구체적인 서비스 이용 가능성 감지 유닛(214)을 발동할 수 있다. 예를 들어, 상기 구체적인 서비스 로직에서 발동된 구체적인 서비스의 HTTP 주소는 HTTP://www.MyService이고 상기 이용 가능성은 핑(Ping) 등의 방법에 의해 감지될 수 있다. 다른 예에서, 현재 서비스 상태(액티브(active) 및 스립(sleep))가 등록된 정보 센터는 상기 네트웍 상에 존재한다. 그리고, 상기 서비스의 이용 가능성은 상기 센터에서 조사하는 것에 의해 획득될 수도 있다. 상기 구체적인 서비스 이용 가능성 감지 유닛(214)은 상기 서비스 실행 유닛(213)에게 감지 결과를 회신한다. 그리고, 상기 서비스 실행 유닛(213)은 상기 감지 결과에 따라 상기 구체적인 서비스를 선택할 것인지 여부를 결정할 수 있다.
또한, 만족스러운 구체적인 서비스를 선택하기 위하여, 구체적인 서비스 필터 유닛(concrete service filter unit)(215)은 상기 구체적인 서비스가 실행되기 전에 미리 설정된 필터 정책(filter policy)에 따라 구체적인 서비스 로직에서 구체적인 서비스를 발동할 것인지 여부를 판단하고 상기 구체적인 서비스가 발동된 후 상기 구체적인 서비스의 회신된 결과를 사용할 것인지 여부를 판단하기 위하여 상기 서비스 로직 실행 유닛(21)에 배치될 수도 있다. 상기 구체적인 서비스 필터 유닛(215)은 상기 서비스 실행 유닛(213)에게 결과를 회신하고 상기 서비스 실행 유닛(213)은 상기 결과에 따라 상기 구체적인 서비스를 사용할 것인지 여부를 결정 할 수 있다.
구체적인 서비스가 발동되기 전 또는 발동된 후, 상기 구체적인 서비스를 발동할 것인지 여부는 미리 설정된 필터 정책(예를 들어, 상기 서비스의 제공자가 AA 이어야 하고, 상기 서비스의 주소는 주소 범위 XXX~XXX 내에 있어야 한다)에 따라 결정될 수 있다. 만약, 상기 구체적인 서비스가 선택된다면, 발동은 정상적으로 수행된다; 그리고 만약 상기 구체적인 서비스가 발동될 수 없다면, 다른 후보 구체적인 서비스(candidate concrete cervice)가 선택될 수도 있다. 후보 구체적인 서비스들은 추상적인 서비스 로직이 구체적인 서비스 로직에 매핑된 후 상기 서비스 매핑 센터(22)로부터 상기 서비스 로직 조작 유닛(21)에게 회신된 것들이 수도 있고, 또는 상기 서비스 매핑 유닛(22)의 대응하는 유닛을 다시 발동하는 것에 의해 획득될 수도 있다.
또한, 상기 미리 설정된 필터 정책은 발동이 미리 설정된 조건을 만족하는지 여부를 체크하기 위해 형성될 수도 있다. 예를 들어, 구체적인 서비스를 조작하기 위한 기간은 3초를 초과하지 말아야 한다는 것이 요구된다. 그리고, 만약 구체적인 서비스가 시간 초과된 경우 이 조건은 만족되지 않는다. 이때, 발동 실패는 상기 요청자에게 회신될 수도 있다. 또는 상기 구체적인 서비스의 발동의 결과는 취소될 수도 있고, 후보 구체적인 서비스가 선택되고 다시 발동될 수도 있다.
도 9를 참조하면, 도 9는 본 발명에 따른 서비스 실행 시스템에서 상기 서비스 매핑 센터의 제1 실시예의 블록도이다.
상기 서비스 매핑 센터(22)는 매핑 제어 유닛(mapping control unit)(221), 서비스 클래스 저장 유닛(service class storage unit)(222), 현존하는 네트웍 서비스 카탈로그 저장 유닛(existing network service catalog storage unit)(223), 서비스 요구조건 분석 유닛(service requirement analysis unit)(224), 구체적인 서비스 매핑 유닛(concrete service mapping unit)(225), 및 요청 생성 유닛(request creation unit)(226)을 포함한다. 특히, 상기 매핑 제어 유닛(221)은 상기 서비스 로직 조작 유닛(21)으로부터 추상적인 서비스 로직을 수신하기 위해 형성된다; 상기 서비스 클래스 저장 유닛(222)은 현재 정의된 서비스 클래스 카탈로그를 저장하기 위해 형성된다; 상기 현존하는 네트웍 서비스 카탈로그 저장 유닛(223)은 상기 현존하는 네트웍에서 상기 서비스 카탈로그를 저장하기 위해 형성된다; 상기 서비스 요구조건 분석 유닛(224)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 매핑 제어 유닛(221)에 의해 수신된 추상적인 서비스 로직을 분석하고, 상기 현재 정의된 서비스 클래스 카탈로그에 따라 상기 추상적인 서비스 로직에 의해 발동된 서비스 클래스를 판단하기 위해 형성된다; 상기 구체적인 서비스 매핑 유닛(225)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 서비스 요구조건 분석 유닛(224)에 의해 획득된 상기 서비스 클래스에 기반하여, 상기 서비스 클래스를 대체하기 위하여 상기 현존하는 네트웍의 상기 서비스 카탈로그로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 발견한다; 그리고 상기 요청 생성 유닛(226)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 구체적인 서비스에 대한 정보에 대응하는 인터페이스 발동 파일을 생성하기 위해 형성된다. 그러면, 상기 매핑 제어 유닛(221)은 상기 구체적인 서비스와 그것의 대응하는 인터페이스 발동 파일을 구체적인 서비스 로직(즉, 상기 발동되는 구체적인 서비스 및 상기 구체적인 서비스를 위한 인터페이스 발동 파일이 표시되는 서비스 로직)으로 결합한다.
상기 서비스 요구조건 분석 유닛(224)은 상기 로직에서 발동된 서비스 클래스들을 획득하기 위하여 추상적인 서비스 로직을 분석한다. 상기 서비스 클래스들은 상기 서비스 클래스 저장 유닛(222)의 상기 서비스 클래스 카탈로그에 저장된다. 예를 들어, 서비스 로직의 부분은 "13590305088의 현재 위치를 획득하고 그의 위치에 따라 그에게 날씨 예보를 송신하라"이다. 그러면 상기 서비스 요구조건 분석 유닛(224)은 상기 서비스에 존재하는 두 서비스 클래스들, 위치 서비스 클래스 및 날씨 예보 서비스 클래스,을 획득하기 위해 분석한다:
도 10을 참조하면, 도 10은 본 발명에 따른 서비스 실행 시스템의 상기 서비스 매핑 센터의 제2 실시예의 블록도이다.
도 9에서 설명된 실시예와 달리, 서비스 인터페이스 유닛(service interface unit)(227), 서비스 감지 유닛(service detection unit)(228), 및 서비스 상태 분석 유닛(service state analysis unit)(229)이 본 실시예에 추가된다. 여기서,
상기 서비스 인터페이스 매핑 유닛(227)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 구체적인 서비스 매핑 유닛(225)에 의해 판단된 상기 구체적인 서비스에 기반하여 구체적인 서비스에 대한 인터페이스 정보를 획득하고, 상기 정보에 따라 서비스 인터페이스 매칭(service interface match)을 수행하고, 상기 서비스에 대한 입력, 출력, 발동 방식 및 통신 프로토콜이 만족스러운지 여부를 판단하고 상기 매핑 제어 유닛(221)에게 매핑 결과를 회신한다. 그리고 상기 매핑 제어 유닛(221) 은 상기 매핑 결과에 따라 상기 구체적인 서비스를 선택할 것인지 여부를 결정한다.
상기 서비스 인터페이스 매핑 유닛(227)은 상기 구체적인 서비스 매핑 유닛(225)에 의해 구체화된 상기 구체적인 서비스에 기반하여, 상기 현존하는 네트웍에서 상기 서비스 카탈로그의 상기 구체적인 서비스에 대한 인터페이스 정보, 예를 들어 WSDL, 에 대해 조사하고; 상기 서비스에 대한 상태 정보(상기 현재 서비스가 활성화되었는지 여부, 상기 서비스가 로밍(roaming) 상태에 있는지, 상기 서비스가 수행되는 지리적 도메인, 등에 대한 정보를 포함하는)에 대해 (상기 서비스 카탈로그에서) 조사하고, 상기 서비스에 대한 상태 정보, 예를 들어 SOAP(Simple Object Access Protocol)/HTTP에 따라 특정 정책에 기반한 상기 서비스를 발동하기 위해 사용되는 프로토콜을 조정하고; 발동 방식, 예를 들어 세션 상태를 저장할지 여부, 상기 상호 작용 방식이 요청 더하기 응답(a request plus a response) 또는 요청 및 무응답(a request but no response)인지 여부 등, 을 조정하고; 인터페이스 포맷, 예를 들어 상기 현존하는 서비스 로직에서 파라미터들이 서비스 조정을 위해 인터페이스 요구조건를 충족할 수 있는지 여부, 및 상기 서비스의 출력이 상기 서비스 로직에서 출력 파라미터 요구조건을 충족할 수 있는지 여부, 을 조정한다. 예를 들어, 다음의 정책이 조정된다: 만약 서비스 상태가 로밍이면 상기 서비스는 선택되지 않는다. 다른 예에서, 만약 상기 서비스를 위해 요구되는 상호 작용 프로토콜이 상기 HTTP 이면 선택은 금지된다.
상기 서비스 감지 유닛(228)은 상기 매핑 제어 유닛(221)으로부터의 지시에 따라 상기 구체적인 서비스가 현재 이용 가능한지 여부를 감지하기 위해 형성된다. 예를 들어, 만약 상기 구체적인 서비스 로직에서 발동된 상기 구체적인 서비스의 HTTP 주소가 HTTP://www.MyService 라면, 상기 서비스 감지 유닛(228)은 핑 등의 방법으로 상기 접속 가능성을 감지할 수 있고, 상기 매핑 제어 유닛(221)에게 감지 결과를 회신한다. 상기 매핑 제어 유닛(221)은 상기 감지 결과에 따라 상기 구체적인 서비스를 선택할지 여부를 판단한다.
상기 서비스 상태 분석 유닛(229)은 상기 매핑 제어 유닛(221)으로부터의 지시에 따라 상기 구체적인 서비스의 현재 상태를 판단하기 위해 형성된다. 상기 상태는 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 생태에 있는지 여부, 상기 서비스가 수행되는 지리적 도메인을 포함한다. 예를 들어, 상기 서비스 상태 분석 유닛(229)은 상기 서비스에 대한 현재 상태(이용 가능한 또는 이용 불가능한) 정보에 관해 상기 네트웍 위의 서비스 제공자 노드의 서비스 상태 유지 파트를 조사하고, 상기 매핑 제어 유닛(221)에게 분석 결과를 회신한다. 상기 매핑 제어 유닛(221)은 상기 분석 결과에 따라 상기 구체적인 서비스를 선택할지 여부를 결정할 수 있다.
실제적인 적용에서, 상기 서비스 인터페이스 매핑 유닛(227), 상기 서비스 감지 유닛(228), 및 상기 서비스 상태 분석 유닛(229)은 요구되는 바에 따라 선택적일 수도 있고, 상기 서비스 인터페이스 매핑 유닛(227)이 상기 구체적인 서비스에 대한 인터페이스 정보를 획득하기 전 또는 획득한 후 상기 매핑 제어 유닛(221)에 의해 발동될 수도 있다.
상기 서비스 로직 조작 유닛(21)이 추상적인 서비스 로직을 조작하는 것을 필요로할 때, 다음의 두 방법들은 조정될 수도 있다.
한 방법에서, 상기 서비스 매핑 유닛(22)의 대응하는 기능 유닛들(상기 서비스 요구조건 분석 유닛(224), 상기 구체적인 서비스 매핑 유닛(225), 및 상기 서비스 인터페이스 매핑 유닛(227))은 적절한 서비스 매핑을 수행하기 위하여 상기 서비스 로직 조작 유닛(21)의 제어 아래 각각 발동된다. 예를 들어, 만약 발동된 구체적인 서비스가 어떠한 대응하는 인터페이스 발동 파일없이 추상적인 서비스 로직에서 표시된다면, 상기 서비스 로직 조작 유닛(21)은 대응하는 인터페이스 발동 파일을 생성하기 위하여 단지 상기 요청 생성 유닛(226)을 발동하기 위해 제어한다.
다른 방법에서, 상기 서비스 로직 조작 유닛(21)은 추상적인 서비스 로직을 상기 서비스 매핑 센터(22)로 나른다. 그리고 서비스 매핑은 구체적인 결합 서비스 로직 및 인터페이스 조정 요청을 생성하는, 상기 서비스 매핑 센터(22)의 상기 매핑 제어 유닛(221)의 제어 아래 수행된다.
도 11은 다음 단계들을 포함하는 제2 방법에서 상기 서비스 매핑의 실시예의 흐름도를 도시한다.
1. 상기 서비스 로직 조작 유닛은 상기 서비스 매핑 센터에게 추상적인 서비스 로직을 나른다. 예를 들어, 서비스 로직의 부분은 "13590305088의 현재 위치를 획득하고 그의 위치에 따라 그에게 날씨 예보를 송신하라"이다.
2. 상기 서비스 매핑 센터의 상기 매핑 제어 유닛은 상기 서비스 요구조건 분석 유닛에게 서비스 클래스 분석 요청을 송신한다.
3. 상기 서비스 요구조건 분석 유닛은 상기 서비스 클래스 카탈로그를 조사하는 것에 의해 현존하는 표준 서비스 클래스들을 획득한다.
4. 상기 서비스 요구조건 분석 유닛은 상기 추상적인 서비스 로직에 포함된 서비스 클래스들을 획득하기 위하여 상기 주어진 추상적인 서비스 로직과 상기 현존하는 표준 서비스 클래스들(상기 서비스 클래스 카탈로그를 조사하는 것에 의해 획득될 수 있는)을 분석하고 비교한다. 여기서, 수행되는 조작들은 상기 현존하는 서비스 클래스들에 대응하는 서비스 클래스들을 획득하기 위하여 상기 서비스 로직에 주어진 상기 서비스 클래스들을 분석하는 것을 포함한다. 상기 분석은 상기 인터페이스 예상 매칭 기술 등과 결합하여 이름 매칭에 의해 수행된다. 예를 들어, 상기 서비스의 두 서비스 클래스들, 위치 서비스 클래스 및 날씨 예보 서비스 클래스은 상기 분석에 의해 획득된다.
5. 상기 서비스 요구조건 분석 유닛은 상기 매핑 제어 유닛에게 분석 결과를 회신한다.
6. 상기 매핑 제어 유닛은 구체적인 서비스 클래스가 구체화된 추상적인 서비스 로직인, 상기 분석 결과에 기반한 서비스 로직을 재생성한다. 예를 들어, 13590305088의 위치는 상기 위치 서비스 클래스에 따라 획득되고 상기 날씨 예보 서비스 클래스에게 파라미터로서 입력된다. 상기 날씨 예보 서비스 클래스의 결과는 회신된다.
7. 상기 매핑 제어 유닛은 상기 구체적인 서비스 매핑 유닛에게 서비스 클래스에 기반한 구체적인 서비스 분석을 위한 요청을 송신한다. 상기 요청은 이전 단 계들에서 획득된 상기 서비스 클래스들을 포함하고, 구체적인 서비스의 선택을 촉진하기 위해 요구된 몇몇 파라미터들, 요청자가 부여한 시간 파라미터 등을 선택적으로 나를 수도 있다.
8. 상기 구체적인 서비스 매핑 유닛은 상기 현존하는 네트웍의 서비스 카탈로그를 조사하는 것에 의해 현존하는 구체적인 서비스들에 대한 정보를 획득한다.
9. 상기 구체적인 서비스 매핑 유닛은 구체적인 서비스 클래스들이 구체화된 상기 매핑 제어 유닛에 의해 생성된 상기 추상적인 서비스 로직과 상기 현존하는 구체적인 서비스들(상기 현존하는 네트웍의 서비스 카탈로그를 조사하는 것에 의해 획득될 수 있는)을 분석하고 비교하고, 상기 추상적인 서비스 로직에서 상기 서비스 클래스들을 대체하기 위하여 구체적인 서비스들을 선택한다. 예를 들어, 상기 위치 서비스 클래스 및 상기 날씨 예보 서비스 클래스는 구체적인 위치 서비스 LoationService_A 및 날씨 예보 서비스 WeatherForcast_A에 매핑된다.
10. 상기 구체적인 서비스 매핑 유닛은 상기 매핑 제어 유닛에게 상기 분석 결과를 회신한다.
11. 상기 매핑 제어 유닛은 상기 구체적인 서비스 매핑 유닛에 의해 획득된 상기 구체적인 서비스들이 이용 가능한지 여부를 감지하는 것을 상기 서비스 감지 유닛에게 요청하고, 상기 서비스 감지 유닛으로부터 회신된 결과에 기반하여 상기 구체적인 서비스들을 조정할지 여부(단계 14) 또는 상기 구체적인 서비스를 배제하는 것을 요청하는 한편 상기 구체적인 서비스 매핑 유닛을 다시 발동할지 여부(단계 7)를 결정한다.
12. 상기 매핑 제어 유닛은 상기 구체적인 서비스 매핑 유닛에 의해 획득된 상기 구체적인 서비스들의 상태들이 상기 요구조건을 충족할 수 있는지 여부를 분석하는 것을 상기 서비스 상태 분석 유닛에게 요청하고, 상기 서비스 상태 분석 유닛으로부터 회신된 결과에 기반하여 상기 구체적인 서비스들을 조정할지 여부(단계 14) 또는 상기 구체적인 서비스들을 배제하는 것을 요청하는 한편 상기 구체적인 서비스 매핑 유닛을 다시 발동할지 여부(단계 7)를 결정한다.
13. 상기 매핑 제어 유닛은 상기 구체적인 서비스 매핑 유닛에 의해 획득된 상기 구체적인 서비스의 인터페이스들에 대한 정보가 상기 요구조건을 만족하는지 여부를 분석하는 것을 상기 서비스 인터페이스 매핑 유닛에게 요청하고, 상기 서비스 인터페이스 매핑 유닛으로부터 회신된 결과에 기반하여 상기 구체적인 서비스들을 조정할지 여부(단계 14) 또는 상기 구체적인 서비스들을 배제하는 것을 요청하는 한편 상기 구체적인 서비스 매핑 유닛을 다시 발동할지 여부(단계 7)을 결정한다.
상술한 단계들 11, 12 및 13은 선택적이고, 순서가 다를 수도 있다. 실제 조작에서, 상기 단계들 11, 12 및 13은 상기 구체적인 서비스 매핑 유닛이 구체적인 서비스를 회신한 후 수행될 수도 있고, 또는 서비스 클래스들을 충족하는 다수의 구체적인 서비스들 사이에 선택된 상기 구체적인 서비스 매핑 유닛에 의해 요청된 바에 따라 수행될 수도 있다.
14. 상기 매핑 제어 유닛은 발동된 구체적인 서비스가 구체화되는 구체적인 서비스 로직인, 상기 분석 결과에 기반한 서비스 로직을 재생성한다. 예를 들어, 13590305088의 위치는 상기 위치 서비스 LocationService_A에 따라 획득되고, 상기 날씨 예보 서비스 WeatherForecast_A에 대한 파라미터로서 입력된다. 그리고 상기 날씨 예보 서비스 WeatherForecast_A의 결과는 회신된다.
15. 상기 매핑 제어 유닛은 상기 요청 생성 유닛에게 구체적인 서비스 조사에 기반한 상기 구체적인 서비스에 대한 인터페이스 발동 파일을 생성하기 위한 요청을 송신한다. 상기 요청은 이전 단계들에서 획득된 상기 구체적인 서비스들, 인터페이스 발동에서 사용하기 위해 구체화되고 요구된 파라미터들, 및 요청자 입력 파라미터를 포함한다.
16. 상기 요청 생성 유닛은 상기 현존하는 네트웍의 상기 서비스 카탈로그를 조사하는 것에 의해 상기 현존하는 구체적인 서비스들에 대한 인터페이스 기술 정보를 획득한다.
17. 상기 요청 생성 유닛은 상기 주어진 구체적인 서비스 및 상기 서비스에 대한 인터페이스 기술 정보(상기 현존하는 네트웍의 서비스 카탈로그를 조사하는 것에 의해 획득되는)를 분석하고, 상기 구체적인 서비스의 인터페이스 요구조건에 따라 상기 구체적인 서비스를 위한 인터페이스 발동 파일을 생성한다. 예를 들어, 상기 구체적인 위치 서비스 LocationService_A를 위한 인터페이스 파일의 포맷 요구에 대해, 상기 파라미터 "13590305088" 및 구체적인 인터페이스 발동 파일을 생성하기 위한 다른 파라미터들이 채워진다. 그러면, 상기 구체적인 날씨 예보 서비스 WeatherForecast_A를 위한 인터페이스 파일의 포맷 요구에 대해, 상기 파라미터 "13590305088" 및 구체적인 인터페이스 발동 파일을 생성하기 위한 다른 파라미터들이 채워진다.
18. 상기 요청 생성 유닛은 상기 매핑 제어 유닛에게 상기 결과를 회신한다.
19. 상기 분석 결과에 기반하여, 상기 매핑 제어 유닛은 구체적인 서비스가 발동되는 구체적인 서비스 로직인 서비스 로직 및 상기 구체화된 서비스를 발동하는데 사용하기 위해 요구된 인터페이스 발동 파일을 재생성한다. 예를 들어, 인터페이스 발동 파일 1은 13590305088의 위치를 획득하기 위하여 상기 위치 서비스 LocationService_A에 따라 조정된다. 인터페이스 발동 파일 2는 상기 날씨 예보 서비스 WeatherForecast_A에 대한 파라미터로서 상기 위치를 입력하기 위해 조정된다. 그리고, 상기 날씨 예보 서비스 WeatherForecast_A의 결과는 회신된다.
20. 상기 매핑 제어 유닛은 상기 서비스 로직 조작 유닛에게 상기 생성된 구체적인 서비스 로직을 회신한다.
상술한 단계 4에서, 상기 서비스 요구조건 분석 유닛은 상기 추상적인 서비스 로직 및 상기 현존하는 서비스 클래스 카탈로그의 서비스 클래스들을 분석해야 하고, 상기 추상적인 서비스 로직 및 상기 현존하는 서비스 클래스 카탈로그의 상기 서비스 클래스들에 따라 상기 추상적인 서비스 로직의 상기 서비스 클래스를 선택된 표준 서비스 클래스로 대체해야 한다. 예시된 방법에 의해 아래에서 설명된 바와 같이, 많은 구체적인 수행들이 가능하다.
상기 서비스 요구조건 분석 유닛에게 전송된 서비스 로직이 아래와 같이 표 1에서 설명된 바와 같다고 가정한다.
<Class of service whether given="All">
<Service class ID="1">
<Name> Physical location </Name>
...
</Service class>
<Service class ID="2">
<Name> Weather Report </Name>
...
</Service class>
</Class of service>
제1 방법: 정밀 매칭
판단은 상기 서비스 클래스 카탈로그의 상기 서비스 클래스들과 상기 주어진 서비스 클래스를 완전하고 정밀하게 매칭하는 것에 의해 이루어진다. 본 예시에서:
Physical location!=Location service, 결국 매칭이 없는
제2 방법: 유의어 데이터베이스(synonymy database) 생성
유의어 데이터베이스는 아래와 같이 표 2에 설명된 바와 같이 생성된다.
주된 이름 유의어 1 유의어 2 ... ...
위치 서비스 요청된 위치 물리적 위치 ... ...
본 예시에서, 물리적 위치는 위치 서비스의 유의어이다. 상기 최초의 클래스는 서비스 로직을 생성하기 위하여 매칭 결과로 대체된다.
상기 서비스 요구조건 분석 유닛에 의해 매핑된 후 서비스 로직은 아래 표 3에 설명된다.
< Class of service whether given="All">
<Service class ID="1">
<Name> Location service </Name>
...
</Service class>
<Service class ID="2">
<Name> Weather Forecast service</Name>
...
</Service class>
</Class of service >
상술한 방법에서, 서비스 클래스의 인터페이스 예상은 상기 매칭을 정의하기 더 사용될 수도 있다. 즉, 상기 매칭에서, 서비스 클래스의 이름 및 상기 서비스 클래스의 인터페이스 예상 모두는 매칭되어야 한다.
예를 들어, 상기 구체적인 서비스 매핑 유닛에게 전송된 서비스 로직은 아래와 같이 표 4에 설명된다.
<Service class ID="1">
<Name>Physical location</Name>
<Description>Obtain information on current physical location of mobile phone number</Description>
<Interface expectation>
<Input>
<Parameter ID="1" Class="Character string"></Parameter>
</Input>
<Output>
<Parameter ID="2" Class="(Longitude/Latitude)"></Parameter>
</Output>
</Interface expectation>
</Service class>
현존하는 서비스 클래스는 아래와 같이 표 5에 설명된다.
주된 이름
유의어 1
유의어 2
인터페이스 예상 1 ...
입력 출력
위치 서비스 요청된 위치 물리적 위치 타입: 문자 열 타입: (경도/위도)
물리적 위치=위치 서비스(유의어 2);
인터페이스 예상(입력)은 매칭하고 인터페이스 예상(출력)은 매칭한다;
따라서, 모든 것이 매칭된다.
상기 서비스 요구조건 분석 유닛에 의해 매핑된 후 상기 서비스 로직은 아래와 같이 표 6에서 설명된다.
<Class of service whether given="All">
<Service class ID="1">
<Name> Location service </Name>
...
</Service class>
<Service class ID="2">
<Name> Weather Forecast service</Name>
...
</Service class>
</Class of service>
상술한 단계 9에서, 상기 구체적인 서비스 매핑 유닛은 상기 구체적인 서비스 클래스가 구체화된 상기 매핑 제어 유닛에 의해 생성된 상기 추상적인 서비스 로직과 상기 현존하는 구체적인 서비스들(상기 현존하는 네트웍의 서비스 카탈로그를 조사하는 것에 의해 획득될 수 있는)을 분석하고 비교하며, 상기 서비스 로직의 상기 서비스 클래스들을 선택된 구체적인 서비스들로 대체한다. 상술한 예시로부터 계속되는 바와 같이 결과는 아래와 같이 표 7에서 설명된다.
<Concrete service whether given="All">
<Service ID="1">
<Name>LocationService_A</Name>
<Description>...</Description>
......
</Service>
<Service ID="2">
<Name>WeatherForcast_A</Name>
<Description>...</Description>
......
</Service>
</Concrete service>
상기 요청 생성 유닛은 상기 주어진 구체적인 서비스와 상기 서비스에 대한 상기 인터페이스 기술 정보(상기 현존하는 네트웍의 서비스 카탈로그를 조사하는 것에 의해 획득되는)를 분석하고, 상기 구체적인 서비스의 인터페이스 요구에 따라 상기 구체적인 서비스를 위한 인터페이스 발동 파일을 생성한다. 상기 구체적인 서비스에 대한 인터페이스 정보에 따라 상기 인터페이스 발동 파일을 생성하는 단계의 구체적인 절차는 다음 단계들을 포함한다.
(1) 메시지 포맷은 상기 인터페이스 정보에서 요구되는 바와 같이 상호 작용하는 프로토콜 포맷에 따라 생성된다.(예를 들어, 만약 상기 SOAP가 요구된다면 SOAP 포맷이 생성된다.);
(2) 요청 메시지 바디에서 조작 필드들은 상기 인터페이스 정보에서 조작 이름들에 따라 생성된다; 그리고
(3) 상기 인터페이스 정보의 상기 조작의 입력 파라미터 포맷에 따라, 인터페이스 발동 파일은 요청자 입력 파라미터, 이전의 구체적인 서비스에서 발동된 출력 파라미터 플레이스홀더(placeholder)(상기 제1 구체적인 서비스를 위해 불필요한) 및 상기 단계 (2)에서 연속적으로 추가되는 상기 조작 필드들에 종속하는 포맷에서 교대 입력 파라미터(만약 필요하다면 채워지는)로 부터 생성된다.
예를 들어, 상기 위치 서비스에 대한 인터페이스 정보는:
상기 LocationService_A의 인터페이스 기술 파일(상기 WSDL을 예시로 하면)은 다음과 같다.
...
<message name=" RequestorPhoneNumber">
<part name="Number" type="xs:string"/>
</message>
<message name="LocationInfo">
<part name="Location" type="LocationType"/>
</message>
<portType name=" LocationService_A_port">
<operation name="getLocation">
<input message="RequestorPhoneNumber"/>
<output message="LocationInfo"/>
</operation>
</portType>
...
SOAP 발동 포맷은 상기 단계(1) 이후에 요구되는 바와 같이 생성된다.
env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
<env:Header>
...
</env:Header>
<env:Body>
</env:Body>
</env:Envelope>
조작 필드(getLocation)는 상기 단계(2) 이후에 상기 메시지 바디에서 생성된다.
<env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
<env:Header>
...
</env:Header>
<env:Body>
<getLocation>
</getLocation>
...
</env:Body>
</env:Envelope>
상기 단계(3) 이후에 LocationService_A를 위한 인터페이스 발동 파일은 다음과 같다.
<env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
<env:Header>
...
</env:Header>
<env:Body>
<getLocation>
<name>13590305088</name>
</getLocation>
...
</env:Body>
</env:Envelope>
만약 상기 구체적인 서비스가 상기 서비스 로직에서 발동되는 제1 서비스가 아니고 다른 서비스의 발동으로부터의 출력이 입력과 같이 요구된다면, 상기 대응하는 플레이스홀더는 상기 단계 (3)에서 추가된다. 예를 들어, 상기 위치 서비스 후 상기 날씨 예보 서비스의 인터페이스 발동 파일은 다음과 같이 생성된다.
<env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
<env:Header>
...
</env:Header>
<env:Body>
< getWeatherForcast >
<location>#placeholder:bind the output of LocationService_A </location>
</ getWeatherForcast >
...
</env:Body>
</env:Envelope>
도 12를 참조하면, 도 12는 다음 단계들을 포함하는 본 발명에 따른 서비스 실행 방법의 수행 흐름도를 설명한다.
단계 1201: 요청자에 의해 요청된 서비스 로직이 획득된다.
단계 1202: 상기 서비스 로직이 추상적인 서비스 로직인지 여부가 판단된다. 만약 그렇다면 상기 절차는 단계 1203으로 진행하고, 그렇지 않다면 상기 절차는 단계 1204로 진행한다.
단계 1203: 상기 추상적인 서비스 로직은 구체적인 서비스 로직으로 변환된다.
우선, 상기 추상적인 서비스 로직에 의해 발동된 서비스 클래스는 정의된 서비스 클래스들에 따라 판단된다.; 그러면, 현재 접속 가능한 구체적인 서비스들의 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스는 상기 서비스 클래스 및 미리 판단된 정책에 기반하여 선택된다; 최종적으로, 인터페이스 발동 파일은 상기 구체적인 서비스에 대한 인터페이스 정보에 따라 생성된다. 그리고, 상기 구체적인 서비스 및 상기 인터페이스 발동 파일은 구체적인 서비스 로직으로 결합된다.
단계 1204: 서비스는 상기 구체적인 서비스 로직에 따라 상기 요청자를 위해 제공된다.
상기 구체적인 서비스 로직에서 상기 구체적인 서비스가 수행되기 전, 상기 구체적인 서비스 로직의 상기 구체적인 서비스의 이용 가능성은 상기 구체적인 서비스가 상기 요청자를 위해 신뢰할 수 있는 서비스의 제공을 보증하기 위하여 실행되기 전에 감지될 수도 있다. 또한, 상기 구체적인 서비스를 발동할지 여부는 미리 설정된 필터 정책에 따라 판단될 수도 있고, 상기 구체적인 서비스의 회신된 결과를 사용할 것인지 여부는 상기 구체적인 서비스가 발동된 후 판단될 수도 있다. 이러한 두 절차들은 순서없이 수행되고, 요구되는 바에 따라 선택적일 수도 있다.
본 발명의 시스템으로, 다양한 서비스들, 특히 결합 서비스의 서비스는 상기 요청자에게 편리하게 제공될 수 있다.
도 13을 참조하면, 도 13은 본 발명의 시스템으로 요청자에게 서비스를 제공하는 네트워킹 실시예의 개략도이다. 이 도시된 예시에서, 상기 요청자의 모바일 전화 번호에 따라 날씨 정보를 획득하는 것에 의해 상기 요청자에게 서비스를 제공하는 결합 서비스의 절차는 다음과 같은 단계들을 포함한다.
(0) 상기 서비스 생성 시스템은 서비스 로직 조작 플랫폼에게 추상적인 서비스 로직의 부분을 생성하고 송신한다. 그리고 이 절차는 상기 서비스 로직의 생성 및 배치를 위한 것이고, 상기 서비스의 이후 실제 조작에서 수행되지 않는다. 로직의 이 부분은 다음과 같은 예시의 방법에 의해 설명된다.
<?xml version="1.0" encoding="gb2312"?>
<Service logic abstract="Yes">
<Description>
<Class of service whether given="All">
<Service class ID="1">
<Name>Physical location</Name>
<Description>Obtain information on current physical location of mobile phone number</Description>
<Interface expectation>
<Input>
<Parameter ID="1" Type="Character string"/>
</Input>
<Output>
<Parameter ID="2" Type="(Longitude/Latitude)"/>
</Output>
</Interface expectation>
</Service class>
<Service class ID="2">
<Name>Weather forecast</Name>
<Description>Return weather information in accordance with current physical location</Description>
<Interface expectation>
<Input>
<Parameter ID="1" Type="(Longitude/Latitude)"/>
</Input>
<Output>
<Parameter ID="1" Type="Weather enumeration type"/>
</Output>
</Interface expectation>
</Service class>
</Class of service>
</Description>
<Parameter table>
<Expected parameter ID="1" whether required="true" type="Character string">Descriptions for requestor: Please input mobile phone number</Expected parameter>
< Expected parameter ID="2" whether required ="false" type="Date format"> Descriptions for requestor: Please input query date in a format of such as XX/XX/XX</Expected parameter>
</Parameter table>
<Operation control>
<Operation ID="1">
<Service class>1</Service class>
<Input parameter ID="1"/>
<Output>Store</Output>
</Operation>
<Operation ID="2">
<Service class>1</Service class>
<Input>Operate output of 1</Input>
<Output>Store</Output>
</Operation>
<Return>Return output of operation of 2</Return>
</Operation control>
</Service logic>
(1) 요청자 단말기는 상기 네트웍을 통해 상기 서비스 로직 조작 플랫폼에 연결되고 상기 결합 서비스를 요청한다.
(2) 상기 서비스 로직 조작 플랫폼은 상기 서비스 로직에 따라 정보(예상되는 파라미터들)를 입력할 것을 요청자에게 요청한다.
(3) 상기 요청자는 파라미터(13590305088)를 입력한다.
(4) 상기 서비스 로직 조작 플랫폼은 상기 서비스가 추상적인 서비스 로직인 것을 발견하고, 상기 서비스 매핑 센터에게 상기 요청자 입력 정보 및 상기 최초 추상적인 서비스 로직을 송신하며, 그것을 구체적인 서비스 로직에 매핑할 것을 요청한다.
상기 요청자 입력 파라미터 및 상기 최초 추상적인 로직은 다음과 같은 예시로 결합되어 송신될 수 있다.
최초의 것인
<Parameter table>
<Expected parameter ID="1" whether required="true" type="Character string">Descriptions for requestor: Please input mobile phone number</Expected parameter>
<Expected parameter ID="2" whether required="false" type="date format"> Descriptions for requestor: Please input query date in a format of such as XX/XX/XX</Expected parameter>
</Parameter table>
<Parameter table>
<Parameter ID="1">13590305088</ Parameter >
</Parameter table>
으로 대체한다.
(5) 상기 서비스 매핑 센터는 상기 서비스 로직 조작 플랫폼에게 매핑 결과를 회신한다.
(6) 상기 서비스 로직 조작 플랫폼은 상기 구체적인 서비스 로직의 규정(prescription)에 따라 서비스를 발동한다.
(7) 상기 서비스 로직 조작 플랫폼은 상기 요청자에게 최종 결과를 회신한다.
다양한 추상적인 서비스들이 정상적으로 조작되도록 인에이블하기 위하여, 본 발명은 추상적인 서비스 매핑 시스템을 더 제공한다. 도 14는 본 발명에 따른 상기 추상적인 서비스 매핑 시스템의 바람직한 실시예의 블록도이다.
상기 시스템은 매핑 제어 유닛(mapping control unit)(221), 서비스 클래스 저장 유닛(service class storage unit)(222), 현존하는 네트웍 서비스 카탈로그 저장 유닛(existing network service catalog storage unit)(223), 서비스 요구조건 분석 유닛(service requirement analysis unit)(224), 구체적인 서비스 매핑 유닛(concrete service mapping unit)(225), 및 요청 생성 유닛(request creation unit)(226)을 포함한다. 특히, 상기 매핑 제어 유닛(221)은 상기 서비스 로직 조작 유닛으로부터 추상적인 서비스 로직을 수신하기 위해 형성된다. 상기 서비스 클래스 저장 유닛(222)은 현재 정의된 서비스 클래스 카탈로그를 저장하기 위해 형성된다. 상기 현존하는 네트웍 서비스 카탈로그 저장 유닛(223)은 상기 현존하는 네트웍에서 서비스 카탈로그를 저장하기 위해 형성된다. 상기 서비스 요구조건 분석 유닛(224)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 매핑 제어 유닛(221)에 의해 수신된 상기 추상적인 서비스 로직을 분석하고 상기 현재 정의된 서비스 클래스 카탈로그에 따라 상기 추상적인 서비스 로직에 의해 발동된 서비스 클래스를 판단하기 위해 형성된다. 상기 구체적인 서비스 매핑 유닛(225)은 상기 서비스 요구조건 분석 유닛(224)에 의해 획득된 상기 서비스 클래스에 기반하여, 상기 매핑 제어 유닛(221)의 제어 아래 상기 현존하는 네트웍의 서비스 카탈로그로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택한다. 상기 요청 생성 유닛(226)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 구체적인 서비스에 대응하는 인터페이스 발동 파일을 생성하기 위해 형성된다.
추가적으로, 본 발명에 따른 상기 추상적인 서비스 매핑 시스템은 서비스 인터페이스 매핑 유닛(service interface mapping unit)(227), 서비스 감지 유닛(service detection unit)(228), 및 서비스 상태 분석 유닛(service state analysis unit)(229)을 더 포함할 수도 있다. 이러한 세 유닛들은 상기 구체적인 서비스 로직이 상기 추상적인 서비스 로직에 더욱 효과적으로 매핑될 수 있도록 하기 위해 선택적일 수도 있다.
특히, 상기 매핑 제어 유닛(221)과 연결된 상기 서비스 인터페이스 매핑 유닛(227)은 상기 매핑 제어 유닛(221)의 제어 아래 상기 구체적인 서비스 매핑 유닛(225)에 의해 판단된 상기 구체적인 서비스에 기반하여 구체적인 서비스에 대한 인터페이스 정보를 획득하고, 상기 정보에 따라 서비스 인터페이스 매칭을 수행하고, 상기 서비스에 대한 입력, 출력, 발동 방식 및 통신 프로토콜이 만족스러운지 여부를 판단하고, 상기 매핑 제어 유닛(221)에게 매핑 결과를 회신한다. 상기 매핑 제어 유닛(221)는 상기 매핑 결과에 따라 상기 구체적인 서비스를 선택할 것인지 여부를 결정한다.
상기 서비스 감지 유닛(228)은 상기 매핑 제어 유닛(221)으로부터의 지시에 따라 상기 구체적인 서비스가 현재 이용 가능한지 여부를 감지하기 위해 형성된다. 예를 들어, 상기 구체적인 서비스의 주소가 획득된 후, 상기 서비스가 정상적인지 여부는 상기 주소와 연결하려는 시도에 의해 판단된다. 그리고 감지 결과는 상기 매핑 제어 유닛(221)에게 회신된다. 상기 매핑 제어 유닛(221)은 상기 감지 결과에 따라 상기 구체적인 서비스를 선택할지 여부를 판단한다.
상기 서비스 상태 분석 유닛(229)은 상기 매핑 제어 유닛(221)으로부터의 지시에 따라 상기 구체적인 서비스의 현재 상태를 판단하기 위해 형성된다. 상기 상태들은 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 지리적 도메인을 포함한다. 예를 들어, 상기 네트웍 상에 등록된 상기 서비스의 현재 상태(활성화 또는 스립)를 가진 정보 센터가 존재하고, 상기 서비스가 이용 가능한지 여부는 상기 센터를 조사하는 것에 의해 획득될 수도 있다. 또한, 상기 서비스가 로밍 상태에 있는지 여부는 서비스 제공자에 의해 제공된 정보를 조사하는 것에 의해 판단된다. 그리고 분석 결과는 상기 매핑 제어 유닛(221)에게 회신된다. 상기 매핑 제어 유닛(221)은 상기 분석 결과에 따라 상기 구체적인 서비스를 선택할지 여부를 결정한다.
상기 서비스 요구조건 분석 유닛(224)은 상기 로직에서 발동된 서비스 클래스들을 획득하기 위하여 추상적인 서비스 로직을 분석한다. 그리고, 이러한 서비스 클래스들은 상기 서비스 클래스 저장 유닛(222)의 상기 서비스 클래스 카탈로그에 저장된다. 예를 들어, 서비스 로직의 부분은 "13590305088의 현재 위치를 획득하고 그의 위치에 따라 그에게 날씨 예보를 송신하라" 이다. 이 경우, 상기 서비스 요구조건 분석 유닛은 상기 서비스에 존재하는 두 서비스 클래스들:위치 서비스 클래스 및 날씨 예보 서비스 클래스을 획득한다.
도 14의 상기 서비스 요구조건 분석 유닛(224)의 실시예의 블록도는 도 15에 도시된 바와 같다.
상기 서비스 요구조건 분석 유닛(224)은 로직 분석 제어 유닛(logic analysis control unit)(241) 및 산업 지식 데이터베이스(industry knowledge database)(243)을 포함한다. 특히, 상기 산업 지식 데이터베이스(242)는 산업 시맨틱 정보(industry semantic information)를 저장하기 위해 형성된다. 상기 로직 분석 제어 유닛(241)은 상기 추상적인 서비스 로직이 서비스 클래스를 주는지 여부를 분석하기 위해 형성된다; 만약 상기 추상적인 서비스 로직이 서비스 클래스를 준다면, 상기 로직 분석 제어 유닛(241)은 상기 서비스 클래스 카탈로그에서 검색하고 상기 주어진 서비스 클래스를 상기 서비스 클래스 카탈로그에서 정의된 서비스 클래스의 동일한 클래스로 변환한다; 그리고 만약 상기 추상적인 서비스 로직이 어떤 서비스 클래스도 주지 않는다면, 상기 로직 분석 제어 유닛(241)은 상기 산업 지식 데이터베이스의 상기 산업 시맨틱 정보에 따라 상기 추상적인 서비스 로직의 서비스 클래스를 판단한다.
상기 추상적인 서비스 로직의 상기 서비스 클래스를 분석하는 절차는 다음과 같다.
1. 우선, 상기 로직 분석 제어 유닛은 상기 주어진 추상적인 서비스 로직이 서비스 클래스를 주는지 여부를 분석한다;
2. 만약 서비스 클래스가 주어진다면, 상기 로직 분석 제어 유닛(241)은 상기 주어진 서비스 클래스가 상기 서비스 클래스 카탈로그에서 동일한 또는 동등한 클래스를 가지는지 여부를 판단하기 위하여 상기 서비스 클래스 카탈로그를 조사한다. 만약 그렇다면, 상기 서비스 클래스를 판단한다;
3. 만약 어떤 서비스 클래스도 주어지지 않는다면, 상기 로직 분석 제어 유닛(241)은 미리 판단된 정책, 예를 들어 엄격한 서비스 매칭의 정책, 어떠한 시맨틱 클래스 분석도 없는 정책 등,에 따라 상기 서비스 클래스를 분석하기 위하여 상기 산업 지식 데이터베이스와 상호 작용한다.
특히, 다음의 두 방법들은 클래스 분석을 위해 사용될 수도 있다.
a) 단순 분석은 상기 추상적인 서비스 로직에 대해 수행된다. 그리고, 상기 추상적인 서비스 로직의 부분을 상기 서비스 클래스 카탈로그에 존재하는 클래스로 대체하기 위한 시도가 이루어진다. 이 방법은 서비스의 방식이 상기 추상적인 서비스 로직에 단순히 표시된 경우에 적용 가능하다. 예를 들어, 상기 추상적인 서비스 로직은 아래의 표 8에 설명되는 바와 같다고 가정한다.
<Class of service whether given="All">
<Service class ID="1">
<Name> Physical location </Name>
...
</Service class>
<Service class ID="2">
<Name> Weather Report </Name>
...
</Service class>
</Class of service>
두 서비스 클래스들은 상기 서비스 클래스 카탈로그에 존재한다.
주된 이름 ...
위치 서비스 ...
날씨 예보 서비스 ...
제1 방법: 정밀 매칭
판단은 상기 현존하는 서비스 클래스 카탈로그의 상기 서비스 클래스들을 상기 주어진 서비스 클래스과 완전하고 정밀하게 매칭하는 것에 의해 이루어진다. 본 예시에서:
Physical location!=Location service, 결국 매칭이 없는
제2 방법: 유의어 데이터베이스 생성
유의어 데이터베이스는 아래와 같이 표 9에 설명된 바와 같이 생성된다.
주된 이름 유의어 1 유의어 2 ... ...
위치 서비스 요청된 위치 물리적 위치 ... ...
본 예시에서, 물리적 위치는 매칭 결과, 위치 서비스의 유의어이다.
상술한 방법에서, 서비스 클래스의 인터페이스 예상은 상기 매칭을 정의하기 위해 더 사용될 수도 있다. 즉 상기 매칭에서 서비스 클래스의 이름 및 상기 서비스 클래스의 인터페이스 예상 모두는 매칭되어야 한다.
예를 들어, 추상적인 서비스 로직은 아래 표 11에서 설명되는 바와 같다.
<Service class ID="1">
<Name>Physical location</Name>
<Description>Obtain information on current physical location of mobile phone number</Description>
<Interface expectation>
<Input>
<Parameter ID="1" Type="Character string"></Parameter>
</Input>
<Output>
<Parameter ID="2" Type="(Longitude/Latitude)"></Parameter>
</Output>
</Interface expectation>
</Service class>
현존하는 서비스 클래스 카탈로그는 아래 표 12에서 설명되는 바와 같다.
주된 이름
유의어 1
유의어 2
인터페이스 예상 1 ...
입력 출력
위치 서비스 요청된 위치 물리적 위치 타입: 문자 열 타입: (경도/위도) ...
물리적 위치=위치 서비스(유의어 2);
인터페이스 예상(입력)은 매칭하고 인터페이스 예상(출력)은 매칭한다;
따라서, 모든 것이 매칭된다.
b) 시맨틱 분석은 상기 추상적인 서비스 로직에 대해 수행된다. 그리고 상호 작용은 더 높은 정확도를 달성하기 위하여 상기 산업 지식 데이터베이스(산업 시맨틱 정보가 저장되는)와 수행된다.
4. a) 및 b)에서 상술한 분석을 통해, 상기 추상적인 서비스 로직은 구체적인 서비스 클래스가 표시된 서비스 로직으로 변환된다. 예를 들어, <Location service>는 13590305088의 현재 위치를 획득하는 것을 의미하고 <Weather forcast service>는 그의 위치에 따라 그에게 날씨 예보를 송신하는 것을 의미한다.
상기 구체적인 서비스 매핑 유닛(225)은 상기 서비스 요구조건 분석 유닛(224)에 의해 획득된 상기 서비스 클래스 및 특정 정책에 기반하여, 상기 구체적인 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택한다. 상기 선택에서, 상기 구체적인 서비스는 상기 현존하는 네트웍 서비스 카탈로그 저장 유닛(223)에 저장된 현재 접속 가능한 구체적인 서비스 카탈로그로부터 선택될 수도 있다. 대안적으로, 상기 구체적인 서비스는 특정 조건 아래 상기 현존하는 네트웍에서 상기 서비스 카탈로그를 조사하는 것에 의해 획득될 수도 있다.
예를 들어, 상술한 예시에서 상기 위치 서비스는 구체적인 서비스 제공자 1 등에 의해 제공되는 구체적인 위치 서비스가 될 수도 있다.
추상적인 서비스를 수행하는 절차에서, 추상적인 결합 서비스가 발동되는 각 시간에, 상기 서비스 매핑 센터는 구체적인 결합 서비스 로직을 생성할 수 있다. 구체적인 결합 서비스들은 필수적으로 동일할 필요가 없다. 예를 들어, LocationService_A는 이전 서비스 요청을 위해 생성된 구체적인 결합 서비스 로직에서 발동된다. 그리고, LocationService_A가 실패할 때, LocationService_B를 발동하는 구체적인 결합 서비스 로직은 상기 현재 서비스 발동에서 생성될 수도 있다. 따라서, LocationService_A의 실패로 기인한 상기 결합 서비스의 이용 불가능성을 피할 수 있다.
상기 구체적인 서비스 매핑 유닛(225)가 추상적인 서비스 로직에서 구체적인 서비스를 분석하는 절차는 다음과 같다.
1. 우선, 상기 구체적인 서비스 매핑 유닛은 다수의 구체적인 서비스들이 가능한, 상기 서비스 로직의 클래스에 따른 구체적인 서비스를 획득하기 위하여 현존하는 네트웍의 서비스 카탈로그에 접속한다.
2. 상기 획득된 구체적인 서비스들은 필터링되고, 인터페이스 예상은 상기 필터링 프로세스에서 사용될 수도 있다.
3. 상기 필터링된 서비스들(다수의 서비스들이 될 수도 있는)은 각각 연속적으로 매핑된다.
상기 서비스 인터페이스 매핑 유닛(226)은 상기 구체적인 서비스에 대한 인터페이스 정보, 예를 들어, 상기 WSDL(Web 서비스는 포트들(ports)의 셋의 형태로 기술된다.),를 획득하기 위하여 상기 구체적인 서비스 매핑 유닛(225)에 의해 구체화된 상기 구체적인 서비스에 기반한 상기 현존하는 네트웍의 서비스 카탈로그를 조사하고; 상기 서비스의 상태 정보(상기 현재 서비스가 활성화되었는지 여부, 상기 현재 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 지리적 도메인 등에 대한 정보를 포함하는)에 관해 (상기 서비스 카탈로그를) 조사하고, 상기 서비스의 상태 정보, 예를 들어, SOAP(Simple Object Access Protocol)/HTTP(Hypertext Transfer Protocol)에 따라 특정 정책에 기반하는 상기 서비스의 발동을 위해 사용되는 프로토콜을 조정하고; 발동 방식, 예를 들어 세션 상태를 저장할 것인지 여부, 상기 요청 더하기 응답 또는 응답없음이 되는 요청의 타입을 조정하고; 인터페이스 포맷, 예를 들어, 현재 제공된 서비스 로직의 파라미터들이 서비스를 위한 인터페이스 요구조건을 조정할 수 있는지 여부 및 상기 서비스의 출력이 상기 서비스 로직의 출력 파라미터 요구조건을 충족할 수 있는지 여부,를 조정한다.
예를 들어, 다음의 정책은 조정된다. 상기 서비스는 상기 서비스 상태가 로밍 상태에 있을 때 선택되지 않는다. 다른 예에서, 선택은 상기 서비스를 위해 요구된 상호 작용 프로토콜이 상기 HTTP일 때 금지된다.
도 16은 본 발명에 따른 추상적인 서비스 매핑 시스템의 상기 서비스 인터페이스 매핑 유닛의 실시예의 블록도를 설명한다.
상기 서비스 인터페이스 매핑 유닛은 인터페이스 분석 제어 유닛(interface analysis control unit)(251), 인터페이스 정책 유닛(interface policy unit)(252), 및 조정 유닛(253)을 포함한다. 특히, 상기 인터페이스 분석 제어 유닛(251)은 상기 구체적인 서비스 매핑 유닛에 의해 판단된 구체적인 서비스를 획득하고, 상기 인터페이스 정책 유닛(252) 및 상기 조정 유닛(253)을 발동하고, 상기 인터페이스 정책 유닛(252) 및 상기 조정 유닛(253)으로부터 처리 결과들에 따라 상기 구체적인 서비스를 선택할 것인지 여부를 상기 매핑 제어 유닛이 결정하도록 상기 매핑 제어 유닛에게 매핑 결과를 회신하기 위해 형성된다. 상기 인터페이스 정책 유닛(252)은 구체적인 서비스를 선택하는 정책을 제공하고 상기 구체적인 서비스가 상기 정책에 따라 이용 가능한지 여부를 판단한다; 그리고, 상기 조정 유닛(253)은 상기 인터페이스 정책 유닛(252)에 의해 판단된 상기 이용 가능한 구체적인 서비스를 조정한다.
상기 조정 유닛(253)은 인터페이스 포맷 조정 서브-유닛(interface format adaptation sub-unit)(261), 발동 방식 조정 서브-유닛(invoking manner adaptation sub-unit)(262), 및 상호 작용 프로토콜 조정 서브-유닛(interactive protocol adaptation sub-unit)(263)을 포함한다. 특히, 상기 상호 작용 프로토콜 조정 서브-유닛(263)은 상기 구체적인 서비스를 위해 사용되는 상호 작용 프로토콜이 상기 구체적인 서비스에 대한 관련된 정보에 따라 현재 서비스를 위해 요구되는 상호 작용 프로토콜에 따르는지 여부를 판단하고, 만약 그렇지 않다면 상기 현재 서비스을 위해 요구되는 상기 상호 작용 프로토콜에 따라 상기 구체적인 서비스를 위해 사용되는 상호 작용 프로토콜을 조정하기 위해 형성된다; 상기 발동 방식 조정 서브-유닛(262)은 상기 구체적인 서비스에 대한 관련된 정보에 따라 상기 구체적인 서비스를 위해 사용된 발동 방식을 판단하기 위해 형성된다; 그리고 상기 인터페이스 포맷 조정 서브-유닛(261)은 상기 구체적인 서비스의 인터페이스 파라미터가 상기 구체적인 서비스에 대한 관련된 정보에 따라 상기 현재 서비스를 위해 요구되는 인터페이스 파라미터에 따르는지 여부를 판단하고, 만약 그렇지 않다면 상기 현재 서비스를 위해 요구되는 인터페이스 파라미터에 따라 상기 구체적인 서비스를 위해 사용되는 인터페이스를 조정하기 위해 형성된다.
인터페이스 포맷의 조정에서, 상기 구체적인 서비스의 인터페이스 파일은 현재 주어진 파라미터가 추상적인 서비스 로직을 위해 요구되는 입력 조건과 매칭되는지 여부 및 출력이 상기 추상적인 서비스 로직의 요구조건을 만족하는지 여부를 판단하기 위해 분석되어야 한다. 예를 들어, 상기 추상적인 서비스 로직을 위해 요구되는 입력 조건은 날씨 열거 타입 파라미터이고, 반면에 상기 발견된 구체적인 날씨 예보 서비스 WeatherForecast_A의 인터페이스 파일에서 구체화된 입력 파라미터는 모바일 전화 번호의 문자 열 타입이다. 이 경우에, 상기 요구조건은 만족될 수 없다.
서비스의 발동 방식은 다음과 같은 아이템들을 포함한다.
<Request-Response type> 즉, 요청이 받아지고 응답은 회신된다.
<Request only-No response type> 즉, 요청은 받아지고 어떤 응답도 회신되지 않는다.
<No request-Response type> 즉, 요청을 받을 필요가 없이 응답은 회신될 것이다.
따라서, 발동 방식의 조정에서, 구체적인 서비스에 의해 주어진 발동 방식은 상기 네트웍 요구조건을 만족하는지 여부가 판단되어야 한다. 예를 들어, 응답은 날씨 예보에 대해 회신되어야 한다. 그러나 구체적인 날씨 예보 서비스 WeatherForcast_A는 <Request only-No response>에 있고, 따라서 사용될 수 없다.
상호 작용 프로토콜의 조정에서, 구체적인 서비스의 상호 작용 프로토콜이 현재 네트웍 장치들을 위해 요구되는 상호 작용 프로토콜에 따라 상기 요구조건을 만족시키는지 여부가 판단되어야 한다. 예를 들어, 상기 요구되는 구체적인 날씨 예보 서비스의 상호 작용 프로토콜은 상기 HTTP이다. 그러나 상기 현재 구체적인 날씨 예보 서비스 WeatherForcast_A의 상호 작용 프로토콜은 상기 SOAP이다. 따라서 상기 요구조건을 충족하지 않는다.
상기 서비스 인터페이스 매핑 유닛이 서비스 인터페이스를 매핑하는 절차는 다음 절차들을 포함한다.
1. 우선, 상기 서비스 인터페이스 매핑 유닛은 서비스에 대한 정보 및 구체적인 인터페이스 정보를 획득하기 위하여 현존하는 네트웍의 서비스 카탈로그에 접속한다.
2. 상기 서비스에 대한 상태 정보는 상기 획득된 서비스 정보로 부터 추출되고 미리 판단된 정책에 따라 필터링된다.
3. 현재 선택된 서비스가 이용 가능하고 접속 가능한지 여부가 판단된다. 상기 접속 가능성은 서비스 제공자에게 구체적인 메시지를 송신하는 것과 같은 감지의 방법으로 수행될 수도 있다.
4. 상기 요구되는 상호 작용 프로토콜, 발동 방식, 인터페이스 포맷 등이 만족되는지 여부가 판단된다.
5. 상기 구체적인 서비스가 선택 가능하고 최종 서비스 발동 요청 파일이 생성되는지 여부가 판단된다.
상술한 단계 1 내지 5는 순서가 다를 수 있고, 요구되는 바에 따라 수행될 수도 있다. 그리고 그 중 몇몇 단계들은 특정 정책에 따라 수행될 수도 있다.
도 17을 참조하면, 도 17은 다음 단계들을 포함하는 본 발명에 따른 추상적인 서비스 매핑 방법의 바람직한 실시예의 수행 흐름도이다.
단계 1701: 추상적인 서비스 로직에 의해 발동된 서비스 클래스는 정의된 서비스 클래스들에 따라 판단된다.
단계 1702: 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스는 상기 판단된 서비스 클래스 및 미리 판단된 정책에 기반하여 현재 접속 가능한 구체적인 서비스들로부터 선택된다.
단계 1703: 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 물리적 도메인을 포함하는 상기 구체적인 서비스의 현재 상태가 획득된다.
단계 1704: 상기 구체적인 서비스는 그것이 현재 이용 가능한지 여부를 판단하기 위해 감지된다. 만약 이용 가능하다면, 절차는 단계 1705로 진행하고, 그렇지 않다면 상기 절차는 단계 1701로 되돌아 간다.
단계 1705: 상기 구체적인 서비스에 대한 인터페이스 정보는 획득되고, 인터페이스 발동 파일은 상기 인터페이스 정보에 따라 생성된다.
단계 1706: 상기 구체적인 서비스 및 상기 인터페이스 발동 파일은 구체적인 서비스 로직으로 결합된다.
본 발명의 실시예들에 따른 기술적 솔루션들로부터 알 수 있는 바와 같이, 본 발명의 실시예들에 따른 서비스 생성 시스템 및 방법은 표준 서비스 능력의 생성 및 구체화된 발동 동안에 현존하는 네트웍 서비스들의 재사용을 지원할 수 있다. 따라서, 상기 서비스 네트웍에서 서비스의 빠른 개발 및 배치를 촉진할 수 있다. 본 발명의 실시예들에 따른 서비스 실행 시스템 및 추상적인 서비스 매핑 시스템으로, 상기 추상적인 서비스 로직의 번역은 구체적인 결합 서비스 로직을 생성하기 위하여 필요되는 바와 같이 수행될 수도 있다. 따라서, 현존하는 네트웍 서비스들은 그들의 조작들을 고려하여 동적으로 사용을 위해 선택될 수 있다. 그에 의해, 현존하는 네트웍 서비스의 실패, 인터페이스 변경 등에 기인한 상기 결합 서비스의 이용 불가능성을 효과적으로 회피할 수 있다. 또한 상기 결합 서비스의 정상적인 조작을 보증할 수 있다.
기술 분야에서 통상의 지식을 가지는 자는 실시예들에 따른 상술한 방법에서 모든 단계들 또는 단계들의 일부는 ROM/RAM, 마그네틱 디스크, 및 광 디스크와 같은 컴퓨터로 기록 가능한 저장 매체에 저장될 수 있는 프로그램들에 따라 관련된 하드웨어를 지시하는 것에 의해 성취될 수 있다는 것을 인정할 수 있다는 점을 주목하여야 한다.
비록 본 발명은 실시예들의 방식으로 기술되었지만, 다양한 변형들 및 변화들이 본 발명의 범위 내에서 본 발명에 있을 수 있다는 것은 기술분야에서 통상의 지식을 가지는 자에게 자명하다. 그리고 첨부된 특허청구범위는 이러한 변형들 및 변화들을 포함하도록 의도되었다.

Claims (42)

  1. 서비스 개발자가 시스템과 상호 작용하는 인터페이스를 제공하기 위해 형성된 요청자 인터페이스 유닛;
    서비스 클래스 카탈로그를 저장하기 위해 형성된 서비스 클래스 저장 유닛;
    구체적인 서비스를 생성하기 위해 요구되는 스크립트 개발 및 해석 번역 환경들과 상기 서비스 클래스 저장 유닛에 저장된 상기 서비스 클래스 카탈로그에 따라 생성된 추상적인 서비스 로직을 생성하기 위해 요구되는 편집 환경을 포함하는 서비스 로직 편집 환경들을 상기 서비스 개발자에게 제공하고, 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛에게 입력된 지시에 따라 요청된 서비스 로직을 생성하기 위해 형성된 서비스 로직 편집 유닛; 및
    상기 서비스 로직 편집 유닛에서 생성된 상기 서비스 로직을 테스트하고 배치하며 요구된 서비스를 생성하기 위해 형성된 서비스 관리 유닛을 포함하며,
    상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직인 서비스 생성 시스템.
  2. 제 1항에 있어서,
    상기 서비스 로직 편집 유닛은:
    상기 서비스 개발자에게 다중레벨 API(Application Programming Interface) 인캡슐레이션 및 접속 모드들을 제공하고, 상기 서비스 개발자로부터 상기 요청자 인터페이스 유닛에게 입력된 지시에 따라 구체적인 서비스 로직을 생성하기 위해 형성된 구체적인 서비스 로직 생성 유닛; 및
    상기 서비스 클래스 저장 유닛에 저장된 상기 서비스 클래스 카탈로그의 현존하는 서비스 클래스에 따라 상기 추상적인 서비스 로직을 생성하기 위해 형성된 추상적인 서비스 로직 생성 유닛을 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 서비스 생성 시스템.
  3. 제 1항에 있어서,
    상기 서비스 관리 유닛은,
    상기 서비스 로직을 테스트하고, 상기 서비스 로직의 정확성과 경계 조건 및 서비스 애플리케이션 서버에 배치된 서비스에 대한 영향을 분석하기 위해 형성된 서비스 테스트 유닛; 및
    상기 서비스 테스트 유닛의 테스트를 통과한 상기 서비스 로직을 상기 서비스 애플리케이션 서버에 배치하기 위해 형성된 서비스 배치 유닛을 포함하는 서비스 생성 시스템.
  4. 제 3항에 있어서,
    상기 서비스 배치 유닛에 의해 상기 서비스 애플리케이션 서버에 배치된 상기 서비스 로직의 클래스를 상기 서비스 클래스 저장 유닛에 저장된 상기 서비스 클래스 카탈로그에 추가하기 위해 형성된 서비스 클래스 유지 유닛을 더 포함하는 서비스 생성 시스템.
  5. 제 3항에 있어서,
    상기 서비스 배치 유닛에 의해 상기 서비스 애플리케이션 서버에 배치된 상기 서비스 로직에 대한 정보를 현존하는 네트웍의 서비스 카탈로그에 추가하기 위해 형성된 서비스 정보 등록 유닛을 더 포함하는 서비스 생성 시스템.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 요청자 인터페이스 유닛을 통해 상기 시스템에 접속하는 상기 서비스 개발자의 레벨에 따라 상기 서비스 로직 편집 유닛에서 상이한 서비스 로직 편집 기능들을 접속하는 상기 서비스 개발자의 권한을 제어하기 위해 형성된 안전 접속 제어 유닛을 더 포함하는 서비스 생성 시스템.
  7. 새로운 서비스가 생성될 필요가 있을 때, 서비스 생성 시스템에 의해, 미리-생성된 서비스 클래스 카탈로그에서 상기 새로운 서비스에 따르는 서비스 클래스를 검색하는 단계;
    만약 상기 새로운 서비스에 따르는 서비스 클래스가 검색되면, 상기 서비스 생성 시스템에 의해, 상기 서비스 클래스 카탈로그의 상기 서비스 클래스에 따라 추상적인 서비스 로직을 생성하는 단계;
    그렇지 않으면 상기 서비스 생성 시스템에 의해, 구체적인 서비스 로직을 생성하는 단계를 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스인 서비스 생성 방법.
  8. 제 7항에 있어서,
    상기 생성된 새로운 서비스 로직을 서비스 애플리케이션 서버에 배치하는 단계를 더 포함하는 서비스 생성 방법.
  9. 제 8항에 있어서,
    상기 생성된 새로운 서비스 로직을 상기 서비스 애플리케이션 서버에 배치하는 단계는,
    상기 생성된 새로운 서비스 로직에 대한 적어도 서비스 클래스와 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들을 포함하는 조작 정보를 형성하는 단계; 및
    상기 조작 정보를 상기 서비스 애플리케이션 서버의 결합 파일에 기재하는 단계를 포함하는 서비스 생성 방법.
  10. 제 8항에 있어서,
    상기 생성된 새로운 서비스 로직을 상기 서비스 애플리케이션 서버에 배치하는 단계 후, 상기 방법은
    상기 새로운 서비스 로직의 클래스를 상기 서비스 클래스 카탈로그에 추가하는 단계를 더 포함하는 서비스 생성 방법.
  11. 제 8항에 있어서,
    상기 생성된 새로운 서비스 로직을 상기 서비스 애플리케이션 서버에 배치하는 단계 후, 상기 방법은
    상기 새로운 서비스 로직에 대한 정보를 상기 현존하는 네트웍의 서비스 카탈로그에 추가하는 단계를 더 포함하는 서비스 생성 방법.
  12. 제 1항에 기재된 서비스 생성 시스템에 의해 생성된 서비스를 실행하는 서비스 실행 시스템에 있어서,
    서비스 로직 편집 유닛에서 생성된 구체적인 서비스 로직 및 추상적인 서비스 로직을 저장하기 위해 형성된 서비스 저장 유닛;
    요청자로부터의 요청에 따라 상기 서비스 저장 유닛으로부터 서비스를 획득하고, 서비스 로직에 따라 상기 요청자를 위한 서비스를 제공하기 위해 형성된 서비스 로직 조작 유닛; 및
    상기 서비스 로직 조작 유닛에서 조작되는 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하고, 상기 변환된 구체적인 서비스 로직을 상기 서비스 로직 조작 유닛으로 회신하기 위해 형성된 서비스 매핑 센터를 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스인 서비스 실행 시스템.
  13. 제 12항에 있어서,
    상기 서비스 매핑 센터는 상기 서비스 로직 조작 유닛으로부터의 지시에 따라 상기 서비스 로직 조작 유닛에서 상기 추상적인 서비스 로직 조작을 구체적인 서비스 로직으로 변환하고, 상기 지시는 요청자 입력 파라미터 및 추상적인 서비스 로직 파라미터들을 포함하고, 상기 추상적인 서비스 로직 파라미터들은 서비스 클래스와 상기 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들을 포함하며;
    상기 서비스 매핑 센터로부터 상기 서비스 로직 조작 유닛으로 회신된 상기 구체적인 서비스 로직은 구체적인 서비스들 사이의 데이터 흐름들 및 제어 흐름들과 상기 구체적인 서비스를 위한 인터페이스 발동 파일을 포함하는 서비스 실행 시스템.
  14. 제 13항에 있어서,
    상기 서비스 로직 조작 유닛은
    상기 요청자가 상기 시스템과 상호 작용하는 인터페이스를 제공하고, 요청자 요청 서비스의 파라미터를 획득하기 위해 형성된 요청자 인터페이스 유닛;
    상기 요청자 인터페이스 유닛에 의해 획득된 상기 요청자 요청 서비스의 파라미터에 따라 상기 서비스 저장 유닛에서 상기 서비스 로직을 선택하기 위해 형성된 서비스 선택 유닛; 및
    상기 서비스 선택 유닛에 의해 선택된 상기 서비스 로직의 타입을 판단하고; 만약 상기 서비스 로직이 구체적인 서비스 로직이면, 상기 서비스를 직접 접속하고; 만약 상기 서비스 로직이 추상적인 서비스 로직이면, 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하기 위해 상기 서비스 매핑 유닛을 발동하고, 상기 구체적인 서비스 로직을 실행하고 상기 요청자를 위해 서비스를 제공하기 위해 형성된 서비스 실행 유닛을 포함하는 서비스 실행 시스템.
  15. 제 14항에 있어서,
    상기 서비스 로직 조작 유닛은,
    상기 서비스 실행 유닛이 상기 구체적인 서비스를 실행하기 전에 상기 구체적인 서비스 로직의 구체적인 서비스의 이용 가능성을 감지하고, 상기 서비스 실행 유닛이 상기 구체적인 서비스를 선택할지 여부를 판단하도록 하기 위하여 상기 서비스 실행 유닛에게 감지 결과를 회신하기 위해 형성된 구체적인 서비스 이용 가능성 감지 유닛을 더 포함하는 서비스 실행 시스템.
  16. 제 14항 또는 제 15항에 있어서,
    상기 서비스 로직 조작 유닛은,
    상기 서비스 실행 유닛이 상기 구체적인 서비스를 실행하기 전에 미리 설정된 필터 정책에 따라 상기 구체적인 서비스 로직의 상기 구체적인 서비스를 발동할지 여부를 판단하고, 상기 구체적인 서비스가 발동된 후에 상기 구체적인 서비스의 회신된 결과를 사용할지 여부를 판단하기 위해 형성된 구체적인 서비스 필터 유닛을 더 포함하는 서비스 실행 시스템.
  17. 제 13항에 있어서,
    상기 서비스 매핑 센터는,
    상기 서비스 로직 조작 유닛으로부터 상기 추상적인 서비스 로직을 수신하고, 상기 추상적인 서비스 로직을 처리하기 위하여 서비스 요구조건 분석 유닛, 구체적인 서비스 매핑 유닛 및 요청 생성 유닛을 발동하고 제어하며, 처리 결과들에 따라 상기 구체적인 서비스 로직을 생성하기 위해 형성된 매핑 제어 유닛;
    상기 매핑 제어 유닛에 의해 수신된 상기 추상적인 서비스 로직을 분석하고, 서비스 클래스 카탈로그에 따라 상기 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하기 위해 형성된 서비스 요구조건 분석 유닛;
    상기 서비스 요구조건 분석 유닛에 의해 판단된 상기 서비스 클래스에 기반하여 서비스 카탈로그로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하기 위해 형성된 구체적인 서비스 매핑 유닛; 및
    상기 구체적인 서비스에 대응하는 인터페이스 발동 파일을 생성하기 위해 형성된 요청 생성 유닛을 포함하는 서비스 실행 시스템.
  18. 제 17항에 있어서,
    상기 서비스 매핑 센터는,
    상기 구체적인 서비스의 인터페이스를 매핑하고, 상기 매핑 제어 유닛이 상기 구체적인 서비스를 선택할지 여부를 결정하도록 상기 매핑 제어 유닛에게 매핑 결과를 회신하기 위해 형성된 서비스 인터페이스 매핑 유닛을 더 포함하는 서비스 실행 시스템.
  19. 제 17항에 있어서,
    상기 서비스 매핑 센터는,
    상기 구체적인 서비스가 상기 매핑 제어 유닛으로부터의 지시에 따라 현재 이용 가능한지 여부를 감지하고, 상기 매핑 제어 유닛이 상기 구체적인 서비스를 선택할지 여부를 결정하도록 상기 매핑 제어 유닛에게 감지 결과를 회신하기 위해 형성된 서비스 감지 유닛을 더 포함하는 서비스 실행 시스템.
  20. 제 17항 내지 제 19항 중 어느 한 항에 있어서,
    상기 서비스 매핑 센터는,
    상기 매핑 제어 유닛으로부터의 지시에 따라 상기 구체적인 서비스의 현재 상태를 판단하고, 상기 현재 상태는 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 물리적 도메인을 포함하며, 상기 매핑 제어 유닛이 상기 구체적인 서비스를 선택할지 여부를 결정하도록 상기 매핑 제어 유닛에게 분석 결과를 회신하는 서비스 상태 분석 유닛을 더 포함하는 서비스 실행 시스템.
  21. 요청자의 요청에 따라 구체적인 서비스 로직 또는 추상적인 서비스 로직을 포함하는 서비스 로직을 획득하는 단계;
    만약 상기 서비스 로직이 추상적인 서비스 로직이라면, 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하고, 상기 변환된 구체적인 서비스 로직에 따라 상기 요청자에게 구체적인 서비스를 제공하는 단계를 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스인 서비스 실행 방법.
  22. 제 21항에 있어서,
    만약 상기 서비스 로직이 구체적인 서비스 로직이라면, 상기 구체적인 서비스 로직에 따라 상기 요청자에게 구체적인 서비스를 제공하는 단계를 포함하는 서비스 실행 방법.
  23. 제 21항에 있어서,
    상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하는 단계는,
    현재의 구체적인 서비스들로부터 상기 추상적인 서비스 로직에 의해 발동되는 상기 서비스 클래스를 대체하기 위한 요구조건을 충족할 수 있는 구체적인 서비스를 선택하는 단계;
    상기 구체적인 서비스들을 위한 발동 정보를 생성하는 단계;
    상기 구체적인 서비스 및 상기 발동 정보에 따라 구체적인 서비스 로직을 생성하는 단계; 및
    상기 구체적인 서비스 로직에 따라 상기 요청자에게 구체적인 서비스를 제공하는 단계를 포함하는 서비스 실행 방법.
  24. 제 23항에 있어서,
    상기 현재의 구체적인 서비스들로부터 상기 추상적인 서비스 로직에 의해 발동되는 상기 서비스 클래스를 대체하기 위한 요구조건을 충족할 수 있는 구체적인 서비스를 선택하는 단계는,
    미리 정의된 서비스 클래스들에 따라 상기 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하는 단계; 및
    상기 서비스 클래스 및 미리 판단된 정책에 기반하여, 현재 접속 가능한 구체적인 서비스들로부터 상기 추상적인 서비스 로직에 의해 발동되는 상기 서비스 클래스를 대체하기 위한 요구조건을 충족할 수 있는 구체적인 서비스를 선택하는 단계를 포함하는 서비스 실행 방법.
  25. 제 24항에 있어서,
    상기 구체적인 서비스들을 위한 발동 정보를 생성하는 단계는,
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하는 단계 및 상기 정보에 따라 인터페이스 발동 파일을 생성하는 단계를 포함하는 서비스 실행 방법.
  26. 제 21항에 있어서,
    상기 요청자에게 구체적인 서비스를 제공하는 단계 이전에, 상기 방법은
    상기 구체적인 서비스 로직의 상기 구체적인 서비스의 이용 가능성을 감지하는 단계를 더 포함하는 서비스 실행 방법.
  27. 제 21항 내지 제 26항 중 어느 한 항에 있어서,
    상기 요청자에게 구체적인 서비스를 제공하는 단계 이전에, 상기 방법은
    미리 설정된 필터 정책에 따라 상기 구체적인 서비스를 발동할지 여부를 판단하고 상기 구체적인 서비스가 발동된 후 상기 구체적인 서비스의 회신된 결과를 사용할지 여부를 판단하는 단계를 더 포함하는 서비스 실행 방법.
  28. 제 21항에 있어서,
    상기 추상적인 서비스 로직은 다음의 파라미터 정보:
    서비스 클래스와 서비스 클래스들 사이의 데이터 흐름들 및 제어 흐름들
    를 포함하는 서비스 실행 방법.
  29. 제 21항에 있어서,
    상기 구체적인 서비스 로직은 다음의 파라미터 정보:
    구체적인 서비스들 사이의 데이터 흐름들 및 제어 흐름들과 상기 구체적인 서비스들을 위한 인터페이스 발동 파일들
    를 포함하는 서비스 실행 방법.
  30. 제 21항에 있어서,
    만약 상기 추상적인 로직이 어떠한 인터페이스 발동 파일도 없이 요구된 구체적인 서비스를 표시한다면, 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하는 단계는,
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하는 단계 및 상기 인터페이스 정보에 따라 인터페이스 발동 파일을 생성하는 단계; 및
    상기 요구된 구체적인 서비스 및 상기 인터페이스 발동 파일을 구체적인 서비스 로직으로 결합하는 단계를 포함하는 서비스 실행 방법.
  31. 제 21항에 있어서,
    만약 상기 추상적인 로직이 어떠한 구체적인 서비스 및 어떠한 인터페이스 발동 파일도 없이 요구된 구체적인 서비스 클래스를 표시한다면, 상기 추상적인 서비스 로직을 구체적인 서비스 로직으로 변환하는 단계는,
    상기 서비스 클래스 및 미리 판단된 정책에 기반하여, 현재 접속 가능한 구체적인 서비스들로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하는 단계;
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하는 단계 및 상기 정보에 따라 인터페이스 발동 파일을 생성하는 단계; 및
    상기 구체적인 서비스 및 상기 인터페이스 발동 파일을 구체적인 서비스 로직을 결합하는 단계를 포함하는 서비스 실행 방법.
  32. 추상적인 서비스 로직을 수신하고, 상기 추상적인 서비스 로직을 처리하기 위하여 서비스 요구조건 분석 유닛, 구체적인 서비스 매핑 유닛, 및 요청 생성 유닛을 발동하고 제어하며, 처리 결과들에 따라 구체적인 서비스 로직을 생성하기 위해 형성된 매핑 제어 유닛;
    상기 매핑 제어 유닛에 의해 수신된 상기 추상적인 서비스 로직을 분석하고 현재 정의된 서비스 클래스 카탈로그에 따라 상기 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하기 위해 형성된 서비스 요구조건 분석 유닛;
    상기 서비스 요구조건 분석 유닛에 의해 판단된 상기 서비스 클래스에 기반하여 서비스 카탈로그로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하기 위해 형성된 구체적인 서비스 매핑 유닛; 및
    상기 구체적인 서비스에 대응하는 인터페이스 발동 파일을 생성하기 위해 형성된 요청 생성 유닛을 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스인 서비스 매핑 센터.
  33. 제 32항에 있어서,
    상기 구체적인 서비스의 인터페이스를 매핑하고, 상기 매핑 제어 유닛이 상기 구체적인 서비스를 선택할지 여부를 결정하도록 상기 매핑 제어 유닛에게 매핑 결과를 회신하기 위해 형성된 서비스 인터페이스 매핑 유닛을 더 포함하는 서비스 매핑 센터.
  34. 제 33항에 있어서,
    상기 서비스 인터페이스 매핑 유닛은,
    상기 구체적인 서비스 매핑 유닛에 의해 판단된 상기 구체적인 서비스를 획득하고, 인터페이스 정책 유닛 및 조정 유닛을 발동하고, 상기 매핑 제어 유닛이 상기 인터페이스 정책 유닛 및 상기 조정 유닛의 처리 결과들에 따라 상기 구체적인 서비스를 선택할지 여부를 결정하도록 상기 매핑 제어 유닛에게 매핑 결과를 회신하기 위해 형성된 인터페이스 분석 제어 유닛;
    상기 구체적인 서비스를 선택하는 정책을 제공하고 상기 구체적인 서비스가 상기 정책에 따라 이용 가능한지 여부를 판단하기 위해 형성된 인터페이스 정책 유닛; 및
    상기 인터페이스 정책 유닛에 의해 판단된 상기 이용 가능한 구체적인 서비스를 조정하기 위해 형성된 조정 유닛을 포함하는 서비스 매핑 센터.
  35. 제 34항에 있어서,
    상기 조정 유닛은,
    상기 구체적인 서비스를 위해 사용되는 상호 작용 프로토콜이 상기 구체적인 서비스에 대한 관련 정보에 따라 현재 서비스를 위해 요구되는 상호 작용 프로토콜에 따르는지 여부를 판단하고, 만약 그렇지 않다면 상기 현재 서비스를 위해 요구되는 상기 상호 작용 프로토콜에 따라 상기 구체적인 서비스를 위해 사용되는 상기 상호 작용 프로토콜을 조정하기 위해 형성된 상호 작용 프로토콜 조정 서브-유닛;
    상기 구체적인 서비스에 대한 관련 정보에 따라 상기 구체적인 서비스를 위해 사용되는 발동 방식을 판단하기 위해 형성된 발동 방식 조정 서브-유닛; 및
    상기 구체적인 서비스의 인터페이스 파라미터가 상기 구체적인 서비스에 대한 관련 정보에 따라 상기 현재 서비스를 위해 요구되는 인터페이스 파라미터에 따르는지 여부를 판단하고, 만약 그렇지 않다면 상기 현재 서비스를 위해 요구되는 인터페이스 파라미터에 따라 상기 구체적인 서비스를 위해 사용되는 인터페이스를 조정하기 위해 형성된 인터페이스 포맷 조정 서브-유닛을 포함하는 서비스 매핑 센터.
  36. 제 32항에 있어서,
    상기 서비스 요구조건 분석 유닛은,
    산업 시맨틱 정보를 저장하기 위해 형성된 산업 지식 데이터베이스; 및
    상기 추상적인 서비스 로직이 서비스 클래스를 주는지 여부를 분석하고; 만약 상기 추상적인 서비스 로직이 서비스 클래스를 준다면, 상기 서비스 클래스 카탈로그에서 검색하고 상기 주어진 서비스 클래스를 상기 서비스 클래스 카탈로그에서 정의된 서비스 클래스의 동일한 클래스로 변환하고; 만약 상기 추상적인 서비스 로직이 어떤 서비스 클래스도 주지 않는다면, 상기 산업 지식 데이터베이스의 상기 산업 시맨틱 정보를 사용하여 상기 추상적인 서비스 로직의 서비스 클래스를 판단하기 위해 형성된 로직 분석 제어 유닛을 포함하는 서비스 매핑 센터.
  37. 제 32항 내지 제 36항 중 어느 한 항에 있어서,
    상기 구체적인 서비스가 상기 매핑 제어 유닛으로부터의 지시에 따라 현재 이용 가능한지 여부를 감지하고 상기 매핑 제어 유닛에게 감지 결과를 회신하기 위해 형성된 서비스 감지 유닛을 더 포함하는 서비스 매핑 센터.
  38. 제 32항 내지 제 36항 중 어느 한 항에 있어서,
    상기 매핑 제어 유닛으로부터의 지시에 따라 상기 구체적인 서비스의 현재 상태를 판단하고, 상기 현재 상태는 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 물리적 도메인을 포함하며, 상기 매핑 제어 유닛에게 분석 결과를 회신하기 위해 형성된 서비스 상태 분석 유닛을 더 포함하는 서비스 매핑 센터.
  39. 제 32항 내지 제 36항 중 어느 한 항에 있어서,
    상기 서비스 요구조건 분석 유닛에게 상기 현재 정의된 서비스 클래스 카탈로그를 저장하고 제공하기 위해 형성된 서비스 카탈로그 저장 유닛을 더 포함하는 서비스 매핑 센터.
  40. 정의된 서비스 클래스들에 따라 추상적인 서비스 로직에 의해 발동되는 서비스 클래스를 판단하는 단계;
    상기 서비스 클래스 및 미리 판단된 정책에 기반하여, 현재 접속 가능한 구체적인 서비스들로부터 상기 서비스 클래스를 충족할 수 있는 구체적인 서비스를 선택하는 단계;
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하고 상기 인터페이스 정보에 따라 인터페이스 발동 파일을 생성하는 단계; 및
    상기 구체적인 서비스 및 상기 인터페이스 발동 파일을 구체적인 서비스 로직으로 결합하는 단계를 포함하며,
    상기 구체적인 서비스 로직은 사용되는 서비스가 구체적인 서비스인 로직이고, 상기 추상적인 서비스 로직은 사용되는 서비스가 구체적인 서비스가 아닌 로직이고, 상기 구체적인 서비스는 서비스 카탈로그에서 조사될 수 있는 서비스인 추상적인 서비스 로직 매핑 방법.
  41. 제 40항에 있어서,
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하고 상기 인터페이스 정보에 따라 인터페이스 발동 파일을 생성하는 단계 이전에, 상기 방법은
    상기 구체적인 서비스를 감지하고 현재 이용 가능한 구체적인 서비스들을 판단하는 단계를 더 포함하는 추상적인 서비스 로직 매핑 방법.
  42. 제 40항 또는 제 41항에 있어서,
    상기 구체적인 서비스에 대한 인터페이스 정보를 획득하고 상기 인터페이스 정보에 따라 인터페이스 발동 파일을 생성하는 단계 이전에, 상기 방법은
    상기 구체적인 서비스의 현재 상태를 감지하고 기록하는 단계를 더 포함하고, 상기 상태는 상기 서비스가 활성화되었는지 여부, 상기 서비스가 로밍 상태에 있는지 여부, 및 상기 서비스가 위치되는 물리적 도메인을 포함하는 추상적인 서비스 로직 매핑 방법.
KR1020087021937A 2006-10-10 2007-08-20 서비스를 생성, 수행 및 매핑하는 시스템 및 방법 KR101008050B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2006101496103A CN100536479C (zh) 2006-10-10 2006-10-10 业务创建系统及方法
CN200610149610.3 2006-10-10

Publications (2)

Publication Number Publication Date
KR20080111005A KR20080111005A (ko) 2008-12-22
KR101008050B1 true KR101008050B1 (ko) 2011-01-13

Family

ID=39160760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087021937A KR101008050B1 (ko) 2006-10-10 2007-08-20 서비스를 생성, 수행 및 매핑하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US20080289012A1 (ko)
EP (2) EP1978677A4 (ko)
KR (1) KR101008050B1 (ko)
CN (1) CN100536479C (ko)
WO (1) WO2008043286A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964938A (zh) * 2009-07-21 2011-02-02 中兴通讯股份有限公司 业务生成系统及其实现方法
US9329951B2 (en) 2009-07-31 2016-05-03 Paypal, Inc. System and method to uniformly manage operational life cycles and service levels
CN102082763B (zh) * 2009-11-27 2014-06-25 Tcl集团股份有限公司 一种天气预报数据格式及其网络传输方法
CN102137449B (zh) * 2010-01-25 2014-10-01 中国移动通信集团湖北有限公司 一种用于业务支撑系统的业务处理方法及系统
CN101877103A (zh) * 2010-04-08 2010-11-03 苏州德融嘉信信用管理技术有限公司 金融增值服务系统
CN102457504B (zh) * 2010-10-28 2015-06-10 中兴通讯股份有限公司 应用商店系统及使用该应用商店系统进行应用开发的方法
CN102571720B (zh) * 2010-12-27 2015-02-04 中国移动通信集团辽宁有限公司 一种异构信息内容处理方法及装置
CN102694770A (zh) * 2011-03-22 2012-09-26 中兴通讯股份有限公司 一种业务平台中多类型资源管理的系统及方法
CN102214100A (zh) * 2011-06-24 2011-10-12 南京中兴新软件有限责任公司 业务执行方法及装置
CN102508702B (zh) * 2011-10-20 2013-07-10 北京金和软件股份有限公司 一种基于aop技术进行拦截来处理业务通用逻辑的方法
CN103095479A (zh) * 2011-11-04 2013-05-08 华为技术有限公司 业务配置的方法及装置
CN102521323A (zh) * 2011-12-02 2012-06-27 山东中创软件工程股份有限公司 一种应用程序文件处理方法及系统
US20130232511A1 (en) * 2012-03-05 2013-09-05 International Business Machine Corporation Service resolution within disparate programming models
US9128588B2 (en) * 2012-06-11 2015-09-08 Xerox Corporation Assisted service registration facilitating business process service reuse
GB2503463A (en) 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
GB2511047A (en) * 2013-02-20 2014-08-27 Ibm Providing context in functional testing of web services
US9195456B2 (en) 2013-04-30 2015-11-24 Hewlett-Packard Development Company, L.P. Managing a catalog of scripts
KR101534153B1 (ko) * 2013-08-23 2015-07-06 주식회사 엘지씨엔에스 비즈니스 로직 설계 방법, 이를 수행하는 비즈니스 로직 설계 서버 및 이를 저장하는 기록매체
US10073761B2 (en) 2013-09-30 2018-09-11 Entit Software Llc Legacy system
CN104715309A (zh) * 2013-12-11 2015-06-17 阿里巴巴集团控股有限公司 业务控制方法及装置
EP3195527B1 (en) * 2014-09-17 2018-05-02 British Telecommunications public limited company Communication set up process
CN106302600A (zh) * 2015-06-04 2017-01-04 中国移动通信集团广东有限公司 一种定制化需求的方法及装置
CN105871890A (zh) * 2016-05-16 2016-08-17 中国联合网络通信集团有限公司 一种ims业务构建方法及装置
CN107248988A (zh) * 2017-06-09 2017-10-13 国网信息通信产业集团有限公司 一种多媒体子系统的管理方法及装置
CN107688924A (zh) * 2017-06-26 2018-02-13 平安科技(深圳)有限公司 制证方法、装置及计算机可读存储介质
CN108388598B (zh) * 2018-02-01 2022-04-22 平安科技(深圳)有限公司 电子装置、数据存储方法及存储介质
CN109189381B (zh) * 2018-10-18 2022-01-11 行吟信息科技(上海)有限公司 一种业务流组件的创建方法及装置
CN111767043B (zh) * 2020-06-24 2024-01-30 北京思特奇信息技术股份有限公司 基于业务调度引擎的跨系统业务调度方法和系统
EP3961382A1 (en) * 2020-08-25 2022-03-02 Siemens Aktiengesellschaft Automatic derivation of software engineering artifact attributes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177335A1 (en) 2003-03-04 2004-09-09 International Business Machines Corporation Enterprise services application program development model

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991803A (en) * 1997-03-28 1999-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Decoupling service creation environment from service logic execution environment
SE512270C2 (sv) * 1997-04-30 2000-02-21 Ericsson Telefon Ab L M Sätt och system för användning i ett telekommunikationsnät
CA2347643A1 (en) * 1998-10-20 2000-04-27 Andrew Dugan An intelligent network
CN1092886C (zh) * 1998-12-15 2002-10-16 华为技术有限公司 实现智能网业务管理点与具体业务无关的方法
US6636509B1 (en) * 1999-05-11 2003-10-21 Cisco Technology, Inc. Hardware TOS remapping based on source autonomous system identifier
US7194543B2 (en) * 2001-11-12 2007-03-20 Mci, Llc System and method for creating and managing survivable, service hosting networks
WO2003077079A2 (en) * 2002-03-08 2003-09-18 Enleague Systems, Inc Methods and systems for modeling and using computer resources over a heterogeneous distributed network using semantic ontologies
US20040019636A1 (en) * 2002-07-24 2004-01-29 Sun Microsystems, Inc. System and method for dynamically routing web procedure calls
US7334222B2 (en) * 2002-09-11 2008-02-19 International Business Machines Corporation Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US7114146B2 (en) * 2003-05-02 2006-09-26 International Business Machines Corporation System and method of dynamic service composition for business process outsourcing
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
TW594510B (en) * 2003-11-05 2004-06-21 Ind Tech Res Inst Method and system of automatic service composition
CN100344098C (zh) * 2003-12-26 2007-10-17 华为技术有限公司 一种智能业务的实现方法
US7496622B2 (en) * 2004-03-17 2009-02-24 International Business Machines Corporation Alternative registry lookup of web services
US20050289524A1 (en) * 2004-06-22 2005-12-29 Mcginnes Simon Systems and methods for software based on business concepts
US8024397B1 (en) * 2005-12-20 2011-09-20 At&T Intellectual Property Ii, L.P. System for generating a services repository using a target services roadmap

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177335A1 (en) 2003-03-04 2004-09-09 International Business Machines Corporation Enterprise services application program development model

Also Published As

Publication number Publication date
EP2141592A2 (en) 2010-01-06
EP2141592A3 (en) 2010-03-24
CN100536479C (zh) 2009-09-02
CN101136936A (zh) 2008-03-05
KR20080111005A (ko) 2008-12-22
US20080289012A1 (en) 2008-11-20
WO2008043286A1 (fr) 2008-04-17
EP1978677A4 (en) 2009-07-22
EP1978677A1 (en) 2008-10-08

Similar Documents

Publication Publication Date Title
KR101008050B1 (ko) 서비스를 생성, 수행 및 매핑하는 시스템 및 방법
US10861013B2 (en) Containerization of network services
EP3118753B1 (en) Mashup service device and system, and method for establishing and using mashup service
US8856735B2 (en) System and method of generating REST2REST services from WADL
CA2486434C (en) A computing services grid
Raz et al. Fast and efficient context-aware services
KR20140096839A (ko) M2m 네트워크상에서의 리소스를 디바이스 오브젝트로 추상화하는 m2mm 플랫폼
CN103119907A (zh) 提供用于访问控制的智能组的系统和方法
CN100512158C (zh) 网络测量体系结构及其实现测量的方法
US11263201B2 (en) Interface for supporting integration with cloud-based service providers
CN110286939A (zh) 软件开发工具包的开发方法、装置、设备及存储介质
CN112236990A (zh) 用于实现iot数据的高效分析的基于服务层的方法
CN111552568A (zh) 云服务调用方法和装置
US8930935B2 (en) Composite service refactoring
JP2003242119A (ja) ユーザ認証サーバおよびその制御プログラム
US11683240B2 (en) Intelligent and assisted intent builder
CN114365467A (zh) 第三代合作伙伴计划(3gpp)实时上行链路流式传输框架(flus)接收能力确定
Gao et al. Bi-directional network and application interaction: Application intents upon abstracted network information
CN112073449B (zh) 基于Kubernetes的环境切换处理方法和设备
Li et al. Design of General SDN Controller System Framework for Multi-domain Heterogeneous Networks
Raverdy et al. Service lifecycle management
da Silva Service Modelling and End-to-End Orchestration in 5G Networks
CN117478736A (zh) 地图服务的代理方法、装置、电子设备及存储介质
Krishnakumar et al. Constraint-based configuration of proxylets for programmable networks
CN112019558A (zh) 通用挡板测试方法、装置、设备和计算机存储介质

Legal Events

Date Code Title Description
A201 Request for 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: 20131219

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee