KR100724522B1 - 서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체 - Google Patents

서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR100724522B1
KR100724522B1 KR1020040090750A KR20040090750A KR100724522B1 KR 100724522 B1 KR100724522 B1 KR 100724522B1 KR 1020040090750 A KR1020040090750 A KR 1020040090750A KR 20040090750 A KR20040090750 A KR 20040090750A KR 100724522 B1 KR100724522 B1 KR 100724522B1
Authority
KR
South Korea
Prior art keywords
service
service interface
interface
abandoned
usage
Prior art date
Application number
KR1020040090750A
Other languages
English (en)
Other versions
KR20050056855A (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 KR20050056855A publication Critical patent/KR20050056855A/ko
Application granted granted Critical
Publication of KR100724522B1 publication Critical patent/KR100724522B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

본 발명은 기록된 서비스 사용 정도 데이터(logged service usage data)로부터 식별된 재현성 사용 정도 패턴(recurring usage pattern)에 응답하여 SOA(a Service Oriented Architecture) 상에서 구현되는 웹 서비스를 위한 서비스 인터페이스를 자동 생성 및/또는 수정하는 방법에 관한 것이다. 분석기가 이 재현성 사용 정도 패턴을 식별하고 추정 엔진이 자주 사용되는 서비스를 포함하는 세밀하게 분화된 서비스 규정(fin-grained service definition)을 상기 패턴으로부터 결정한다. 서비스 생성기는 규칙 집합에 따라서 이 세밀하게 분화된 서비스 규정으로부터 새로운 서비스 규정을 생성한다.

Description

서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체{METHOD AND SYSTEM FOR AUTOMATICALLY GENERATING SERVICE INTERFACES FOR A SERVICE ORIENTED ARCHITECTURE}
도 1은 본 발명에 따라 서비스 인터페이스를 자동적으로 생성하는 시스템의 블록도,
도 2는 도 1의 시스템의 소자를 생성하는 서비스 인터페이스의 블록도,
도 3은 본 발명에 따른 방법을 도시하는 흐름도,
도 4는 본 발명에 따른 방법의 제 1 부분을 포함하는 단계들을 도시한 블록도,
도 5는 본 발명에 따른 방법의 제 1 부분의 서비스 호출 데이터 캡쳐 단계(a service invocation data capture step)의 일 실시예를 보다 상세하게 설명하는 블록도,
도 6은 도 5의 서비스 호출 데이터 캡쳐 단계를 구현하는 자바 소스 코드 실례를 포함하는 도면,
도 7은 본 발명에 따른 방법의 제 2 부분을 포함하는 단계들을 설명하는 블록도.
도면의 주요 부분에 대한 부호의 설명
26 : 서비스 요청 친화도 분석기 28 : 추정 엔진
30 : 규칙 데이터베이스 32 : 서비스 생성기
34 : 보고 생성기
36 : 누적 서비스 사용 정도 이력 데이터베이스
40 : 대략적으로 분화된 서비스 인터페이스
42 : 가용한 세밀하게 분화된 기업 서비스
44 : 대략적으로 분화될 서비스 인터페이스
46 : 보고 사항
본 발명은 전반적으로 SOA(Service Oriented Architecture)를 위한 서비스 인터페이스를 자동적으로 생성하는 방법 및 시스템에 관한 것이며, 특히 SOA에서 웹 서비스를 위한 서비스 인터페이스를 자동적으로 생성하는 방법 및 시스템에 관한 것이지만 여기에만 한정되는 것은 아니다.
비니지스 프로세스를 지원하기 위해 상이한 정보 시스템 및 소프트웨어 애플리케이션의 동작들을 통합시키는 프로세스는 복잡하고 비용이 많이 들며 시간을 많이 소비하는 작업이었다. 프로그래밍 언어, 운영 체제, 애플리케이션 인터페이스 및 네트워킹 프로토콜의 측면에서 표준 방식으로는 불충분하기 때문에, 상이한 정보 시스템 및 소프트웨어 애플리케이션의 동작들을 통합하는 이전의 방식들은 복잡한 기술들에 의해 지원되는 광범위한 시스템 통합 자원을 필요로 하게 되었다. 비니지스 프로세스를 실행하기 위해 최종 생성된 시스템 및 애플리케이션은 밀접하게 결합된 애플리케이션 및 서브시스템을 포함한다. 한가지 단점은 임의의 하나의 서브시스템을 변경하면 그에 연관된 다양한 애플리케이션과의 결합이 손상된다는 것이다. 이러한 시스템의 취약성으로 인해 부분적으로는 이러한 시스템의 관리를 위해 고비용이 요구되며, 그리고 내부적으로는 한 기관 내에서, 외부적으로는 다른 기관과의 사이에서 e-비지니스를 개발하는 데 있어서도 제약이 가해진다.
SOA는 이비니지스를 구현하는 개념적 아키텍쳐이다. 이 아키텍쳐는 전술한 문제들을 다루는 데 있어서 제안되었다. 기본적 사상은 양호하게 규정된 서비스 인터페이스 내부에 애플리케이션을 랩핑(wrap)하여 단일 애플리케이션(a monolithic application)을 "서비스"로 변환하는 것이다. 이러한 랩핑 프로세스는 그 애플리케이션이 사용하는 프로그래밍 언어, 운영 체제, 네트워킹 프로토콜 및/또는 데이터베이스를 마스킹(mask)하는 애플리케이션의 추상화(abstraction)를 생성한다. 이로써, 서비스 인터페이스, 즉 서비스의 기술(descripton)이 다수의 서비스를 끊김없이 통합하게 한다. 보안 기술, 미들웨어 기술 및 통신 기술이 환경적 전제 조건으로서 서비스에 참여하도록 랩퍼링된다(wrappered). 이러한 랩퍼링은 서비스로 하여금 가상 기업이 가령 HTTP(Hyper Text Transfer Protocol)를 통해서 그의 서로 다른 시스템들을 링크하게 하며 단일의 관리 영역에 참여하게 한다.
지난 10 년 동안, SOA를 제공하는 데 있어서 3 개의 주요한 시도가 수행되었다. CORBA, J2EE 및 DCOM 각각은 자신의 고유한 방식으로 SOA의 개념을 지원하였다. CORBA(Common Object Request Broker Architecture)는 OMG(Object Management Group)의 원조 하에서 개발되었다. 이는 미들웨어이다. 임의의 컴퓨터, 운영 체제, 프로그래밍 언어 및 네트워크 상의 임의의 벤더로부터의 CORBA-기반 프로그램은 다른 임의의 컴퓨터, 운영 체제, 프로그래밍 언어 및 네트워크 상의 동일한 벤더 또는 다른 벤더로부터의 CORBA-기반 프로그램과 상호 동작할 수 있다. J2EE(Java 2 Platform, Enterprise Edition)는 다중 티어 기업 애플리케이션(multi-tier enterprise application)을 개발하는 표준 방식을 규정한다. 이 J2EE은 기업 애플리케이션을 표준화된 모듈형 컴포넌트 기반이 되게 하며 완전한 서비스 세트를 이들 컴포넌트에 제공하고 애플리케이션 동작의 세부 사항을 자동적으로 다룸으로써 복잡한 프로그래밍 없이도 기업 애플리케이션을 단순화할 수 있다. DCOM(Distributed Component Object Model)은 COM(Component Object Model)의 확장형이다. DCOM은 1996년에 도입되었으며 HTTP와 같은 인터넷 프로토콜을 포함하여 다수의 네트워크 전송 프로토콜을 거쳐서 사용되도록 설계되었다.
SOA가 수용될 수 있도록 하기 위해서, 애플리케이션을 랩핑하는 데 사용되는 언어는 보편적으로 수용될 수 있어야 한다. DCOM은 Microsoft-IDL를 사용하며, CORBA는 CORBA-IDL를 사용하고, J2EE은 Java를 사용한다. 이들 중 어느 것도 범용 언어로서 고려될 수 없다.
다른 문제는 서비스 인터페이스에서 유연성이 필요하다는 것이다. 서비스 인터페이스는 시간에 지남에 따라서 진화될 필요가 있으며 상이한 메시지 타입에 응답할 수 있는 용량을 가져야 한다. 이는 기업 환경 및 소프트웨어 환경이 시간이 지남에 따라서 변하기 때문이다. J2EE 및 CORBA에서, 서비스 인터페이스는 강성 엔티티(a rigid entity)이며 변화에 대해서 양호하게 구성되지 않는다. DCOM은 서비스 인터페이스 변화를 어느 정도 지원할 수 있지만 복잡한 방식으로 지원하기 때문에 이를 사용하기는 매우 어렵다. 이러한 유연한 서비스 인터페이스 진화 능력이 없기 때문에 지금까지 SOA를 개발 및 관리하는 것이 어려웠다.
SOA에 대한 이들 이전의 방식 모두는 2 개의 구별된 개념으로 결합될 수 있다. 제 1 개념은 서비스 인터페이스를 하나의 소프트웨어로 구축하는 것이며, 제 2 개념은 이 서비스 인터페이스를 구현하기 위해서 프로그래밍 로직을 어느 정도 생성하는 것이다. 그러므로, J2EE, DCOM 또는 CORBA 중 어느 하나를 사용하기를 원한다면, 무엇보다도 그의 프로그래밍 모델 및 실질적이면서 복잡한 API 세트를 배워야 한다.
따라서, SOA를 성공적으로 구현하기 위해서, 웹 서비스 기술은 SOA를 위한 최선의 접속 기술임을 알 수 있다. 이는 다양한 기업 및 산업 기관으로부터의 연구자 및 컨설턴트의 작업을 반영하는 기술들의 중심 집합에 의존한다. 이러한 기술들은 다음과 같다.
XML(Extensible Mark-up Language) : 이는 W3C(World Wide Web Consortium)으로부터의 텍스트 기반 마크 업 언어이다. 프리젠테이션 및 데이터를 기술하기 위해 태그를 사용하는 HTML과는 달리, XML은 엄격하게 이동가능한 구조화된 데이터 를 규정하기 위한 것이다. 이는 마크 업 문법 또는 어휘와 같은 데이터 기술형 언어 및 교환 포맷 및 메시징 프로토콜을 규정하는 언어로서 사용된다.
SOAP(Simple Object Access Protocol) : 이는 탈중심화된 분산 환경에서 정보의 교환을 위한 XML 기반 경량 프로토콜이다. SOAP는 요청 객체와 제공 객체 간의 메시징 프로토콜을 규정하며, 이로써 요청 객체는 객체 지향형 프로그래밍 방식으로 제공 객체에 대해 원격 방법 호출을 수행할 수 있다. SOAP는 Microsoft, IBM, Lotus, Userland 및 DevelopMentor에 의해 공동 제작되었다. SOAP는 현재 SOA의 대부분의 벤더 구현 시에 분산 객체 통신을 위한 기반을 형성하고 있다. SOA는 메시징 프로토콜을 규정하지 않지만, SOAP는 최근에 SOA 구현 시에 통상적으로 사용되기 때문에 Service-Oriented Architecture Protocol로 지칭되었다. SOAP의 일 측면은 플랫폼, 운영 체제, 객체 모델 및 프로그래밍 언어에 대해서 독립적인 구현을 가능하게 하는 벤더 중립형이다는 것이다. 또한, 전송 및 언어 바인딩(binding) 뿐만 아니라 데이터 인코딩 프레퍼런스(preference)도 모두 구현 독립형이다.
WSDL(Web Service Description Language) : 이는 서비스 인터페이스 규정 언어(IDL)를 기술하는 표준 방식을 제공하는 XML 어휘이다. WSDL은 IBM에 의해 개발된 NASSL(Network Accessible Service Specification Language)와 Microsoft에 의해 개발된 SDL(Specification and Description Language) 간의 활동을 수렴하여 생성된 결과이다. 이는 서비스 제공자가 원격 방법 호출(RMI)을 위한 요청 및 응답 메시지의 포맷을 기술하도록 하는 간단한 방식을 제공한다. WSDL은 그 하부에 존 재하는 프로토콜 및 인코딩 요구 사항과 상관없이 서비스 IDL의 문제를 취급할 수 있다. 일반적으로, WSDL은 각각의 파라미터 및 데이터 타입으로 서비스의 공보된 동작들을 규정하는 추상 언어를 제공한다. 이 언어는 또한 그 서비스의 위치 및 바인딩 세부 사항의 규정을 취급한다.
UDDI(Universal Description, Discovery and Integration) : 이는 서비스 중개자의 구현을 가능하게 하는 SOAP API의 공통 집합을 제공한다. UDDI는 IBM, Microsoft 및 Ariba에 의해 제작되었으며 웹 기반 서비스의 생성, 기술, 발견 및 통합을 용이하게 한다. UDDI.org에 대한 동기, 70 개 이상의 산업 및 기업 리더들 간의 협력 및 합동이 B2B(business to business)에 대한 표준 방식을 규정하였지만 이는 또한 B2C(business to consumer) 애플리케이션을 위해서도 사용될 수 있다.
이들 기술이 SOA 상에서 웹 타입 서비스를 구현하는 기술을 독점적으로 보유하고 있는 것이 아니다. 그러나, 이러한 기술 중에서 XML은 필수적인 기술인데 그 이유는 이 기술이 통상적으로 허용되고 웹 타입 서비스가 그의 형태 및 기능을 기술하는 데 사용될 수 있는 몇몇 종류의 XML 기반 기술 메카니즘을 필요로 하기 때문이다.
SOA는 기업간 컴퓨팅 및 기업내 컴퓨팅을 위한 우수한 토대를 제공한다. 이는 비니지스 프로세스를 구현하는 애플리케이션이 웹 타입 서비스와 같이 매우 신속하고 효율적으로 구현될 수 있게 하며 이러한 서비스의 구현을 관리하는 데 있어서 인간이 참여하는 정도를 작게 한다. 이러한 수 많은 구현은 인간이 전혀 참여할 필요가 없는 머신 간의 호출을 포함한다.
기업에 의해서 SOA를 채용하는 것에 대한 동력은 이로써 생성될 수 있는 이점과 관련이 있다. SOA를 통한 비니지스 프로세스의 구현은 여러 기업들 간에서 이들의 경쟁자의 협동 허브(collaboration hub)보다 우수한 협동 허브를 생성하는 데 있어서 기업 협력자들 간의 협동을 개선하여 시장 경쟁에서 이길 수 있게 한다. 이러한 협동 허브는 또한 가령 공급 체인을 압축함으로써 시장 진입 시간을 개선할 수 있다. 이로써, 오늘날 수 많은 기업들은 내부 서비스보다는 외부 서비스를 설계하는 데 집중하고 있는데 그 이유는 외부 서비스가 비니지스 생산성 및 경쟁성에 보다 큰 영향을 주기 때문이다.
웹 기반 서비스의 품질은 보안, 서비스 공보 정도, 책임성, 추적능력, 성능 및 서비스 인터페이스 규정을 포함하는 수 많은 요소에 의존한다.
본 발명은 서비스 인터페이스 설계에 관한 것이다. 양호한 서비스 인터페이스를 설계하기 위해서, 서비스 설계자는 규정된 서비스의 전송 손실 특성을 신중하게 고려해야 한다. 한편으로, 서비스는 성능 및 캡슐화 이유로 인해서는 대략적으로 분화(grain)되어야 하지만 최대 유연성을 위해서는 세밀하게 분화되어야 한다. 서비스가 너무 대략적으로 분화된 경우에, 클라이언트가 요구한 데이터보다 많은 데이터가 네트워크를 통해 전송되는 반면에, 서비스가 너무 세밀하게 분화되면, 클라이언트는 요구된 모든 데이터를 획득하기 위해서 한 네트워크 트립(one network trip)보다 많은 트립을 수행해야 한다.
현재, 서비스 인터페이스는 웹 서비스 기반 비니지스 프로세스들의 동적 온 디멘드 복합(dynamic on demand composition)을 가능하게 하는 IBM의 Alphaworks Web Services Outsourcing Manager 및 비지니스 프로세스들이 개방형 J2EE 아키텍쳐를 지원하는 제품에 의해 제공되는 임의의 서비스와 결합되게 하는 IBM의 Websphere Application Server Enterprise Process Choreographer과 같은 실시간 툴을 사용하여 인간 작동자(설계자)에 의해서 실시간으로 설계된다. 그러나, 현재 이러한 서비스의 클라이언트 호출로부터 기인되는 서비스 사용을 고려하면서 이 서비스 인터페이스를 자동적으로 생성 및 수정할 수 있는 수단이 존재하지 않는다.
본 발명의 목적은 기존의 구성의 단점을 제거 또는 완화하는 방법 및 시스템을 제공하는 것이다.
본 발명의 특정 목적은 SOA 상에서 구현되는 웹 서비스를 위한 서비스 인터페이스를 이 서비스의 사용 정도에 응답하여 자동적으로 생성 및/또는 수정하는 방법 및 시스템을 제공하는 것이다.
제 1 측면에서, 본 발명은 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 방법을 제공한다. 이 방법은 이 애플리케이션과 연관된 각각의 서비스를 규정하는 다수의 서비스 인터페이스를 배치하는 단계와, 이 서비스 인터페이스에 의해 규정된 서비스의 사용 정도를 포함하는 데이터를 기록하는 단계와, 이 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 단계와, 이 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 단계를 포함한다.
이 머신 구현형 애플리케이션은 이 애플리케이션을 포함하는 기능들을 규정하는 다수의 서비스 인터페이스에 의해서 인터넷과 같은 네트워크 환경에서 표현된다. 이는 이 네트워크에 접속된 사용자(클라이언트)가 이 서비스 인터페이스에 의해 규정된 서비스들을 호출하게 한다. 본 발명의 이 측면은 실시간 툴을 사용하여 서비스 인터페이스를 수동으로 재설계하기 위해서 인간 동작자(설계자)를 필요로 하지 않으면서 서비스 사용 정도에 따라서 그 서비스의 전송 손실 특성을 개선할 수 있다. 실제로, 본 발명은 클라이언트 사용 정도 패턴에 따라서 서비스 인터페이스를 자동적으로 최적화하는 런타임 방법을 제공한다.
새로운 서비스 인터페이스를 생성하는 단계는 하나 이상의 기존의 서비스 인터페이스를 수정하는 단계를 포함한다.
새로운 서비스 인터페이스를 생성하는 단계는 기존의 서비스 인터페이스를 갱신 또는 수정하는 단계를 포함할 수 있다. 그러므로, 용어 "새로운"은 이러한 문맥에서 본 발명의 범위를 한정하지 않고 기존에 존재하는 인터페이스로부터 새로운 서비스 인터페이스를 형성하는 것을 배제하지 않는다.
각 서비스 인터페이스는 이 머신 구현형 애플리케이션을 포함하는 하나 이상의 기능들을 구현할 수 있다.
서비스는 비니지스 프로세스를 성취하기 위해서 데이터를 교환하는 것 또는 애플리케이션 컴포넌트(기능들)를 논리적으로 그룹화하는 것과 같은 간단한 애플리케이션 기능을 포함한다.
바람직하게는, 새로운 서비스 인터페이스를 생성하는 단계는 다수의 기존의 서비스 인터페이스의 기능들을 결합하는 단계를 포함한다.
이는 서비스가 최대 유연성을 제공하도록 초기에 세밀하게 분화되도록 설계될 수 있다는 전제를 기반으로 한다. 서비스 사용 정도 패턴은 클라이언트가 규칙적인 네트워크 방문 패턴으로 서비스 그룹을 체계적으로 호출하는 것을 드러낸다. 이러한 재현성 사용 정도 패턴에 따라서, 본 발명의 방법에서는 서비스 그룹을 포함하는 새로운 서비스 인터페이스가 자동적으로 규정 및 사용되어 이로써 형성된 새로운 서비스 인터페이스의 전송 손실 특성을 최적화하며 이를 호출하기 위해서 단일 네트워크 방문만을 필요로 한다.
서비스 사용 정도를 포함하는 데이터를 기록하는 단계는 서비스 호출 서명(a service invocation signature)을 포함하는 데이터를 서비스 사용 정도 이력 데이터베이스 내에 저장하는 단계를 포함한다.
바람직하게는, 이 서비스 호출 서명은 서비스가 실행되기 전에 또는 실행된 후에 기록된다.
또한, 바람직하게는, 이 서비스 호출 서명은 호출 상황, 타임스탬프 및 호출 파라미터 중 임의의 하나 또는 이들의 조합을 위한 데이터와 함께 서비스 사용 정도 이력 데이터베이스 내에 저장된다.
호출 상황 데이터는 호출 식별자 및 호출 세션 식별자를 포함한다.
호출 ID, 호출 세션 ID 및 타임스탬프를 나타내는 데이터를 저장 및 분석함으로써 서비스 인터페이스를 최적화는데 있어서 촉매인 재현성 서비스 사용 정도 패턴을 식별하는 작업은 상대적으로 용이한 처리 작업이 된다.
바람직하게는, 사용 정도 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 단계는 이 서비스 사용 정도 패턴을 식별하여 이에 대응하는 세밀하게 분화된 서비스 세트를 형성하는 단계를 포함한다.
이 세밀하게 분화된 서비스는 최적화된 대략적으로 분화된 서비스 인터페이스를 생성하는 구축 블록(buliding block)을 형성한다.
바람직하게는, 새로운 서비스 인터페이스를 생성하는 단계는 서비스 사용 정도 패턴으로부터 식별된 다수의 세밀하게 분화된 서비스 인터페이스를 결합함으로써 새로운 대략적으로 분화된 서비스 인터페이스를 생성하는 단계를 포함한다.
이 새로운 대략적으로 분화된 서비스 인터페이스는 자동적으로 사용될 수 있다.
이와 달리, 이 새로운 대략적으로 분화된 서비스 인터페이스는 사용되기 이전에 "대략적으로 분화될 서비스 규정 데이터베이스("To be" coarse-grained service definition database) 내에 저장된다.
본 발명이 최적화된 서비스 인터페이스를 자동적으로 생성하는 방법에 관한 것이지만, 본 발명의 방법은 적절한 때에 새롭게 생성된 서비스 인터페이스를 사용하는 데 있어서 인간이 참여할 수 있는 기회를 제공한다.
새로운 서비스 인터페이스를 자동적으로 생성하는 단계는 인간 운영자, 시스템 관리자 및 스케쥴링 엔진 중 어느 하나에 의해서 트리거된다.
이와 달리, 새로운 서비스 인터페이스를 자동적으로 생성하는 단계는 재현성 서비스 사용 정도 패턴에 의해서 트리거된다.
바람직하게는, 새로운 서비스 인터페이스는 SOA에서 사용되기 위해서 자동적으로 생성된다.
다른 측면에서, 본 발명은 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 시스템을 제공한다. 이 시스템은 이 애플리케이션과 연관된 각각의 서비스를 규정하는 다수의 서비스 인터페이스를 배치하는 수단과, 이 서비스 인터페이스에 의해 규정된 서비스의 사용 정도를 포함하는 데이터를 기록하는 수단과, 이 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단과, 이 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 수단을 포함한다.
바람직하게는, 다수의 서비스 인터페이스를 배치하는 수단은 IBM의 Websphere Application Server와 같은 서비스 실행 엔진을 포함한다.
이 서비스 실행 엔진은 또한 J2EE 순응형 애플리케이션 서버를 포함한다.
이 서비스 실행 엔진은 또한 서비스의 사용 정도를 포함하는 데이터를 기록하는 수단과 이 기록된 데이터를 저장하는 데이터베이스를 포함한다.
사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단 및/또는 이 식별된 재현성 서비스 사용 정도 패턴에 응답하여 새로운 서비스 인터페이스를 자동적으로 생성하는 수단은 자율적 자기 최적화 서비스 규정 소자(an autonomic self-optimising service definition component)를 포함한다.
이 자율적 자기 최적화 서비스 규정 소자는 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 서비스 요청 친화도 분석기(a service request affinity analyser)를 포함한다.
이 자율적 자기 최적화 서비스 규정 소자는 식별된 재현성 서비스 사용 정도 패턴에 응답하여 새로운 서비스 인터페이스를 자동적으로 생성하는 서비스 인터페이스 생성기를 포함한다.
바람직하게는, 이 자율적 자기 최적화 서비스 규정 소자는 가용한 세밀하게 분화된 서비스 인터페이스를 위한 데이터베이스와 기존의 대략적으로 분화된 서비스 인터페이스를 위한 데이터베이스 중 하나를 또는 모두를 포함한다.
바람직하게는, 이 자율적 자기 최적화 서비스 규정 소자는 상기 서비스 인터페이스 생성기를 제어하는 규칙 데이터베이스 및 추정 엔진을 포함한다.
본 발명의 다른 측면에서, SOA에서 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 서비스 인터페이스 생성 소자가 제공된다. 이 소자는 서비스 사용 정도 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단과, 이 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 수단을 포함한다.
바람직하게는, 서비스 사용 정도 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단은 서비스 사용 정도 패턴을 식별하여 대응하는 세밀하게 분화된 또는 대략적으로 분화된 서비스 집합을 형성하는 수단을 포함한다.
식별된 재현성 서비스 사용 정도 패턴에 응답하여 새로운 서비스 인터페이스를 자동적으로 생성하는 수단은 서비스 사용 정도 패턴으로부터 식별된 다수의 세밀하게 분화된 서비스 인터페이스 또는 대략적으로 분화된 서비스 인터페이스를 결 합함으로써 새로운 대략적으로 분화된 서비스 인터페이스를 생성하는 수단을 포함한다.
본 발명의 다른 측면에서, 전술한 방법에서 사용되는 서비스 실행 엔진이 제공된다.
본 발명의 다른 측면에서, 전술한 방법을 구현하는 컴퓨터 프로그램이 제공된다.
본 발명의 다른 측면에서, 전술한 방법의 컴퓨터 구현이 제공된다.
본 발명의 전술한 특징 및 다른 특징은 첨부 도면을 참조하며 본 발명을 예시적으로 설명하지 본 발명의 범위를 한정하지는 않는 다음의 바람직한 실시예를 독해하면 보다 쉽게 이해될 것이다.
도 1에서, 본 발명의 시스템(10)은 점선(12)으로 표시된 네트워크 인터페이스의 서비스 제공자 측(공개자 측) 상에서는 인터넷과 같은 웹 인에이블형 네트워크(도시되지 않음)를 걸쳐서 배치되는 서비스를 클라이언트가 호출하게 하는 서비스 실행 엔진(14)을 포함한다. 이 배치된 서비스는 배치된 서비스 데이터베이스(16) 내에 저장된다. 이 서비스를 규정하는 서비스 인터페이스들은 그들 간에서 하나 이상의 서비스 제공자 비니지스 프로세스 또는 애플리케이션을 포함한다. 이 실행 엔진(14)은 가령 IBM Websphere 애플리케이션 서버 또는 임의의 J2EE 순응형 서버일 수 있다. 또한, 네트워크 인터페이스(12)의 서비스 제공자 측 상에는, 배 치되는 서비스를 관리하는 서비스 관리자(18)가 존재한다. 이 서비스 관리자(18)는 인간일 수 있지만 지능형 소프트웨어 대리 기능이 이 역할을 수행할 수도 있다. 배치될 새로운 서비스를 설계하는 설계자(20)는 웹 서비스 기반 비니지스 프로세스들의 동적 온 디멘드 복합(dynamic on demand composition)을 가능하게 하는 IBM의 Alphaworks Web Services Outsourcing Manager 및 비지니스 프로세스들이 개방형 J2EE 아키텍쳐를 지원하는 제품에 의해 제공되는 임의의 서비스와 결합되게 하는 IBM의 Websphere Application Server Enterprise Process Choreographer과 같은 실시간 설계 툴을 사용하는 알려진 실시간 설계 기술에 따라서 새로운 서비스를 설계하는 인간 운영자를 포함한다. 네트워크 인터페이스(12)의 클라이언트 측 상에는, 기존의 서비스 규정 사항을 사용하여 새로운 애플리케이션을 개발하는 클라이언트 애플리케이션 프로그래머(22)가 존재한다. 서비스 제공자 측의 설계자(20)와 마찬가지로, 이 프로그래머는 실시간 모드로 작업하는 인간 운영자를 포함한다. 그러므로, 지금까지 기술된 바로는 어떠한 새로운 구성도 존재하지 않으며 이러한 구성은 본 기술 분야의 당업자에게 잘 알려져 있다.
본 발명에 따른 시스템은 자율적 자기 최적화 서비스 규정 소자(an autonomic self-optimising service definition component)로도 지칭되는 서비스 인터페이스 생성 소자(24)를 포함한다. 이 소자(24)의 목적은 식별된 재현성 클라이언트 사용 정도 패턴에 따라서 새로운 서비스 인터페이스를 자동적으로 생성하는 것이다. 이로써, 시스템의 다른 소자와 협력하여 이 소자는 새로운 서비스 인터페이스가 실시간 모드로 자동적으로 생성되어 사용되도록 한다. 이러한 사항은 다음 의 설명 부분에서 보다 분명해질 것이다.
서비스 인터페이스 생성 소자(24)의 구조 및 시스템의 다른 소자와의 상호작용은 도 2에 도시되어 있다. 이 서비스 인터페이스 생성 소자(24)는 서비스 요청 친화도 분석기(26), 추정 엔진(an inference engine)(28), 규칙 데이터베이스(30) 및 최적화된 서비스 생성기(32)를 포함한다. 이는 또한 보고 생성기(a report generator)(34)도 포함한다. 여기서, 규칙 데이터베이스(30)를 제외한 모든 소자는 소프트웨어 소자로서 구현된다. 서비스 요청 친화도 분석기(26)는 웹 사이트 분석기와 등가적이지만 웹 사이트의 사용 정도 통계치(웹 사이트 로그)를 처리하지 않는다는 점에서 그와 상이하다. 이 분석기(26)는 서비스 실행 엔진(14)에 의해 호출된 웹 서비스의 사용 정도 통계치를 분석한다. 추정 엔진(28)은 IBM의 Websphere 애플리케이션 서버의 일부를 형성하는 IBM의 Websphere 비니지스 규칙 빈(bean) 또는 Versata Logic Suite의 일부를 형성하는 Versata 로직 엔진과 같은 오프 더 쉘프 추정 엔진(off-the-shelf inference engine)(규칙 기반형 빈)을 사용하여 구현될 수 있다. 최적화된 서비스 생성기(32)는 추정 엔진(28)의 처리 결과를 취하여서 통상적으로 WDSL 파일로서 서비스 규정 사항을 생성하는 코드 생성기를 포함한다. 보고 생성기(34)는 추정 엔진 처리의 결과를 인간이 판독할 수 있는 형태로 생성한다. 이 보고 사항은 "최적으로 대략적으로 분화될 서비스 규정 데이터베이스("To-be" optimized coarse-grained service definition database)(44)"의 내용으로 링크된다. 이 "최적으로 대략적으로 분화될 서비스 규정 데이터베이스(44)"는 분석된 서비스 사용 정도 패턴에 응답하여 생성된 새로운 서비스 인터페 이스를 포함한다. 가령, 서비스 사용 정도 보고 사항은 특정 서비스에 의해 노출된 동작 Ox 및 Oy은 이러한 동작들은 90 %의 경우에 그러한 순서로 호출되기 때문에 하나의 동작 Ox+y로 그룹화될 수 있임을 나타낸다.
이 "최적으로 대략적으로 분화될 서비스 규정 데이터베이스(44)" 이외에, 서비스 인터페이스 생성 소자(24)는 누적된 서비스 사용 정도 이력 데이터베이스(a cumulative service usage history database)(36), "대략적으로 분화된 서비스 규정 데이터베이스("As-is" coarse-grained services definitions database)(40)", 가용한 세밀하게 분화된 기업 서비스 데이터베이스(an available fine-grained enterprise service database)(42) 및 보고 데이터베이스(46)로 링크되어 있다.
서비스 규정 데이터베이스(36,40,42,44) 각각은 보고를 위해서 관계 데이터베이스(a relational database), XML 플랫 파일(flat files) 및 Plus Word 프로세싱을 사용하여 구현될 수 있는 구조화된 데이터 저장부를 포함한다.
누적된 서비스 사용 정도 이력 데이터베이스(36)는 웹 사이트 로그와 등가적이지만 본 발명에서는 대신에 웹 서비스 로그를 포함한다. 이 웹 서비스 로그는 프로세스에 어떠한 정보도 부가하지 않으면서 단지 웹 서비스 사용의 차원에서 발생한 것을 기록하기 때문에 낮은 레벨의 로그이다.
서비스 인터페이스 생성 소자(24)의 서비스 요청 친화도 분석기(26)의 한 입력부는 서비스 실행 엔진(14)의 서비스 사용 정도 기록부(38)에 의해 기록된 서비스 사용 정도 데이터를 저장하는 서비스 사용 정도 이력 데이터베이스(36)에 접속된다. 이 사용 정도 이력 데이터베이스(36)에 저장된 사용 정도 데이터를 분석하 여 재현성 클라이언트 사용 정도 패턴을 식별하는데 이 단계는 본 발명에 따라 새로운 서비스 인터페이스를 자동적으로 생성하는 방법의 한 단계이다. 이 서비스 요청 친화도 분석기(26)의 다른 입력부는 "대략적으로 분화된 서비스 규정 데이터베이스("As-is" coarse-grained services definitions database)(40)"에 접속된다. "대략적으로 분화된 서비스 규정 데이터베이스(40)"는 간접적으로는 추정 엔진의 입력부이다. "대략적으로 분화된 서비스 규정 데이터베이스(40)"는 도 1에서 개별 데이터베이스로서 도시되었지만 상기 배치된 서비스 데이터베이스(16)와 동일한 하나의 데이터베이스이다.
서비스 요청 친화도 분석기(26)는 서비스 인터페이스에서 사용된 동작 및 사용되지 않은 동작에 대한 통계치를 추정 엔진(28)에게 제공하는데, 여기서 두 동작들은 서로 상관되어 있어서 그 추정 엔진이 보다 대형의 대략적으로 분화된 서비스를 제공하는 것을 도우며, 이 분석기(26)는 또한 추정 엔진이 대략적으로 분화된 서비스의 크기를 줄이도록 소정의 동작에 대해 사용된 파라미터의 수도 제공한다. 이로써, 이 분석기(26)의 출력부는 "대략적으로 분화된 서비스 규정 데이터베이스(40)"의 슈퍼 세트(super-set)로서 고려될 수 있다.
추정 엔진(28)의 다른 입력부는 가용한 세밀하게 분화된 기업 서비스 규정 데이터베이스(42)로 접속된다. 이 세밀하게 규정된 기업 서비스는 배치된 서비스 데이터베이스(16) 및 "대략적으로 분화된 서비스 규정 데이터베이스(40)"에서 웹 타입 서비스로서 가용한 비니지스 애플리케이션/프로세스를 포함하는 방법/서비스 요소를 규정하는 기본적인 실시간 규정된 서비스 인터페이스를 포함한다.
추정 엔진(28)의 마지막 입력부는 추정 엔진(28)의 규칙 제어 동작을 규정하는 규칙 데이터베이스(30)로 접속된다. 이 규칙 데이터베이스(30)는 보고를 위해서 관계 데이터베이스(a relational database), XML 플랫 파일(flat files) 및 Plus Word 프로세싱을 사용하여 구현될 수 있는 구조화된 데이터 저장부를 포함한다. 본 발명을 구현하는 시스템이 사전 패키지된 규칙의 세트와 함께 구현되더라도, 이 규칙은 비니지스에 대해 특정될 수 있다. 사전 패키지된 규칙은 다음과 같은 표준 서비스 재인수분해 규칙(standard service refactorisation rule)일 수 있다.
1. 서비스 동작 Ox 및 Oy가 90%의 사용자에 의해서 90 %의 경우에 2 초 내에 순서대로 사용되면, 새로운 서비스 동작 Ox+y가 제안될 수 있다.
2. 서비스 동작 Ox에서의 파라미터 Px가 90%의 사용자에 의해서 사용되지 않으면, 이 파라미터가 없는 새로운 서비스 동작이 제안될 수 있다.
비니지스 특정 규칙은 다음과 같을 수 있다.
3. 시장 홍보 시작일 이후의 3 개월 동안 서비스 "Car Gold Warranty(차량 골드급 무료 보상" 및 "Car Special Insurance(차량 특별 보험)" 간의 상관성을 발견하라.
추정 엔진 출력부는 제안된 대략적으로 분화된 (또는 분화될) 서비스 규정을 "대략적으로 분화될 서비스 규정 데이터베이스(44)"로 출력하는 서비스 생성기(32)의 입력부에 접속된다. 이 추정 엔진은 보고 사항 생성을 위해서 보고 생성기(34)에 접속될 수 있다.
도 3에서, 본 발명의 방법은 IBM의 Alphaworks Web Services Outsourcing Manager와 같은 실시간 툴을 사용하여 실시간으로 서비스 인터페이스를 수동으로 설계하는 알려진 방법의 토대 위에서 구축되며 서비스의 클라이언트 사용 정도를 기록하는 제 1 방법 부분(50) 및 이 사용 정도 데이터를 분석하고 상기 사용 정도 데이터로부터 식별된 재현성 사용 정도 패턴에 응답하여 새로운 서비스 인터페이스(규정 사항)를 자동적으로 생성하는 제 2 방법 부분(52)을 포함한다. 서비스 인터페이스 생성 소자(24)에 의해 자동 생성된 새로운 서비스 규정이 사용되거나 이와 달리 이 새로운 서비스 인터페이스가 추가적인 수동 설계를 필요로 하고 배치된 서비스 데이터베이스(16) 및 "대략적으로 분화된 서비스 규정 데이터베이스(40)"로 전달되기 이전에 수동 처리되기 위해서 "대략적으로 분화될 서비스 규정 데이터베이스(44)"로 전달되는지의 여부가 결정된다(도 3에서 결정 포인트(54) 참조). 이러한 결정 포인트는 언제나 수동적이다.
도 4에서, 제 1 방법 부분(50)은 서비스 실행 엔진(14)에 의해 수행되는 서비스 호출 검출 단계(56)를 포함한다. 서비스 호출 검출은 IBM의 Websphere 애플리케이션 서버와 같은 서비스 실행 엔진의 기존의 기능이다. 이 제 1 방법 부분(50)의 제 2 단계(58)에서는, 서비스 호출 데이터가 기록되고 서비스 사용 정도 이력 데이터베이스(36) 내에 저장된다. 호출 데이터는 호출자 식별자(가령, <은행 계좌 번호>, <품질 보증 번호>, <사용자 id + 구입 주문 id>), 호출 세션 식별자(가령, <도서 일련 번호>, 이 도서 일련 번호는 사용자 id에 의해 식별되는 소정의 사용자에 의해 구입된 가령 도서에 대한 모든 동작과 연관됨, <토론 매락 id>, 이 토론 매락 id(dicussion thread id)는 사용자 id에 의해 식별되는 몇몇 사용자들 간의 소정의 주제에 대한 토론에 관한 모든 동작과 연관됨), 호출 이전의 타임스탬프 및 호출 이후의 타임스탬프 중 하나 또는 이들의 임의의 조합을 포함하는 다수의 데이터 요소(파라미터)를 포함한다. 호출 입력 파라미터는 서비스 호출자에 의해 설정되는 반면에, 출력 파라미터는 서비스 제공자에 의해 복귀된다. 가령, WSDL(Web Service Definition Language)는 특정 동작에 대한 입력 파라미터 및 출력 파라미터를 명백하게 규정한다. 이에 대해서, "requestServiceDownload"로 지칭되는 동작에 대한 자바 소스 코드의 실례는 다음과 같다.
Figure 112004051754246-pat00001
서비스 호출 데이터를 캡쳐하는(기록 및 저장하는) 한 특정 알려진 구성이 도 5에 도시되어 있다. 이는 Apache Axis 엔진을 사용한다. 이 서비스 호출 데이터 갭쳐 메카니즘은 한 Axis 요청 처리기 및 한 Axis 응답 처리기로 구성된다. 이 모두는 알려진 방식으로 전체 호출 상황을 누적 사용 정도 이력 데이터베이스(36)에 캡쳐 및 기록한다. 도 6은 Apache Axis 엔진을 사용하는 이러한 호출 데이터 캡쳐 방법을 구현하는 예시적인 자바 소스 코드를 제공한다.
본 발명의 제 2 방법 부분(52)이 도 7에 도시되어 있다. 이는 가령 서비스 관리자(18) 또는 스케쥴링 엔진(도시되지 않음)에 의해서 서비스 인터페이스 생성 소자(24)를 트리거하는 단계(70)로 시작되는 일련의 단계를 포함한다. 이와 달리, 이 서비스 인터페이스 생성 소자(24)는 불일치가 식별되면 자동적으로 트리거될 수 있다. 이 불일치는 호출되고 있는 서비스가 서비스 설계자가 예상한 방식으로 사용되고 있는 지의 여부를 결정하는 프로세스에서 식별된다. 이는 서비스가 실제적으로 사용되고 있는 방식과 예상해서 사용될 방식과 비교함으로써 결정된다. 이러한 비교는 "대략적으로 분화된 서비스 규정 데이터베이스(40)" 및 "대략적으로 분화될 서비스 규정 데이터베이스(44)"를 모니터링하는 프로세스로부터 기인된다. 상기 각 데이터베이스 내에 포함된 다수의 서비스 인터페이스(규정 사항) 및 이들의 내용을 비교함으로써 차이점이 발견된다. 모니터링 프로세스에서 두 개의 데이터베이스의 내용이 거의 일치하지 않거나 전혀 일치하지 않으면, 이는 불일치 상황으로 간주되며 인터페이스 생성 소자(24)를 트리거하는 데 사용된다. 두 개의 데이터베이스(40,44)의 내용을 모니터링하는 프로세스는 서비스 실행 엔진(14)에 의해서 수행될 수 있다.
다음 단계(72)에서, 저장된 서비스 사용 정도 데이터가 재현성 서비스 사용 정도 패턴을 식별하기 위해서 단계(74)에서 이 데이터를 분석하는 서비스 요청 친화도 분석기(26)에 의해 판독된다. 이 재현성 사용 정도 패턴 식별 단계는 일반적으로 미국 특허 제 5661688 호 및 미국 특허 제 6249755 호 또는 미국 특허 제 6516288 호에서 개시된 방식 중 한 방식에 따라서 구현될 수 있다.
각 식별된 재현성 사용 정도 패턴에 대해서(단계 76), 추정 엔진(28)은 이 서비스 사용 정도 패턴을 식별하여 이 사용 정도 패턴을 포함하는 해당 세밀하게 분화된 서비스를 식별한다(단계 76a). 이는 추정 엔진(28)에 의해서 호출 상황들에서 분리 지점들을 상관시킴으로써 세밀하게 분화된 서비스 호출 그래프로서 재구성되어(단계 76b) 이 세밀하게 분화된 서비스 규정 사항을 최적화되게 구성(choreographing)함으로써 대략적으로 분화된 규정을 생성한다. 이렇게 사용 정도 패턴을 포함하는 세밀하게 분화된 서비스를 그래프로서 구성하는 것은 웹 서비스를 위한 Business Process Execution Language로 기술될 수 있다. 이 패턴은 다음과 같은 두 종류의 서비스 사용 정도 패턴이다.
1. 동일한 호출 상황을 공유하는 몇 개의 서비스 호출을 식별하여 보다 대형의 대략적으로 분화된 서비스를 생성할 수 있는 잠재력을 생성하는 패턴.
2. 부분적 서비스 인터페이스 사용 정도를 식별하여 단일의 세밀하게 분화된 서비스로 다시 복귀되면서 조합하게 분화된 서비스의 기능을 감소시킬 수 있는 잠재력을 생성하는 패턴.
이 새로운 대략적으로 분화된 서비스 규정(인터페이스)은 "대략적으로 분화될 서비스 규정 데이터베이스(44)" 내에 저장되고(단계 76c) 여기서 결정 포인트(54)(제 1 방법 부분(50) 참조)가 발생하여 배치된 서비스 데이터베이스(16)로 이 새로운 서비스 규정을 전달하거나 아니면 추후에 배치되기 위해서 추가적인 수동 설계 작업이 필요한지의 여부가 결정된다. 마지막 단계(78)는 서비스 관리자(18) 및/또는 서비스 설계자(20)가 검토할 수 있는 보고 사항을 생성하는 것이다.
본 발명은 기록된 서비스 사용 정도 데이터를 활용하여 새로운 서비스 규정을 자동 생성하며 이 새로운 서비스 규정은 하나 이상의 가용한 세밀하게 분화된 서비스 규정을 포함한다.

Claims (32)

  1. 머신 구현가능한 애플리케이션(a machine implementable application)을 위한 서비스 인터페이스를 자동적으로 생성하는 방법에 있어서,
    상기 애플리케이션과 연관된 각각의 서비스를 규정하는 다수의 서비스 인터페이스를 배치하는(deploying) 단계와,
    상기 서비스 인터페이스에 의해 규정된 상기 서비스의 사용 정도(usage)를 포함하는 데이터를 기록하는(logging) 단계와,
    상기 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴(a recurring service usage pattern)을 식별하는 단계와,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  2. 제 1 항에 있어서,
    상기 새로운 서비스 인터페이스를 생성하는 단계는 하나 이상의 기존의 서비스 인터페이스를 수정하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항 또는 제 2 항에 있어서,
    상기 각 서비스 인터페이스는 상기 머신 구현형 애플리케이션을 포함하는 하나 이상의 기능을 구현하는
    서비스 인터페이스 자동 생성 방법.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제 3 항에 있어서,
    상기 새로운 서비스 인터페이스를 생성하는 단계는 다수의 기존의 서비스 인터페이스의 기능들을 결합하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  5. 제 1 항에 있어서,
    상기 서비스 사용 정도를 포함하는 데이터를 기록하는 단계는 서비스 호출 서명(a service invocation signature)을 포함하는 데이터를 서비스 사용 정도 이력 데이터베이스(a service usage history database) 내에 저장하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제 5 항에 있어서,
    상기 서비스 호출 서명은 상기 서비스가 실행되기 전에 또는 실행된 후에 기록되는
    서비스 인터페이스 자동 생성 방법.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제 5 항 또는 제 6 항에 있어서,
    상기 서비스 호출 서명은 호출 상황, 타임스탬프 및 호출 파라미터 중 임의의 하나 또는 이들의 조합을 위한 데이터와 함께 상기 서비스 사용 정도 이력 데이터베이스 내에 저장되는
    서비스 인터페이스 자동 생성 방법.
  8. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.
    제 7 항에 있어서,
    상기 호출 상황 데이터는 호출 식별자 및 호출 세션 식별자를 포함하는
    서비스 인터페이스 자동 생성 방법.
  9. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.
    제 8 항에 있어서,
    호출자 식별자 데이터베이스에 접속하여 성명, 전화 번호 및 전자 메일 주소 중 임의의 하나 또는 이들의 조합을 포함하는 호출자 데이터를 검색하는 단계를 더 포함하는
    서비스 인터페이스 자동 생성 방법.
  10. 제 1 항, 제 2 항, 제 5 항 또는 제 6 항 중 어느 한 항에 있어서,
    상기 사용 정도를 포함하는 데이터로부터 상기 재현성 서비스 사용 정도 패턴을 식별하는 단계는 상기 서비스 사용 정도 패턴을 식별하여 이에 대응하는 세밀하게 분화된 서비스 세트(a set of fine-grained service) 또는 대략적으로 분화된 서비스 세트(a set of coarse-grained service)를 형성하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  11. 제 10 항에 있어서,
    상기 새로운 서비스 인터페이스를 생성하는 단계는 상기 서비스 사용 정도 패턴으로부터 식별된 다수의 상기 세밀하게 분화된 서비스 인터페이스 또는 다수의 상기 대략적으로 분화된 서비스 인터페이스를 결합함으로써 새로운 대략적으로 분화된 서비스 인터페이스(a new coarse-grained service interface)를 생성하는 단계를 포함하는
    서비스 인터페이스 자동 생성 방법.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제 11 항에 있어서,
    상기 새로운 대략적으로 분화된 서비스 인터페이스는 배치된 서비스 데이터베이스(a deployed service database) 내에 배치되는
    서비스 인터페이스 자동 생성 방법.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제 11 항에 있어서,
    상기 새로운 대략적으로 분화된 서비스 인터페이스는 배치되기 이전에 "대략적으로 분화될 서비스 규정 데이터베이스("To be" coarse-grained service definition database) 내에 저장되는
    서비스 인터페이스 자동 생성 방법.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항, 제 2 항, 제 5 항 또는 제 6 항 중 어느 한 항에 있어서,
    상기 새로운 서비스 인터페이스를 자동적으로 생성하는 단계는 인간 운영자, 시스템 관리자 및 스케쥴링 엔진(a scheduling engine) 중 어느 하나 또는 이들의 조합에 의해서 트리거되는(triggered)
    서비스 인터페이스 자동 생성 방법.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항, 제 2 항, 제 5 항 또는 제 6 항 중 어느 한 항에 있어서,
    상기 새로운 서비스 인터페이스를 자동적으로 생성하는 단계는 상기 재현성 서비스 사용 정도 패턴에 의해서 트리거되는
    서비스 인터페이스 자동 생성 방법.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항, 제 2 항, 제 5 항 또는 제 6 항 중 어느 한 항에 있어서,
    상기 새로운 서비스 인터페이스는 SOA(a Service Oriented Architecture)에서 사용되기 위해서 자동적으로 생성되는
    서비스 인터페이스 자동 생성 방법.
  17. 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 시스템에 있어서,
    상기 애플리케이션과 연관된 각각의 서비스를 규정하는 다수의 서비스 인터페이스를 배치하는 수단과,
    상기 서비스 인터페이스에 의해 규정된 상기 서비스의 사용 정도를 포함하는 데이터를 기록하는 수단과,
    상기 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단과,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 수단을 포함하는
    서비스 인터페이스 자동 생성 시스템.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 다수의 서비스 인터페이스를 배치하는 수단은 서비스 실행 엔진을 포함하는
    서비스 인터페이스 자동 생성 시스템.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제 18 항에 있어서,
    상기 서비스 실행 엔진은 J2EE 순응형 애플리케이션 서버를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제 18 항 또는 제 19 항에 있어서,
    상기 서비스 실행 엔진은 상기 서비스의 사용 정도를 포함하는 데이터를 기록하는 수단과 상기 기록된 데이터를 저장하는 데이터베이스를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제 18 항 또는 19 항에 있어서,
    상기 사용 정도를 포함하는 데이터로부터 상기 재현성 서비스 사용 정도 패턴을 식별하는 수단은 자율적 자기 최적화 서비스 규정 소자(an autonomic self-optimising service definition component)를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    제 18 항 또는 제 19 항에 있어서,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여 상기 새로운 서비스 인터페이스를 자동적으로 생성하는 수단은 상기 자율적 자기 최적화 서비스 규정 소자를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    제 21 항에 있어서,
    상기 자율적 자기 최적화 서비스 규정 소자는 상기 사용 정도를 포함하는 데이터로부터 상기 재현성 서비스 사용 정도 패턴을 식별하는 서비스 요청 친화도 분석기(a service request affinity analyser)를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제 21 항에 있어서,
    상기 자율적 자기 최적화 서비스 규정 소자는 상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여 상기 새로운 서비스 인터페이스를 자동적으로 생성하는 서비스 인터페이스 생성기를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  25. 청구항 25은(는) 설정등록료 납부시 포기되었습니다.
    제 22 항에 있어서,
    상기 자율적 자기 최적화 서비스 규정 소자는 가용한 세밀하게 분화된 서비스 인터페이스를 위한 데이터베이스 및 기존의 대략적으로 분화된 서비스 인터페이스를 위한 데이터베이스 중 하나 또는 모두를 포함하는
    서비스 인터페이스 자동 생성 시스템.
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제 24 항에 있어서,
    상기 자율적 자기 최적화 서비스 규정 소자는 상기 서비스 인터페이스 생성기를 제어하는 규칙 데이터베이스(a rule database) 및 추정 엔진(an inference engine)을 포함하는
    서비스 인터페이스 자동 생성 시스템.
  27. SOA에서 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 서비스 인터페이스 생성 소자에 있어서,
    서비스 사용 정도 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 수단과,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 수단을 포함하는
    서비스 인터페이스 생성 소자.
  28. 제 27 항에 있어서,
    상기 서비스 사용 정도 데이터로부터 상기 재현성 서비스 사용 정도 패턴을 식별하는 수단은 상기 서비스 사용 정도 패턴을 식별하여 이에 대응하는 세밀하게 분화된 서비스 세트 또는 대략적으로 분화된 서비스 세트를 형성하는 수단을 포함하는
    서비스 인터페이스 생성 소자.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제 28 항에 있어서,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여 상기 새로운 서비스 인터페이스를 자동적으로 생성하는 수단은 상기 서비스 사용 정도 패턴으로부터 식별된 다수의 상기 세밀하게 분화된 서비스 인터페이스 또는 상기 대략적으로 분화된 서비스 인터페이스를 결합함으로써 새로운 대략적으로 분화된 서비스 인터페이스를 생성하는
    서비스 인터페이스 생성 소자.
  30. 제 1 항, 제 2 항, 제 5 항 또는 제 6 항 중 어느 한 항에 따른 방법에서 사용되는 서비스 실행 엔진.
  31. 머신 구현가능한 애플리케이션을 위한 서비스 인터페이스를 자동적으로 생성하는 컴퓨터 프로그램을 구비한 컴퓨터 판독가능한 기록 매체에 있어서,
    상기 컴퓨터 프로그램은,
    상기 애플리케이션과 연관된 각각의 서비스를 규정하는 다수의 서비스 인터페이스를 배치하는 인스트럭션과,
    상기 서비스 인터페이스에 의해 규정된 상기 서비스의 사용 정도(usage)를 포함하는 데이터를 기록하는 인스트럭션과,
    상기 사용 정도를 포함하는 데이터로부터 재현성 서비스 사용 정도 패턴을 식별하는 인스트럭션과,
    상기 식별된 재현성 서비스 사용 정도 패턴에 응답하여, 새로운 서비스 인터페이스를 자동적으로 생성하는 인스트럭션을 포함하는
    컴퓨터 판독가능한 기록 매체.
  32. 삭제
KR1020040090750A 2003-12-10 2004-11-09 서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체 KR100724522B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03368113.1 2003-12-10
EP03368113 2003-12-10

Publications (2)

Publication Number Publication Date
KR20050056855A KR20050056855A (ko) 2005-06-16
KR100724522B1 true KR100724522B1 (ko) 2007-06-04

Family

ID=34639356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040090750A KR100724522B1 (ko) 2003-12-10 2004-11-09 서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체

Country Status (6)

Country Link
US (1) US20050132381A1 (ko)
EP (1) EP1542123B1 (ko)
JP (1) JP4496067B2 (ko)
KR (1) KR100724522B1 (ko)
AT (1) ATE384994T1 (ko)
DE (1) DE602004011455T2 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060159077A1 (en) * 2004-08-20 2006-07-20 Vanecek George Jr Service-oriented middleware for managing interoperability of heterogeneous elements of integrated systems
DE102004054648A1 (de) 2004-11-11 2006-05-24 Francotyp-Postalia Ag & Co. Kg Verfahren zum Bereitstellen von Diensten zwischen Datenverarbeitungseinrichtungen
US7886019B2 (en) * 2006-08-31 2011-02-08 International Business Machines Corporation Service oriented architecture automation by cab or taxi design pattern and method
EP1901526B1 (en) * 2006-09-13 2010-06-09 Alcatel Lucent Concatenation of web services
US8375362B1 (en) * 2006-11-28 2013-02-12 Emc Corporation Wizard for web service search adapter
US8046419B2 (en) * 2006-12-01 2011-10-25 Electronics And Telecommunications Research Institute Method of processing open asynchronous application service event and open web service gateway implementing the same
US20080172621A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Augmenting service description with expected usage information
US7596583B2 (en) * 2007-03-29 2009-09-29 International Business Machines Corporation Dynamic learning in redesigning a composition of web services
US9098799B2 (en) 2007-03-29 2015-08-04 International Business Machines Corporation Tooling for implementing business processes using web services
US8904341B2 (en) 2007-04-30 2014-12-02 Hewlett-Packard Development Company, L.P. Deriving grounded model of business process suitable for automatic deployment
US7768944B2 (en) * 2007-05-18 2010-08-03 International Business Machines Corporation Technique for defining and dynamically enabling service level requirements in a service oriented architecture
US7958142B2 (en) * 2007-09-20 2011-06-07 Microsoft Corporation User profile aggregation
US8005786B2 (en) * 2007-09-20 2011-08-23 Microsoft Corporation Role-based user tracking in service usage
EP2223281A4 (en) * 2007-12-20 2011-05-25 Hewlett Packard Development Co COMMERCIAL PROCESS MODELING ON COMPUTER FOR CUSTOMIZATION AND DELIVERY
US8893141B2 (en) * 2008-01-28 2014-11-18 Microsoft Corporation System and method for describing applications for manageability and efficient scale-up deployment
US8583610B2 (en) * 2008-03-04 2013-11-12 International Business Machines Corporation Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects
US8413107B2 (en) * 2008-07-15 2013-04-02 Hewlett-Packard Development Company, L.P. Architecture for service oriented architecture (SOA) software factories
US8341212B2 (en) * 2008-10-30 2012-12-25 International Business Machines Corporation Service description refinement based on actual service use
US8312419B2 (en) 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Automated lifecycle management of a computer implemented service
US8291479B2 (en) * 2008-11-12 2012-10-16 International Business Machines Corporation Method, hardware product, and computer program product for optimizing security in the context of credential transformation services
US20100153432A1 (en) * 2008-12-11 2010-06-17 Sap Ag Object based modeling for software application query generation
US8392567B2 (en) * 2009-03-16 2013-03-05 International Business Machines Corporation Discovering and identifying manageable information technology resources
US9253020B2 (en) * 2009-06-11 2016-02-02 International Business Machines Corporation Web service interaction in a dynamically extensible business application
US8533230B2 (en) * 2009-06-24 2013-09-10 International Business Machines Corporation Expressing manageable resource topology graphs as dynamic stateful resources
US8788513B2 (en) * 2009-10-30 2014-07-22 Dassault Systemes Americas Corp. Computer method and system providing access to data of a target system
CA2684353A1 (en) 2009-11-04 2011-05-04 Ibm Canada Limited - Ibm Canada Limitee Identifying implicit services links using service usage information
KR101363561B1 (ko) * 2009-11-18 2014-02-14 한국전자통신연구원 웹을 통한 응용서비스 생명주기 관리를 위한 soa 기반 서비스 플랫폼 시스템
US8930935B2 (en) * 2009-12-28 2015-01-06 Verizon Patent And Licensing Inc. Composite service refactoring
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US9818068B2 (en) 2011-04-01 2017-11-14 International Business Machines Corporation Metrics based design method and system
US8640082B2 (en) * 2011-08-31 2014-01-28 International Business Machines Corporation Specifying data occurrence in SOA based environments
US9832095B2 (en) * 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8700737B2 (en) * 2012-05-31 2014-04-15 Xerox Corporation Automated method for generating a web service composition
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
CN107430512B (zh) * 2014-10-31 2021-02-02 康维达无线有限责任公司 管理机器对机器系统中的应用关系
CA3031156A1 (en) * 2016-08-19 2018-02-22 Visa International Service Association Automated access data change detection
US10673973B2 (en) * 2018-09-12 2020-06-02 International Business Machines Corporation Multiple vendor services oriented architecture (SOA) service requesting proxy
US10838774B2 (en) * 2018-10-23 2020-11-17 Ibs Software Fz-Llc Method and a system for facilitating multitenancy of services
CN112306475A (zh) * 2020-11-02 2021-02-02 平安普惠企业管理有限公司 通用接口的配置方法、装置、设备及存储介质
US20220237540A1 (en) * 2021-01-22 2022-07-28 International Business Machines Corporation User performance analysis and correction for s/w

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229791A (ja) 2001-01-31 2002-08-16 Denso Corp インターフェース生成装置、プログラム及び記録媒体
US6467052B1 (en) 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768412B2 (ja) * 1992-07-15 1998-06-25 財団法人ニューメディア開発協会 ユ−ザ適応型システムおよびその適応方法
US6189141B1 (en) * 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6487052B1 (en) * 1999-10-12 2002-11-26 Seagate Technology Llc Non-contact magnetic latch for disc drive actuator
US7174363B1 (en) * 2001-02-22 2007-02-06 Charles Schwab & Co., Inc. Distributed computing system architecture
US8180871B2 (en) * 2001-05-23 2012-05-15 International Business Machines Corporation Dynamic redeployment of services in a computing network
US7822860B2 (en) * 2001-12-11 2010-10-26 International Business Machines Corporation Method and apparatus for dynamic reconfiguration of web services infrastructure
US20040006653A1 (en) * 2002-06-27 2004-01-08 Yury Kamen Method and system for wrapping existing web-based applications producing web services
US7945860B2 (en) * 2003-05-14 2011-05-17 Hewlett-Packard Development Company, L.P. Systems and methods for managing conversations between information technology resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467052B1 (en) 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
JP2002229791A (ja) 2001-01-31 2002-08-16 Denso Corp インターフェース生成装置、プログラム及び記録媒体

Also Published As

Publication number Publication date
DE602004011455T2 (de) 2009-01-22
KR20050056855A (ko) 2005-06-16
EP1542123A2 (en) 2005-06-15
JP2006012113A (ja) 2006-01-12
DE602004011455D1 (de) 2008-03-13
EP1542123B1 (en) 2008-01-23
US20050132381A1 (en) 2005-06-16
EP1542123A3 (en) 2005-07-06
ATE384994T1 (de) 2008-02-15
JP4496067B2 (ja) 2010-07-07

Similar Documents

Publication Publication Date Title
KR100724522B1 (ko) 서비스 인터페이스 자동 생성 방법, 시스템, 소자, 서비스 실행 엔진 및 컴퓨터 판독가능한 기록 매체
US8015541B1 (en) Business process technology for the enterprise
Skene et al. Precise service level agreements
US8782598B2 (en) Supporting a work packet request with a specifically tailored IDE
US7962920B2 (en) Providing a business logic framework
US8645175B1 (en) Workflow system and method for single call batch processing of collections of database records
US8250521B2 (en) Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
US8065657B2 (en) Exchange infrastructure system and method
US20170337095A1 (en) Service based information technology platform
Khalaf et al. Business processes for Web Services: Principles and applications
Zimmermann et al. Perspectives on web services: applying SOAP, WSDL and UDDI to real-world projects
US10152692B2 (en) Governing exposing services in a service model
US20050015439A1 (en) Flexible architecture component (FAC) for efficient data integration and information interchange using web services
Berbner et al. An approach for the management of service-oriented architecture (soa) based application systems
US20040205187A1 (en) Correlation of web service interactions in composite web services
EP1662383A2 (en) Prescriptive architecture for application development
Cetin et al. Legacy migration to service-oriented computing with mashups
Zhang et al. Service-oriented architecture
Venkatesan et al. A novel programming framework for architecting next generation enterprise scale information systems
Papazoglou Web services technologies and standards
Zou et al. Building business processes or assembling service components: Reuse services with BPEL4WS and SCA
Zhu et al. Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware
Papazoglou et al. 05462 service-oriented computing: A research roadmap
Lakshmanan et al. A business centric monitoring approach for heterogeneous service composites
Rohleder Representing Non-functional Requirements on Services-A Case Study

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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20110401

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee