[go: up one dir, main page]

KR20050037990A - Web services broker - Google Patents

Web services broker Download PDF

Info

Publication number
KR20050037990A
KR20050037990A KR1020047016788A KR20047016788A KR20050037990A KR 20050037990 A KR20050037990 A KR 20050037990A KR 1020047016788 A KR1020047016788 A KR 1020047016788A KR 20047016788 A KR20047016788 A KR 20047016788A KR 20050037990 A KR20050037990 A KR 20050037990A
Authority
KR
South Korea
Prior art keywords
service
web
enterprise
client
service provider
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020047016788A
Other languages
Korean (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 KR20050037990A publication Critical patent/KR20050037990A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 웹 서비스 브로커 방법은 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이의 인터페이스를 제공하는 단계 - 여기서, 상기 서비스 클라이언트는 서비스 레지스트리 상에서 웹 서비스들을 발견하고 상기 서비스 제공자로부터 대응 웹 서비스를 이용함-; 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이에서 통신하는 단계; 및 a) 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나에 대하여 적합한 형태로 기업으로부터의 또는 기업으로의 정보를 변환하는 단계 및, b) 상기 기업에 대하여 적합한 형태로 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나로부터의 또는 적어도 하나로의 정보를 변환하는 단계 중 적어도 하나를 수행하는 단계를 포함한다.The web service broker method according to the present invention provides an interface between at least one of a service client and a service provider and an enterprise, wherein the service client discovers web services on a service registry and uses a corresponding web service from the service provider. -; Communicating between an enterprise and at least one of a service client and a service provider; And a) converting information from or to the enterprise in a form suitable for at least one of the service client and the service provider, and b) at least one of the service client and the service provider in a form suitable for the enterprise. Performing at least one of converting information from or to at least one.

Description

웹 서비스 브로커{WEB SERVICES BROKER}Web service broker {WEB SERVICES BROKER}

본 발명은 웹 서비스에 관한 것으로, 특히 웹 서비스 브로커에 관한 것이다.The present invention relates to a web service, and more particularly to a web service broker.

[관련 출원][Related Application]

본 출원은 2002년 4월 19일에 출원된 미국 가출원 제 60/374,034 호에 기초한 것으로, 그 전체 내용은 본 명세서에 포함되어 있다.This application is based on US Provisional Application No. 60 / 374,034, filed April 19, 2002, the entire contents of which are incorporated herein.

차세대 전자 비즈니스 시스템의 일 요소는 협업(collaboration)이다. 현재, 협업은 다수의 전자 비즈니스 자동 애플리케이션들(e-business automation applications), 즉 B2C(business-to-customer) 또는 C2C(customer-to-customer) 상호 작용, B2B(business-to-business) 인티그레이션, 비즈니스 로직 구성화(business logic componentization), 비즈니스 프로세스 오케스트레이션(business process orchestration), 레거시 시스템 인티그레이션(legacy systems integration) 등에 의해 좁게 해석된다. 이들 애플리케이션들은 모두 특정한 비즈니스들을 발생시키도록 하는 설비(infrastructure)를 생성하기 위하여 전자적으로 협업한다는 점에서 일부 공통점을 가진다. 그러나, 이러한 분산형 애플리케이션들(서비스들)의 모두가 함께 상호 작동하여 발견할 수 있는 (누구나 사용하기를 원하는) 공통적인 전세계적인 프레임워크가 없다는 한계가 있다. 이러한 한계에 의해, 적절한 목적 지향적 협업 솔루션들(purpose-oriented collaboration solutions)을 생성하기 위하여 많은 투자와 노력을 기울이고 있으며, 이러한 솔루션들은 통상 밀접하게 결합되고 플랫폼/용어/상인/실행/언어(platform/technology/vendor/implementation/language)에 의존하는 것으로, 균일한 방식으로 재사용하기 어렵고, 인터넷에서 사용할 수 없을 수도 있다는 문제점이 있다. 새로운 협업 포인트를 생성하려면, 통상적으로 전체 시스템을 복잡하게 만들고, 안정성을 저감시키고, 이러한 시스템들을 유지하고 확장하기 위한 자원들(resources)을 더 많이 요구한다.One element of the next generation of electronic business systems is collaboration. Currently, collaboration includes a number of e-business automation applications, namely business-to-customer (B2C) or customer-to-customer (C2C) interaction, business-to-business (B2B) integration, It is narrowly interpreted by business logic componentization, business process orchestration, and legacy systems integration. These applications all have some things in common: they collaborate electronically to create an infrastructure that allows them to generate specific businesses. However, there is a limitation that there are no common worldwide frameworks (all people want to use) that all of these distributed applications (services) can work together to discover. Due to these limitations, a lot of investment and effort is being made to create appropriate purpose-oriented collaboration solutions, which are usually tightly coupled and platform / term / merchant / implementation / language (platform / technology / vendor / implementation / language), which is difficult to reuse in a uniform manner and may not be available on the Internet. Creating new collaboration points typically complicates the entire system, reduces stability, and requires more resources to maintain and expand these systems.

도 1은 독립적인 비즈니스 상호 작용의 예를 나타낸 블록도.1 is a block diagram illustrating an example of independent business interaction.

도 2는 웹 서비스 개념의 블록도.2 is a block diagram of a web service concept.

도 3은 서비스 브로커를 갖는 웹 서비스 개념의 블록도.3 is a block diagram of a web service concept with a service broker.

도 4는 웹 서비스 브로커 구조의 블록도.4 is a block diagram of a web service broker architecture.

도 5는 집합 및 어셈블리를 위한 웹 서비스 브로커 구조의 블록도.5 is a block diagram of a web service broker architecture for aggregation and assembly.

도 6은 본 발명의 실시예들을 구현할 수 있는 컴퓨터 시스템의 예를 나타낸 블록도.6 is a block diagram illustrating an example of a computer system that may implement embodiments of the present invention.

도 7은 웹 서비스 브로커의 다른 실시예를 나타낸 블록도.7 is a block diagram illustrating another embodiment of a web service broker.

(발명의 요약)(Summary of invention)

웹 서비스 브로커 방법은 기업(enterprise)과, 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이의 인터페이스를 제공한다. 여기서, 서비스 클라이언트는 서비스 레지스트리(service registry)에서 웹 서비스들을 발견하고 서비스 제공자로부터 대응하는 웹 서비스를 사용하고, 기업과 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이에서 통신하고, a) 기업에서 얻은 정보를 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에 적합한 형태로 변환하는 것, b) 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에서 얻은 정보를 기업에 적합한 형태로 변환하는 것 중 적어도 하나를 수행한다.The web service broker method provides an interface between an enterprise and at least one of a service client and a service provider. Here, the service client discovers web services in the service registry and uses the corresponding web service from the service provider, communicates between the enterprise and at least one of the service client and the service provider, and a) Converting information obtained from at least one of the service client and the service provider into a form suitable for at least one of the service client and the service provider.

컴퓨터 기록 매체는 웹 서비스 브로커를 수행하기 위하여 컴퓨터로 실행 가능한 코드를 포함한다. 컴퓨터 기록 매체는 기업과 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이의 인터페이스를 제공하기 위한 코드와(여기서, 서비스 클라이언트는 서비스 레지스트리에서 웹 서비스들을 발견하고 서비스 제공자로부터 대응하는 웹 서비스를 사용함), 기업과 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이에서 통신하기 위한 코드와, a) 기업에서 얻은 정보를 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에 적합한 형태로 변환하는 것, b) 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에서 얻은 정보를 기업에 적합한 형태로 변환하는 것 중 적어도 하나를 수행하기 위한 코드를 포함한다.The computer recording medium includes code executable by a computer to execute a web service broker. The computer recording medium may comprise code for providing an interface between an enterprise and at least one of a service client and a service provider, where the service client discovers web services in a service registry and uses corresponding web services from the service provider. Code for communicating between at least one of the service client and the service provider, a) converting information obtained from the enterprise into a form suitable for at least one of the service client and the service provider, b) in at least one of the service client and the service provider Code for performing at least one of converting the obtained information into a form suitable for the enterprise.

웹 서비스 브로커 방법을 수행하기 위한 프로그램된 컴퓨터 시스템은 기업과 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이의 인터페이스를 제공하는 수단을 포함한다. 여기서, 서비스 클라이언트는 서비스 레지스트리에서 웹 서비스들을 발견하고 서비스 제공자로부터 대응하는 웹 서비스를 사용하고, 기업과 서비스 클라이언트 및 서비스 제공자 중 적어도 하나 사이에서 통신하고, a) 기업에서 얻은 정보를 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에 적합한 형태로 변환하는 것, b) 서비스 클라이언트 및 서비스 제공자 중 적어도 하나에서 얻은 정보를 기업에 적합한 형태로 변환하는 것 중 적어도 하나를 수행한다.The programmed computer system for performing the web service broker method includes means for providing an interface between an enterprise and at least one of a service client and a service provider. Here, the service client finds web services in the service registry and uses the corresponding web service from the service provider, communicates between the enterprise and at least one of the service client and the service provider, and a) sends the information obtained from the enterprise to the service client and the service. Converting the information obtained from at least one of the service client and the service provider into a form suitable for an enterprise.

이하, 첨부 도면을 참조한 발명의 상세한 설명에 의하면, 본 발명의 구체적인 이해와 이점이 용이하게 얻어질 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the detailed description and advantages of the present invention will be readily obtained with reference to the accompanying drawings.

도면에 나타낸 본 발명의 실시예를 설명하기 위하여 특정 용어들이 사용되는데, 이는 설명의 명확화를 위한 것이다. 그러나, 본 발명이 그렇게 선택한 특정 용어들에 제한되는 것으로 의도되어서는 안되며, 각각의 구체적인 요소는, 유사한 방식으로 작동하는 모든 기술적 등가물을 포함하는 것으로 이해하여야 한다.Specific terms are used to describe the embodiments of the invention shown in the drawings, which are for clarity of explanation. However, it is not intended that the present invention be limited to the specific terms so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner.

도 6은 본 발명의 방법 및 시스템을 구현할 수 있는 컴퓨터 시스템의 예를 나타낸다. 본 발명의 시스템 및 방법은 예컨대 메인프레임, 개인용 컴퓨터(personal computer: PC), 핸드핼드 컴퓨터(handheld computer), 서버 등과 같은 컴퓨터 시스템에서 구동하는 소프트웨어 애플리케이션의 형태로 구현될 수 있다. 소프트웨어 애플리케이션은 예컨대 플로피 디스크, 콤팩트 디스크, 하드 디스크 등과 같이 컴퓨터 시스템에 의해 국부적으로 액세스 가능한 기록 매체에 저장될 수도 있고, 또한 컴퓨터 시스템과 떨어져 배치되고 LAN(local area network), 인터넷과 같은 네트워크에 유선 또는 무선 접속을 통해 액세스 가능하게 할 수도 있다.6 illustrates an example of a computer system that can implement the methods and systems of the present invention. The systems and methods of the present invention may be implemented in the form of software applications running on computer systems such as, for example, mainframes, personal computers (PCs), handheld computers, servers, and the like. The software application may be stored on a recording medium that is locally accessible by the computer system, such as a floppy disk, compact disk, hard disk, etc., and may also be located away from the computer system and wired to a network such as a local area network (LAN), the Internet. Or may be made accessible via a wireless connection.

도 6에 나타낸 바와 같이, 일반적으로 시스템(100)으로 언급된 컴퓨터 시스템은 CPU(central processing unit: 102), RAM(Random Access Memory)과 같은 메모리(104), 프린터 인터페이스(106), 디스플레이 장치(108), LAN(local area network) 데이터 통신 제어기(110), LAN 인터페이스(112), 네트워크 제어기(114), 내부 버스(116), 및 키보드, 마우스 등의 1 이상의 입력 디바이스들(118)을 포함할 수 있다. 도시된 바와 같이, 시스템(100)은 링크(122)를 통해 하드 디스크(120)와 같은 데이터 저장 디바이스에 접속될 수 있다.As shown in FIG. 6, a computer system, generally referred to as system 100, includes a central processing unit (CPU) 102, a memory 104 such as random access memory (RAM), a printer interface 106, and a display device ( 108, a local area network (LAN) data communication controller 110, a LAN interface 112, a network controller 114, an internal bus 116, and one or more input devices 118, such as a keyboard, a mouse, and the like. can do. As shown, system 100 may be connected to a data storage device, such as hard disk 120, via link 122.

공평하고 전세계적으로 협력적인 전자 환경이 실현될 필요성이 대두됨에 따라, 새로운 세대의 전자 비즈니스 자동 시스템과 적절한 시설이 고안되고 있다. 이러한 새로운 방식은 "웹 서비스(Web Services: WS)"라고 불린다. 여기서, "웹"은 통상의 네트워킹(LAN으로부터 무선까지 포함함)을 나타내며, "서비스"란 전자 인터페이스들로부터 분산형 애플리케이션들까지 나타낸다.As a need arises for an equitable, globally collaborative electronic environment, a new generation of electronic business automation systems and appropriate facilities are being devised. This new approach is called "Web Services (WS)." Here, "web" refers to conventional networking (including LAN to wireless), and "service" refers to electronic applications to distributed applications.

WS는 정의되는 전자 비즈니스 시스템에 대한 프로그램 인터페이스이며, 예컨대 XML 기반 표준을 포함하여 다양한 산업 표준에 기초하여 작동함으로써, 서비스 상호 이용(interoperability)을 도모한다.WS is a programmatic interface to the electronic business system that is defined and facilitates service interoperability by operating on various industry standards, including, for example, XML-based standards.

각각의 WS는 기술적인 계약과 사업적 계약을 포함하는 계약을 갖는다. 기술적 계약은 동작들과 그러한 동작들을 수행하는데 사용되는 데이터 종류들을 정의한다. 기술적 계약은 또한 프로토콜들과 적절한 통신 모델들을 정의한다. 사업적 계약은 서비스와 관련된 사업 관련 메타데이터(metadata), 즉, 예컨대 카테고리 또는 분류(taxonomy), 지원 전화 번호(support phone number), 서비스 수준 합의(Service Level Agreements), 라이센싱 모델(licensing model) 등을 정의한다. Each WS has a contract that includes a technical contract and a business contract. The technical contract defines the operations and the data types used to perform those operations. The technical contract also defines protocols and appropriate communication models. Business contracts are business-related metadata related to the service, such as category or taxonomy, support phone number, service level agreements, licensing model, etc. Define.

WS의 예로는 URL(Universal Resource Locator)로 액세스 가능한 주식 시세(stock quote), 인터넷에서 출판된 제품 카탈로그, SMTP(Simple Mail Transfer Protocol) 메시지 채널, SOAP(Simple Object Access Protocol) 기반 인증 에이전트, CORBA 객체 등을 들 수 있다. 이들 모두는 특정한 기능을 수행하는 네트워크 액세스 가능 컴포넌트들이다. 만약 적절히 설명되고 정리된다면, 상기 컴포넌트들의 어느 것이라도 예컨대 유력한 비즈니스 자동 시스템으로 발견되고 사용되어 통합될 수 있다.Examples of WS include stock quotes accessible by Universal Resource Locator (URL), product catalogs published on the Internet, Simple Mail Transfer Protocol (SMTP) message channels, Simple Object Access Protocol (SOAP) -based authentication agents, CORBA objects Etc. can be mentioned. All of these are network accessible components that perform specific functions. If properly described and arranged, any of the above components can be found, used and integrated into, for example, a potent business automation system.

즉, IT(information technology) 산업은 기계 코드로부터 프로그래밍 언어로, 또한 클라이언트 서버 프로그래밍으로, 더 나아가 객체 지향 컴포넌트 모델들(object-oriented component models)로 진화하였다. 지금은 동적으로 발견하고 사용하며 서로 계약을 맺는, 유동적으로 느슨하게 결합한 서비스 기반 분산형 애플리케이션으로 진화하고 있다. 즉, 이들 애플리케이션들은 특정한 목적을 얻기 위한 실행 시간에 분산형 (대개 독립적인) 부분들(서비스들)로부터 동적으로 "집합(assembling)"한다. 이들은 정의된 표준들(예컨대, "가장 빠른 수행 방법")에 따라 집합되고, 그들은 예컨대 서비스들 중 하나가 품질 요건에 부합하지 않는 경우 실행 시간에서 동적으로 재구성할 수 있다.In other words, the information technology (IT) industry has evolved from machine code to programming language, to client server programming, and further to object-oriented component models. Now it is evolving into a fluid, loosely coupled, service-based, distributed application that dynamically discovers, uses, and contracts with each other. That is, these applications dynamically "assemble" from distributed (usually independent) parts (services) at runtime to achieve a particular purpose. These are aggregated according to defined standards (eg, "fastest method of execution"), and they can be dynamically reconfigured at runtime, for example if one of the services does not meet the quality requirements.

이러한 새로운 경향으로 비즈니스 자동 시스템들에서 발생하는 변화들과 더불어서, 사용자 인터페이스들과 상호 작용 디바이스들도 또한 변화하고 있다. 사용자 인터페이스들은 WS 환경에서 작동하도록 설치됨으로써, 사용자 작용들에 따라 서비스들을 발견하고 실시할 수 있다. 상호 작용 디바이스들은 적절한 하드웨어, 소프트웨어 및 통신 설비로 지원을 제공할 수 있다.In addition to the changes that occur in business automation systems with this new trend, user interfaces and interactive devices are also changing. User interfaces are installed to work in the WS environment, so that services can be discovered and implemented according to user actions. Interaction devices can provide support with appropriate hardware, software, and communication facilities.

도 1은 사용자의 현재의 위치 근방의 최적의 레스토랑의 리스트를 무선 디바이스(1)의 화면 상에 표시하기 위하여 서로 상호 작용하는 독립적인 비즈니스들의 협동의 예를 나타낸다. 이 예에서, 비즈니스들은 각각 자기가 가장 잘 할 수 있는 것을 수행한다. 예컨대, 무선 통신 및 지리적 위치 서비스(2)는 무선 사용자의 지리학적 위치를 결정하는 것을 포함하여 특정 서비스들을 수행하기 위한 통신 설비 회사에 의해 제공된다. 정보 포털(4)은 사용자 프로파일들을 유지하고 바람직한 방법으로 정보를 포매팅한다. 지도 데이터베이스 서비스(6)는 무선 사용자의 지리적 위치를 주소들로 번역하고, 사용자가 식당들에 대한 근접 정도를 포함하는 정보를 제공한다. 식당 가이드(8)는 식당 설명 및 랭킹들을 포함하는 정보를 제공한다. 웹 서비스(10)는 밀접하게 결합된 기술적 구현과 고정 B2B 관계를 생성하지 않고 이러한 동적 비즈니스 프로세스와 사용자 상호 작용이 발생하도록 하는 프레임워크를 제공한다. 1 shows an example of collaboration of independent businesses interacting with each other to display a list of the best restaurants near the user's current location on the screen of the wireless device 1. In this example, businesses each do what they do best. For example, wireless communication and geographic location service 2 is provided by a communications facility company for performing certain services, including determining the geographical location of a wireless user. The information portal 4 maintains user profiles and formats the information in a preferred manner. The map database service 6 translates the geographical location of the wireless user into addresses and provides information including the user's proximity to the restaurants. Restaurant guide 8 provides information including restaurant descriptions and rankings. The web service 10 provides a framework that allows user interaction with these dynamic business processes without creating tightly coupled technical implementations and fixed B2B relationships.

WS는 공중의 표준을 기반으로 하는 방식이며, 전자 비즈니스 시스템들을 어느 정도 세계화하기 시작하는 것이 가능하게 되었다. 이러한 목적을 위하여, 여러 가지 공중 기구들이 생성되었으며, 여러 가지 산업 지도자들의 협력에 의해 XML, UDDI, WSDL 등(HTTP, TCP/IP 등과 같은 레거시 표준들(legacy standards)을 포함함)과 같은 표준 세트가 도출되었다.WS is a public standards-based approach, and it is possible to begin to globalize electronic business systems to some extent. For this purpose, various public bodies have been created and a set of standards such as XML, UDDI, WSDL, etc. (including legacy standards such as HTTP, TCP / IP, etc.), in collaboration with various industry leaders. Was derived.

WS는 다양하고 대개는 무관계한 표준들, 기구들, 소프트웨어 및 하드웨어 설비 건조자들을 하나의 세계적인 공평한 프레임워크로 결합시킨다. 따라서 의미 있는 방식으로, 협력하는 전자 비즈니스 시스템들을 생성하는 것이 가능하게 된다. 즉, 2 개의 관계자들이 전자적으로 협력하기 위하여 소유 협정들(proprietary agreements)과 자동 시스템들의 밀접한 통합을 요구하지 않는다.WS combines a wide variety of unrelated standards, appliances, software and hardware equipment builders into one global, equitable framework. Thus, in a meaningful way, it becomes possible to create cooperating electronic business systems. In other words, two parties do not require tight integration of proprietary agreements and automated systems in order to cooperate electronically.

WS는 매우 일반적이고 설명적인 방법으로 서비스들을 등록할 수 있는 환경을 생성하며, WS는 여전히 포괄적이고 IT 인에이블이다. WS는 또한 서비스를 이용 가능(예컨대, WS를 공표하는 것)하게 한다. WS는 또한 서비스들이 (어디에 있더라도) 발견되도록 하고, 그것을 사용하는데 필요한 상세들을 질문하도록 하고, 서비스가 자산(WS를 발견/가입하는 것)이 되도록 한다. 가입은 또한 때때로 서버에 결합하는 것으로 언급되기도 한다. WS는 또한 서비스의 사용자가 서비스를 실행하는 것을 허용한다.WS creates an environment in which services can be registered in a very general and descriptive way, and WS is still comprehensive and IT-enabled. The WS also makes the service available (eg, publishing the WS). WS also allows services to be discovered (wherever they are found), asks for the details needed to use them, and makes the service an asset (to discover / subscribe to WS). A subscription is also sometimes referred to as joining a server. WS also allows users of the service to run the service.

WS는 플랫폼, 프로그래밍 언어, 상인, 용어 및 임의의 실행 모델 등이다. WS는 동적으로 발견되고, 계약되며, 결합되고, 실행된다. WS는 느슨하게 결합되고, 일반적으로 정리되어 분산화되어 있다. WS는 통신 설비의 진화에 종속되지 않는다는 의미이다. 또한, WS는 편재(ubiquitousness)의 특성이 있다. 하나의 프래그먼트(fragment) 및 서비스들 중의 하나에서 교환되는 정보의 양에 기인하여서는 특별한 성능에 대한 염려가 없다.WS is a platform, programming language, merchant, terminology and arbitrary execution model. WS is dynamically discovered, contracted, combined, and executed. WS is loosely coupled and generally organized and distributed. WS does not depend on the evolution of communication facilities. In addition, WS has a characteristic of ubiquitousness. Due to the amount of information exchanged in one fragment and one of the services, there is no particular performance concern.

이하에서는 보다 구체적으로, 성공적인 WS 환경을 제공하기 위한 요소들(및 그들의 역할들) 각각 사이에서의 관계를 도 2에서 설명한다. 이 요소들은 공중의 세계적이고 독립적인 서비스 레지스트리(Service Registry: SR)(12), 서비스 제공자들(Service Providers: SP)(14) 및 서비스 클라이언트들(Service Clients: SC)(16)을 포함한다. 서비스 제공자들(14)은 그들의 서비스들을 서비스 레지스트리(12)에 등록한다. 서비스 클라이언트들(16)은 서비스들을 발견하여 사용할 수 있다.More specifically, the relationship between each of the elements (and their roles) for providing a successful WS environment is described in FIG. 2. These elements include the public, independent Service Registry (SR) 12, Service Providers (SP) 14 and Service Clients (SC) 16. Service providers 14 register their services with the service registry 12. Service clients 16 may discover and use services.

WS는 통상의 네트워킹 환경에서의 메시징과 XML 디스크립션들에 기초한다. XML은 정보를 인터넷 시대에서의 사용을 위해 보편적으로 만들 수 있는 매우 일반적인 방법이다. WS는 특정 영역들을 주소 지정하고 특별한 의미를 가지는 XML 기반 표준들의 프레임워크이다. 이들 영역들과 각각에 대한 표준들의 일부는 서비스 등록(SR(12)에 등록하기 위함): UDDI(Universal Discovery, Description and Integration), 서비스 디스크립션: WSDL(Web Services Description Language), 서비스 광고: ADS(Advertisement and Discovery of Services), 서비스 어드레싱: URL(Universal Resource Locator), JNDI 이름, 특정 LAN(Local Area Network) 주소 등, 서비스 인보케이션: SOAP(Simple Object Access Protocol), 파라미터를 갖는 URL, WebDAV 등, 서비스 데이터 앱스트랙션 및 데이터 정리(Service Data Abstraction and Data Marshalling): XML(Extensible Markup Language), XML 스키마 등, 프리젠테이션 및 상호 작용: DHTML(Dynamic HyperText Markup Language), WML(Wireless Markup Language), PDF, VRML 등, 비즈니스-비즈니스 프로토콜 인티그레이션: RosettaNet, ebXML 등, 공통 통신 프로토콜들: HTTP(HyperText Transfer Protocol), FTP(File Transfer Protocol) 및 SMTP(Simple Message Transfer Protocol) 기타: MQ 시리즈, WAP 등, 공통 시큐리티(Common Security): SSL(Secure Services Layer), X.509(Digital Certificates), XSIG(XML Signature) 등, 및 공통 네트워킹: TCP/IP(Transport Communication Protocol/Internet Protocol), DNS(Domain Name Server) 등을 포함한다.WS is based on messaging and XML descriptions in a typical networking environment. XML is a very common way to make information universal for use in the Internet age. WS is a framework of XML-based standards that address specific areas and have special meaning. Some of these areas and their standards for each are service registration (to register with SR 12): Universal Discovery, Description and Integration (UDDI), service description: Web Services Description Language (WSDL), service advertisement: ADS ( Advertisement and Discovery of Services, service addressing: Universal Resource Locator (URL), JNDI name, specific local area network (LAN) address, etc. Service invocation: Simple Object Access Protocol (SOAP), URL with parameters, WebDAV, etc. Service Data Abstraction and Data Marshalling: Extensible Markup Language (XML), XML Schema, etc. Presentations and Interactions: Dynamic HyperText Markup Language (DHTML), Wireless Markup Language (WML), PDF, Business-business protocol integration, such as VRML: RosettaNet, ebXML, etc. Common communication protocols: HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Simple Message Tra nsfer Protocol (other): MQ series, WAP, etc., Common Security: Secure Services Layer (SSL), Digital Certificates (X.509), XML Signature (XSIG), etc., and Common Networking: Transport Communication (TCP / IP) Protocol / Internet Protocol), Domain Name Server (DNS), and the like.

UDDI는 다양한 서비스들에 대한 비즈니스 계약들을 보유하는 SR(12)과 통신하기 위하여 사용된다. SR(12)은 회사/부서 레벨 및/또는 공중 레지스트리 상의 구성이다. WSDL은 서비스를 위한 기술적 계약을 표현하기 위하여 사용된다. WSDL은 동작들을 정의하고, 데이터 종류 정의들을 지시하며, 서비스에 대한 통신 상세와 프로토콜들을 규정한다. XML 스키마는 서비스 동작들에 사용된 계층적 데이터 종류들을 정의하기 위하여 사용된다. XML은 클라이언트와 서비스 간의 SOAP 메시지들의 값들을 보유한다. XML 콘텐츠는 XML 스키마에 따른다. HTTP(및 TCP/IP)는 관계자들 간의 메시지들을 전달하는데 사용된다. HTTP는 WS를 위한 주된 편재성 통신이다.UDDI is used to communicate with the SR 12 which holds business contracts for various services. SR 12 is a configuration on company / department level and / or public registry. WSDL is used to express technical contracts for services. WSDL defines the operations, indicates the data type definitions, and specifies the communication details and protocols for the service. XML schema is used to define the hierarchical data types used in service operations. XML holds the values of SOAP messages between the client and the service. The XML content follows the XML schema. HTTP (and TCP / IP) is used to convey messages between parties. HTTP is the main ubiquitous communication for WS.

WS는 이들을 접합하고, 새로운 표준과 컨셉을 추가하여, 유연한 분산형 애플리케이션 및 서비스들을 생성할 수 있도록 한다. 또한, WS는 매우 유연한 환경이다. 예를 들어, 새로운 통신 프로토콜이 서비스들 및 애플리케이션들을 반드시 변화시키지 않고도 도입될 수 있다. WS 애플리케이션들은 세부들(specifics)로부터 충분히 잘 격리되어, 기초를 이루는 하부 조직이 서서히 발전할 수 있도록 한다. 또한, WS는 어떤 서비스들이 그리고 어떻게 작동할 지 또는 작동할 수 있을 지에 대하여 표준화하지 않는다. 대신에, WS는 서비스들을 설명하고 공표하며 사용할 수 있는 방법을 제공한다.WS joins them and adds new standards and concepts, enabling you to create flexible, distributed applications and services. WS is also a very flexible environment. For example, new communication protocols can be introduced without necessarily changing services and applications. WS applications are well isolated from the specifications, allowing the underlying infrastructure to evolve slowly. Also, WS doesn't standardize what services and how they work or can work. Instead, WS provides a way to describe, publish, and use services.

WS 애플리케이션들은 사용자에게 서비스를 제공하기 위한 특정한 방식으로 동작한다. 이러한 동작은 WS 프레임워크의 일부이다. 그 동작은 등록을 수행하는 단계, 공표하는 단계, 서비스의 발견/가입(discovery/subscription) 및 청원(invocation)을 포함한다.WS applications work in a specific way to provide services to users. This behavior is part of the WS framework. The operations include performing registration, publishing, discovering / subscription of services, and invocation.

등록하고 발견하기 위해, WS는 XML 메시징 프로토콜인 SOAP(Simple Object Access Protocol)를 이용하여 (SSL이 있는 또는 없는) HTTP를 통하여 적어도 하나의 SR(12)과 상호작용한다. SOAP는 클라이언트와 서비스 사이에 요구와 응답을 유지하는 외피 정의(envelope definition)이다. UDDI(Universal Discovery, Description and Integration) 표준은 SR(12)을 가지는 통신의 컨텐트를 정의한다.To register and discover, the WS interacts with at least one SR 12 via HTTP (with or without SSL) using the Simple Object Access Protocol (SOAP), an XML messaging protocol. SOAP is an envelope definition that maintains requests and responses between clients and services. The Universal Discovery, Description and Integration (UDDI) standard defines the content of communication with SR 12.

UDDI 문서들은 (전자적이거나 혹은 전자적이 아닌) 비지니스와 서비스들을 설명한다. 각각의 비지니스는 UDDI 문서 계층(UDDI document hierarchy)을 구성하는 SR(12)을 가지는 등록 엔트리를 유지할 수 있다. 그 계층에는 비지니스 아이덴티티를 정의하는 화이트 페이지(White Pages), (비지니스 분류, 서비스된 부분 D-U-N-S 넘버들 등과 같은) 비지니스 양상을 분류하는 옐로우 페이지, 및 WS의 기술적인 세부사항들(서비스 바인딩 템플릿)을 설명하는 그린 페이지가 포함될 수 있다. 그린 페이지들은 (부분 카탈로그의 URL과 같이) 직접 서비스를 지칭하거나, 또는 WS 인터페이스, 데이터 타입, 보안 제한 등의 보다 상세한 사양들을 내장/언급할 수 있다.UDDI documents describe business and services (electronic or not). Each business may maintain a registration entry with an SR 12 that constitutes a UDDI document hierarchy. The layer contains white pages that define business identities, yellow pages that classify business aspects (such as business classification, serviced partial DUNS numbers, etc.), and technical details of WS (service binding templates). A green page may be included. Green pages can refer directly to a service (such as the URL of a partial catalog), or they can embed / mentioned more detailed specifications such as WS interfaces, data types, security restrictions, and so on.

SR(12)는 다수의 저장소 사이에 복제되어 전역적(global)일 수 있다. 전역 SR의 예에는 uddi.microsoft.com 또는 uddi.ibm.com이 포함될 수 있다. 또한, SR(12)는 예컨대, 위임 또는 전용 저장소를 통하여 한 회사 내에서 또는 다수의 참여자 사이에서 공유될 수 있다.SR 12 may be replicated between multiple repositories to be global. Examples of global SRs may include uddi.microsoft.com or uddi.ibm.com. In addition, SR 12 may be shared within a company or among multiple participants, for example, via a delegated or dedicated repository.

등록하는 경우, 서비스 제공자(SP)(14)는 SOAP UDDI API들을 사용하여 적절한 UDDI 엔트리들을 SR(12)에 제출한다. 또한, 제출 내용에는 WSDL 정보 및/또는 예컨대, URL 형태의 WSDL 정보에 대한 참조가 포함될 수 있다. 등록은, 일단 정보가 SR(12)에 제출되면 SR(12)은 그 정보를 유지한다는 점에서 정적 단계이다. 비록 엔트리들이 변경, 취소 및/또는 재제출될 수 있을 지라도, 예를 들어 SC(16)가 서비스들을 발견하기 위한 질문을 실행할 경우 SR(12)은 일반적으로 등록자에게 임의의 변경, 취소, 재제출 등을 동적으로 요구하지 않는다.When registering, the service provider (SP) 14 submits the appropriate UDDI entries to the SR 12 using SOAP UDDI APIs. The submission may also include a reference to the WSDL information and / or the WSDL information, eg in the form of a URL. Registration is a static step in that once information is submitted to SR 12, SR 12 maintains that information. Although entries may be changed, canceled, and / or resubmitted, SR 12 will generally generally make any changes, cancellations, resubmissions to the registrant if the SC 16 issues a question to discover the services. It does not require the back dynamically.

사용가능한 서비스들을 발견하는 경우, SC(16)는 SOAP UDDI API들을 사용함으로써 UDDI 문서들을 검색하여, SR(12)에게 정보를 요구한다. SC(16)에는 원하는 비지니스 및 서비스들에 대한 기록들을 검색하기 위한 요구에서의 선택 기준이 포함될 수 있다. SC(16)로부터 요구가 수신될 경우, SR(12)은 등록 저장소에 대하여 적당한 질의를 실행하여, 임의의 적합한 등록된 비지니스 및 서비스들을 찾아 낸다. 발견은 동적 프로세스이다.When finding available services, SC 16 retrieves UDDI documents by using SOAP UDDI APIs and requests information from SR 12. SC 16 may include selection criteria in a request to retrieve records for desired business and services. When a request is received from the SC 16, the SR 12 executes an appropriate query against the registration repository to find any suitable registered business and services. Discovery is a dynamic process.

공표하는 경우, SP(14)는 접속하거나 통신하는 데 사용할 수 있는 인터페이스를 만든다. 예를 들어, SP(14)는 특정한 URL 상의 SOAP 요구에 대한 리스팅을 시작할 수 있다. 또한, 이 시점에서, SP(14)는 등록 동안에 자신이 UDDI 엔트리 내에 이전에 참조되었다면 WSDL 정보가 사용가능하도록 만들 수 있다. WSDL은 예컨대 사용될 필요가 있는 통신 프로토콜 등과 같은 현재의 WS 파라미터에 따라 동적으로 생성될 수 있다. 이것이 동적 프로세스이다. 서비스는 언제라도 디스에이블, 인에이블 및 재구성될 수 있다. SC(16)는 예컨대 다른 사용가능한 서비스로 스위칭하고, 서로 다른 통신 프로토콜을 사용하며, 그에 따라 데이터를 마셜링(marshalling)하는 등에 의해 지능적으로 이것에 반응한다.If so, the SP 14 creates an interface that can be used to connect or communicate. For example, SP 14 may begin listing for SOAP requests on a particular URL. Also at this point, the SP 14 may make the WSDL information available if it was previously referenced in the UDDI entry during registration. The WSDL can be dynamically generated according to current WS parameters such as communication protocols that need to be used, for example. This is a dynamic process. The service can be disabled, enabled and reconfigured at any time. The SC 16 intelligently responds to this by, for example, switching to another available service, using different communication protocols, and thus marshalling data.

가입(신청)하는 경우, SC(16)는 사용가능할 경우 UDDI 및 WSDL 문서에서의 정보를 사용하여 WS 설명을 해석한다. SC(16)는 서비스 발견에 사용될 수 있는 필요한 인터페이스 표현, 데이터 마셜링 스택, 통신 파이프, 인증 영역 등을 생성한다. 신청은 일반적으로 동적이고 재구성가능한 프로세스이나, 만약 예컨대 간결한 언어 또는 기술 집적이 요구된다면 정적일 수도 있다.When subscribing (subscribing), the SC 16 interprets the WS description using the information in the UDDI and WSDL documents when available. The SC 16 generates the necessary interface representations, data marshalling stacks, communication pipes, authentication realms, etc. that can be used for service discovery. The application is generally a dynamic and reconfigurable process, but may be static if, for example, a concise language or technology integration is required.

신청하는 경우, SC(16)는 WS 인터페이스를 선택하고, 필요한 파라미터들을 만들고, 호출하며, 그리고 나서 결과를 해석한다. 이것은 객체 지향 컴포넌트(Object Oriented component; OO component) 상에서의 방법을 개시하는 것과 매우 유사하다. 간결한 언어-대-WS 연결과 같은 특정한 경우에, 이것은 OO 컴포넌트 가입일 수 있다. 차이는 유연하고, 웹-준비 통신, 데이터 마셜링, 인증 등의 프로세서에서 일반적으로 사용 패턴으로부터 숨겨질 세부사항들이다.If so, the SC 16 selects the WS interface, makes the necessary parameters, calls it, and then interprets the result. This is very similar to initiating the method on an Object Oriented component (OO component). In certain cases, such as a concise language-to-WS connection, this can be an OO component. The differences are details that are flexible and will typically be hidden from usage patterns in processors such as web-ready communications, data marshaling, authentication, and the like.

WS의 유형들은 변할 수 있으며, 동작들을 정의하는 컨트롤 및 데이터 플로우에 따라 일반적으로 3개의 서로 다른 유형들로 한정될 수 있다. 일반적으로 하나의 e-비지니스는 자신들이 서비스하려는 목적에 따라서 서로 다른 유형의 WS의 혼합된 형태를 가진다.The types of WS can vary and can generally be limited to three different types depending on the control and data flow that define the operations. In general, an e-business has a mix of different types of WSs depending on the purpose they serve.

WS의 하나의 유형은 정보 소스(Information Source)일 수 있다. 예를 들어, A가 특정 주소로 정보를 공표하고, 그것에 변화를 가하며, B는 그 정보 소스를 가입하고, 컨텐트를 검색하며, 변화들에 가입한다. 이러한 경우에, A는 수동적이며 B는 능동적이다. 데이터는 A로부터 B로 흘러간다.One type of WS may be an information source. For example, A publishes information to a particular address, makes changes to it, and B subscribes to that information source, retrieves content, and subscribes to changes. In this case, A is passive and B is active. Data flows from A to B.

WS의 다른 유형은 메시징 큐(Messaging Queue)일 수 있다. 예를 들어, A가 특정 주소에 인입 통신 채널(incoming communication channel)을 설정하고, B는 유출 통신 채널(outgoing communication channel)을 설정하여 정보를 그것으로 입력하며, A는 그 채널로부터 정보를 듣고 받아들인다. 이러한 경우에, A는 수동적이고, B는 능동적이며, 데이터는 B로부터 A로 흘러간다.Another type of WS can be a messaging queue. For example, A sets up an incoming communication channel at a specific address, B sets up an outgoing communication channel to enter information into it, and A listens to and receives information from that channel. It is. In this case, A is passive, B is active, and data flows from B to A.

WS의 또다른 유형은 컴포넌트 서비스(Component Service)일 수 있다. 예를 들어, A가 특정 주소로 인터페이스의 집합을 노출하고, 이들 인터페이스에 가해지는 요구들의 처리를 구현하며, B는 인터페이스를 개시하고, 요구 및 응답으로 정보를 넘겨주고 수신한다. 이러한 경우에, A는 수동적이고, B는 능동적이며, 데이터플로우는 양 방향이다.Another type of WS can be a Component Service. For example, A exposes a set of interfaces to a particular address, implements the processing of requests made to these interfaces, and B launches the interface, passing in and receiving information in requests and responses. In this case, A is passive, B is active, and dataflow is bidirectional.

제품 카탈로그를 웹 상에서 사용가능하게 만드는 것은, 정보 소스 유형의 WS가 고려될 가능성이 가장 높다. B2B 구매/송장 프로세싱(B2B purchase/invoice processing)은 메시징 큐 유형의 WS가 고려될 가능성이 가장 높다. 정확한 위치를 위해 지리 위치확인 서비스에 접속하는 것은 컴포넌트 서비스 유형의 WS가 고려될 가능성이 가장 높다.Making a product catalog available on the web is most likely a WS of information source type to be considered. B2B purchase / invoice processing is most likely considered a WS for messaging queue type. Connecting to geolocation services for accurate location is most likely a WS of component service type.

임의의 종류의 협력적인 e-비지니스 자동화 시스템은 앞에서 리스팅된 3가지 유형의 WS를 사용하여 만들어질 수 있다. 임의의 유형의 웹 협업(Web collaboration)을 커버하는 데, 이들 유형의 WS 유형들을 가지는 것으로 충분할 것이다.Any kind of collaborative e-business automation system can be created using the three types of WS listed above. To cover any type of web collaboration, it would be sufficient to have these types of WS types.

앞에서 인식되었을 바와 같이, WS 환경은 모든 종류의 전자 협업을 위한 효율적이고 다재다능한 프레임워크이다. 그러나, 그 능력을 최대한 사용하기 위해서는, 그것이 기존의 기술, 하부구조, 비지니스 프로세스 등과 연결되어야만 한다. 이것이 기초를 쌓고, 기술 프레임워크를 제 자리에 놓는 이러한 IT 혁명 주기의 시작이기 때문에, 이것은 특히 그러하다. 이것을 행하기 위해, 시스템은 축적된 정보에 영향을 주고, 기존 시스템을 재사용하고 확장시켜, 그들을 새로운 레벨의 개발로 이끌어야만 하며, 이것은 이들을 보다 전역적으로 만들 것이다. 이러한 관심사를 다루기 위해, 여기서 설명되는 것과 같은 서비스 브로커(SB)가 전술한 WS 개념 내로 도입될 수 있다.As will be appreciated, the WS environment is an efficient and versatile framework for all kinds of electronic collaboration. However, to make the best use of its capabilities, it must be connected to existing technologies, infrastructure, business processes, and so on. This is especially so, as this is the beginning of this IT revolution cycle that builds the foundation and puts the technology framework in place. To do this, the system must affect the accumulated information, reuse and extend the existing system and lead them to a new level of development, which will make them more global. To address this concern, a service broker (SB) as described herein may be introduced into the WS concept described above.

도 3은 도 2와 관련하여 전술된 WS 개념에 적용된 서비스 브로커를 도시한다. 도 3에 도시된 바와 같이, 서비스 브로커(SB)(30)는 IT-인에이블된 기업(32)에 대한 WS 플랫폼이다. SB(30)는 서비스 구현 모델을 해석하고, 자동적으로 상기-지적된 표준에 부합하는 기술적인 비지니스 계약을 생성한다. SB(30)는 비지니스 계약을 선택의 SR(12)로 가입하고, 그리고 나서 SOAP 요구를 듣고, SOAP 요구를 처리하며, 예컨대 Java 또는 C++ 내의 실질적인 구현으로 호출을 연계시킨다.3 shows a service broker applied to the WS concept described above with respect to FIG. As shown in FIG. 3, service broker (SB) 30 is a WS platform for an IT-enabled enterprise 32. SB 30 interprets the service implementation model and automatically creates a technical business contract that conforms to the above-pointed standards. SB 30 subscribes the business contract to the SR 12 of choice, then listens to the SOAP request, processes the SOAP request, and associates the call with a practical implementation in, for example, Java or C ++.

SB(30)는 다수의 서로 다른 기능들 및 역할들을 수행할 수 있다. 예를 들어, SB(30)는 WS 활동을 위한 기술 기반을 제공할 수 있다. 이것에는 웹 통신 계층, XML 데이터 마셜링, SOAP 요구 프로세서, UDDI 통신 API들, WSDL 바인딩 등이 포함된다. SB(30)는 기업 기술을 통합하여 (1) 데이터 및 로직에 대한 OO 모델을 단일화하고, (2) 분리된 기술들간을 조정하며, (3) (EJB 또는 COBRA와 같은) 서브-하부구조를 연합시킬 수 있다. 또한, SB(30)는 기존의 (집적된) 시스템들, 부품들 및 컴포넌트들을 WS로서 개발하기 위한 툴 및 기능들을 제공할 수 있다. 이것에는 WS의 등록, 공표하는 것, 실시 요구를 받아들이고, 이 모든 것들을 본래의 구현 활동으로 변환하는 것이 포함된다. 또한, SB(30)는 외부 WS를 통합하여 SR(12) 내에 WS를 발견하고 WS로 가입할 수 있다. 이것은, 타겟 애플리케이션이 적절한 용어로 WS를 사용하는 것이 자연스러울 수 있도록, WS를 임의의 요구되는 기술, 언어 또는 모델과 연결시키는 것을 의미할 수 있다. 또한, WS 통합 설비 기능은, 타겟 애플리케이션으로부터 데이터 마셜링 및 통신 프로토콜들과 같은 동적으로 선택가능하고 구성가능한 세부사항들을 격리시키기 위해 제공될 수 있다. 또한, SB(30)는 WS 집합에 대한 툴 및 기능들을 제공할 수 있다. 이것에는 WS의 통합, 공통 프로세스 컴포넌트 모델로 이들을 나타내는 것, (예컨대, UML과 같은) 프로세스 모델링 툴, (워크플로우-같은) 조정된 프로세스 실행 시간, 동적 WS 개발 설비가 포함될 수 있다. 또한, SB(30)는 WS 관리 콘솔(WS Management Console; WSMC)을 제공할 수 있다. WSMC는 UDDI 엔트리들을 정의하고, 가입/변경하며, 로컬 등록 복제 및 공통 비지니스 정보를 유지하며, 엔트리들을 하나의 SR 저장소로부터 다른 저장소로 이동시키며, 서비스들을 포함하고 배제시키며, 통신 프로토콜들을 구성하며, 보안을 가하는 등에 필요한 툴들의 집합을 통합시킬 수 있다. 또한, SB(30)는 선택적인 로깅 및 서비스 품질 분석{selective logging and quality of service(QoS) analysis}을 제공할 수 있다. SB 30 may perform a number of different functions and roles. For example, SB 30 may provide a technology foundation for WS activities. This includes the web communication layer, XML data marshaling, SOAP request processor, UDDI communication APIs, WSDL bindings, and so on. The SB 30 integrates enterprise technology to (1) unify the OO model for data and logic, (2) coordinate the disparate technologies, and (3) build sub-substructures (such as EJB or COBRA). Can be united. In addition, SB 30 may provide tools and functions for developing existing (integrated) systems, parts, and components as a WS. This includes accepting WS registration, publishing, implementation requests, and translating all of these into the original implementation activities. In addition, the SB 30 may integrate the external WS to discover the WS within the SR 12 and subscribe to the WS. This may mean associating the WS with any required technology, language, or model so that it may be natural for the target application to use the WS in appropriate terms. In addition, WS integration facility functionality may be provided to isolate dynamically selectable and configurable details such as data marshalling and communication protocols from a target application. In addition, SB 30 may provide tools and functions for WS aggregation. This can include integration of WS, representing them in a common process component model, process modeling tools (eg, UML), coordinated process execution time (workflow-like), and dynamic WS development facilities. In addition, the SB 30 may provide a WS Management Console (WSMC). WSMC defines UDDI entries, subscribes / modifies, maintains local registration replication and common business information, moves entries from one SR repository to another, includes and excludes services, configures communication protocols, Integrate a set of tools for adding security and more. In addition, the SB 30 may provide for selective logging and quality of service (QoS) analysis.

기존의 시스템들을 성공적으로 인터페이스하고, 기초 기술에서 이미 개발된 노력을 중복시키지 않기 위해, SB(30)는 중간 하부구조 계층 및 통합 서비스를 사용한다. 이것은 예컨대 EJB들로서 구현되고 스케일 조정 가능한 애플리케이션 서버에서 호스팅되는 비지니스 로직이 WS의 집합으로서 배포될 수 있도록 한다.In order to successfully interface existing systems and not duplicate efforts already developed in the underlying technology, SB 30 uses an intermediate infrastructure layer and integration services. This allows business logic, eg implemented as EJBs and hosted on a scalable application server, to be deployed as a set of WS.

WS를 배포 또는 사용하기 위해, 기술 및 구현 세부사항들은 숨겨질 수 있다. SB(30)는 표준들, XML 데이터 마셜링, 공통 네트워킹 등에 기초하는 격리 및 추상화 기능을 가지는 "기술 캡슐(technology insulation)"을 제공한다. 이러한 기능은 실제 구현과 추상적인 WS 표현 사이를 조정하고, 맵핑하며 변환한다. 예를 들어, SOAP 메시지는 EJB 객체 상의 메소드 호출로 변환될 수 있으며, 그리고 나서 그 결과는 특정한 동의된 스키마에 따라 생성된 XML로서 표현되어 리턴될 수 있다.To deploy or use WS, technical and implementation details can be hidden. SB 30 provides a "technology insulation" with isolation and abstraction functionality based on standards, XML data marshaling, common networking, and the like. These features coordinate, map, and transform between the actual implementation and the abstract WS representation. For example, a SOAP message can be translated into a method call on an EJB object, and the result can then be represented and returned as XML generated according to a particular agreed upon schema.

SB(30)가 읽기 쉽게 사용가능하도록 하기 위해, 비주얼 툴들이 WS로의 변환을 부드럽고 선형적으로 하기 위해 사용될 수 있다. 툴들은 새로운 WS의 배포에 사용될 수 있기 때문에, 변환이 일어난 후에도 툴들은 여전히 제공된다.To make the SB 30 easier to use, visual tools can be used to smooth and linear the transformation to WS. Since the tools can be used to deploy a new WS, the tools are still provided after the conversion has taken place.

툴들은 사용하기 쉬우며, 직관적이며, SB(30)에 의해 제공되는 자동화된 배포 및 통합 기능들에 크게 의존한다. 예를 들어, EJB 객체를 WS로 배포하기 위해, 그 객체의 비주얼 웹 표현(페이지)을 브라우징하고, 웹 페이지로부터 WS 권리로서의 그것의 등록 및 공표를 요구할 수 있다. 프로세스의 나머지는 EJB 객체의 OO 모델 및 그 속성들에 기초하여 SB 배포 기능에 의해 자동적으로 수행될 것이다. WS로 가입하기 위해, 사용자는 등록 정보를 시각적으로 검색 또는 브라우징하고, 필요한 서비스를 선택하며, 가입하도록 선정할 수 있다. 그리고 나면, 요구는, UDDI, 및 추가의 WSDL에 문의하여 WS의 적절한 OO 모델을 생성하고 카탈로그 내에 이것을 등록할, SB 통합 기능으로 넘겨질 것이다.The tools are easy to use, intuitive, and rely heavily on the automated deployment and integration functions provided by the SB 30. For example, to distribute an EJB object to WS, you can browse the visual web representation (page) of that object and request its registration and publication as a WS right from the web page. The rest of the process will be performed automatically by the SB deployment function based on the OO model of the EJB object and its attributes. To subscribe to WS, a user can visually search or browse through the registration information, select the required service, and choose to subscribe. The request will then be passed to the UDDI and SB integration functions to query the additional WSDL to generate the appropriate OO model of WS and register it in the catalog.

본 설명의 실시예에 따른 WS 브로커(SB)(30)의 핵심의 일 예는 도 4 상에 도시된다. SB(30)에는 단일화, 조정 및 연합 계층(통합)(40), 웹 서비스 계층(전역화)(42), WS 배포 툴(44), WS 통합 툴(46), 및 WS 관리 툴(48)과 같은 주요 컴포넌트들이 포함될 수 있다. 각각의 컴포넌트는 아래에서 보다 상세하게 설명될 것이다.An example of the core of a WS broker (SB) 30 according to an embodiment of the present description is shown on FIG. 4. The SB 30 includes a unification, coordination and federation layer (integration) 40, a web services layer (globalization) 42, a WS deployment tool 44, a WS integration tool 46, and a WS management tool 48. Major components such as may be included. Each component will be described in more detail below.

단일화, 조정 및 연합 계층(Unification, Coordination and Federation Layer)(40)은 특정 기술 및 구현{예컨대, 상관적 DB(relational DB) 또는 메인프레임 그린 스크린들 또는 EJB 객체 등}의 단일화된 OO 모델을 호스팅하고, 단일화된 OO 모델과 특정 기술 또는 언어 사이(C++, Java 같은 언어들 또는 ODBC 같은 기술들)를 맵핑(바인딩)하며, 특정 기술들, 구현들 및 플랫폼들에서의 활동들{예컨대, 상관적 DB 및 CICS를 교차하는 스팬 트랜잭셔널 제어(span transactional control), 또는 C++ 코드에서 EJB 컨테이너로부터 유래하는 이벤트로 가입하기} 사이의 실행 및 환경 컨텍스트를 조정하며, (EJB, COM 또는 COBRA와 같은) 서브-하부구조를 하나의 액세스 및 컨트롤 지점으로 연합시키는 데 책임이 있다.The Unification, Coordination and Federation Layer (40) hosts a unified OO model of specific technologies and implementations (e.g., relational DB or mainframe green screens or EJB objects). Maps (binds) between a unified OO model and a specific technology or language (languages such as C ++, Java or technologies such as ODBC), and activities on specific technologies, implementations and platforms (e.g., correlational DB and Adjusts execution and environment context between span transactional control across CICS, or subscribing to events originating from EJB containers in C ++ code, and sub- (such as EJB, COM, or COBRA). It is responsible for associating the infrastructure into one access and control point.

웹 서비스 계층(42)은 계층(40)에서 WS로서 호스팅되는 단일화된 OO 모델들의 추상화 및 이들을 임의의 기술 및 구션 세부사항들로부터 격리시키는 데에 책임이 있다. 계층(42)은 등록, 공표, 발견, 가입 및 사용과 같은 모든 표준 WS 동작들을 수행한다. 웹 서비스 계층(42)에는 전역화 계층을 형성하는 다양한 기능들이 포함된다. 전역화 계층을 형성하는 기능들에는 등록/발견 기능(50), 공표/처리 기능(52), 가입/신청 기능(54), XML 데이터 마셜링 기능(56) 및 웹 통신 기능(58)이 포함된다.The web service layer 42 is responsible for abstracting the unified OO models hosted as a WS at layer 40 and isolating them from any technical and section details. Layer 42 performs all standard WS operations such as registration, publication, discovery, subscription, and use. The web service layer 42 includes various functions that form a globalization layer. Functions forming the globalization layer include registration / discovery function 50, publication / processing function 52, subscription / subscription function 54, XML data marshaling function 56 and web communication function 58. do.

등록/발견 기능(50)은 전역 OO 모델에 의해 표현된 컴포넌트(데이터 및 로직 모두)를 WS로서 등록하고 및/또는 제공되는 선택 기준에 따라 WS를 검색하기 위한 자동화된 절차를 구현한다. 기능(50)은 HTTP를 통하여 SOAP를 사용하여 SR(12)에 컨택하며, 적절한 UDDI 문서들을 생성하고 가입하며, 또는 선택된 질의를 실행하며, WS를 설명하는 UDDI 문서들을 문의한다. 또한, 기능(50)은 등록 정보를 변경하고, 비지니스-관련 엔트리들, 등록 엔트리의 실시를 유지하며, 또다른 SR 저장소로 재신청하기 위한 절차들을 구현한다. 또한, 기능(50)은 모든 등록 엔트리들의 복사본(카탈로그) 및 등록 데이터베이스 내에서의 원본 컴포넌트들의 OO 모델에 대한 관계를 유지한다(도시되지 않음).The registration / discovery function 50 registers the components (both data and logic) represented by the global OO model as WS and / or implements an automated procedure for retrieving the WS according to the selection criteria provided. Function 50 contacts SR 12 using SOAP over HTTP, creates and subscribes to appropriate UDDI documents, or executes a selected query, and queries UDDI documents describing the WS. In addition, function 50 implements procedures for changing registration information, maintaining business-related entries, implementation of registration entries, and reapplying to another SR repository. In addition, function 50 maintains a copy (catalog) of all registration entries and a relationship to the OO model of original components within the registration database (not shown).

공표/처리 기능(52)은 WS 기술 설명(예컨대, WSDL)을 생성하는 것을 책임지며, 웹 통신 기능(58)을 사용하여 WS 인터페이스가 액세스에 사용가능하도록 한다. 예를 들어, 기능(52)은 특정 URL에 대한 SOAP 청취자를 등록하여, WS가 그 인터넷 클라이언트를 표시하도록 할 수 있다. 또한, 기능(52)은 요구들을 받아들이고, 통합 계층에서 호스팅되는 WS의 원본 OO 모델에서의 필요한 활동들(프로세스 요구들)을 개시할 수 있다. 계층(52)은 XML 데이터 마셜링 기능(56)을 사용하여 각각의 사이드에 대한 데이터를 적절히 표현할 수 있다.The publication / processing function 52 is responsible for generating the WS technology description (eg, WSDL) and makes the WS interface available for access using the web communication function 58. For example, function 52 may register a SOAP listener for a particular URL so that WS may indicate its Internet client. In addition, function 52 may accept the requests and initiate the necessary activities (process requests) in the original OO model of WS hosted at the integration layer. Layer 52 may use the XML data marshalling function 56 to properly represent data for each side.

가입/신청 기능(54)은 WS에 대한 기술적 세부사항(예컨대, WSDL)들을 문의하고, 그것에 대한 단일화된 OO 모델을 생성하며, 그것을 통합 계층(40)에 사용가능한 자산 중의 하나로 만든다. 그리고 나서, 기능(54)은 WSDL 설명에 따라 WS OO 모델과 관련된 활동들을 실제의 외부 WS 실시로 변환한다. 기능(54)은 XML 데이터 마셜링 기능(56)을 사용하여, 데이터를 XML 및 OO 표현으로 및 표현으로부터 변환하며, 웹 통신 기능(58)을 사용하여, 외부 WS로 요구들을 전달하고 응답을 수신한다. 통합 계층은 통합된(가입된) WS의 특정 기술 또는 언어로의 실질적인 바인딩을 수행한다는 것을 명심해야 한다. 타겟 애플리케이션에 따라서, 통합 계층(40)은 WS의 단일화된 OO 모델에 대한 정적 또는 동적 바인딩을 생성할 수 있다.The subscription / subscription function 54 queries the technical details for the WS (eg, WSDL), creates a unified OO model for it, and makes it one of the assets available to the integration layer 40. Function 54 then translates the activities associated with the WS OO model into the actual external WS implementation in accordance with the WSDL description. Function 54 uses XML data marshalling function 56 to convert data to and from XML and OO representations, and use web communication function 58 to forward requests to external WS and receive responses. do. It should be noted that the integration layer performs the actual binding of the integrated (subscribed) WS to a specific technology or language. Depending on the target application, the integration layer 40 may generate a static or dynamic binding to the unified OO model of WS.

XML 데이터 마샬링 기능(56)은 XML 내의 OO 데이터 모델 및 데이터 타입을 요약하는데 사용된다. 기능(56)은 통합 계층 및 보편적인 XML 데이터 표현에 의해 사용되는 통일화된 OO 모델 사이의 양방향 번역을 제공한다. 기능(56)은 또한 데이터 요소 관계를 변환 코드화한다. 예를 들어, 기능(56)은 XML 내의 중첩된 요소들로서 다른 객체를 포함하는 하나의 객체를 표시할 수 있다. XML 데이터 마샬링 기능(56)은 데이터 스키마 및 데이터 타입을 나타내는 다중 표준을 지원한다. 기능(56)은 또한 XSL 변환 언어를 사용하여 템플릿 기반 데이터 마샬링(맵핑)에 사용되는데, 이 XSL 변환 언어는 이러한 목적을 위한 표준이 된다.The XML data marshaling function 56 is used to summarize the OO data model and data types in the XML. Function 56 provides bidirectional translation between the unified layer and the unified OO model used by the universal XML data representation. Function 56 also transform codes the data element relationships. For example, function 56 may represent one object that contains another object as nested elements in XML. The XML data marshaling function 56 supports multiple standards representing data schemas and data types. Function 56 is also used for template-based data marshaling (mapping) using the XSL transformation language, which becomes the standard for this purpose.

웹 통신 기능(58)은 보통의 네트워킹(예를 들어, 웹)에 적용가능한 접속 및 메시징 기술을 포함한다. 기능(58)은 통신 채널의 보안, 보증된 메시지 전송, 비-평판 등을 보장한다. 통합되어 지원되는 일부 공공 표준은 HTTP, FTP, SMTP, SSL, X.509 및 XSIG를 포함한다. MQ 시리즈, MSMQ, WQP 등과 같이, 공통적으로 사용되는 추가적인 통신 메커니즘이 또한 제공될 수 있다.The web communication function 58 includes connection and messaging techniques applicable to ordinary networking (eg, the web). Function 58 ensures the security of the communication channel, guaranteed message transmission, non-reputation, and the like. Some public standards that are integrated and supported include HTTP, FTP, SMTP, SSL, X.509, and XSIG. Additional communication mechanisms commonly used may also be provided, such as the MQ series, MSMQ, WQP, and the like.

툴은 통합 계층 내에서 호스팅되는 성분들(데이터 및 로직)을 보고, 검색하고, 선택하여, WS로서 활용가능하도록 하기 위한 시각 도구(웹 기반 GUI)인 WS 배포 툴(44)을 포함할 수 있다. 디폴트로서, 툴(44)은 가장 적합한 파라미터로 WS를 자동으로 배포하지만, 또한 공표된 인터페이스의 선택, 통신 채널에서의 보안, 호출 프로토콜의 타입 등을 포함하는 특정 요구사항에서의 응용을 허용한다. WS 배포 툴(44)은 공표/처리 기능(52) 및 등록/검색 기능(50)을 사용한다. WS 배포 툴(44)은 또한 런타임으로 WS 파라미터를 수정하여 WS를 무효로 하는데 사용될 수 있다.The tool may include a WS deployment tool 44 that is a visual tool (web-based GUI) for viewing, retrieving, selecting, and making available as a WS the components (data and logic) hosted within the integration layer. . By default, tool 44 automatically deploys WS with the most appropriate parameters, but also allows application in specific requirements, including the selection of published interfaces, security in communication channels, types of calling protocols, and the like. The WS deployment tool 44 uses the publication / processing function 52 and the registration / search function 50. WS deployment tool 44 can also be used to modify WS parameters at runtime to invalidate WS.

다른 툴인 WS 통합 툴(46)은 어떤 기준에 따라 WS의 검색 및 선택된 WS로의 가입을 허용하는 마법사와 같은 시각 처리 구현기이다. 툴(46)은 WS를 검색할 때 적절한 서비스를 선택하기 위해 필요한 상세한 사항들을 표시하고, WS로의 가입 이후에 통합 계층 내에서 호스팅되는 최종 자산(OO 모델)을 보여준다. WS 통합 툴(46)은 등록/발견 기능(50) 및 가입/신청 기능(54)을 사용할 수 있다.Another tool, WS integration tool 46, is a visual processing implementer such as a wizard that allows for retrieval of a WS and subscription to a selected WS according to some criteria. The tool 46 displays the details needed to select the appropriate service when searching for the WS, and shows the final asset (OO model) hosted within the integration layer after joining the WS. The WS integration tool 46 can use the registration / discovery function 50 and the subscription / subscription function 54.

또 다른 툴인 WS 관리 툴(48)은 WS 관리 콘솔(WSMC)이다. 이 툴은 배포 및 통합된 WS에 관한 상세한 런타임 사항에 대하여 문의하기 위하여 공표/처리 기능(52) 및 가입/신청 기능(54)에 접속한다. 툴(48)은 SR(12)을 모니터링하기 위하여 등록/발견 기능(50)을 사용한다. WS 및 SR(12)에 관한 일반적인 런타임 정보가 WSMC에 의해 표시된다. 툴(48)은 또한 배포되거나 통합된 특정 WS 및 SR 보관소에 대한 QoS 분석 보고서를 생성한다. Another tool, WS management tool 48, is the WS management console (WSMC). The tool connects to the announcement / processing function 52 and the subscription / subscription function 54 to inquire about detailed runtime issues regarding the deployed and integrated WS. Tool 48 uses registration / discovery function 50 to monitor SR 12. General runtime information about the WS and SR 12 is indicated by the WSMC. The tool 48 also generates QoS analysis reports for specific WS and SR repositories distributed or integrated.

WSMC의 다른 임무는 비즈니스 엔트리를 등록하고, 기본적인 비즈니스 서비스 및 정보를 등록하며, SR 보관소로부터 다른 곳으로 엔트리를 이동시키기 위하여 등록/발견 기능(50)에 의해 유지되는 (UDDI 관련) WS 템플릿 및 공통 비즈니스 엔트리의 등록 데이터베이스를 표시하고 편집하는 것이다.The other duties of WSMC are the WS templates and commons (UDDI related) maintained by the registration / discovery function 50 to register business entries, register basic business services and information, and move entries from an SR repository to another. To display and edit the registration database of business entries.

SB(30)가 수행하는 다른 서비스는 웹 서비스의 집합 및 조합이다. 특정 기술이나 언어로 WS를 구현할 필요는 없다. 보편적으로 인터페이싱된 네트워크 기반 서비스라는 새로운 IT 패러다임으로 전환됨에 따라, 어떤 비즈니스 처리에 대하여 필요한 성분들 대부분을 이미 쉽게 활용할 수 있게 되었고, 따라서 필요한 것은 그들 사이를 접속시키고 조정하여 부가된 가치 서비스(value service)를 필요한 곳에 제공(구현)하는 것이다. 이러한 처리는 WS 집합 및 조합으로 불릴 것이다. 이는 특정 기술이나 언어에 대한 지식을 반드시 필요로 하기보다는 오히려 비즈니스 처리 및 비즈니스 성분 간의 관계에 대한 지식에 더 의존하는 높은 수준의 처리이다.Other services performed by the SB 30 are a set and combination of web services. There is no need to implement WS in any particular technology or language. With the transition to a new IT paradigm of universally interfaced network-based services, most of the components needed for any business process are already readily available, so what you need is to connect and coordinate between them to add value services. ) To provide (implementation) where needed. This process will be called WS aggregation and combination. This is a high level of processing that does not necessarily require knowledge of specific skills or languages, but rather relies on knowledge of the relationship between business processing and business components.

특정 구현예와 추상적인 WS 표현 사이를 중개하는 것 이외에도, 현재의 WS 브로커는 선택된 기존의 것으로부터 새로운 WS를 집합 및 조합하는 기능을 할 수 있다. 이를 수행하기 위하여, 외부의 WS는 쉽게 조작할 수 있는 편리한 OO 모델로 통합된다. 이는 WS 통합 툴(46)의 도움으로 수행될 수 있다. 모델링 툴은 집합된 WS OO 모델을 규정하는데 사용될 수 있고, 통합된 외부 WS 성분들의 OO 모델을 포함하는 실행 시퀀스를 레이아웃하는데 사용될 수 있다. 집합된 WS의 활동과 관련된 다중 실행 시퀀스가 있을 수 있는데, 각각의 시퀀스는 워크플로우이고, 적절한 시각 툴을 사용하여 워크플로우 기간 내에서 규정될 수 있다. 통합 계층(40)은 집합된 WS OO 모델 및 워크플로우 시퀀스를 호스팅할 수 있다. 다이내믹 웹 서비스 배포 기능이 집합된 WS를 자동으로 배포하는데 사용될 수 있다. 집합된 WS가 사용될 때, 처리 실행 런타임은 적절한 워크플로우 시퀀스를 실행할 수 있고, 필요한 곳에서 (그들의 OO 모델을 통하여) 통합된 외부 WS를 유발한다.In addition to mediating between specific implementations and abstract WS representations, current WS brokers may function to aggregate and combine new WSs from selected existing ones. To do this, the external WS is integrated into a convenient OO model that is easy to manipulate. This can be done with the help of the WS integration tool 46. The modeling tool can be used to define an aggregated WS OO model and can be used to lay out an execution sequence that includes an OO model of integrated external WS components. There can be multiple execution sequences associated with the activities of the aggregated WS, each sequence being a workflow, and can be defined within the workflow period using appropriate visual tools. Integration layer 40 may host the aggregated WS OO model and workflow sequences. Dynamic Web service deployment can be used to automatically deploy aggregated WS. When the aggregated WS is used, the process execution runtime can execute the appropriate workflow sequence, causing the integrated external WS where necessary (via their OO model).

집합 및 조합과 관련되어 적용되는 SB의 핵심 기능 내에서 순행할 필요가 여전히 있음을 명심해야 한다. 예를 들어, 하드웨어 보안 트랜스코더에 기반을 둔 새로이 부가된 가치 WS를 제공할 수 있고, (계정 DB나 인증기관과 같은) 다른 기존의 외부 WS와 집합하여 새롭고 빠른 인증 WS를 제공할 수 있다.It should be borne in mind that there is still a need to traverse within the core functions of the SB that apply in relation to aggregation and combination. For example, you can provide a newly added value WS based on a hardware security transcoder, and aggregate it with other existing external WS (such as an account database or certificate authority) to provide a new, faster authentication WS.

도 5는 웹 서비스 브로커 아키텍처(집합 및 조합)의 블록도이다. WS 집합 및 조합은 세개의 컴포넌트들을 SB(30)의 코어로 도입한다. 이 컴포넌트들은 컴포넌트/처리 모델링 툴(UML)(60), (워크플로우와 같은) 처리 실행 런타임(62) 및 다이내믹 웹 서비스 배포 기능(64)을 포함한다.5 is a block diagram of a web service broker architecture (set and combination). WS aggregation and combination introduces three components into the core of the SB 30. These components include a component / process modeling tool (UML) 60, a process execution runtime 62 (such as a workflow), and a dynamic web service deployment function 64.

컴포넌트/처리 모델링 툴(UML)(60)은 OO 성분의 다이어그램 및 관계도를 도시함으로써, OO 모델 및 처리 시퀀스를 규정하기 위한 시각 도구이다. 예를 들어, OO 성분 모델을 통합하여 최종적으로 집합된 OO 모델 및 처리 시퀀스를 배포하기 위하여 통합 계층(40)으로 인터페이싱하는 UML 기반 모델링 툴일 수 있다. 이 툴은 또한 집합된 OO 모델을 받아들이고, 편집 및 수정하여, 이러한 변화를 통합 계층(40)에 반영하는데 사용될 수 있다.The component / process modeling tool (UML) 60 is a visual tool for defining an OO model and processing sequence by showing diagrams and relationship diagrams of OO components. For example, it may be a UML-based modeling tool that integrates the OO component model and interfaces with the integration layer 40 to distribute the final aggregated OO model and processing sequence. The tool can also be used to accept, edit, and modify the aggregated OO model to reflect this change in the integration layer 40.

처리 실행 런타임(62)은 통합 계층 내에서 호스팅되는 집합된 OO 모델로부터 처리 시퀀스를 끌어내어, 적절한 관계 및 순서로 실행한다. 처리(62)는 컴포넌트/처리 모델링 툴(60) 내에서 원래 설계된 관계를 구현하기 위하여 실행을 동기화하여 스케줄링한다.The process execution runtime 62 derives the process sequence from the aggregated OO model hosted within the integration layer and executes it in the appropriate relationship and order. Process 62 synchronizes and schedules execution to implement the originally designed relationships within component / process modeling tool 60.

다이내믹 웹 서비스 배포 기능(64)은 WS로서 새로운 서비스 모델의 집합된 OO 모델을 자동으로 배포한다. 기능(64)은 디폴트 배포 처리를 구현하는데, 이 디폴트 배포 처리에서 WS 배포 툴(44)(도 4)이 OO 성분을 만드는 것에 관한 결정을 위해 사용될 것이지만, 그렇지 않다면 WS가 집합된 WS로서 원래 설계될 (통합 계층(40)에 의해 호스팅된) OO 모델의 다이내믹 인식에 기초를 두는데 사용될 것이다. 기능(64)은 관련 OO 모델이 변경될 때 (예를 들어, 모델링 툴을 사용하여) 이미 배포된 집합 WS를 수정할 수 있다.The dynamic web service deployment function 64 automatically deploys the aggregated OO model of the new service model as WS. Function 64 implements the default deployment process, in which the WS deployment tool 44 (FIG. 4) will be used to make decisions about making OO components, but otherwise the WS was originally designed as an aggregated WS. It will be used to base dynamic recognition of the OO model (hosted by the integration layer 40). Function 64 may modify an already deployed set WS (eg, using a modeling tool) when the associated OO model changes.

도 7은 기존 제품 및 기술을 보편적으로 상호 동작가능한 비즈니스 성분이나 웹 서비스로서 허용하는 공통 성분 브로커(CCB)(200)로서 일반적으로 일컬어지는 공통 성분으로서 웹 서비스 브로커(WSB)를 도시한다. CCB(200)는 또한 웹 서비스(WS)의 구현 중립 모델 구동 구조 및 플랫폼을 제공한다. 7 illustrates a web service broker (WSB) as a common component commonly referred to as a common component broker (CCB) 200 that allows existing products and technologies as universally interoperable business components or web services. CCB 200 also provides an implementation neutral model driving architecture and platform for Web services (WS).

CCB(200)가 적용가능한 애플리케이션 시나리오의 일부 예들은 예를 들어 .NET나 J2EE/JAXP 환경과 같은 WS 플랫폼에 대하여 기존 제품을 허용하는 것을 포함하는데, 이는 기존 제품이 외부 WS(예를 들어, .NET 헤일 스톰 칼렌다 서비스)로 통합되는 것으로부터 이익을 얻는 경우나, 새로운 WS가 원하는 공공 서비스 계약 등에 따라 구축되는 경우에 가능하다. 대체로, 수년 내에 많은 비즈니스 자동 시스템, 사용자 인터페이스 장치 및 개발 툴들이 WS 권한을 가질 것이다. 그러나, 현재 보편적인 상호동작을 위하여 기존 기술 및 제품에 WS로서 권한을 부여하고자 하는 바램이 있다. CCB(200)는 특정 플랫폼에 얽매이지 않고, 구동할 애플리케이션 서버나 다른 임의의 제품을 필요로 하지 않는 툴 및 패키지화된 엔진을 가지고 이러한 필요성을 기술한다.Some examples of application scenarios in which the CCB 200 is applicable include allowing existing products for WS platforms such as, for example, .NET or J2EE / JAXP environments, where the existing products are external WS (eg,. NET Hale Storm Calendar Service), or if the new WS is built according to the desired public service contract. In general, many business automation systems, user interface devices, and development tools will have WS rights in the coming years. However, there is currently a desire to authorize existing technologies and products as WS for universal interoperability. CCB 200 describes this need with tools and packaged engines that are not tied to a particular platform and do not require an application server or any other product to run.

CCB(200)는 공개 소스 기술을 사용할 수 있다. 예를 들어, CCB(200)는 공통 SOAP 프로토콜 스택으로서 아파치 축(Apache Axis)을 사용할 수 있고, 아파치 톰켓(Apache Tomcat)이 HTTP 통신 등을 실행하는데 사용될 수 있다.CCB 200 may use open source technology. For example, CCB 200 may use the Apache Axis as a common SOAP protocol stack, and Apache Tomcat may be used to perform HTTP communications and the like.

도 7은 CCB(200)의 아키텍처의 다이어그램을 도시한다. 웹 서비스 브로커 코어(202)는 공표되어 가입된 WS의 풀을 보유한다. 공표된 WS는 호출 프로세서에 의해 런타임으로 활발하게 실행될 수 있는데, 이 호출 프로세서들은 (예를 들어, 자바 클래스 등과 같은 경우에) 직접 또는 (예를 들어, 더 광대한 OO 캡슐화 및 C++ 구현 등과 같은 경우에) 예를 들어, 장점 IS 통합을 통하여 실제 서비스 구현으로 맵핑된다. 가입된 WS는 예를 들어 클라이언트측 정적 프록시가 자바 RMI를 사용하여 호출할 수 있는 동작가능한 동적 프록시로 런타임으로 맵핑된다.7 shows a diagram of the architecture of CCB 200. The web service broker core 202 maintains a pool of published and subscribed WSs. The published WS may be actively executed at runtime by the calling processor, which may be directly (e.g. in the case of a Java class, etc.) or directly (e.g. in the more extensive OO encapsulation and C ++ implementation, etc.). E) Advantages Mapping to the actual service implementation through IS integration. The subscribed WS is mapped to the runtime as an operational dynamic proxy that, for example, can be invoked by a client-side static proxy using Java RMI.

다음의 성분들은 본 발명의 다양한 특징들을 구현하기 위한 CCB(200) 내에 포함될 수 있다. 공표 코어(204)는 인터넷 프로토콜에 대한 요청을 처리하고, 실제 서비스 구현을 유발하여, WS 설명을 발생시킨다. 공표 코어(204)는 또한 잘 규정된 API의 세트 및 보관소 데이터 모델을 포함할 수 있다. 공표 코어(204)는 트랜잭션 집합, 데이터 접속, 보안 및 다른 상세한 것들을 처리할 수 있다. 공표 코어는 장점 IS 객체, 자바 클래스 등에 대한 유발 플러그-인을 구현할 수 있다.The following components may be included in the CCB 200 for implementing various features of the present invention. The publishing core 204 processes the request for the Internet protocol, triggers the actual service implementation, and generates a WS description. The publishing core 204 may also include a well-defined set of APIs and a repository data model. The publishing core 204 can handle transaction aggregation, data access, security, and other details. The publishing core can implement trigger plug-ins for advantages IS objects, Java classes, and so on.

등록 코어(206)는 공공/기업 서비스 레지스트리에 WS를 등록할 수 있고, 보관소(208) 및 서비스 레지스트리(12) 내의 등록 정보를 보유 및 동기화할 수 있다.The registration core 206 may register the WS in the public / corporate service registry and may retain and synchronize registration information in the repository 208 and the service registry 12.

가입 코어(210)는 공공 서비스 레지스트리 내에서 WS를 검색하고, WS 설명을 문의하며, 가입된 WS를 (예를 들어, 자바와 같은) 언어 구현으로 결합하며, 인터넷 프로토콜 상에서 요청을 발생시켜 가입된 WS로 보낼 수 있다. 가입 코어(210)는 또한 트랜잭션, 보안 및 다른 상세한 것들을 처리하기 위한 잘 규정된 API의 세트를 포함할 수 있다. 가입된 WS를 결합하는 것은 자바 또는 장점 IS 커넥터 내에 클라이언트 프록시를 생성할 수 있다.The subscription core 210 retrieves the WS within the public service registry, queries the WS description, combines the subscribed WS into a language implementation (e.g. Java), issues a request over the Internet protocol, and subscribes to it. Can be sent to WS Subscription core 210 may also include a well-defined set of APIs for handling transactions, security, and other details. Joining a subscribed WS can create a client proxy within Java or an advantage IS connector.

보안 코어(212)는 예를 들어, e-트러스트(eTrust) WAC 클라이언트와 같은 보안 시스템일 수 있는데, 이 e-트러스트 WAC 클라이언트는 인증/공인 절차를 실행하기 위하여 공표 코어(204), 가입 코어(210) 및 등록 코어(206)와 통합된다. 보안 코어(212)는 또한 필요하다면 메시지를 암호화/복호화 및 서명/확인을 할 수 있다.The security core 212 may be, for example, a security system such as an eTrust WAC client, which may publish the publication core 204, the subscription core ( 210 and register core 206. The security core 212 may also encrypt / decrypt and sign / verify the message if necessary.

보관소(208)는 SQL 데이터베이스일 수 있고, 예를 들어, 장점 IS 커넥터로서 구현되는 객체 대 관계 맵퍼(object-to-relational mapper)를 포함할 수 있다. 보관소(208)는 공표 및 가입된 서비스, 트랜잭션 및 통신 로그, 시스템 구성 파라미터 등에 관한 정보를 보유하고 조직화한다. 보관소(208)는 또한 CCB(200)에 대한 주 제어 센터로서 기능할 수 있다. 예를 들어, 애플리케이션은 WS를 배포하고 활성화하기 위하여 단지 새로운 서비스 구현 설명자 객체를 보관소(208)에 인가할 수 있다. 그러면, CCB(200)는 보관소(208)로부터 이벤트들을 포착할 수 있다.Repository 208 may be a SQL database and may include, for example, an object-to-relational mapper implemented as an advantage IS connector. Repository 208 holds and organizes information about published and subscribed services, transaction and communication logs, system configuration parameters, and the like. Repository 208 may also serve as the main control center for CCB 200. For example, an application may only authorize a new service implementation descriptor object to the repository 208 to deploy and activate the WS. The CCB 200 can then capture the events from the repository 208.

웹 액세스 제어(WAC)(214)는 중앙 집중적인 정책 기반 공인 및 인증 서버를 제공하기 위한 e-트러스트와 같은 보안 시스템일 수 있다. WAC(214)는 사용자/그룹의 신원에 대한 보관소로서 LDAP 디렉토리를 사용할 수 있다. WAC(214)는 보안 정책 관리 및 사용자/그룹의 생성/삭제 등을 위한 관리 툴을 제공할 수 있다.Web access control (WAC) 214 may be a security system such as an e-trust to provide a centralized policy-based authorization and authentication server. WAC 214 may use an LDAP directory as a repository for the identity of users / groups. The WAC 214 may provide a management tool for security policy management and user / group creation / deletion.

장점 통합 서버와 같은 기업 애플리케이션 통합 계층(216)은 데이터 소스를 통합하는데 사용될 수 있고, 트랜잭션/접속 집합, 이벤트 관리, 객체 캐싱, 로드 밸런싱, 메시징, 랩(wrap) C++ 서비스 구현 등을 제공할 수 있다.Benefits Enterprise application integration layer 216, such as integration servers, can be used to integrate data sources and provide transaction / connection aggregation, event management, object caching, load balancing, messaging, and wrap C ++ service implementations. have.

자바(218)는 CCB(200)를 구동시킬 수 있고, 가입된 웹 서비스에 대하여 호스트 클라이언트 프록시 뿐만 아니라 자바 내의 웹 서비스 구현으로의 액세스를 제공할 수 있다.Java 218 can drive CCB 200 and can provide access to web service implementations in Java as well as host client proxies for subscribed web services.

외부 제품(219)은 C++이나 자바 구조로 맵핑되거나 C++이나 자바 구조에 의해 랩핑(wrapping)되는 서비스 구현을 제공할 수 있다. 외부 제품(219)은 또한 가입된 웹 서비스에 대하여 발생된 클라이언트 프록시를 소비(사용)할 수 있다.The external product 219 can provide a service implementation that maps to or wraps with a C ++ or Java structure. The external product 219 can also consume (use) a client proxy generated for the subscribed web service.

기본 웹 GUI(220)는 서비스 구현(예를 들어, 자바나 장점 IS)에 대한 검색 및 선택된 구현(예를 들어, 공표 GUI)으로 WS를 공표하는 것을 허용하는 웹 기반 사용자 인터페이스일 수 있다. GUI(220)는 또한 현재 공표되어 가입된 서비스를 리스팅하고, 런타임으로 그들의 실행/등록 파라미터를 수정하며, 현재의 트랜잭션을 모니터링하며, 통신 로그를 분석하며, 성능 그래프를 표시하는 것 등(예를 들어, 관리 및 구성 GUI)을 허용할 수 있다. 글로벌 구성은 서비스 레지스트리 스펙, 비즈니스/카테고리 등록, 네트워크 프록시 정보 등을 포함할 수 있다.Basic web GUI 220 may be a web-based user interface that allows searching for service implementations (eg, Java or IS IS) and publishing the WS to selected implementations (eg, publishing GUIs). GUI 220 also lists currently published and subscribed services, modifies their run / registration parameters at runtime, monitors current transactions, analyzes communication logs, displays performance graphs, etc. For example, management and configuration GUIs). Global configurations may include service registry specifications, business / category registrations, network proxy information, and the like.

