KR20070072308A - Web service obtaining method using distributed object oriented programming middleware system on grid and web service offering method using the same - Google Patents

Web service obtaining method using distributed object oriented programming middleware system on grid and web service offering method using the same Download PDF

Info

Publication number
KR20070072308A
KR20070072308A KR1020060032856A KR20060032856A KR20070072308A KR 20070072308 A KR20070072308 A KR 20070072308A KR 1020060032856 A KR1020060032856 A KR 1020060032856A KR 20060032856 A KR20060032856 A KR 20060032856A KR 20070072308 A KR20070072308 A KR 20070072308A
Authority
KR
South Korea
Prior art keywords
web service
agent
manager
oriented programming
middleware system
Prior art date
Application number
KR1020060032856A
Other languages
Korean (ko)
Other versions
KR100793820B1 (en
Inventor
정창성
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of KR20070072308A publication Critical patent/KR20070072308A/en
Application granted granted Critical
Publication of KR100793820B1 publication Critical patent/KR100793820B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

A web service obtaining method applying a grid object-oriented programming middleware system and a web service providing method using the same are provided to enable each distributed object to use a web service by applying object-oriented programming to grid computing to efficiently manage information while supporting various programming. An object manager and the object of the grid distributed object-oriented programming middleware system are generated, and the object of the middleware system is registered to the object manager(320). The object of the middleware system requests reference for an agent object from the object manager(330). The object manager transfers the reference to the agent object to the object of the middleware system(340). The object of the middleware system obtains the web service by using the received reference to the agent object(350). The obtained web service is transferred to other objects wanting to obtain the same web service.

Description

그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹서비스 획득방법 및 웹 서비스 제공방법{Web service obtaining method using distributed object oriented programming middleware system on grid and Web service offering method using the same}Web service obtaining method using distributed object oriented programming middleware system on grid and Web service offering method using the same}

도 1은 본 발명에 따른 그리드 객체지향 프로그래밍 미들웨어 시스템 구조를 도시한 것이다.1 illustrates a grid object-oriented programming middleware system structure according to the present invention.

도 2는 본 발명에 따른 에이전트 객체를 포함한 시스템을 도시한 것이다.2 shows a system including an agent object according to the present invention.

도 3은 본 발명에 따른 에이전트 객체를 적용하여 웹 서비스를 획득하는 방법의 흐름도이다.3 is a flowchart illustrating a method of obtaining a web service by applying an agent object according to the present invention.

도 4는 도 3의 참조를 객체에 전달하는 과정에 대한 상세흐름도이다.4 is a detailed flowchart illustrating a process of transmitting the reference of FIG. 3 to an object.

도 5는 도 3의 객체가 웹 서비스를 획득하는 과정에 대한 상세흐름도이다.FIG. 5 is a detailed flowchart of a process in which the object of FIG. 3 obtains a web service.

도 6은 본 발명에 따른 종속 에이전트 객체를 포함한 시스템을 도시한 것이다.6 shows a system including a dependent agent object in accordance with the present invention.

도 7은 본 발명에 따른 종속 에이전트 객체를 적용하여 웹 서비스를 획득하는 방법의 흐름도이다.7 is a flowchart illustrating a method of obtaining a web service by applying a dependent agent object according to the present invention.

도 8은 도 7의 웹 서비스 획득 과정의 상세흐름도이다.8 is a detailed flowchart of a web service acquisition process of FIG. 7.

도 9a는 본 발명에 따른 인터페이스 객체를 포함한 시스템을 도시한 것이다.9A illustrates a system including an interface object in accordance with the present invention.

도 9b는 본 발명에 따른 외부 웹 서버와 연계하여 웹 서비스를 제공하는 시스템을 도시한 것이다.9B illustrates a system for providing a web service in connection with an external web server according to the present invention.

도 10은 본 발명에 따른 인터페이스 객체를 적용하여 웹 서비스를 제공하는 방법의 흐름도이다.10 is a flowchart illustrating a method for providing a web service by applying an interface object according to the present invention.

도 11은 도 10의 외부 사용자에게 웹 서비스를 제공하는 과정에 대한 상세흐름도이다.FIG. 11 is a detailed flowchart illustrating a process of providing a web service to an external user of FIG. 10.

본 발명은 그리드(Grid) 컴퓨팅에 관한 것으로서, 특히 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹서비스 획득방법 및 웹 서비스 제공방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to grid computing, and more particularly, to a method for obtaining a web service and a method for providing a web service using an object-oriented programming middleware system.

진공관의 음극과 양극 중간에서 전류의 흐름을 제어하는 '격자'에서 유래한 그리드는 인터넷 확산의 기폭제가 되었던 월드와이드웹과 차세대 인터넷을 연결해 주는 징검다리이다. 그리드는 컴퓨터에 특정프로그램을 설치해 세계 곳곳의 컴퓨터 데이터베이스 첨단장비를 연결하여 개인 컴퓨터로 원격조정할 수 있다는 원리에서 출발했다. 한마디로 전 세계 컴퓨터를 인터넷으로 연결하여 슈퍼컴퓨터화 하여 사용하자는 개념이다.The grid, derived from the 'lattice' that controls the flow of current between the cathode and anode of a vacuum tube, is a bridge between the World Wide Web and the next-generation Internet, the catalyst for the spread of the Internet. Grid began with the principle of installing a specific program on a computer, connecting advanced computer database equipment around the world and remotely controlling it with a personal computer. In short, the concept is to connect computers around the world to the Internet and use them as supercomputers.

그리드는 일단 가상의 슈퍼컴퓨팅파워를 구축해 주는 범 네트워크 원리이다. 가상 슈퍼컴퓨팅의 핵심은 세계 각지에 흩어져 있는 수 억대의 PC와 첨단장비를 하 나로 제어하여 연결한 가상 슈퍼컴퓨터는 현재의 슈퍼컴퓨터보다 월등한 능력을 발휘할 수 있다. 유휴자원을 이용하여 비용을 크게 줄이면서도 대량의 데이터를 쉽게 처리할 수 있는 것이다.Grid is a pan-network principle that builds virtual supercomputing power. The core of virtual supercomputing is that virtual supercomputers that control and connect hundreds of millions of PCs and high-tech equipment scattered around the world can perform better than current supercomputers. Idle resources can be used to easily process large amounts of data while significantly reducing costs.

그리드는 4A를 목표로 한다. 4A란 지능화된(Advanced) 네트워크, 고성능(Advanced) 컴퓨터 및 장비, 첨단(Advanced) 어플리케이션, 고급(Advanced) 과학기술 등이 그것이다. 지능화된 네트워크는 광케이블 등을 비롯한 고성능 미들웨어(middleware)와 인공지능 브라우저 포함하는 개념이다. The grid targets 4A. 4A includes advanced networks, advanced computers and equipment, advanced applications, and advanced technology. Intelligent networks are concepts that include high-performance middleware and artificial intelligence browsers, including optical cables.

이 중 미들웨어란 시스템 소프트웨어와 응용 소프트웨어 사이 또는 두 가지 다른 종류의 응용 프로그램 사이에서 조정 및 중개 역할을 하는 프로그램을 의미한다. 시스템에 분산되어 있는 응용프로그램과 데이터, 웹 서버간 연결을 최적화 시켜주는 역할을 하는 것이다. 또 클라이언트(사용자) 프로그램과 서버 프로그램 사이에 존재하면서 클라이언트와 서버간의 연결을 유지, 관리하면서 클라이언트의 작업 처리요구를 서버에 전달하는 일을 한다. 클라이언트와 서버의 통신은 물론 다중 클라이언트에 대한 부하분산, 트랜잭션 처리, 보안 등 다양한 역할을 담당한다.Middleware is a program that acts as a mediator and intermediary between system software and application software or between two different kinds of applications. It is to optimize the connection between the application, data and web server distributed in the system. It also exists between the client (user) program and the server program, and maintains and manages the connection between the client and the server. It plays various roles such as communication between client and server as well as load balancing, transaction processing, and security for multiple clients.

