KR101181879B1 - Method and system for providing web service by using middleware plug-in - Google Patents
Method and system for providing web service by using middleware plug-in Download PDFInfo
- Publication number
- KR101181879B1 KR101181879B1 KR1020080131438A KR20080131438A KR101181879B1 KR 101181879 B1 KR101181879 B1 KR 101181879B1 KR 1020080131438 A KR1020080131438 A KR 1020080131438A KR 20080131438 A KR20080131438 A KR 20080131438A KR 101181879 B1 KR101181879 B1 KR 101181879B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- web browser
- application program
- web
- window area
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
인터넷 상으로 수신되는 웹 페이지를 사용자에게 제공하는 웹 브라우저에 플러그인되어 상기 웹 페이지와 연관된 응용프로그램을 제어하는 시스템 및 방법이 제공된다. 본 발명의 웹 서비스 제공 시스템 또는 방법은 웹 브라우저에 플러그인 되어 웹 브라우저와 연동하여 동작하는 응용프로그램을 웹 브라우저와 별도의 프로세스에서 구동시키고, 웹 브라우저 및 상기 응용프로그램이 서로 데이터를 주고 받을 수 있도록 한다. 본 발명의 웹 서비스 제공 시스템 및 방법은 응용프로그램의 상태를 점검하여 오동작하거나 비정상종료되는 경우 상기 응용프로그램을 다시 구동시킬 수 있다. 따라서, 본 발명에 따르면 웹 브라우저와 연동하여 동작하는 응용프로그램이 오동작하거나 비정상종료되는 경우에도 웹 브라우저를 정상적으로 사용할 수 있는 효과가 있다.
웹 브라우저, 플러그인, 미들웨어, 웹 서비스, PLUG-IN, MIDDLEWARE
A system and method are provided that plug into a web browser that provides a web page received over the Internet to a user to control an application associated with the web page. The web service providing system or method of the present invention plugs into a web browser and runs an application program that operates in conjunction with the web browser in a separate process from the web browser, so that the web browser and the application program can exchange data with each other. . The web service providing system and method of the present invention may check the state of an application and re-run the application if it malfunctions or is abnormally terminated. Therefore, according to the present invention, even when an application program operating in conjunction with a web browser malfunctions or abnormally terminates, the web browser can be normally used.
Web Browsers, Plug-ins, Middleware, Web Services, PLUG-IN, MIDDLEWARE
Description
본 발명은 미들웨어 플러그인을 이용하여 웹 서비스를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing a web service using a middleware plug-in.
최근 인터넷이 널리 사용되면서 다양한 분야에서 인터넷을 사용한 서비스를 제공하고 있다. 특히, 이미지 및 텍스트를 기반으로 하는 HTML언어를 이용하였기 때문에, 주로 2차원 이미지 및 텍스트 서비스가 제공되던 이전의 인터넷 웹 서비스와는 달리, 최근에는 웹 브라우저에 플러그인 되는 Active-X 등의 기술을 이용함으로써, 사용자에게 3차원 영상을 제공하거나, 인터넷 뱅킹 등과 같이 보안이 강화된 서비스를 제공하는 등 보다 다양한 서비스가 인터넷을 통하여 사용자에게 제공되게 되었다.Recently, as the Internet is widely used, various fields provide services using the Internet. In particular, because the HTML language based on images and text is used, unlike the previous Internet web services, which mainly provided two-dimensional image and text services, recently, technology such as Active-X that is plugged into a web browser is used. As a result, more various services are provided to the user through the Internet, such as providing a 3D image to the user or providing a security-enhanced service such as Internet banking.
이와 같이 웹 브라우저에 플러그인 되는 모듈을 이용하게 되면, 서버 측에서 처리된 화면을 단말장치가 웹 브라우저를 통하여 단순히 사용자에게 보여주기만 하던 것을 벗어나서, 단말장치가 서버 측과 통신하며 보다 큰 데이터 또는 실시간 데이터를 수신하고, 필요한 연산을 직접 수행하여 보다 광범위한 정보를 사용자에게 제공할 수 있다.When the module plugged into the web browser is used, the terminal device communicates with the server side without the terminal device simply showing the user to the user through the web browser. Can receive and perform the necessary operations directly to provide a wider range of information to the user.
특히, 3차원 그래픽 영상을 사용자에게 제공하고자 하는 경우, 많은 사용자가 서버에 접속하는 경우 3차원 그래픽의 처리를 서버 측에서 모두 수행하게 된다면 그 연산이 서버 측에는 커다란 부담이 될 수 있으므로, 각 사용자의 단말장치에서 서버측으로부터 정보를 수신하여 이를 기초로 3차원 그래픽 처리를 위한 연산을 수행하는 것이 효율적이다.In particular, when a user wants to provide a 3D graphic image to a user, when a large number of users access the server, if the processing of the 3D graphic is performed on the server side, the operation may be a huge burden on the server side. It is efficient to receive information from the server side in the terminal device and perform an operation for 3D graphics processing based on the information.
또한, HTTP 프로토콜은 서버 및 단말장치가 연결을 유지하며 실시간으로 데이터를 주고 받는 것이 아니라, 단말장치의 요청(Request)에 대한 서버 측의 응답(Response)을 통하여 데이터를 주고 받는 방식이므로, 단순히 서버에서 전달하는 화면을 단말장치에서 사용자에게 보여주는 방식으로는 실시간 서비스를 제공하는 데에 한계가 있다. 따라서, 실시간 서비스 제공을 위해서는 단말장치의 특정 프로그램이 서버와 연결을 설정하여 서버에서 제공하는 정보를 수신하고 이를 처리하여 사용자에게 서비스를 제공할 필요가 있다.In addition, the HTTP protocol is a method in which a server and a terminal device maintain a connection and transmit and receive data in real time, and transmit and receive data through a server side response to a request of the terminal device. There is a limit to providing a real-time service in the manner of showing the screen delivered to the user in the terminal device. Therefore, in order to provide a real-time service, a specific program of a terminal device needs to establish a connection with a server to receive information provided from the server and process the same to provide a service to a user.
도 1은 상술한 플러그인 모듈을 이용하여 3차원 그래픽 서비스를 제공하는 화면을 도시하는 도면이다.1 is a diagram illustrating a screen for providing a 3D graphic service using the plug-in module described above.
도 1에 도시한 바와 같이, 웹 브라우저에서 웹 페이지의 일부에 3차원 그래픽 화면을 제공해야 하는 경우, 웹 페이지의 일부 공간에 플러그인 모듈에서 제공하는 화면(110)이 제공되게 된다. 이와 같이 플러그인 모듈을 이용하면 상술한 바와 같이 단말장치에서 그래픽 연산을 처리하거나 서버와 통신을 통하여 실시간 데이터를 제공하도록 할 수 있으면서, 웹 브라우저에서 제공되는 웹 페이지 화면의 일부에 포함되어 화면을 제공할 수 있으므로, 사용자가 익숙한 웹 브라우저를 통하여 다양한 서비스를 제공받을 수 있게 한다.As shown in FIG. 1, when a web browser needs to provide a 3D graphic screen to a part of a web page, the
이와 같이 웹 브라우저에 특정 기능을 수행하는 모듈을 플러그인 시켜 서비스를 제공하는 경우, 단말장치에서 웹 브라우저를 실행하는 프로세스가 부가된 플러그인의 동작을 모두 제어하며, 따라서, 웹 브라우저와 플러그인은 프로세스 내에 많은 자원을 공유하여 사용하게 된다. 만일 하나의 웹 브라우저에서 둘 이상의 플러그인이 사용된다면, 둘 이상의 플러그인 모두 웹 브라우저를 실행하는 프로세스의 제어를 받게 되며, 프로세스의 자원들을 웹 브라우저와 공유한다.When providing a service by plugging a module that performs a specific function in a web browser as described above, the process of executing a web browser on a terminal device controls all operations of a plug-in added thereto. Resources will be shared. If more than one plug-in is used in a web browser, both plug-ins are under the control of the process running the web browser and share the process's resources with the web browser.
도 2는 이와 같은 종래 기술에 따라 플러그인 모듈을 이용하여 웹 서비스를 제공하는 경우의 구성도를 도시한 도면이다.2 is a diagram illustrating a configuration of providing a web service using a plug-in module according to the related art.
도시된 바와 같이, 플러그인 모듈(230)이 웹 브라우저(210)와 동일한 프로세스(250)에 의해서 처리되기 때문에, 플러그인 모듈(230) 자체 동작에서 문제가 발생하거나, 플러그인 모듈(230)과 웹 브라우저(210) 사이 또는 둘 이상의 플러그인 모듈 사이에서 공유되는 자원의 충돌 등으로 인하여 문제가 발생하는 경우, 문제가 있는 부분뿐만 아니라, 웹 브라우저(210) 및 연동된 플러그인 모듈(230) 모두가 제대로 동작할 수 없게 된다.As shown, since the plug-in
즉, 웹 브라우저(210)에 플러그인 된 플러그인 모듈(230)에서 오류가 발생한 경우, 해당 플러그인 모듈(230)뿐만 아니라, 웹 브라우저(210) 전체에 문제가 발생하게 되어, 사용자가 웹 브라우저(210)를 강제 종료시키고, 다시 새로운 웹 브라우저를 구동시키고 해당 웹 페이지에 다시 접속해야 하는 불편함이 있다.That is, when an error occurs in the plug-in
본 발명은 웹 브라우저에 연동되어 서비스를 제공하는 응용프로그램에 문제가 발생하더라도, 웹 브라우저를 정상적으로 사용할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.The present invention can provide a system and method for allowing a web browser to be used normally even when a problem occurs in an application program providing a service in connection with the web browser.
본 발명에 따르면, 웹 브라우저에 연동되어 서비스를 제공하는 응용프로그램이 오작동하거나 비정상종료 되면 다시 응용프로그램이 구동되어 서비스를 제공할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.According to the present invention, a system and method for interworking with a web browser to provide a service when an application program providing a service malfunctions or terminates abnormally can be provided.
본 발명의 일실시예에 따른 웹 서비스 제공 시스템은 CPU 및 메모리를 구비한 인터넷 단말장치에 적용될 수 있다. 상기 웹 서비스 제공 시스템은 인터넷을 통하여 수신 되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저, 상기 웹 브라우저의 요청에 따라 동작하는 응용프로그램을 저장하는 기록장치 및 상기 웹 브라우저에 플러그인 되고 상기 응용프로그램을 제어하는 플러그인 모듈을 포함할 수 있다.Web service providing system according to an embodiment of the present invention can be applied to an Internet terminal device having a CPU and a memory. The web service providing system includes a web browser that provides a web page received through the Internet to a user through a display screen, a recording device that stores an application program operated at the request of the web browser, and is plugged into the web browser. It can include plug-in modules that control the program.
이 때, 상기 플러그인 모듈은 상기 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키고, 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송 할 수 있다.At this time, the plug-in module accesses the recording device and drives the application program to operate in a separate process from the web browser at the request of the web browser, and drives the control message received from the web browser. An application program may be transmitted, and data received from the driven application program may be transmitted to the web browser.
본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템은 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저에 플러그인 되어 소정의 기록장치에 저장된 응용프로그램을 제어할 수 있다. 상기 웹 서비스 제공 시스템은 상기 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 구동부, 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 인터페이스부 및 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 인터페이스부를 통하여 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 중계부를 포함할 수 있다.The web service providing system according to another embodiment of the present invention may control an application program stored in a predetermined recording apparatus by being plugged into a web browser that provides a user with a web page received through the Internet through a display screen. The web service providing system is a driving unit for accessing the recording device at the request of the web browser to drive the application program to operate in a separate process from the web browser, and to exchange data with the driven application program. An interface unit for establishing a connection, and a relay unit for transmitting a control message received from the web browser to the driven application program through the interface unit, and transmitting data received from the driven application program to the web browser. have.
이 때, 상기 웹 서비스 제공 시스템은 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 저장하는 응용프로그램 주소 관리부를 더 포함하고, 상기 구동부는 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 구동시킬 수 있다.In this case, the web service providing system further includes an application address management unit for storing address information indicating a location where the application program is stored in the recording device, and the driving unit accesses the recording device based on the address information. To drive the application program.
이 때, 상기 웹 서비스 제공 시스템은 상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어하는 위치 제어부를 더 포함할 수 있다.At this time, the web service providing system receives information on the window area that the application program should be shown on the display screen from the web browser, and the application program is displayed on the display screen based on the received information. The apparatus may further include a position controller for controlling to be displayed in the area.
이 때, 상기 웹 서비스 제공 시스템은 상기 응용프로그램의 상태를 점검하 여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하는 상태 점검부를 더 포함하고, 상기 응용프로그램이 오동작하거나 비정상종료된 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다.At this time, the web service providing system further comprises a status check unit for checking whether the application is malfunctioning or abnormal termination by checking the state of the application, if the application is malfunctioning or abnormal termination, You can run the application again to run in a separate process.
본 발명의 일실시예에 따른 웹 서비스 제공 방법은 CPU 및 메모리를 구비한 인터넷 단말장치에서 소정의 기록장치에 저장된 응용프로그램을 제어하여 디스플레이 화면을 통해 사용자에게 웹 서비스를 제공할 수 있다. 상기 웹 서비스 제공 방법은 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 단계, 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 단계, 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하는 단계 및 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 단계를 포함할 수 있다.The web service providing method according to an embodiment of the present invention may provide a web service to a user through a display screen by controlling an application program stored in a predetermined recording device in an internet terminal having a CPU and a memory. The web service providing method may include, in response to a request of a web browser, driving the application program to operate in a separate process from the web browser by accessing the recording device, and connecting data to and from the driven application program. And setting a control unit, transmitting a control message received from the web browser to the driven application program, and transmitting data received from the driven application program to the web browser.
이 때, 상기 웹 서비스 제공 방법은 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 유지하는 단계를 더 포함하고, 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 구동시킬 수 있다.The web service providing method may further include maintaining address information indicating a location where the application program is stored in the recording apparatus, and accessing the recording apparatus based on the address information to drive the application program. You can.
본 발명에 따르면 웹 브라우저에 별도의 프로세스에서 동작하는 응용프로그램을 연동시켜 다양한 웹 서비스를 제공할 수 있는 효과가 있다.According to the present invention, it is possible to provide various web services by interworking an application program operating in a separate process to a web browser.
본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법을 이용하면, 응용프로그램에 오류가 발생되는 경우에도 웹 브라우저를 정상적으로 이용하는 것이 가능하다.Using the web service providing system and method according to an embodiment of the present invention, it is possible to use a web browser normally even when an error occurs in an application program.
또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저에 플러그인 되는 모듈이 웹 브라우저와 공유하는 리소스를 최소화 함으로써, 웹 브라우저와 플러그인 모듈 또는 하나의 웹 브라우저에 플러그인 된 복수의 플러그인 모듈 사이의 충돌로 인한 문제 발생의 가능성을 최소화할 수 있는 효과가 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, by minimizing resources shared by the web browser module to be plugged into the web browser, a plurality of web browser and plug-in modules or plugged into one web browser There is an effect that can minimize the possibility of problems caused by conflicts between plug-in modules of.
또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저와 연동하여 동작하는 응용프로그램이 오작동하거나 비정상종료하는 경우 이를 확인하여 응용프로그램을 다시 구동시킴으로써, 사용자가 별도의 동작을 취하지 않고도 문제를 해결할 수 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, if the application operating in conjunction with the web browser malfunctions or abnormal termination of the application by re-running the application, a separate operation by the user Problems can be solved without taking
또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저와 연동하여 동작하는 응용프로그램이 제공하는 화면을 웹 브라우저가 지정하는 윈도우 영역 내에서 제공하도록 함으로써, 사용자가 웹 브라우저 및 응용프로그램이 각각 별도로 동작중이라는 사실을 인식하지 못하고 자연스럽게 웹 서비스를 이용할 수 있도록 하는 효과가 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, by providing a screen provided by the web browser to the screen provided by the application program operating in conjunction with the web browser, the user by the web browser And it does not recognize the fact that each application is running separately, there is an effect that allows you to use the web services naturally.
또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 플러그인 모듈이 복수의 응용프로그램을 제어함으로써, 웹 브라우저에 하나의 플러그인 모듈을 플러그인하는 것만으로, 복수의 응용프로그램이 플러그인 된 것과 같은 효과를 얻을 수 있어, 복수의 플러그인 모듈 사이의 충돌을 방지할 수 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, the plug-in module controls a plurality of applications, by simply plugging in one plug-in module to the web browser, a plurality of applications are plugged in The same effect can be obtained, and collision between a plurality of plug-in modules can be prevented.
이하에서, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.
본 발명에 따른 웹 서비스 제공 시스템은 중앙처리장치(CPU) 및 메모리(Memory, 기억장치)를 구비하는 인터넷 단말장치에 적용될 수 있다. 그러나, 중앙처리장치 및 메모리 등의 구성에 따라 본 발명이 한정되지는 아니한다. 상기 인터넷 단말장치는 일반적으로 사용되는 개인용 컴퓨터(PC) 외에도 인터넷 연결이 가능한 PDA, 휴대전화 등의 장치를 포함할 수 있다.The web service providing system according to the present invention can be applied to an Internet terminal having a central processing unit (CPU) and a memory (Memory). However, the present invention is not limited to the configuration of the central processing unit and the memory. The Internet terminal device may include a device such as a PDA, a mobile phone, etc., which can be connected to the Internet, in addition to a personal computer (PC) that is generally used.
도 3은 본 발명의 일실시예에 따른 웹 서비스 제공 시스템을 개략적으로 도시하는 도면이다.3 is a diagram schematically illustrating a web service providing system according to an embodiment of the present invention.
웹 브라우저(210)는 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공한다. 웹 페이지의 수신은 HTTP 프로토콜을 이용할 수 있으며, 웹 페이지의 내용은 HTML등의 언어를 이용하여 구성될 수 있다.The
웹 브라우저(210)는 플러그인 모듈(310)을 플러그인 할 수 있어야 한다. 웹 브라우저(210)에 플러그인 모듈(310)이 플러그인 되면, 하나의 프로세스(250)가 웹 브라우저(210) 및 플러그인 모듈(310)을 모두 제어하게 된다. 따라서, 웹 브라우저(210) 및 플러그인 모듈(310)은 프로세스(250)상에 공유되는 정보들을 함께 이용하게 되는데, 이 과정에서 충돌이 발생하여 오류가 발생되는 경우가 있다. 이에 따라, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템에서는 플러그인 모 듈(310)이 이용하는 프로세스(250)상의 공유 정보를 최소화함으로써, 웹 브라우저(210) 및 플러그인 모듈(310)사이의 충돌을 방지할 수 있다.The
플러그인 모듈(310)은 웹 브라우저(210)에 플러그인 되어, 응용프로그램(320)을 제어한다. 상술한 바와 같이 플러그인 모듈(310)은 웹 브라우저(210)과의 충돌을 최소화할 수 있도록, 응용프로그램(320)을 제어하고, 웹 브라우저(210) 및 응용프로그램(320) 사이의 데이터 및 메시지를 중계하는 역할을 수행하도록 하고, 실제 사용자에게 웹 서비스를 제공하기 위하여 수행하는 동작들은 모두 응용프로그램(320)에서 수행하도록 할 수 있다.The plug-in
플러그인 모듈(310)은 웹 브라우저(210)의 요청에 따라, 응용프로그램(320)을 웹 브라우저(210)과 별도의 프로세스(330)에서 동작하도록 구동시킬 수 있다. 상술한 바와 같이 실제 사용자에게 웹 서비스를 제공하기 위하여 수행하는 동작들은 모두 응용프로그램(320)에서 동작하는데, 응용프로그램(320)은 웹 브라우저(210)의 프로세스(250)과 별도의 프로세스(330)에서 동작하므로, 만일 웹 서비스를 제공하기 위하여 수행하는 동작 중에서 오류가 발생되더라도, 웹 브라우저(210)의 동작에는 영향을 주지 않게 된다. 따라서, 응용프로그램(320)에서 문제가 발생하더라도 사용자는 웹 브라우저(210)를 정상적으로 이용할 수 있는 효과가 있다.The plug-in
응용프로그램(320)은 웹 브라우저(210)에서 사용자에게 웹 서비스를 제공하기 위하여 단말장치에서 처리해야 하는 동작을 수행할 수 있다. 도 3에서와 같이 웹 브라우저(210)의 특정 영역(220)에 표시될 3차원 그래픽 화면을 처리하는 동작을 수행할 수도 있고, 인터넷 뱅킹 등에서 보안을 유지하기 위한 기능을 수행할 수 도 있다. 이 밖에도 웹 서비스를 제공하는데 있어서 필요한 동작 중 단말장치에서 수행될 수 있는 것이라면 어떤 것도 응용프로그램(320)이 수행할 수 있다.The
응용프로그램(320)은 단말장치에서 구동될 수 있는 형태라면 어떤 형태로도 가능하다. 상기 단말장치에서 동작 가능한 컴파일된 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 실행될 수 있는 고급 언어를 이용한 프로그램도 사용될 수 있다.The
응용프로그램(320)은 웹 브라우저(210)의 요청에 의해 구동되고, 웹 브라우저(210)의 요청에 따른 동작을 수행해야 하므로, 웹 브라우저(210)의 제어 명령 및 데이터를 수신하여 전달해 줄 플러그인 모듈(310)과의 연결을 설정할 수 있어야 한다. 상기 설정된 연결을 통하여 응용프로그램(320)은 웹 브라우저(210)의 제어 명령을 수신하고 필요한 데이터를 웹 브라우저(210)에 전달할 수 있다.Since the
응용프로그램(320)이 3차원 그래픽 화면 제공 등과 같이 디스플레이 화면에 보여지는 영상을 제공하기 위한 동작을 수행하는 경우에, 웹 브라우저(210)가 지정하는 윈도우 영역(220) 내에 상기 영상을 제공할 수 있다. 응용프로그램(320)이 웹 브라우저(210)와 별도의 프로세스에서 동작하지만, 디스플레이 화면에도 웹 브라우저(210)과 별도의 프로그램으로 보여지게 된다면, 사용자에게 자연스러운 웹 서비스를 제공하기 곤란하다.When the
따라서, 웹 브라우저(210)가 응용프로그램(320)에서 제공하는 영상을 보여주는 윈도우 영역(220)을 지정하면, 플러그인 모듈(310)이 응용프로그램(320)을 제어하여 상기 윈도우 영역(220) 내에 상기 영상을 제공하도록 할 수 있다.Therefore, when the
이 때, 윈도우 영역(220)은 도면에서와 같이 웹 브라우저(210)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다.In this case, the
만일 웹 브라우저(210)의 내부에 윈도우 영역(220)이 존재하는 경우, 상기 윈도우 영역(220)은 웹 브라우저(210)의 내부에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(210)의 위치가 변경되는 경우 이에 따라 윈도우 영역(220)도 변경되어 응용프로그램(320)에서 제공되는 영상이 표시되는 위치가 자연스럽게 변경될 수 있도록 할 수 있다.If the
도 4는 본 발명의 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.4 is a diagram showing the internal configuration of a web service providing system according to an embodiment of the present invention.
도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(401)은 웹 브라우저(410), 플러그인 모듈(420) 및 기록장치(430)을 포함한다. 상기한 구성요소들은 소프트웨어, 하드웨어 또는 소프트웨어 및 하드웨어가 결합된 형태로 구현될 수 있으며, 서로 연결될 수 있다. 이하 구성요소 별로 구체적으로 기술하도록 한다.As shown in the figure, the web
웹 브라우저(410)는 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공한다. 웹 서비스 제공 시스템(401)은 CPU 및 메모리를 구비한 인터넷 단말장치에 적용될 수 있는데, 웹 브라우저(410)은 이러한 단말장치에서 인터넷을 통한 서비스를 사용자에게 제공한다.The
일반적으로 웹 브라우저(210)는 사용자로부터 인터넷 주소를 입력 받고, 상 기 인터넷 주소를 도메인 네임 서버(DNS)에 전송하여 상기 인터넷 주소에 대응하는 IP 주소를 수신하고, 상기 IP 주소를 이용하여 상기 IP 주소에 대응하는 웹 서버에 접속하여 HTTP 프로토콜을 이용하여 웹 페이지를 요청하고, 그 요청에 응답하여 수신되는 웹 페이지에 포함된 HTML언어를 파싱(Parsing)하여 이를 기초로 디스플레이 화면에 웹 페이지를 표시하도록 할 수 있다.In general, the
웹 브라우저(210)의 예로는 인터넷 익스플로러 (Internet Explorer), 파이어 폭스 (Fire Fox), 넷스케이프 (Netscape), 크롬 (Chrome) 등이 있으며, 본 발명에서 웹 브라우저(210)는 이 중 어느 것에도 한정되지 아니한다.Examples of the
플러그인 모듈(420)은 상기 웹 브라우저(410)에 플러그인 되어 응용프로그램(402)을 제어한다. 플러그인 모듈(310)의 일례로 액티브엑스(Active-X) 모듈이 있으나, 본 발명은 이와 같은 플러그인 모듈(310)의 구성에 사용되는 기술에 의하여 제한되지 아니하며, 웹 브라우저에 플러그인 되고, 단말장치 내에서 응용프로그램을 웹 브라우저와 별도의 프로세스에서 구동시키고 제어할 수 있다면 어떤 형태로도 가능하다.The plug-in
플러그인 모듈(420)은 웹 브라우저(410)의 요청에 따라, 응용프로그램(402)을 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 구동시킬 수 있다. 응용프로그램(402)는 종래 기술에서 플러그인 모듈이 처리하던 연산을 처리하며, 본 발명의 플러그인 모듈(420)의 제어를 받는다. 이와 같이 응용프로그램(402)이 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 함으로써, 응용프로그램(402)과 웹 브라우저(410)의 충돌을 방지하고, 응용프로그램(402)의 오류 발생시에도 웹 브라 우저(410)의 기능을 정상적으로 이용할 수 있다.The plug-in
응용프로그램(402)은 소정의 기록장치(430)에 저장되어 있다가, 상기 플러그인 모듈(420)에 의하여 구동된다. 기록장치(430)는 하드디스크, 플로피디스크 등의 자기디스크, CD, DVD, Blu-ray Disc 등의 광학 디스크 및 플래시메모리, D-RAM 등과 같은 메모리장치를 포함할 수 있다. 이 밖에도 데이터를 기록할 수 있는 장치라면 어떤 형태라도 적용 가능하다.The
일반적으로 프로그램은 기록장치의 일부에 저장되어 있다가, 사용자 또는 다른 프로그램의 구동으로 단말장치의 메모리(주기억장치)에 로딩되어 동작하게 된다. 본 발명에서도, 응용프로그램(402)은 기록장치(430)에 저장되어 있다가, 플러그인 모듈(420)이 상기 기록장치에 접근하여 구동시키게 되면 상기 단말장치의 메모리상에서 동작하게 된다.In general, a program is stored in a part of a recording apparatus, and is loaded and operated in a memory (main memory) of the terminal apparatus by driving a user or another program. In the present invention, the
이 때, 플러그인 모듈(420)은 기록장치(430) 내에서 응용프로그램(402)이 저장되어 있는 위치를 나타내는 주소 정보를 포함할 수 있으며, 상기 주소 정보를 기초로 기록장치(430)에 접근하여 응용프로그램(402)을 구동시킬 수 있다. 상기 주소 정보는 기록장치(430)의 특성에 따라 물리적인 주소(Physical Address) 정보일 수도 있고, 논리적인 주소(Logical Address) 정보일 수도 있다. 상기 주소 정보는 응용프로그램(402)이 단말장치에 저장 및 설치된 위치를 나타낼 수 있는데, 복수의 응용프로그램(402)을 관리하면서, 플러그인 모듈(420)이 복수의 주소 정보를 관리할 수도 있고, 고정된 주소 정보를 가지고 언제나 상기 고정된 주소에 위치하는 응용프로그램(402)만을 구동시키도록 할 수도 있다.In this case, the plug-in
또한, 응용프로그램(402)이 플러그인 모듈(420)의 구동 전에 별도의 로더(loader)를 통하여 이미 상기 단말장치의 메모리에 로딩되어 있다가, 플러그인 모듈(420)의 구동요청에 따라 활성화(Activate)되는 것도 가능하다.In addition, the
플러그인 모듈(420)은 웹 브라우저로(410)부터 수신되는 제어 메시지를 상기 구동된 응용프로그램(402)으로 전송하고, 구동된 응용프로그램(402)으로부터 수신되는 데이터를 웹 브라우저(410)로 전송할 수 있다. 본 발명에서 응용프로그램(402)은 독립적으로 별도의 동작을 수행하기 위한 것이 아니라, 웹 브라우저(410)의 제어를 받아 웹 브라우저(410)가 요청하는 동작을 수행함으로써, 웹 브라우저(410)가 웹 서비스를 제공하는 것을 돕는 프로그램이다.The plug-in
따라서, 플러그인 모듈(420)은 응용프로그램(402)과 연결을 설정하고, 웹 브라우저(410)의 제어 메시지를 응용프로그램(402)에 전달하고, 응용프로그램(402)으로부터 전달되는 데이터를 웹 브라우저(410)로 전달할 수 있다.Accordingly, the plug-in
이를 위해서는 먼저 플러그인 모듈(420)이 웹 브라우저(410)와 데이터를 주고 받을 수 있어야 하는데, 이는 웹 브라우저(410)의 종류 및 상기 단말장치의 종류 또는 운영체제에 따라서 달라질 수 있다. 본 발명은 이와 같은 데이터 전달방법에 의하여 한정되지는 아니한다.To this end, the plug-in
일례로, 단말장치의 운영체제가 윈도우(windows)인 경우, 웹 브라우저(410)에서 윈도우 메시지(window message)가 발생하면 메시지 핸들러 (MessageHandler)라는 핸들러(handler)가 호출되어 플러그인 모듈(420)의 입력 처리 기능을 수행하도록 할 수 있다. 또한, 웹 브라우저(410)가 인터넷 익스플로러(Internet Explore)인 경우, Active-X 기술을 이용하여, 웹 브라우저(410)에 로딩된 웹 페이지가 스크립트(script)에서 특정 함수(function)를 호출하게 되면, 플러그인 모듈(420)의 같은 이름의 함수가 호출되어 필요한 동작을 수행하도록 할 수 있다.For example, when the operating system of the terminal device is a window, when a window message occurs in the
이와 같이 웹 브라우저(410)에 플러그인 된 플러그인 모듈(420)은 웹 브라우저(410)으로부터 메시지 또는 데이터를 수신하는 것이 가능하다.As such, the plug-in
유사하게, 인터넷 익스플로러의 경우, 플러그인 모듈(420)에서 이벤트 함수(Event Function)를 호출하면, Active-X기술을 이용하여, 자동으로 웹 브라우저(410)에 로딩된 웹 페이지의 같은 이름의 script 함수가 호출된다. 웹 브라우저(410)가 인터넷 익스플로러가 아닌 경우에도 각각의 규약에 따라 유사한 형태로 플러그인 모듈(420)과의 메시지 또는 데이터의 전달이 가능하다.Similarly, in the case of Internet Explorer, when the event function is called in the plug-in
또한 플러그인 모듈(420)은 응용프로그램(402)과 데이터를 주고 받기 위하여, 연결을 설정할 수 있는데, 소켓(Socket)등의 방법을 통하여 패킷을 직접 주고 받을 수도 있고, 공유메모리(Shared Memory) 등을 이용하여 간접적으로 데이터를 전달할 수도 있다. 이와 같은 통신방법 또한 본 발명을 제한하지 아니한다.In addition, the plug-in
플러그인 모듈(420)은 웹 브라우저(410)로부터 응용프로그램(402)이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 응용프로그램(402)이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어할 수 있다.The plug-in
종래에는 플러그인 모듈에서 3차원 그래픽 처리 등과 같은 작업을 직접 수행하고, 웹 브라우저(410)의 특정 영역내에서 처리한 결과를 화면으로 제공하였다. 따라서, 웹 브라우저(410)에서 보여지는 웹 페이지의 다른 부분과 유기적으로 연결되는 서비스를 제공할 수 있다. 그런데, 본 발명에 따르면, 웹 브라우저(410)와 별도의 프로세스에서 동작하는 응용프로그램(402)에서 작업을 처리하도록 하고 있으므로, 웹 브라우저(410)와 응용프로그램(402)이 별도의 프로그램으로 따로따로 존재하는 것처럼 느껴질 가능성이 높다.Conventionally, the plug-in module directly performs operations such as 3D graphics processing, and provides a result of processing in a specific area of the
따라서, 플러그인 모듈(420)이 웹 브라우저(410)가 지정하는 윈도우 영역 내에 응용프로그램(402)이 보여지도록 응용프로그램(402)을 제어함으로써, 웹 브라우저(410)가 제공하는 웹 페이지와 일관성 있는 화면을 제공하도록 할 수 있다.Accordingly, the plug-in
이 때, 상기 윈도우 영역은 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저(410) 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(410)의 화면 스크롤(Scroll)이나, 웹 브라우저(410)의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page shown in the
특히, 웹 브라우저(410)의 스크롤 등으로, 웹 페이지 내의 윈도우 영역의 일부가 보이지 않는 영역으로 이동되는 경우, 응용프로그램(402)의 화면 중 보여져야 할 일부 영역만 보여지도록 플러그인 모듈(420)이 응용프로그램(402)을 제어할 수 있다.In particular, when a part of the window area in the web page is moved to an invisible area due to scrolling of the
또한, 플러그인 모듈(420)은 응용프로그램(402)의 상태를 점검하여 응용프 로그램(402)이 오동작하거나 비정상종료되는지 여부를 확인하고 응용프로그램(402)이 오동작하거나 비정상종료된 경우, 응용프로그램(402)을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다. 따라서, 응용프로그램(402)에서 문제가 발생하는 경우, 사용자가 응용프로그램(402)을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 플러그인 모듈(420)이 자동으로 응용프로그램(402)을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받을 수 있다.In addition, the plug-in
본 발명은 플러그인 모듈(420)이 응용프로그램(402)의 상태를 점검하는 방법에 따라 제한되지는 아니하며, 도 7에서 상태를 점검하는 방법 중 하나의 실시예를 상술하도록 한다.The present invention is not limited to the way the plug-in
그리고, 플러그인 모듈(420)은 웹 브라우저(410)가 종료되는 경우 이를 인지하여 응용프로그램(402)을 종료시키도록 할 수 있다. 웹 브라우저(410)가 정상종료 되는 경우 또는 비정상적으로 종료되는 경우에도 플러그인 모듈(420)이 인지할 수 있다면, 응용프로그램(402)을 종료시키도록 함으로써, 웹 브라우저(410) 및 응용프로그램(402)이 하나의 일관된 서비스를 제공할 수 있도록 제어 할 수 있다.In addition, the plug-in
도 5는 본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.5 is a diagram illustrating an internal configuration of a web service providing system according to another exemplary embodiment of the present invention.
도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 구동부(510), 인터페이스부(520), 중계부(530), 위치 제어부(540) 및 상태 점검부(550)을 포함한다. 상기한 구성요소들은 소프트웨어, 하드웨어 또는 소프트웨어 및 하드웨어가 결합된 형태로 구현될 수 있으며, 서로 연결될 수 있다. 이하 구성요소 별로 구체적으로 기술하도록 한다.As shown in the figure, the web
본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저(410)에 플러그인 되어 소정의 기록장치(430)에 저장된 응용프로그램(402)을 제어한다.Web
구동부(510)는 웹 브라우저(410)의 요청에 따라, 기록장치(430)에 접근하여 응용프로그램(402)을 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 구동시킬 수 있다. 구동부(510)는 별도로 저장된 응용프로그램(402)의 주소 정보를 기초로 기록장치(430)에 접근하여 응용프로그램(402)을 구동시킬 수 있는데, 상기 주소 정보는 물리적 또는 논리적 주소 정보일 수 있으며, 복수의 응용프로그램(402)을 제어하도록 구성하는 경우에는 복수의 응용프로그램(402) 각각에 대응되는 주소 정보를 복수로 보관할 수 있다.The
이와 같이 웹 브라우저(410) 및 응용프로그램(402)이 별도의 프로세스에서 동작하므로, 웹 브라우저(410) 및 응용프로그램(402) 사이의 충돌을 방지하고, 응용프로그램(402)의 동작상 문제가 발생하는 경우에도 웹 브라우저(410)를 정상적으로 이용할 수 있는 효과가 있다.As such, since the
인터페이스부(520)는 구동된 응용프로그램(402)과 데이터를 주고 받을 수 있도록 연결을 설정한다. 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)이 응용프로그램(402)을 제어하기 위해서는, 응용프로그램(402)과 데이터를 주고 받을 수 있어야 한다. 따라서, 인터페이스부(520)는 데이터를 주고 받을 수 있도 록, 응용프로그램(402)과 연결을 설정한다.The
이 때, 상기 연결은 물리적인 연결을 의미할 수도 있지만, 데이터를 주고 받을 수 있도록 논리적으로 연결되는 것을 의미할 수도 있다. 연결 방법으로는 소켓(Socket) 통신이나 공유 메모리(Shared Memory)등이 사용될 수 있는데, 데이터를 주고 받을 수 있다면 어떤 방법을 이용하여 연결되더라도 무방하다.In this case, the connection may mean a physical connection, but may also mean a logical connection to send and receive data. The connection method may be a socket communication or a shared memory. If data can be transmitted and received, it may be connected using any method.
중계부(530)는 웹 브라우저(410)로부터 수신되는 제어 메시지를 인터페이스부(520)를 통하여 구동된 응용프로그램(402)으로 전송하고, 구동된 응용프로그램(402)으로부터 수신되는 데이터를 웹 브라우저(410)로 전송한다. 응용프로그램(402)이 웹 브라우저(410)와 연동하여 동작하기 위해서는 웹 브라우저(410)와 데이터를 주고 받을 수 있어야 한다. 그런데 응용프로그램(402)은 웹 브라우저(410)와 별도의 프로세스에서 동작하므로, 둘 사이의 데이터 송수신을 제어해 주는 것이 필요하다.The
본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 응용프로그램(402)을 구동시키고 응용프로그램(402)과의 연결을 설정하였으며, 웹 브라우저(410)에 플러그인 되어 웹 브라우저(410)과 데이터를 주고 받을 수 있으므로, 응용프로그램(402) 및 웹 브라우저(410) 사이의 데이터 송수신을 중계할 수 있다.The web
따라서, 중계부(530)는 응용프로그램(402)과 연결을 설정한 인터페이스부(520)를 통하여 응용프로그램(402)과 데이터를 주고받으며, 웹 브라우저(410)와는 웹 브라우저(410) 또는 단말장치의 운영체제에서 제공하는 연결방법에 따라 데이터를 주고받아 각각에게 전달하는 역할을 수행할 수 있다.Accordingly, the
중계부(530)에서 데이터를 가공 없이 단순히 전달만 할 수도 있지만, 필요에 따라서는 전달하기에 용이한 형태 등으로 변환한 후에 전달할 수도 있다.Although the
위치 제어부(540)는 웹 브라우저로(410)부터 응용프로그램(402)이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 응용프로그램(402)이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어한다.The
이 때, 상기 윈도우 영역은 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저(410) 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(410)의 화면 스크롤(Scroll)이나, 웹 브라우저(410)의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page shown in the
상태 점검부(550)는 응용프로그램(402)의 상태를 점검하여 응용프로그램(402)이 오동작하거나 비정상종료되는지 여부를 확인한다. 만일 점검 결과 응용프로그램(402)이 오동작하거나 비정상종료된 것이 확인되면, 구동부(510)에서 응용프로그램(402)을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다. 따라서, 응용프로그램(402)에서 문제가 발생하는 경우, 사용자가 응용프로그램(402)을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 자동으로 응용프로그램(402)을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받도록 할 수 있다.The
상태 점검부(550)가 응용프로그램(402)의 상태를 점검하기 위하여 인터페이스부(520)를 통하여 응용프로그램(402)과 통신할 수도 있다. 상태 점검부(550)에서 응용프로그램(402)의 상태를 점검하는 방법은 다양한 방법이 존재할 수 있으며, 본 발명은 이에 의해 제한되지 아니한다. 도 7에서는 응용프로그램(402)의 상태를 점검하는 방법의 일례를 도시한다.The
도 6은 본 발명에 따라 응용프로그램이 소정의 윈도우 영역 내에서 보여지도록 제어하는 실시예를 도시하는 도면이다.6 is a diagram illustrating an embodiment of controlling an application to be viewed within a predetermined window area according to the present invention.
도면에 도시한 바와 같이, 웹 브라우저는 로딩된 웹 페이지의 설정에 따라 웹 페이지의 화면 중 특정 영역(610)을 윈도우 영역으로 설정할 수 있다. 웹 페이지 내에 포함되는 이미지, 텍스트 등의 데이터나, 웹 브라우저에 플러그인 된 플러그인 모듈로부터 제공되는 영상 등은 웹 페이지의 일부 영역에 배치되도록 하는 것이 용이하다. 하지만, 웹 브라우저와 별도의 프로세스에서 동작하는 응용프로그램이 제공하는 화면(620)을 웹 페이지의 특정 부분에 보여지게 하기 위해서는 별도로 응용프로그램을 제어하는 것이 요구된다.As shown in the figure, the web browser may set the
따라서, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템은 웹 브라우저로부터 상기 윈도우 영역(610)에 대한 정보를 수신하고 이를 기초로 응용프로그램의 화면을 제어할 수 있다. Accordingly, the web service providing system according to an embodiment of the present invention may receive information about the
일례로, 윈도우 영역(610)에 대한 정보는 웹 브라우저에서 웹 페이지를 표시하는 화면 내에서의 위치를 픽셀 값을 이용하여 나타내는 정보일 수 있다. 예를 들어, 웹 페이지 내의 (0,0) - (200, 200)의 영역에 윈도우 영역(610)이 위치함을 나타내는 정보가 될 수 있으며, 이런 경우에는 웹 페이지의 좌 상단에 200 * 200 픽셀의 크기로 응용프로그램이 제공하는 화면이 보여지게 된다. 특히 이런 경우에는 웹 브라우저가 디스플레이 화면 내에서 이동되거나, 스크롤(Scroll)되는 경우, 웹 브라우저에 로딩된 웹 페이지 내에서의 상대적인 위치를 나타낸 것이므로, 웹 브라우저의 이동에 따라 윈도우 영역(610)의 절대적인 위치도 이동하게 된다.For example, the information about the
또 다른 예로, 윈도우 영역(610)에 대한 정보는 윈도우 영역이 디스플레이 화면에서 절대적으로 차지하는 위치를 픽셀 값을 이용하여 나타내는 정보일 수 있다. 예를 들어, 1280 * 1024의 해상도를 가지는 디스플레이 화면의 경우, (1000, 900)부터 (1280 - 1024)까지를 윈도우 영역으로 지정하는 것과 같이, 고정된 영역에 응용프로그램이 표시될 수 있도록 제어할 수 있다. 이 경우, 디스플레이 화면의 우 하단에 응용프로그램에서 제공되는 화면이 보여지게 되며, 웹 브라우저가 이동되거나 스크롤되는 경우에도 고정된 위치를 확보하며 화면을 제공할 수 있다. 이상의 실시예들은 본 발명을 한정하지 않으며, 다른 방법을 이용하여서도 윈도우 영역을 지정할 수 있다.As another example, the information about the
도 7은 본 발명에 따른 웹 서비스 제공 시스템이 응용프로그램의 상태를 점검하는 실시예를 도시하는 도면이다.7 is a diagram illustrating an embodiment in which the web service providing system according to the present invention checks the state of an application program.
도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(401)은 응용프로그램(402)과 데이터를 주고 받을 수 있도록 연결이 설정되어 있을 수 있다.As shown in the figure, the web
상기 연결을 통하여, 웹 서비스 제공 시스템(401)이 점검 메시지를 응용프로그램(402)에 전달하면(701), 응용프로그램(402)은 상기 점검 메시지에 응답하여, 스스로 정상적으로 동작하고 있는지 상태를 확인할 수 있다(702). 상기 상태 확인 결과, 응용프로그램(402)의 상태가 확인되면, 응용프로그램(402)은 확인된 상태 메시지를 웹 서비스 제공 시스템(401)으로 전달할 수 있다(703). 웹 서비스 제공 시스템(401)은 상기 상태 메시지를 수신하고 이를 기초로 응용 프로그램의 상태를 점검하며(704), 일정 주기가 지나면 다시 점검 메시지를 전송할 수 있다(705).Through the connection, when the web
이 때, 만일 웹 서비스 제공 시스템(401)에서 점검 메시지를 전송한 후에, 소정의 시간이 지나도록 응용프로그램(402)으로부터 상태 메시지가 수신되지 않는다면, 응용프로그램(402)이 오작동하거나 비정상종료 된 것으로 간주하여 처리할 수 있다.At this time, if the status message is not received from the
이와 같은 방법을 이용하면 이미 설정된 연결을 통하여 응용프로그램(402)의 상태를 간단하게 점검할 수 있으나, 이와 같은 구체적인 방법에 의해서 본 발명이 한정되지는 아니하며, 이 밖에 다양한 방법을 통하여 응용프로그램(402)의 상태를 점검할 수 있다.Using this method, it is possible to simply check the state of the
도 8은 본 발명의 일실시예에 따른 웹 서비스 제공 방법의 흐름을 도시한 흐름도이다.8 is a flowchart illustrating a flow of a web service providing method according to an embodiment of the present invention.
도 8는 웹 서비스 제공 방법의 설명 상의 편의를 위하여 일부 필요한 기능을 예시하는 도면이므로, 이에 의하여 본 발명의 사상이 제한되지 아니한다.8 is a diagram illustrating some necessary functions for the convenience of description of the method of providing a web service, and thus the spirit of the present invention is not limited thereto.
본 발명의 일실시예에 따른 웹 서비스 제공 방법은 CPU 및 메모리를 구비한 인터넷 단말장치에서 소정의 기록장치에 저장된 응용프로그램을 제어하여 디스플레이 화면을 통해 사용자에게 웹 서비스를 제공한다.The web service providing method according to an embodiment of the present invention provides a web service to a user through a display screen by controlling an application program stored in a predetermined recording device in an internet terminal having a CPU and a memory.
웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시킨다(S801). 별도로 저장된 응용프로그램의 주소 정보를 기초로 기록장치에 접근하여 응용프로그램을 구동시킬 수 있는데, 상기 주소 정보는 물리적 또는 논리적 주소 정보일 수 있으며, 복수의 응용프로그램을 제어하도록 구성하는 경우에는 복수의 응용프로그램 각각에 대응되는 주소 정보를 복수로 보관할 수 있다.In response to a request of a web browser, the recording apparatus is accessed to drive the application program to operate in a separate process from the web browser (S801). The application may be driven by accessing the recording apparatus based on the address information of the separately stored application program. The address information may be physical or logical address information, and when configured to control the plurality of applications, the plurality of applications may be used. A plurality of address information corresponding to each program can be stored.
이와 같이 웹 브라우저 및 응용프로그램이 별도의 프로세스에서 동작하므로, 웹 브라우저 및 응용프로그램 사이의 충돌을 방지하고, 응용프로그램의 동작상 문제가 발생하는 경우에도 웹 브라우저를 정상적으로 이용할 수 있는 효과가 있다.As such, since the web browser and the application program operate in a separate process, a collision between the web browser and the application program can be prevented and the web browser can be normally used even when a problem occurs in the operation of the application program.
상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정한다(S802). 응용프로그램을 제어하기 위해서는, 응용프로그램과 데이터를 주고 받을 수 있어야 한다. 따라서, 데이터를 주고 받을 수 있도록, 응용프로그램과 연결을 설정한다.A connection is established to exchange data with the driven application program (S802). To control an application, you need to be able to send and receive data with the application. Therefore, establish a connection with the application program to send and receive data.
이 때, 상기 연결은 물리적인 연결을 의미할 수도 있지만, 데이터를 주고 받을 수 있도록 논리적으로 연결되는 것을 의미할 수도 있다. 연결 방법으로는 소켓(Socket) 통신이나 공유 메모리(Shared Memory)등이 사용될 수 있는데, 데이터를 주고 받을 수 있다면 어떤 방법을 이용하여 연결되더라도 무방하다.In this case, the connection may mean a physical connection, but may also mean a logical connection to send and receive data. The connection method may be a socket communication or a shared memory. If data can be transmitted and received, it may be connected using any method.
상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램 으로 전송한다(S803). 또한, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송한다(S804). 응용프로그램이 웹 브라우저와 연동하여 동작하기 위해서는 웹 브라우저와 데이터를 주고 받을 수 있어야 한다. 그런데 응용프로그램은 웹 브라우저와 별도의 프로세스에서 동작하므로, 둘 사이의 데이터 송수신을 제어해 주는 것이 필요하다.The control message received from the web browser is transmitted to the driven application program (S803). In addition, data received from the driven application is transmitted to the web browser (S804). In order for an application to work with a web browser, it must be able to exchange data with the web browser. However, since the application runs in a separate process from the web browser, it is necessary to control the data transmission and reception between the two.
이 때, 데이터를 가공 없이 단순히 전달만 할 수도 있지만, 필요에 따라서는 전달하기에 용이한 형태 등으로 변환한 후에 전달할 수도 있다.In this case, the data may be simply transmitted without processing, but may be transferred after converting the data into a form that is easy to deliver if necessary.
상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어한다(S805).The application program receives information about the window area to be viewed on the display screen from the web browser, and controls the application program to be displayed in the window area on the display screen based on the received information (S805). .
이 때, 상기 윈도우 영역은 웹 브라우저에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저의 화면 스크롤(scroll)이나, 웹 브라우저의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page viewed in a web browser, or may be an area fixed to a specific location on the display screen in a form of a widget or the like. When the window area is a specific area within a web page viewed in a web browser, the window area may be represented as a relative position in the web browser screen, such as scrolling the screen of the web browser or changing the position of the web browser. At the time of change, the position of the absolute window area on the display screen may change.
상기 응용프로그램의 상태를 점검하여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인한다(S806). 만일 상기 응용프로그램이 오동작하거 나 비정상종료된 것으로 확인되는 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 단계 S801을 다시 수행하도록 한다(S807). 따라서, 응용프로그램에서 문제가 발생하는 경우, 사용자가 응용프로그램을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 자동으로 응용프로그램을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받도록 할 수 있다.The state of the application is checked to determine whether the application is malfunctioning or abnormally terminated (S806). If it is determined that the application program is malfunctioning or abnormally terminated, step S801 is performed again to operate the application program in a separate process (S807). Therefore, when a problem occurs in an application program, the user can automatically restart the application program without forcing the user to terminate the application program and restarting the application program, so that the user can be provided with a web service more conveniently. .
본 발명의 일실시예에 따른 웹 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Web service providing method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
도 1은 종래 기술에 따라 플러그인 모듈을 이용하여 웹 서비스를 제공하는 화면을 도시하는 도면이다.1 is a diagram illustrating a screen for providing a web service using a plug-in module according to the related art.
도 2는 종래 기술에 따른 플러그인 모듈을 이용한 웹서비스 제공 시스템을 도시하는 도면이다.2 is a diagram illustrating a web service providing system using a plug-in module according to the related art.
도 3은 본 발명의 일실시예에 따른 웹 서비스 제공 시스템을 도시하는 도면이다.3 is a diagram illustrating a web service providing system according to an exemplary embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.4 is a diagram showing the internal configuration of a web service providing system according to an embodiment of the present invention.
도 5는 본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.5 is a diagram illustrating an internal configuration of a web service providing system according to another exemplary embodiment of the present invention.
도 6은 본 발명에 따라 응용프로그램이 소정의 윈도우영역 내에서 보여지도록 제어하는 실시예를 도시하는 도면이다.FIG. 6 is a diagram illustrating an embodiment of controlling an application program to be viewed within a predetermined window area according to the present invention.
도 7은 본 발명에 따른 웹 서비스 제공 시스템이 응용프로그램의 상태를 점검하는 실시예를 도시하는 도면이다.7 is a diagram illustrating an embodiment in which the web service providing system according to the present invention checks the state of an application program.
도 8은 본 발명의 일실시예에 따른 웹 서비스 제공 방법의 흐름을 도시한 흐름도이다.8 is a flowchart illustrating a flow of a web service providing method according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
401: 웹 서비스 제공 시스템401: web service providing system
402: 응용프로그램402: application
410: 웹 브라우저410: web browser
420: 플러그인 모듈420: plug-in module
430: 기록장치430: recording device
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131438A KR101181879B1 (en) | 2008-12-22 | 2008-12-22 | Method and system for providing web service by using middleware plug-in |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131438A KR101181879B1 (en) | 2008-12-22 | 2008-12-22 | Method and system for providing web service by using middleware plug-in |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100072895A KR20100072895A (en) | 2010-07-01 |
KR101181879B1 true KR101181879B1 (en) | 2012-09-11 |
Family
ID=42635977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080131438A KR101181879B1 (en) | 2008-12-22 | 2008-12-22 | Method and system for providing web service by using middleware plug-in |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101181879B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100717520B1 (en) | 2005-12-06 | 2007-05-11 | 주식회사 인프라웨어 | Mobile terminal providing mobile internet services and user interface method therefor |
-
2008
- 2008-12-22 KR KR1020080131438A patent/KR101181879B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100717520B1 (en) | 2005-12-06 | 2007-05-11 | 주식회사 인프라웨어 | Mobile terminal providing mobile internet services and user interface method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR20100072895A (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8359384B2 (en) | Method, system, and apparatus for communicating with a computer management device | |
US20140333509A1 (en) | System and method for communicating and interacting with a display screen using a remote device | |
KR101166797B1 (en) | System and method for browsing based on smart card, and smart card applied to the same | |
KR101512118B1 (en) | Exposing resource capabilities to web applications | |
KR101251250B1 (en) | System for performing remote control using remote device driver and method for performing the same | |
US8762544B2 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
CN103197842A (en) | Method and device for controlling application program windows | |
US10223062B1 (en) | Method and apparatus of capturing a screen image of a remotely managed machine | |
CN102770870A (en) | Specialized network fileserver | |
JP2007328419A (en) | Control program and communication system | |
US10178170B2 (en) | Browser-based virtual media administration | |
US8589954B2 (en) | Method and program for selective suspension of USB network device | |
KR20120113642A (en) | Apparatus and method for exchange data between automotive head unit and mobile device | |
US20090113017A1 (en) | Arrangements for A 3270 compatible terminal with browser capability | |
KR101181879B1 (en) | Method and system for providing web service by using middleware plug-in | |
US8984540B2 (en) | Multi-user computer system | |
WO2023179395A1 (en) | Data transmission system and method, service system, device, and storage medium | |
KR20100073245A (en) | Method and system for providing 3d contents through internet | |
US9087031B2 (en) | Method and program for selective suspension of USB device | |
CN111600883A (en) | Vehicle diagnosis method and system, electronic equipment and storage medium | |
KR20160000912A (en) | Method for providing of cloud streamming service, apparatus and system for the same, and computer readable storage medium storing script code for the same | |
WO2009108346A2 (en) | System and method for using virtual ip addresses in a multi-user server system | |
CN115934378A (en) | Service data processing method and device, electronic equipment and storage medium | |
CN102685216A (en) | Attribute display method and attribute display system of universal serial bus (USB) equipment, USB equipment and server | |
CN115174562A (en) | Remote assistance communication method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150827 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160826 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170818 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180829 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190827 Year of fee payment: 8 |