가입 확장 GUI(222)는 특정 WS에 대한 공공/기업 서비스 레지스트리로의 쿼리(query)를 허용하는 마법사와 같은 사용자 인터페이스 처리를 제공할 수 있다. 그러면, 시스템은 클라이언트 사용을 위해 WS를 캡슐화하는 자바 클래스나 EJB 프록시를 발생시킬 수 있다. 시스템은 또한 예를 들어 C++이나 VB 등과 같은 다른 언어들을 결합하기 위한 장점 IS 객체로서 활용가능한 클라이언트 WS 프록시를 만들 수 있다.Subscription extension GUI 222 may provide user interface processing such as a wizard that allows a query to a public / enterprise service registry for a particular WS. The system can then generate Java classes or EJB proxies that encapsulate WS for client use. The system can also create a client WS proxy that can be used as an advantage IS object for combining other languages, for example C ++ or VB.

서비스 계약 설계자(224)는 (데이터 구조 및 인터페이스로 표현되는) 서비스 계약의 UML (또는 UML 같은) 모델을 취하여, WS 규정(예를 들어, WSDL)을 생성할 수 있다. 이후, WSDL 규정은 임의의 특정 서브젝트 영역에 대한 수직 WS 표준으로서 사용될 수 있다. WSDL은 표준 바디(body)에 제공될 수 있다. 설계자는 이후 원래의 서비스 계약을 따르는 C++이나 자바 내의 구현 뼈대를 생성할 수 있다.The service contract designer 224 may take a UML (or UML-like) model of the service contract (represented by data structures and interfaces) to generate a WS specification (eg, WSDL). The WSDL specification can then be used as a vertical WS standard for any particular subject area. The WSDL can be provided in a standard body. The designer can then create implementation skeletons in C ++ or Java that conform to the original service contract.