최근 미들웨어는 데이터베이스와 웹서버를 연결시켜 주는 곳에 적용되고 있다. 이것은 웹 브라우저에 양식을 띄워놓고, 이를 이용하여 데이터베이스로부터 데이터를 찾아올 수 있게 하거나, 사용자의 요청 내용에 따라 다이나믹 페이지(dynamic page)를 나타낼 수 있게 해주기도 한다. 기업에서의 미들웨어는 주로 기업전산망 시스템 다운을 방지해 주는 시스템 소프트웨어로 서버에 있는 어플리케이션(Application)이나 자원을 사용하기 위해 이용고객과 서버 가운데 놓여 있는 중간자를 말한다. 이 소프트웨어를 사용하면 기존 서버의 데이터 처리용량보다 상당한 양을 초과한 부하가 걸려도 전산망이 다운되지 않는 것이 특징이다.Recently, middleware has been applied to connect databases and web servers. It can also be used to display forms in a web browser, use them to retrieve data from a database, or display dynamic pages based on the user's request. Middleware in the enterprise is mainly system software that prevents the downtime of the enterprise computer network. It refers to the middle person between the customer and the server to use the application or resource on the server. Using this software, the computer network does not crash even if the load exceeds the data processing capacity of the existing server.

그러나, 그리드 컴퓨팅에서는 원격의 컴퓨터 자원을 다루어야 하고, 각 컴퓨터의 시스템 구성이 통일되어 있지 않다. 또한 종래의 그리드 컴퓨팅 기술과 객체지향 프로그래밍 기술은 자원사용에 있어서 초기 자원정보를 모두 가지고 있어야 하므로 자원 정보를 먼저 확보하고 그 제한 안에서 객체를 생성하고 객체 간 통신을 통해 작업을 수행하는 방식을 사용하였다.However, grid computing must deal with remote computer resources, and the system configuration of each computer is not unified. In addition, the conventional grid computing technology and the object-oriented programming technique have to have all the initial resource information in the use of resources, so the resource information is first obtained, the object is created within the limitation, and the operation is performed through the communication between objects. .

따라서, 종래의 미들웨어 프로그램을 적용한 그리드 컴퓨팅 환경에서는 자원 활용과 객체 간 정보 교환에 있어서 비효율적이라는 문제점이 있다.Therefore, there is a problem in that the grid computing environment to which the conventional middleware program is applied is inefficient in resource utilization and information exchange between objects.

따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는 다양한 프로그래밍 개발을 지원하면서 효율적인 정보 관리를 가능하게 하기 위해 그리드 컴퓨팅에 객체지향 프로그래밍을 적용하여 각각의 분산객체가 웹서비스를 이용할 수 있는 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법을 제공하는 것이다.Therefore, the first technical problem to be achieved by the present invention is object-oriented programming middleware that each distributed object can use a web service by applying object-oriented programming to grid computing to enable efficient information management while supporting various programming development It is to provide a web service acquisition method applying the system.

본 발명이 이루고자 하는 두 번째 기술적 과제는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 제공방법을 제공하는 것이다.The second technical problem to be achieved by the present invention is to provide a web service providing method applying a grid object-oriented programming middleware system.

본 발명은 상기 첫 번째 기술적 과제를 달성하기 위하여,The present invention to achieve the first technical problem,

그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 객체를 생성하고, 상기 시스템의 객체를 상기 객체 매니저에 등록하는 단계; 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체가 상기 객체 매니저에게 에이전트 객체에 대한 참조를 요청하는 단계; 상기 요청받은 객체 매니저가 상기 에이전트 객체에 대한 참조를 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체에 전달하는 단계; 및 상기 전달받은 에이전트 객체에 대한 참조를 이용하여 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체가 웹 서비스를 획득하는 단계를 포함하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법을 제공한다.Creating an object manager and an object of a grid distributed object-oriented programming middleware system and registering an object of the system with the object manager; Requesting, by an object of the grid distributed object-oriented programming middleware system, a reference to an agent object from the object manager; The requested object manager passing a reference to the agent object to an object of the grid distributed object-oriented programming middleware system; And an object of the grid distributed object-oriented programming middleware system obtaining a web service by using the received reference to the agent object.

본 발명은 상기 첫 번째 기술적 과제를 달성하기 위하여,The present invention to achieve the first technical problem,

그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 객체를 생성하고 상기 객체를 상기 객체 매니저에 등록하는 단계; 상기 시스템의 서번트 객체와 로컬 에이전트 객체를 생성하는 단계; 상기 로컬 에이전트 객체의 참조를 상기 서번트 객체에 등록하는 단계; 및 상기 등록된 에이전트 객체의 참조로부터 상기 서번트 객체가 웹 서비스를 획득하는 단계를 포함하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법을 제공한다.Creating an object manager and an object of a grid distributed object-oriented programming middleware system and registering the object with the object manager; Creating a servant object and a local agent object of the system; Registering a reference to the local agent object with the servant object; And obtaining, by the servant object, the web service from the reference of the registered agent object.

본 발명은 상기 두 번째 기술적 과제를 달성하기 위하여,The present invention to achieve the second technical problem,

그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 어플리케이션 객체를 생성하고, 상기 시스템의 어플리케이션 객체를 상기 객체 매니저에 등록하는 단계; 상기 객체 매니저가 인터페이스 객체를 생성하고, 상기 인터페이스 객체를 상기 객체 매니저에 등록하는 단계; 상기 인터페이스 객체가 제공할 웹 서 비스를 웹 서비스 거래소에 등록하는 단계; 및 상기 웹 서비스 거래소에 등록된 웹 서비스에 대하여 외부 사용자의 요청이 있는 경우 상기 인터페이스 객체가 웹 서비스를 제공하는 단계를 포함하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 제공방법을 제공한다.Creating an object manager and an application object of a grid distributed object-oriented programming middleware system and registering an application object of the system with the object manager; Creating, by the object manager, an interface object and registering the interface object with the object manager; Registering a web service to be provided by the interface object on a web service exchange; And providing a web service by the interface object when there is a request of an external user for a web service registered on the web service exchange.

이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세히 설명하지만, 본 발명이 이에 의해 제한되는 것은 아니다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings, but the present invention is not limited thereto.

도 1은 본 발명에 따른 그리드 객체지향 프로그래밍 미들웨어 시스템 구조를 도시한 것이다. 그리드 객체지향 프로그래밍 미들웨어 시스템은 어플리케이션 계층(Application layer)(100), 서비스 계층(Service layer)(110), 런타임 시스템 계층(Runtime system layer)(120), 그리드 서비스 인터페이스 계층(Grid service interface layer)(130), 자원 계층(Resource layer)(140)으로 구성된다.1 illustrates a grid object-oriented programming middleware system structure according to the present invention. The grid object-oriented programming middleware system includes an application layer 100, a service layer 110, a runtime system layer 120, a grid service interface layer ( 130, and a resource layer 140.

어플리케이션 계층(100)은 그리드 객체지향 프로그래밍 미들웨어 시스템 인터페이스(105) 기반의 상호작용하는 어플리케이션 객체(101,102,103,104)들로 구성된다. 어플리케이션 객체(101,102,103,104)는 사용자에 의해 코딩되고 정의되어 진다.The application layer 100 is composed of interactive application objects 101, 102, 103, 104 based on the grid object oriented programming middleware system interface 105. Application objects 101, 102, 103 and 104 are coded and defined by the user.

서비스 계층(110)은 어플리케이션 계층(100)과 런타임 시스템 계층(120) 사이에 위치하며 객체 생성, 네이밍 서비스(naming service) 그리고 자원 할당의 시스템 서비스를 제공하는 객체 매니저(111)와 모니터 객체(112)를 포함한다. 객체 매니저(111)는 객체 생성과 네이밍 서비스 등을 포함하는 중요한 서비스를 제공하고 명확하고 사용하기 쉬운 연산 환경을 제공하며, 객체 매니저들은 객체 그룹을 구성하여 병렬 프로그램 환경영역을 결정한다. 모니터 객체(112)는 그리드 객체지향 프로그래밍 미들웨어 시스템의 객체들의 활동을 감시하는 컴포넌트(component)이다. 따라서 사용자는 그리드 객체지향 프로그래밍 미들웨어 시스템의 모니터를 통하여 자원을 할당한다.The service layer 110 is located between the application layer 100 and the runtime system layer 120 and provides an object manager 111 and a monitor object 112 that provide system services of object creation, naming service, and resource allocation. ). The object manager 111 provides important services including object creation and naming service, and provides a clear and easy operation environment. The object managers configure object groups to determine parallel program environment areas. The monitor object 112 is a component that monitors the activity of the objects of the grid object-oriented programming middleware system. Therefore, the user allocates resources through the monitoring of the grid object-oriented programming middleware system.

런타임 시스템 계층(120)은 방법 호출 계층(121), 메세지 통과 계층(122) 및 통신 계층(123)의 3개의 층으로 구성되어 있다. 방법 호출 계층(121)은 각각의 호출 구조를 호출 메세지로 정렬시켜서 적절하게 응답 메세지를 다루기 위해 호출 테이블에 메세지를 등록시킨 후에 메세지 통과 계층(122)으로 메세지를 전달한다. 메세지 통과 계층(122)은 통신 계층(123)과 연결된 어댑터와 같은 역할을 수행한다. 그리고 메세지 전달을 위한 유일한 인터페이스를 방법 호출 계층(121)에 전달시키기 위해 방법 호출 계층(121)과 통신 계층(123)을 분리시키는 역할을 담당한다. 메세지 통과 계층(122)은 물리적 주소와 결합된 객체 이름을 형성시키고 통신 계층(123)중의 하나를 사용한 분산 객체로 메세지를 전달한다. 각각의 통신 계층(123)은 각각의 다른 인터페이스와 네이밍 구조체계를 이용한 각각의 분산 프로토콜(protocol)을 수행한다.The runtime system layer 120 is comprised of three layers: method call layer 121, message passing layer 122, and communication layer 123. The method call layer 121 aligns each call structure into a call message, registers the message in the call table to properly handle the response message, and then passes the message to the message passing layer 122. The message passing layer 122 performs the same role as an adapter connected with the communication layer 123. And it is responsible for separating the method call layer 121 and the communication layer 123 to deliver a unique interface for message delivery to the method call layer 121. Message passing layer 122 forms the object name associated with the physical address and delivers the message to the distributed object using one of the communication layers 123. Each communication layer 123 performs each distributed protocol using a different interface and naming structure system.

그리드 객체지향 프로그래밍 미들웨어 시스템의 인터페이스 계층(130)은 그리드 객체지향 프로그래밍 미들웨어 시스템 인터페이스(131)를 적용한 여러 개의 그리드 서비스 객체(132)로 구성되어 있다. 그리스 서비스 객체(132)는 글로버스 툴키트(Globus toolkit)에 의해 제공되는 그리드 서비스와 직접적으로 상호작용하는 GSO_GRAM(Grid Service Object_Grid Resource Allocation Method), GSO_MDS(Grid Service Object_Meta Directory Service), GSO_FTP(Grid Service Object_File Transfer Protocol) 등을 포함한다. GSO_GRAM은 사용자가 원격적으로 작업을 수행하도록 허락하는 GRAM 서비스를 사용하여 자원할당에 대한 요구를 조절한다. GSO_MDS는 메타 디렉토리 서비스(Meta Derectory Service: MDS)를 사용하여 자원 계층부(150)로부터 그리드 자원(151)에 대한 정보를 제공한다. GSO_FTP는 부저장소의 글로벌 접근(Global Access of Secondary Storage:GASS)을 활용하여 사용자 프로그램이나 파일들을 원격 호스트에 전달한다. 따라서 그리드 서비스 객체(132)는 그리드 서비스 계층(140)에 의해 제공되는 그리드 서비스(141)를 다른 객체들에게 제공할 수 있게 된다.The interface layer 130 of the grid object oriented programming middleware system is composed of several grid service objects 132 to which the grid object oriented programming middleware system interface 131 is applied. The Greek service object 132 can be used to directly interact with grid services provided by the Globus toolkit. Transfer Protocol). GSO_GRAM handles resource allocation needs using the GRAM service, which allows users to perform tasks remotely. The GSO_MDS provides information about the grid resource 151 from the resource layer unit 150 using a meta directory service (MDS). GSO_FTP leverages Global Access of Secondary Storage (GASS) to deliver user programs or files to remote hosts. Accordingly, the grid service object 132 may provide other objects with the grid service 141 provided by the grid service layer 140.

도 2는 본 발명에 따른 에이전트 객체를 포함하는 시스템을 도시한 것이다.2 shows a system comprising an agent object according to the present invention.

그리드 분산 객체지향 프로그래밍 미들웨어 시스템((Distributed Object-oriented Virtual computing Environment on Grid:DOVE-G)이 객체(Object)(200)와 객체 매니저(Object Manager)(210)를 생성하고 DOVE-G의 객체(200)는 객체 매니저(210)에게 에이전트 객체(Agent Object)(220) 생성요청을 한다. 요청에 따라 객체 매니저(210)는 에이전트 객체(220)를 생성한다. 생성된 에이전트 객체(220)를 객체 매니저(210)에 등록하고 객체 매니저(210)는 이에 따른 에이전트 객체(220)의 참조를 DOVE-G 객체(200)에 전달한다. 참조를 기반으로 DOVE-G 객체(200)는 에이전트 객체(220)를 호출하고, 에이전트 객체(220)는 호출에 따라 웹 서비스(230)를 요청한다. 에이전트 객체(220)는 요청에 따른 웹 서비스(230)의 결과를 획득하여 DOVE-G 객체(200)에 전달하게 된다.The Distributed Object-oriented Virtual Computing Environment on Grid (DOVE-G) creates an Object (200) and an Object Manager (210) and creates an object in DOVE-G. 200 requests an object manager 210 to create an Agent Object 220. Upon request, the Object Manager 210 creates an Agent Object 220. The generated Agent Object 220 is an object. Register with the manager 210 and the object manager 210 passes the reference of the agent object 220 accordingly to the DOVE-G object 200. Based on the reference, the DOVE-G object 200 is the agent object 220 ), The agent object 220 requests the web service 230 according to the call, and the agent object 220 obtains the result of the web service 230 according to the request to the DOVE-G object 200. Will be delivered.

도 3은 본 발명에 따른 에이전트 객체를 이용하여 웹 서비스를 획득하는 방법의 흐름도이다.3 is a flowchart of a method for obtaining a web service using an agent object according to the present invention.

웹 서비스라 함은 인터넷으로 접속하는 사용자의 요구사항을 만족시켜 주기 위해 서버에 특정 인프라스트럭처(infrastructure)를 구축하여 서비스하는 것을 의미하고, 웹 서비스 개발자나 공급자의 입장에서의 웹 서비스는 상기 기술한 웹 서비스를 구축할 수 있는 시스템 환경을 의미한다.Web service means to build and service a specific infrastructure on a server to satisfy the requirements of users who connect to the Internet. Web services from the point of view of a web service developer or provider are described above. Refers to a system environment in which web services can be built.

우선, 그리드 분산 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 객체매니저를 생성한다(300 과정). DOVE-G 객체매니저를 생성하고 시스템을 동작시키기 위해서는 DOVE-G 시스템을 초기화한다. DOVE-G 시스템 초기화는 DOVE-G 객체들이 서로 통신을 할 수 있도록 런타임 시스템(runtime system)의 세 개의 계층을 생성하고 초기화하는 것을 말한다. 이 시스템이 초기화되면 DOVE-G 객체매니저가 생성된다. 객체 매니저는 DOVE-G 객체를 관리하는 역할을 수행한다. First, an object manager of the grid distributed object-oriented programming middleware system DOVE-G is generated (step 300). To create a DOVE-G object manager and to operate the system, initialize the DOVE-G system. DOVE-G system initialization involves creating and initializing three layers of the runtime system so that DOVE-G objects can communicate with each other. When this system is initialized, the DOVE-G object manager is created. The object manager manages DOVE-G objects.

시스템을 초기화하고 DOVE-G 객체매니저를 생성한 후 DOVE-G 객체를 생성한다(310 과정). Initialize the system, create a DOVE-G object manager, and then create a DOVE-G object (step 310).

시스템의 객체를 객체 매니저에 등록한다(320 과정). 분산 가상 컴퓨팅 환경에서 객체 매니저는 시스템의 객체의 접근에 따른 정보를 객체 매니저에 등록하여 이 정보를 통하여 객체 매니저와 통신하게 된다.The object of the system is registered in the object manager (step 320). In a distributed virtual computing environment, an object manager registers information according to an object's access of a system to an object manager and communicates with the object manager through this information.

DOVE-G 객체가 객체 매니저에게 에이전트 객체에 대한 참조를 요청한다(330 과정). DOVE-G 객체 중에서 웹 서비스를 이용하고 싶어하는 객체가 있으면 객체 매니저에게 에이전트 객체에 대한 참조(reference)를 요청하는 과정이다. 이에 따라 객체 매니저는 웹 서비스를 이용하고 싶어하는 객체에 대한 에이전트 객체의 유무를 판단하게 된다.The DOVE-G object requests a reference to the agent object from the object manager (step 330). If any of the DOVE-G objects want to use the web service, the process of requesting a reference to the agent object from the object manager. Accordingly, the object manager determines whether there is an agent object for the object that wants to use the web service.

DOVE-G 객체의 요청에 따라 객체 매니저가 에이전트 객체에 대한 참조를 DOVE-G 객체에 전달한다(340 과정). DOVE-G 객체의 요청에 따라 객체 매니저가 에이전트 객체에 대한 참조를 요청한다. DOVE-G 객체의 요청에 따른 에이전트 객체가 존재할 경우 그 에이전트 객체에 대한 참조를 DOVE-G 객체에 전달한다. DOVE-G 객체의 요청에 따른 에이전트 객체가 존재하지 않을 경우에는 에이전트 객체를 생성한다. 웹 서비스를 획득하고자 하는 자는 에이전트 객체 생성시에 웹 서비스 거래소(Universal Description, Discovery, and Integration:UDDI)로부터 획득하고자 하는 웹 서비스의 정보를 획득한다. 웹 서비스의 정보의 획득으로부터 얻은 웹 서비스 기술언어(Web Services Description Language :WSDL) 내용을 기반으로 에이전트 객체를 생성한다. 생성한 에이전트 객체에 대한 참조를 DOVE-G 객체에 전달한다. In response to the request of the DOVE-G object, the object manager transmits a reference to the agent object to the DOVE-G object (step 340). In response to a request from a DOVE-G object, the object manager requests a reference to an agent object. If an agent object exists at the request of a DOVE-G object, a reference to the agent object is passed to the DOVE-G object. If the agent object does not exist at the request of the DOVE-G object, an agent object is created. A person who wants to acquire a web service acquires information of a web service to be obtained from a web service exchange (Universal Description, Discovery, and Integration: UDDI) when creating an agent object. Agent object is created based on the contents of Web Services Description Language (WSDL) obtained from the acquisition of the information of the web service. Pass a reference to the created agent object to the DOVE-G object.

에이전트 객체에 대한 참조를 요청한 DOVE-G 객체는 객체 매니저로부터 전달된 에이전트 객체의 참조를 이용하여 웹 서비스를 획득한다(350 과정). 즉, DOVE-G 객체는 사용자 코드를 적용하여 에이전트 객체를 호출하여 웹 서비스를 요청한다. 에이전트 객체는 웹 서비스 스텁(stub)을 생성하고 웹 서비스 스텁(stub)은 UDDI로부터 획득한 웹 서비스 기술언어를 통하여 DOVE-G 객체가 요청한 웹 서비스를 획득하여 에이전트 객체에 웹 서비스를 송신하고 에이전트 객체는 수신받은 웹 서비스를 DOVE-G 객체에 전달한다.The DOVE-G object requesting a reference to the agent object obtains a web service using the reference of the agent object transferred from the object manager (step 350). That is, the DOVE-G object applies a user code to call an agent object to request a web service. Agent object creates web service stub, and web service stub obtains web service requested by DOVE-G object through web service description language obtained from UDDI and sends web service to agent object. Passes the received web service to the DOVE-G object.

도 4는 도 3의 참조를 객체에 전달하는 과정(340 과정)에 대한 상세흐름도이다. 객체 매니저는 그리드 분산 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 객체로부터 에이전트 객체에 대한 참조요청을 수신한다(441 과정). 4 is a detailed flowchart of a process of transferring a reference of FIG. 3 to an object (operation 340). The object manager receives a reference request for the agent object from the object of the grid distributed object-oriented programming middleware system (DOVE-G) (step 441).

참조요청을 수신받은 객체 매니저는 에이전트 객체에 대한 참조가 존재하는지의 여부를 판단한다(442 과정).The object manager receiving the reference request determines whether a reference to the agent object exists (S442).

DOVE-G 객체가 요청하는 에이전트 객체에 대한 참조가 존재하는 경우 객체 매니저는 그 에이전트 객체에 대한 참조를 DOVE-G 시스템의 객체에 전달한다(445 과정).If there is a reference to the agent object requested by the DOVE-G object, the object manager transmits a reference to the agent object to an object of the DOVE-G system (step 445).

DOVE-G 객체가 요청하는 에이전트 객체에 대한 참조가 존재하지 않는 경우 객체 매니저는 그 DOVE-G 객체에 대한 에이전트 객체를 생성하고(443 과정), 그 에이전트 객체를 객체 매니저에 등록시킨다(444 과정). 이는 DOVE-G 객체에 대한 에이전트 객체를 객체 매니저에 등록시킴으로써 동일한 DOVE-G 객체에 대하여 객체 매니저를 다시 생성시켜야 하는 시스템의 비효율성을 방지한다. 이는 에이전트 객체가 DOVE-G 객체에 의해 독립적으로 생성될때 에이전트 객체에 네이밍(naming)을 정의하여 중복 생성을 방지하는 것이다. 에이전트 객체에 대한 참조를 요청한 DOVE-G 객체는 객체 매니저에서 전달된 에이전트 객체의 참조를 이용하여 웹 서비스를 획득한다.If there is no reference to the agent object requested by the DOVE-G object, the object manager creates an agent object for the DOVE-G object (step 443) and registers the agent object with the object manager (step 444). . This prevents the system inefficiency of having to recreate the object manager for the same DOVE-G object by registering an agent object for the DOVE-G object with the object manager. This prevents duplicate creation by defining naming to the agent object when the agent object is created independently by the DOVE-G object. The DOVE-G object requesting a reference to the agent object obtains a web service using the reference of the agent object passed from the object manager.

도 5는 도 3의 객체가 웹 서비스를 획득하는 과정(350 과정)에 대한 상세흐름도이다.FIG. 5 is a detailed flowchart of a process 350 of obtaining a web service by the object of FIG. 3.

본 발명에 따른 그리드 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 에 이전트 객체에 대한 참조로부터 DOVE-G의 객체가 에이전트 객체를 호출한다(551 과정). 이는 DOVE-G의 객체가 에이전트 객체에 대한 참조로부터 에이전트 객체의 웹 서비스 관련 함수를 호출하는 과정이다.The object of DOVE-G calls the agent object from the reference to the agent object of the grid object-oriented programming middleware system DOVE-G according to the present invention (step 551). This is the process of DOVE-G's object calling the agent object's web service related functions from a reference to the agent object.

DOVE-G의 객체로부터 호출받은 에이전트 객체는 웹 서비스를 요청한다(552 과정). 에이전트 객체는 웹 서비스 제공자에게 웹 서비스를 요청하기 위해 웹 서비스 스텁(stub)을 생성시킨다. 웹 서비스 스텁을 이용하여 웹 서비스 기술언어의 참조로부터 웹 서비스를 요청한다.The agent object called from the object of DOVE-G requests a web service (step 552). The agent object creates a web service stub to request a web service from a web service provider. Use a web service stub to request a web service from a reference in the web service description language.

에이전트 객체가 요청된 웹 서비스의 결과를 획득하여 DOVE-G 객체에 획득한 결과를 전달한다(553 과정). 즉 웹 서비스 스텁은 요청한 웹 서비스에 대한 결과를 획득하여 에이전트 객체에게 웹 서비스의 결과를 전달하고, 에이전트 객체는 전달받은 웹 서비스의 결과를 DOVE-G 객체에 전달한다.The agent object acquires the result of the requested web service and delivers the result to the DOVE-G object (step 553). That is, the web service stub acquires the result of the requested web service and delivers the result of the web service to the agent object, and the agent object delivers the result of the received web service to the DOVE-G object.

도 6은 본 발명에 따른 종속 에이전트 객체를 포함한 시스템을 도시한 것이다. 에이전트 객체는 DOVE-G 객체의 로컬 클래스(local class)로 생성되고, DOVE-G 객체의 내부 함수 흐름에 따라 에이전트 객체를 호출한다. 에이전트 객체는 DOVE-G 객체의 로컬 클래스(local class)로 생성되기 때문에 종속 에이전트 객체라 정의한다.6 shows a system including a dependent agent object in accordance with the present invention. The agent object is created as a local class of the DOVE-G object and calls the agent object according to the internal function flow of the DOVE-G object. Agent objects are defined as dependent agent objects because they are created with the local class of the DOVE-G object.

그리드 분산 객체지향 프로그래밍 미들웨어 시스템(Distributed Object-oriented Virtual computing Environment on Grid:DOVE-G)이 객체 매니저(600), 제 1 객체(610) 그리고 제 2 객체(620)를 생성하고 생성된 제 1 객체(610)와 제 2 객체(620)는 객체 매니저(600)에 등록된다. 그리고 웹 서비스(650)를 획득하려고 하 는 DOVE-G의 제 1 객체(610)는 DOVE-G 객체 내에 서번트 객체(servant object)(630)와 로컬 에이전트 객체(local agent object)(640)를 생성한다. 로컬 에이전트 객체(640)는 서번트 객체(630)에 등록되고, 로컬 에이전트 객체(640)는 DOVE-G의 제 1 객체(610)가 획득하려고 하는 웹 서비스(650)를 호출하여 웹 서비스를 획득한다.A distributed object-oriented virtual computing environment on grid (DOVE-G) creates an object manager 600, a first object 610, and a second object 620 and generates the first object. The 610 and the second object 620 are registered in the object manager 600. The first object 610 of DOVE-G attempting to acquire the web service 650 creates a servant object 630 and a local agent object 640 in the DOVE-G object. do. The local agent object 640 is registered with the servant object 630, and the local agent object 640 calls the web service 650 that the first object 610 of DOVE-G tries to acquire to obtain a web service. .

그리고, 동일한 웹 서비스(650)를 획득하려고 하는 DOVE-G의 제 2 객체(620)는 따로 로컬 에이전트 객체를 생성하지 않고 객체 매니저(600)를 통하여 DOVE-G의 제 1 객체(610)가 획득한 웹 서비스(650)를 전달받음으로써 동일한 웹 서비스를 획득할 수 있다.In addition, the second object 620 of DOVE-G attempting to acquire the same web service 650 is obtained by the first object 610 of DOVE-G through the object manager 600 without separately creating a local agent object. The same web service may be obtained by receiving one web service 650.

도 7은 본 발명에 따른 종속 에이전트 객체를 적용하여 웹 서비스를 획득하는 방법의 흐름도이다.7 is a flowchart illustrating a method of obtaining a web service by applying a dependent agent object according to the present invention.

우선, 그리드 분산 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 객체매니저와 객체를 생성한다(700 과정). DOVE-G 객체매니저를 생성하고 시스템을 동작시키기 위해서는 DOVE-G 시스템을 초기화한다. DOVE-G 시스템 초기화는 DOVE-G 객체들이 서로 통신을 할 수 있도록 런타임 시스템의 세 개의 계층을 생성하고 초기화하는 것을 말한다. 이 시스템이 초기화되면 DOVE-G 객체매니저가 생성된다. 객체 매니저는 DOVE-G 객체를 관리하는 역할을 수행한다. 시스템을 초기화하고 DOVE-G 객체매니저를 생성한 후 DOVE-G 객체를 생성한다. First, an object manager and an object of the grid distributed object-oriented programming middleware system (DOVE-G) are created (step 700). To create a DOVE-G object manager and to operate the system, initialize the DOVE-G system. DOVE-G system initialization involves creating and initializing three layers of the runtime system so that DOVE-G objects can communicate with each other. When this system is initialized, the DOVE-G object manager is created. The object manager manages DOVE-G objects. Initialize the system, create a DOVE-G object manager, and then create a DOVE-G object.

생성된 DOVE-G 객체를 객체 매니저에 등록한다(710 과정). 분산 가상 컴퓨팅 환경에서 객체 매니저는 시스템의 객체의 접근에 따른 정보를 객체 매니저에 등록 하여 이 정보를 통하여 객체 매니저와 통신하게 된다.The created DOVE-G object is registered in the object manager (step 710). In a distributed virtual computing environment, an object manager registers information on accessing objects of a system to an object manager and communicates with the object manager through this information.

생성된 DOVE-G 객체 내에 서번트 객체와 로컬 에이전트 객체를 생성한다(720 과정). DOVE-G 객체 중 웹 서비스를 이용하고 싶어하는 객체가 있으면 객체 내에 서번트 객체(Servant Object)를 생성하고 웹 서비스와 연동할 수 있는 로컬 에이전트 객체(Local Agent Object)를 생성한다. 생성된 로컬 에이전트 객체를 통하여 웹 서비스를 이용한다.A servant object and a local agent object are created in the created DOVE-G object (step 720). If there is one of the DOVE-G objects that wants to use the web service, a servant object is created in the object and a local agent object that can interoperate with the web service. Use a web service through the created local agent object.

DOVE-G의 로컬 에이전트 객체의 참조를 서번트 객체에 등록한다(730 과정).로컬 에이전트 객체의 참조를 서번트 객체에 등록하여 DOVE-G 객체 내의 사용자 코드를 통하여 서번트 객체의 로컬 에이전트 객체에게 관련함수를 호출한다.The reference of the local agent object of the DOVE-G is registered in the servant object (step 730). The reference of the local agent object is registered in the servant object and the related function is transmitted to the local agent object of the servant object through the user code in the DOVE-G object. Call

호출받은 로컬 에이전트 객체가 웹 서비스를 획득한다(740 과정). The called local agent object acquires a web service (step 740).

도 8은 도 7의 웹 서비스 획득 과정의 상세흐름도이다.8 is a detailed flowchart of a web service acquisition process of FIG. 7.

DOVE-G 객체 내의 서번트 객체가 로컬 에이전트 객체를 호출한다(841 과정). 이는 DOVE-G 객체 내의 서번트 객체가 사용자 코드를 적용하여 획득하고자 하는 웹 서비스와 관련된 에이전트 객체를 호출하는 과정이다.The servant object in the DOVE-G object calls the local agent object (step 841). This is a process in which the servant object in the DOVE-G object calls the agent object related to the web service to obtain by applying the user code.

호출된 로컬 에이전트 객체가 웹 서비스를 요청한다(842 과정). 로컬 에이전트 객체는 웹 서비스 제공자에게 웹 서비스를 요청하기 위해 웹 서비스 스텁(stub)을 생성시킨다. 웹 서비스 스텁을 이용하여 에이전트 객체 생성시에 얻은 웹 서비스 기술언어의 참조로부터 웹 서비스를 요청한다.The called local agent object requests a web service (step 842). The local agent object creates a web service stub to request a web service from a web service provider. The web service stub is used to request a web service from a reference to the web service description language obtained when creating an agent object.

로컬 에이전트 객체가 웹 서비스의 결과를 획득하여 DOVE-G 서번트 객체에 획득한 결과를 전달한다(843 과정). 즉 웹 서비스 스텁은 요청한 웹 서비스에 대한 결과를 획득하여 로컬 에이전트 객체에게 웹 서비스의 결과를 전달한다.The local agent object acquires the result of the web service and delivers the obtained result to the DOVE-G servant object (step 843). That is, the web service stub obtains the result of the requested web service and delivers the result of the web service to the local agent object.

로컬 에이전트 객체는 전달받은 웹 서비스의 결과를 DOVE-G 서번트 객체에 결과를 전달한다.(844 과정).The local agent object sends the result of the received web service to the DOVE-G servant object (step 844).

도 9a는 본 발명에 따른 인터페이스 객체를 포함한 시스템을 도시한 것이다. 도 9a에 따르면 그리드 분산 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 객체 매니저(900)와 어플리케이션 객체(910)를 생성하고 어플리케이션 객체(910)를 객체 매니저(900)에 등록한다. 9A illustrates a system including an interface object in accordance with the present invention. According to FIG. 9A, the object manager 900 and the application object 910 of the grid distributed object-oriented programming middleware system DOVE-G are created and the application object 910 is registered with the object manager 900.

또한 객체 매니저(900)는 인터페이스 객체(920)를 생성하고 인터페이스 객체(920)를 객체 매니저(900)에 등록하고 인터페이스 객체(920)가 제공할 웹 서비스를 웹 서비스 거래소(930)에 등록한다. The object manager 900 also creates an interface object 920, registers the interface object 920 with the object manager 900, and registers a web service to be provided by the interface object 920 with the web service exchange 930.

이에 대하여 웹 서비스를 획득하려는 외부 사용자(940)가 웹 서비스 거래소(930)를 통하여 웹 서비스에 대한 인터페이스 객체의 참조를 검색하여 웹 서비스 기술언어(950)를 획득한다. 웹 서비스 기술언어(950)를 획득한 외부 사용자(940)로부터 인터페이스 객체(920)의 웹 서버 모듈(921)이 웹 서비스 기능 구현에 관한 단순 객체 접근 프로토콜(Simple Object Access Protocol:SOAP) 호출을 받고 인터페이스 객체(920)의 웹 서비스 구현체(922)가 단순 객체 접근 프로토콜 메세지를 원격 메소드 호출(Remote Method Invocation:RMI) 메세지로 전환한다. 인터페이스 객체의 스텁(914)과 스케레톤(924)은 서로에 대한 참조를 서로 교환하고 통신 연결을 하는 역할을 한다. 전환된 원격 메소드 호출 메세지를 어플리케이션 객체 스텁(923)을 사용하여 DOVE-G 어플리케이션 객체(910)의 어플리케이션 객체 스케레 톤(913)에 원격 메소드 호출을 하고 웹 서비스 기능을 구현하며, 어플리케이션 객체 스케레톤(913)은 어플리케이션 객체 서텁(923)에 원격 메소드 호출 응답을 보내어 원격 메소드 호출 응답을 인터페이스 객체(920)의 웹 서비스 구현체(922)가 단순 객체 접근 프로토콜 응답으로 전환하여 사용자(940)에게 보낸다. 사용자는 이 응답으로 웹 서비스(960)를 제공받게 된다. In response to this, an external user 940 attempting to obtain a web service retrieves a reference of an interface object for the web service through the web service exchange 930 to obtain a web service description language 950. The web server module 921 of the interface object 920 receives a Simple Object Access Protocol (SOAP) call for implementing a web service function from an external user 940 having obtained the web service description language 950. The web service implementation 922 of the interface object 920 converts the simple object access protocol message into a Remote Method Invocation (RMI) message. The stub 914 and the skeleton 924 of the interface object are responsible for exchanging references to each other and making a communication connection. Send the converted remote method call message to the application object skeleton 913 of the DOVE-G application object 910 using the application object stub 923, implement the web service functionality, and implement the application object skeleton. 913 sends the remote method call response to the application object stub 923, which the web service implementation 922 of the interface object 920 converts into a simple object access protocol response and sends it to the user 940. The user is provided with a web service 960 in this response.

도 9b는 외부 웹 서버와 연계하여 웹 서비스를 제공하는 시스템을 도시한 것이다. 웹 서버 모듈(921)을 포함하지 않는 인터페이스 객체(970)의 경우 웹 서비스의 내용을 외부 웹 서버(980)에 등록하고, 이 웹 서비스의 내용을 웹 서비스 거래소(990)에 등록하여 웹 서비스를 제공한다. 9B illustrates a system for providing a web service in connection with an external web server. In the case of the interface object 970 which does not include the web server module 921, the web service is registered on the external web server 980, and the web service is registered on the web service exchange 990 to register the web service. to provide.

도 10은 본 발명에 따른 인터페이스 객체를 적용하여 웹 서비스를 제공하는 방법의 흐름도이다.10 is a flowchart illustrating a method for providing a web service by applying an interface object according to the present invention.

그리드 분산 객체지향 프로그래밍 미들웨어 시스템(DOVE-G)의 객체 매니저를 생성한다(1000 과정). DOVE-G 객체매니저를 생성하고 시스템을 동작시키기 위해서는 DOVE-G 시스템을 초기화한다. DOVE-G 시스템 초기화는 DOVE-G 객체들이 서로 통신을 할 수 있도록 런타임 시스템에서 3개의 계층을 생성하고 초기화 하는 것을 말한다. 이 시스템이 초기화되면 DOVE-G 객체매니저가 생성된다. 객체 매니저는 DOVE-G 객체를 관리하는 역할을 수행한다. The object manager of the grid distributed object-oriented programming middleware system DOVE-G is generated (step 1000). To create a DOVE-G object manager and to operate the system, initialize the DOVE-G system. DOVE-G system initialization involves creating and initializing three layers in the runtime system so that DOVE-G objects can communicate with each other. When this system is initialized, the DOVE-G object manager is created. The object manager manages DOVE-G objects.

시스템을 초기화하고 DOVE-G 객체매니저를 생성한 후 DOVE-G 어플리케이션 객체를 생성한다(1010 과정). DOVE-G 어플리케이션 객체는 상기 DOVE-G 객체와 동일한 객체이다.Initialize the system, create a DOVE-G object manager, and create a DOVE-G application object (step 1010). The DOVE-G application object is the same object as the DOVE-G object.

생성된 어플리케이션 객체를 객체 매니저에 등록한다(1020 과정). 분산 가상 컴퓨팅 환경에서 객체 매니저는 시스템의 어플리케이션 객체의 접근에 따른 정보를 객체 매니저에 등록하고 이 등록정보를 통하여 객체 매니저와 통신하게 된다.The created application object is registered in the object manager (step 1020). In a distributed virtual computing environment, the object manager registers information according to an application object's access to the object manager and communicates with the object manager through this registration information.

인터페이스 객체를 생성하고 생성된 인터페이스 객체를 객체 매니저에 등록한다(1030 과정). The interface object is created and the created interface object is registered in the object manager (step 1030).

인터페이스 객체가 제공할 웹 서비스를 웹 서비스 거래소에 등록한다(1040 과정). 웹 서비스 거래소는 웹 서비스에 대한 거래 장소로 제공하고자 하는 웹 서비스의 내용을 웹 서비스를 이용하고자 하는 사용자에게 알려주는 장소이다.The web service to be provided by the interface object is registered on the web service exchange (step 1040). The web service exchange is a place for informing a user who wants to use a web service of the content of the web service to be provided as a transaction place for the web service.

도 9a를 참조하면 인터페이스 객체(920)에 웹 서버 모듈(921)을 포함하는 경우 인터페이스 객체(920)의 웹 서버 모듈(921)을 웹 서비스 거래소(930)에 등록하여 웹 서비스를 제공한다. 이 경우 하나의 인터페이스 객체(920)의 웹 서버 모듈(921)에서 단일한 웹 서비스를 제공하므로 빠른 서비스 제공을 할 수 있다.Referring to FIG. 9A, when the interface object 920 includes the web server module 921, the web server module 921 of the interface object 920 is registered with the web service exchange 930 to provide a web service. In this case, since a single web service is provided by the web server module 921 of one interface object 920, a quick service can be provided.

도 9b를 참조하면 인터페이스 객체 내부에 웹 서버 모듈이 없고 외부 웹 서버에 등록하여 사용하는 경우 인터페이스 객체(970)가 제공하고자 하는 웹 서비스를 웹 서버(980)에 등록을 하고 이 웹 서버(980)를 웹 서비스 거래소(990)에 등록하여 웹 서비스를 제공한다. 이 경우 하나의 웹 서버를 통해 다양한 웹 서비스를 제공할 수 있다.Referring to FIG. 9B, when there is no web server module in the interface object and is registered and used in an external web server, the web server 980 registers a web service to be provided by the interface object 970 and the web server 980 is used. Register with the web service exchange 990 to provide a web service. In this case, various web services can be provided through one web server.

웹 서비스 거래소에 등록된 웹 서비스에 대하여 외부 사용자의 요청이 있는 경우 인터페이스 객체가 웹 서비스를 제공한다(1050 과정). If there is a request from an external user for a web service registered on the web service exchange, the interface object provides the web service (step 1050).

도 11은 도 10의 외부 사용자에게 웹 서비스를 제공하는 과정(1050 과정)에 대한 상세흐름도이다. 인터페이스 객체가 웹 서비스 기술언어을 획득한 외부 사용자로부터 단순 객체 접근 프로토콜(SOAP) 호출을 수신한다(1151 과정).FIG. 11 is a detailed flowchart of a process 1050 of providing a web service to an external user of FIG. 10. The interface object receives a simple object access protocol (SOAP) call from an external user who obtains the web service description language (step 1151).

단순 객체 접근 프로토콜 호출을 수신한 인터페이스 객체의 웹 서비스 구현체가 단순 객체 접근 프로토콜 호출 메세지(Simple Object Access Protocol:SOAP)를 원격 메소드 호출(Remote Method Invocation:RMI) 메세지로 전환한다(1152 과정).The web service implementation of the interface object receiving the simple object access protocol call converts the simple object access protocol (SOAP) into a remote method invocation (RMI) message (step 1152).

전환된 원격 메소드 호출 메세지를 어플리케이션 객체에 원격 메소드 호출(RMI)을 한다(1153 과정). 즉, 전환된 원격 메소드 호출 메세지를 인터페이스 객체의 어플리케이션 스텁(stub)은 어플리케이션 객체 스케레톤(skeleton)에 원격 메소드 호출을 한다.The remote method call message is converted to the remote object call (RMI) to the application object (step 1153). That is, the application stub of the interface object sends the remote method call message to the application object skeleton.

인터페이스 객체가 외부 사용자에게 웹 서비스를 제공한다(1154 과정). 전환된 원격 메소드 호출 메세지를 어플리케이션 객체 스텁을 사용하여 DOVE-G 어플리케이션 객체의 어플리케이션 객체 스케레톤에 원격 메소드 호출을 하고 웹 서비스 기능을 구현하여 어플리케이션 객체 스케레톤은 어플리케이션 객체 스텁에 원격 메소드 호출 응답을 보낸다. 원격 메소드 호출 응답을 인터페이스 객체의 웹 서비스 구현체가 단순 객체 접근 프로토콜 응답으로 전환하여 사용자에게 보낸다. 사용자는 이 응답으로 웹 서비스를 제공받게 된다. The interface object provides a web service to an external user (step 1154). By using the application object stub to send the converted remote method invocation message to the application object skeleton of the DOVE-G application object, and implementing the web service function, the application object skeleton sends the remote method invocation response to the application object stub. . The web service implementation of the interface object converts the remote method invocation response into a simple object access protocol response and sends it to the user. The user is provided with a web service in this response.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술 적 보호 범위는 첨부된 등록청구범위의 기술적 사항에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical details of the appended claims.

본 발명에 의하면, 그리드 기반의 미들웨어 시스템에 있어서 객체지향 프로그래밍을 적용하여 환경이 복잡한 그리드 컴퓨팅 환경을 단일한 컴퓨팅 환경으로 제공하여 개발 환경을 단순화시킴으로써, 사용자에게 접근하기 용이한 인터페이스와 효율적인 정보 관리를 제공하는 효과가 있다.According to the present invention, by applying object-oriented programming in a grid-based middleware system, providing a grid computing environment with a complex environment as a single computing environment, simplifying the development environment, an interface that is easy to access to users and efficient information management It is effective to provide.

또한 본 발명에 의하면 사용자가 접근하기 쉬운 웹 서비스와의 연동을 지원하는 그리드 기반의 미들웨어 시스템에 있어서 객체지향 프로그래밍을 적용함으로써, 그리드 컴퓨팅의 보급을 확대시켜 다양한 어플리케이션에 적용할 수 있으며, 빠른 서비스의 제공과 비용절감의 효과가 있다.In addition, according to the present invention, by applying object-oriented programming in a grid-based middleware system that supports interworking with web services that are easy to access, users can expand the spread of grid computing and apply it to various applications. It has the effect of providing and reducing costs.

Claims (12)

그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 객체를 생성하고, 상기 시스템의 객체를 상기 객체 매니저에 등록하는 단계;Creating an object manager and an object of a grid distributed object-oriented programming middleware system and registering an object of the system with the object manager; 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체가 상기 객체 매니저에게 에이전트 객체에 대한 참조를 요청하는 단계;Requesting, by an object of the grid distributed object-oriented programming middleware system, a reference to an agent object from the object manager; 상기 요청받은 객체 매니저가 상기 에이전트 객체에 대한 참조를 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체에 전달하는 단계; 및The requested object manager passing a reference to the agent object to an object of the grid distributed object-oriented programming middleware system; And 상기 전달받은 에이전트 객체에 대한 참조를 이용하여 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체가 웹 서비스를 획득하는 단계를 포함하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.Obtaining a web service by an object of the grid distributed object-oriented programming middleware system using a reference to the received agent object. 제 1 항에 있어서,The method of claim 1, 상기 획득한 웹 서비스와 동일한 웹 서비스를 획득하려고 하는 그리드 객체지향 프로그래밍 미들웨어 시스템의 다른 객체에 객체 매니저를 통하여 상기 획득한 웹 서비스를 전달하는 단계를 더 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And delivering the obtained web service through an object manager to another object of the grid object oriented programming middleware system which tries to acquire the same web service as the obtained web service. Web service acquisition method applied. 제 1 항에 있어서,The method of claim 1, 상기 시스템의 객체에 전달하는 단계는,Delivering to an object of the system, 상기 객체 매니저에 상기 에이전트 객체에 대한 참조가 존재하는 경우 상기 에이전트 객체의 참조를 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체에 전달하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And when a reference to the agent object exists in the object manager, transmitting a reference of the agent object to an object of the grid distributed object-oriented programming middleware system. How to Obtain a Service. 제 1항에 있어서,The method of claim 1, 상기 웹 서비스를 획득하는 단계는,Acquiring the web service, 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체가 상기 참조로부터 상기 에이전트 객체를 호출하는 단계;Calling an agent object from the reference by an object of the grid distributed object-oriented programming middleware system; 상기 호출받은 에이전트 객체가 웹 서비스를 요청하는 단계; 및Requesting a web service by the called agent object; And 상기 에이전트 객체가 요청된 웹 서비스의 결과를 획득하여 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체에 상기 결과를 전달하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And obtaining, by the agent object, a result of the requested web service and transmitting the result to an object of the grid distributed object-oriented programming middleware system. 제 3 항에 있어서,The method of claim 3, wherein 상기 시스템의 객체에 전달하는 단계는,Delivering to an object of the system, 상기 객체 매니저에 상기 에이전트 객체에 대한 참조가 존재하지 않는 경우 에이전트 객체를 생성하고 상기 에이전트 객체를 상기 객체 매니저에 등록하는 단계; 및Creating an agent object and registering the agent object with the object manager when there is no reference to the agent object in the object manager; And 상기 생성된 에이전트 객체의 참조를 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체에 전달하는 단계를 더 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And transmitting a reference of the generated agent object to an object of the grid distributed object oriented programming middleware system. 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 객체를 생성하고 상기 객체를 상기 객체 매니저에 등록하는 단계;Creating an object manager and an object of a grid distributed object-oriented programming middleware system and registering the object with the object manager; 상기 시스템의 서번트 객체와 로컬 에이전트 객체를 생성하는 단계;Creating a servant object and a local agent object of the system; 상기 로컬 에이전트 객체의 참조를 상기 서번트 객체에 등록하는 단계; 및Registering a reference to the local agent object with the servant object; And 상기 등록된 에이전트 객체의 참조로부터 상기 서번트 객체가 웹 서비스를 획득하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And obtaining a web service by the servant object from a reference of the registered agent object. 제 6 항에 있어서,The method of claim 6, 상기 웹 서비스를 획득하는 단계는,Acquiring the web service, 상기 서번트 객체가 상기 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 사용자 코드를 사용하여 로컬 에이전트 객체를 호출하는 단계;The servant object calling a local agent object using user code of the grid distributed object-oriented programming middleware system; 상기 호출된 로컬 에이전트 객체가 웹 서비스를 요청하는 단계; 및Requesting a web service by the called local agent object; And 상기 로컬 에이전트 객체가 상기 요청된 웹 서비스의 결과를 획득하여 상기 서번트 객체에 상기 결과를 전달하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 획득방법.And obtaining, by the local agent object, the result of the requested web service and delivering the result to the servant object. 그리드 분산 객체지향 프로그래밍 미들웨어 시스템의 객체 매니저와 어플리케이션 객체를 생성하고, 상기 시스템의 어플리케이션 객체를 상기 객체 매니저에 등록하는 단계;Creating an object manager and an application object of a grid distributed object-oriented programming middleware system and registering an application object of the system with the object manager; 상기 객체 매니저가 인터페이스 객체를 생성하고, 상기 인터페이스 객체를 상기 객체 매니저에 등록하는 단계;Creating, by the object manager, an interface object and registering the interface object with the object manager; 상기 인터페이스 객체가 제공할 웹 서비스를 웹 서비스 거래소에 등록하는 단계; 및Registering a web service to be provided by the interface object on a web service exchange; And 상기 웹 서비스 거래소에 등록된 웹 서비스에 대하여 외부 사용자의 요청이 있는 경우 상기 인터페이스 객체가 웹 서비스를 제공하는 단계를 포함하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 제공방법.The web service providing method applying a grid object-oriented programming middleware system comprising the step of the interface object to provide a web service when a request of an external user for a web service registered in the web service exchange. 제 8 항에 대하여,About claim 8 상기 인터페이스 객체가 웹 서비스를 제공하는 단계는,The providing of the web service by the interface object may include: 상기 웹 서비스를 획득하려는 외부 사용자가 상기 웹 서비스 거래소를 통하여 상기 인터페이스 객체의 참조를 검색하는 단계; 및Retrieving a reference of the interface object through the web service exchange by an external user who wants to obtain the web service; And 상기 인터페이스 객체가 상기 참조로부터 웹 서비스 기술언어를 획득한 외부 사용자에게 웹 서비스를 제공하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 미들웨어 시스템을 적용한 웹 서비스 제공방법.Providing a web service to an external user whose interface object has obtained a web service description language from the reference. 제 8 항에 대하여,About claim 8 상기 웹 서비스 거래소에 등록하는 단계는, Registering with the web service exchange , 상기 인터페이스 객체가 웹 서버 모듈을 포함하는 경우 상기 인터페이스 객체의 웹 서버 모듈을 상기 웹 서비스 거래소에 등록하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 시스템을 적용한 웹 서비스 제공방법. And registering the web server module of the interface object on the web service exchange if the interface object includes a web server module. 제 8 항에 대하여,About claim 8 상기 웹 서비스 거래소에 등록하는 단계는,Registering with the web service exchange, 상기 인터페이스 객체 외부의 웹 서버와 연동하여 웹 서비스를 제공하는 경우 상기 제공할 웹 서비스의 내용을 외부 웹 서버에 등록을 하는 단계; 및Registering a content of the web service to be provided with an external web server when providing a web service in connection with a web server outside the interface object; And 상기 웹 서버를 상기 웹 서비스 거래소에 등록하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 시스템을 적용한 웹 서비스 제공방법.And registering the web server on the web service exchange. 제 9 항에 대하여,About claim 9 상기 웹 서비스 기술언어를 획득한 외부 사용자에게 웹 서비스를 제공하는 단계는,Providing a web service to an external user who has obtained the web service description language, 상기 인터페이스 객체가 상기 웹 서비스 기술언어를 획득한 외부 사용자로부터 단순 객체 접근 프로토콜 호출을 수신하는 단계;Receiving, by the interface object, a simple object access protocol call from an external user who has obtained the web service description language; 상기 인터페이스 객체의 웹 서비스 구현체가 상기 단순 객체 접근 프로토콜 메세지를 원격 메소드 호출 메세지로 전환하는 단계;The web service implementation of the interface object converting the simple object access protocol message into a remote method invocation message; 상기 전환된 원격 메소드 호출 메세지를 상기 어플리케이션 객체에 원격 메소드 호출을 하는 단계; 및Making a remote method call to the application object with the diverted remote method call message; And 상기 어플리케이션 객체로부터 상기 원격 메소드 호출에 대한 응답을 받은 인터페이스 객체가 외부 사용자에게 웹 서비스를 제공하는 단계를 포함하는 것을 특징으로 하는 그리드 객체지향 프로그래밍 시스템을 적용한 웹 서비스 제공방법.And providing, by an interface object receiving a response to the remote method call from the application object, a web service to an external user.
KR1020060032856A 2005-12-30 2006-04-11 Web service obtaining method using distributed object oriented programming middleware system on grid and Web service offering method using the same KR100793820B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050135991 2005-12-30
KR20050135991 2005-12-30

Publications (2)

Publication Number Publication Date
KR20070072308A true KR20070072308A (en) 2007-07-04
KR100793820B1 KR100793820B1 (en) 2008-01-21

Family

ID=38507346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060032856A KR100793820B1 (en) 2005-12-30 2006-04-11 Web service obtaining method using distributed object oriented programming middleware system on grid and Web service offering method using the same

Country Status (1)

Country Link
KR (1) KR100793820B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101381014B1 (en) * 2005-12-29 2014-04-04 아마존 테크놀로지스, 인크. Distributed replica storage system with web services interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2515259B2 (en) * 1987-07-01 1996-07-10 ダイセル化学工業株式会社 Pyrone-3-carboxamide compound and herbicide
KR100475668B1 (en) * 2002-12-23 2005-03-10 한국과학기술정보연구원 Apparatus and method of providing information for grid resources in grid network and computer readable recording medium of recording process thereof
KR100584193B1 (en) * 2004-01-29 2006-05-26 한국과학기술정보연구원 A Grid MPI Job Allocation System and Method using File-based MPI initialization in Grid Computing System
JP2006048272A (en) * 2004-08-03 2006-02-16 Canon Inc Printing device applied with grid computing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101381014B1 (en) * 2005-12-29 2014-04-04 아마존 테크놀로지스, 인크. Distributed replica storage system with web services interface
KR101434128B1 (en) * 2005-12-29 2014-08-26 아마존 테크놀로지스, 인크. Distributed replica storage system with web services interface

Also Published As

Publication number Publication date
KR100793820B1 (en) 2008-01-21

Similar Documents

Publication Publication Date Title
JP3853593B2 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US7085805B1 (en) Remote device management in grouped server environment
US6807580B2 (en) Method and apparatus for communicating among a network of servers
JP3853592B2 (en) Distributed web application server
Foster et al. The physiology of the grid
US6026404A (en) Method and system for executing and operation in a distributed environment
JP5582344B2 (en) Connection management system and connection management server linkage method in thin client system
US8898274B2 (en) Grid proxy architecture for network resources
CA2462271C (en) Methods for distributed program execution with file-type association in a client-server network
US7418708B2 (en) JMS integration into an application server
US20070180280A1 (en) Controlling the allocation of power to a plurality of computers whose supply of power is managed by a common power manager
US20030074393A1 (en) Methods for distributed program execution with file-type association in a client-server network
WO2011144029A1 (en) Cloud service agency, cloud computing method and cloud system
KR20050084802A (en) Remote dynamic configuration of a web server to provide capacity on demand
US6708171B1 (en) Network proxy
JPH04230567A (en) Dispersed type constitution profile for computing system
JP2003533766A (en) Mechanisms and apparatus for accessing and addressing services in a distributed computing environment
CA2358131A1 (en) Dynamic class loading
US7584239B1 (en) System architecture for wide-area workstation management
CN101631134A (en) Network message exchange service manager for distributed type computing environment
KR100793820B1 (en) Web service obtaining method using distributed object oriented programming middleware system on grid and Web service offering method using the same
Chapman et al. Condor services for the Global Grid: Interoperability between Condor and OGSA
Wang et al. The meteorological cloud desktop system of cma meteorological observation center
Byun et al. DynaGrid: A dynamic service deployment and resource migration framework for WSRF-compliant applications
Grimshaw et al. Grid services extend Web services

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140206

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150109

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 9

R401 Registration of restoration
LAPS Lapse due to unpaid annual fee