본 발명은, 본 발명의 개시 내용에 따라 프로그래밍된 하나 이상의 종래의 범용 디지털 컴퓨터 및/또는 서버를 사용하여 용이하게 구현될 수 있다. 적절한 소프트웨어 코딩이 본 발명의 개시 내용에 기초하여 숙련된 프로그래머에 의해 제공될 수 있다. 본 발명은 또한 애플리케이션 특정 집적회로의 제공이나 종래의 성분 회로들의 적절한 네트워크를 상호접속시킴으로써 구현될 수 있다.The present invention can be readily implemented using one or more conventional general-purpose digital computers and / or servers programmed according to the present disclosure. Appropriate software coding may be provided by a skilled programmer based on the disclosure of the present invention. The invention may also be implemented by providing application specific integrated circuits or by interconnecting a suitable network of conventional component circuits.

본 발명의 추가적인 수많은 수정 및 변형이 이러한 개시 내용의 관점에서 가능하다.Many additional modifications and variations of the present invention are possible in light of this disclosure.

Claims (12)

웹 서비스 브로커(broker) 방법으로서,As a web service broker method, 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이의 인터페이스를 제공하는 단계 - 여기서, 상기 서비스 클라이언트는 서비스 레지스트리 상에서 웹 서비스들을 발견하고 상기 서비스 제공자로부터 대응 웹 서비스를 이용함-;Providing an interface between at least one of a service client and a service provider and an enterprise, wherein the service client discovers web services on a service registry and uses a corresponding web service from the service provider; 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이에서 통신하는 단계; 및Communicating between an enterprise and at least one of a service client and a service provider; And a) 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나에 대하여 적합한 형태로 기업으로부터의 또는 기업으로의 정보를 변환하는 단계 및, b) 상기 기업에 대하여 적합한 형태로 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나로부터의 또는 적어도 하나로의 정보를 변환하는 단계 중 적어도 하나를 수행하는 단계a) converting information from or to an enterprise in a form suitable for at least one of the service client and the service provider; and b) at least one of the service client and the service provider in a form suitable for the enterprise. Performing at least one of converting information from or to at least one of 를 포함하는 웹 서비스 브로커 방법.Web service broker method comprising a. 제1항에 있어서,The method of claim 1, 상기 기업은 소프트웨어 제품을 포함하는 웹 서비스 브로커 방법.The enterprise is a web service broker method comprising a software product. 제2항에 있어서,The method of claim 2, 상기 웹 서비스 브로커는 웹 서비스 플랫폼을 위해 상기 소프트웨어 제품을 인에이블링시키기 위해 제공되는 웹 서비스 브로커 방법.And the web service broker is provided to enable the software product for a web service platform. 제3항에 있어서,The method of claim 3, 상기 웹 서비스 플랫폼은 .NET 및 J2EE/JAXP 중 적어도 하나를 포함하는 웹 서비스 브로커 방법.The web service platform includes at least one of .NET and J2EE / JAXP. 웹 서비스 브로커를 구현하기 위한 컴퓨터로 수행가능한 코드를 포함하는 컴퓨터 기록 매체로서,A computer recording medium containing computer executable code for implementing a web service broker, comprising: 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이의 인터페이스를 제공하기 위한 코드 - 여기서, 상기 서비스 클라이언트는 서비스 레지스트리 상에서 웹 서비스들을 발견하고 상기 서비스 제공자로부터 대응 웹 서비스를 이용함-;Code for providing an interface between at least one of a service client and a service provider and an enterprise, wherein the service client discovers web services on a service registry and uses a corresponding web service from the service provider; 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이에서 통신하기 위한 코드; 및Code for communicating between an enterprise and at least one of a service client and a service provider; And a) 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나에 대하여 적합한 형태로 기업으로부터의 또는 기업으로의 정보를 변환하는 동작 및, b) 상기 기업에 대하여 적합한 형태로 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나로부터의 또는 적어도 하나로의 정보를 변환하는 동작 중 적어도 하나를 수행하기 위한 코드a) converting information from or to an enterprise in a form suitable for at least one of the service client and the service provider; and b) at least one of the service client and the service provider in a form suitable for the enterprise. Code for performing at least one of converting information from or to at least one of 를 포함하는 컴퓨터 기록 매체.Computer recording medium comprising a. 제5항에 있어서,The method of claim 5, 상기 기업은 소프트웨어 제품을 포함하는 컴퓨터 기록 매체.The enterprise includes a software product. 제6항에 있어서,The method of claim 6, 상기 웹 서비스 브로커는 웹 서비스 플랫폼을 위해 상기 소프트웨어 제품을 인에이블링하기 위해 제공되는 컴퓨터 기록 매체.And the web service broker is provided to enable the software product for a web service platform. 제7항에 있어서,The method of claim 7, wherein 상기 웹 서비스 플랫폼은 .NET 및 J2EE/JAXP 중 적어도 하나를 포함하는 컴퓨터 기록 매체.The web service platform includes at least one of .NET and J2EE / JAXP. 웹 서비스 브로커 방법을 수행하기 위한 프로그램된 컴퓨터 시스템(programmed computer system)으로서,Programmed computer system for performing Web service broker methods, 상기 웹 서비스 브로커 방법은,The web service broker method, 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이의 인터페이스를 제공하는 단계 - 여기서, 상기 서비스 클라이언트는 서비스 레지스트리 상에서 웹 서비스들을 발견하고 상기 서비스 제공자로부터 대응 웹 서비스를 이용함-;Providing an interface between at least one of a service client and a service provider and an enterprise, wherein the service client discovers web services on a service registry and uses a corresponding web service from the service provider; 서비스 클라이언트 및 서비스 제공자 중의 적어도 하나와 기업 사이에서 통신하는 단계; 및Communicating between an enterprise and at least one of a service client and a service provider; And a) 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나에 대하여 적합한 형태로 기업으로부터의 또는 기업으로의 정보를 변환하는 단계 및, b) 상기 기업에 대하여 적합한 형태로 상기 서비스 클라이언트 및 상기 서비스 제공자 중 적어도 하나로부터의 또는 적어도 하나로의 정보를 변환하는 단계 중 적어도 하나를 수행하는 단계a) converting information from or to an enterprise in a form suitable for at least one of the service client and the service provider; and b) at least one of the service client and the service provider in a form suitable for the enterprise. Performing at least one of converting information from or to at least one of 를 포함하는 프로그램된 컴퓨터 시스템.Programmed computer system comprising a. 제9항에 있어서,The method of claim 9, 상기 기업은 소프트웨어 제품을 포함하는 프로그램된 컴퓨터 시스템.The enterprise comprises a programmed computer system. 제10항에 있어서,The method of claim 10, 상기 웹 서비스 브로커는 웹 서비스 플랫폼을 위해 상기 소프트웨어 제품을 인에이블링하기 위해 제공되는 프로그램된 컴퓨터 시스템.And the web service broker is provided to enable the software product for a web service platform. 제11항에 있어서,The method of claim 11, 상기 웹 서비스 플랫폼은 .NET 및 J2EE/JAXP 중 적어도 하나를 포함하는 프로그램된 컴퓨터 시스템.The web service platform includes at least one of .NET and J2EE / JAXP.
KR1020047016788A 2002-04-19 2003-05-19 Web services broker Withdrawn KR20050037990A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37403402P 2002-04-19 2002-04-19
US60/374,034 2002-04-19

Publications (1)

Publication Number Publication Date
KR20050037990A true KR20050037990A (en) 2005-04-25

Family

ID=34421398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016788A Withdrawn KR20050037990A (en) 2002-04-19 2003-05-19 Web services broker

Country Status (2)

Country Link
KR (1) KR20050037990A (en)
IL (1) IL164631A0 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100828648B1 (en) * 2006-03-17 2008-05-09 엘지이노텍 주식회사 Linear vibrator
KR100981488B1 (en) * 2005-12-28 2010-09-10 파나소닉 전공 주식회사 System and method for providing secure access to embedded devices using trust managers and security brokers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100981488B1 (en) * 2005-12-28 2010-09-10 파나소닉 전공 주식회사 System and method for providing secure access to embedded devices using trust managers and security brokers
KR100828648B1 (en) * 2006-03-17 2008-05-09 엘지이노텍 주식회사 Linear vibrator

Also Published As

Publication number Publication date
IL164631A0 (en) 2005-12-18

Similar Documents

Publication Publication Date Title
US7725590B2 (en) Web services broker
EP1483671B1 (en) Provisioning aggregated services in a distributed computing environment
JP4712386B2 (en) Presentation of process flow and choreography controller as a web service
US8589594B2 (en) Programmatic management of software resources in a content framework environment
US6985939B2 (en) Building distributed software services as aggregations of other services
US7343428B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US7266582B2 (en) Method and system for automating generation of web services from existing service components
US8423527B2 (en) Enabling interactive integration of network-accessible applications in a content aggregation framework
US20030163513A1 (en) Providing role-based views from business web portals
US20040015564A1 (en) Method of developing a web service and marketing products or services used in developing a web service
US20040193635A1 (en) Method and apparatus for automatically providing network services
Sánchez-Nielsen et al. An open and dynamical service oriented architecture for supporting mobile services
Liang et al. A policy framework for collaborative web service customization
KR20050037990A (en) Web services broker
Schaeck WebSphere Portal Server and Web Services Whitepaper
JP2006526189A (en) Web service broker
US20060047781A1 (en) Method and system for providing remote portal service modules
Sheng et al. Discovering e-services using UDDI in SELF-SERV
AU2003253597A1 (en) Web services broker
Sánchez-Nielsen et al. Service-Oriented Architecture to Mobile Phones.
Thompson et al. Enabling Interactive, Presentation-Oriented Content Services Through the WSRP Standard
Sahni Developing Java Web Services to Expose the WorkTrak RMI Server to the Web and XML-Based Clients
Jayanthi et al. DYNAMIC SERVICE INTEGRATION USING SOA WITH CENTRALIZED ORCHESTRATION

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20041019

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid