KR20090003934A - 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 - Google Patents
웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 Download PDFInfo
- Publication number
- KR20090003934A KR20090003934A KR1020070067737A KR20070067737A KR20090003934A KR 20090003934 A KR20090003934 A KR 20090003934A KR 1020070067737 A KR1020070067737 A KR 1020070067737A KR 20070067737 A KR20070067737 A KR 20070067737A KR 20090003934 A KR20090003934 A KR 20090003934A
- Authority
- KR
- South Korea
- Prior art keywords
- activeapp
- web browser
- web
- client terminal
- internet application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 관한 것으로서, 인터넷에서 월드 와이드 웹 정보를 검색하는 데 사용되는 응용 프로그램인 웹 브라우저(210) 및 인터넷 접속용의 소프트웨어로서 브라우저의 기동만으로 전 세계 웹 서버에 있는 홈 페이지를 볼 수 있도록 운영체제에 구애를 받지 않는 환경에서 웹브라우저(210)가 클라이언트 단말기(103)의 리소스를 자유롭게 접근하고 이용할 수 있도록 하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 있어서, (a) 상기 클라이언트 단말기(103)가 인터넷 통신망을 통해 웹서버(101)에 접속하는 단계; (b) 상기 웹서버(101)가 상기 클라이언트 단말기(103)에 인터넷 애플리케이션 환경인 ActiveApp(220)가 설치되어 있는지 판단하는 단계; (c) 상기(b)단계에서 상기 클라이언트 단말기(103)가 상기 ActiveApp(220)의 설치를 확인한 경우 해당 ActiveApp(220)를 실행하고, 상기 ActiveApp(220)의 미설치된 경우 해당 ActiveApp(220)를 파일서버(102)로부터 다운받아 설치한 후 실행하는 단계; 및 (f) 상기 (c)단계에서 상기 ActiveApp(220)의 설치가 완료되면, 상기 클라이언트 단말기(103)의 웹브라우저(210)와 상기 ActiveApp(220)가 통신작업이 이루어지는 단계를 포함하는 것을 특징으로 한다.
Description
본 발명은 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 관한 것으로서, 인터넷에서 월드 와이드 웹 정보를 검색하는 데 사용되는 응용 프로그램인 웹 브라우저 및 인터넷 접속용의 소프트웨어로서 브라우저의 기동만으로 전 세계 웹 서버에 있는 홈 페이지를 볼 수 있도록 하는 마이크로소프트 윈도우 2000, XP, 2003 및 Vista 등의 운영체제에 구애를 받지 않는 환경에서 웹브라우저가 클라이언트 컴퓨터의 리소스를 자유롭게 접근하고 이용할 수 있도록 하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 관한 것이다.
일반적으로, 인터넷 애플리케이션이란 HTML(Hypertext Markup Language)만으로는 구현하기 어려운 작업들을 구현해 줌으로써 인터넷 사이트보다 유용하고 편리하게 만들어주는 인터넷 기술이다.
대표적인 인터넷 애플리케이션으로 마이크로소프트의 액티브엑스(Active-X), 매크로미디어사의 플래시(Flash), 썬마이크로시스템즈의 자바애플릿(Java Applet) 및 자바스크립트(Java script) 등이 있다.
이러한 인터넷 애플리케이션은 인터넷 사이트를 윤택하게 하기 위한 목적뿐만 아니라, 웹브라우저에서 기본적으로 제공해 주지 못하는 기능을 추가로 제공하기 위해 사용된다. 특히, 국내의 특수한 보안 환경으로 인해 웹브라우저가 기본으로 제공하지 못하는 국내 표준 암호알고리즘을 제공하기 위해, 키보드 보안과 개인용 침입차단서비스 그리고 안티바이러스 기능 등을 웹브라우저에서 제공하기 위해 사용된다.
상술한 환경을 만족하기 위해 국내에서 가장 많이 사용되는 인터넷 애플리케이션이 액티브에스인데, 액티브엑스는 강력하지만 윈도우즈 운영체제와 인터넷익스플로러에서만 동작함으로써 파이어폭스나 사파리와 같은 브라우저에서는 사용할 수 없는 호환성 부재와 보안상 문제점이 있다.
특히, 윈도우즈 비스타가 출시됨에 따라 액티브엑스를 사용하는 인터넷 애플리케이션은 동작에 많은 제약이 가해지게 되었으며, 한국 내의 대부분의 웹사이트들이 이로 인해 서비스를 변경해야 하는 문제점을 안고 있다.
또한, 리눅스와 유닉스를 사용하는 사용자는 액티브엑스 기술이 적용된 웹사이트를 이용할 수 없는 문제점이 있다.
상술한 문제점을 해결하기 위한 대안으로 자바애플릿이 거론되고 있지만 반드시 자바가상머신을 설치해야 하며, 인터넷 익스플로러에서는 자바 가상 머신에 대한 더 이상의 업그레이드를 제공하지 않음으로써 향후 다양한 기능의 구현에 문제가 있다. 또한, 이미 모든 기능들이 액티브엑스에 맞추어 ANSI C나 Visual C++로 구현되어 있는 상황에서 이를 다시 Java환경으로 변경한다는 것이 매우 어려운 현실이다.
따라서, 웹 표준을 준수하는 다양한 운영체제, 다양한 브라우저들과 호환성을 갖추고, 이미 존재하는 브라우저의 확장 기능을 전혀 다른 프로그램밍 언어로 변경하지 않으면서 기존의 웹 애플리케이션의 기능을 모두 지원할 수 있는 기술의 마련이 시급해 왔다.
상기 문제점들을 해결하기 위해 인터넷의 월드 와이드 웹 정보를 검색하는 데 사용되는 응용 프로그램인 웹 브라우저(210) 및 인터넷 접속용의 소프트웨어로서 브라우저의 기동만으로 전 세계 웹 서버에 있는 홈 페이지를 볼 수 있도록 운영체제에 구애를 받지 않는 환경에서 웹브라우저(210)가 클라이언트 단말기(103)의 리소스를 자유롭게 접근하고 이용할 수 있도록 하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 있어서,(a) 상기 클라이언트 단말기(103)가 인터넷 통신망을 통해 웹서버(101)에 접속하는 단계;(b) 상기 웹서버(101)에 접속한 상기 클라이언트 단말기(103)의 웹페이지(211)가 해당 클라이언트 단말기(103)에 인터넷 애플리케이션 환경인 ActiveApp(220)가 설치되어 있는지 판단하는 단계;(c) 상기(b)단계에서 상기 클라이언트 단말기(103)가 상기 ActiveApp(220)의 설치를 확인한 경우 해당 ActiveApp(220)를 실행하지만, 상기 ActiveApp(220)의 미설 치를 확인한 경우 해당 ActiveApp(220)를 파일서버(102)로부터 다운받아 설치한 후 실행하는 단계; 및(f) 상기 (c)단계에서 상기 ActiveApp(220)의 설치가 완료되면, 상기 클라이언트 단말기(103)의 웹브라우저(210)와 상기 ActiveApp(220)가 통신작업이 이루어지는 단계를 포함하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법 제공하는 것이다.
본 발명에 나타난 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법은 사용자와 서비스 제공자가 표준 HTML 태그와 Client-Side Script, Flash, HTTP 프로토콜만을 이용함으로써 웹브라우저, 운영체제, 프로그래밍 언어의 종류와 관계없이 서비스 제공과 이용이 모두 가능하다는 효과가 있다.
또한, 웹 애플리케이션(222)에서는 기존의 애플리케이션을 개발하는 것과 마찬가지로 기존의 개발 플랫폼과 API(Application Programming Interface)를 그대로 사용할 수 있으므로 자원의 활용을 극대화하고 인터넷 환경의 변화를 최소화할 수 있는 효과가 있다.
상기 목적을 달성하기 위한 본 발명의 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법은 인터넷에서 월드 와이드 웹 정보를 검색하는 데 사용되는 응용 프로그램인 웹 브라우저(210) 및 인터넷 접속용의 소프트웨어로서 브라우저의 기동만으로 전 세계 웹 서버에 있는 홈 페이지를 볼 수 있도록 운영체제에 구애를 받지 않는 환경에서 웹브라우저(210)가 클라이언트 단말기(103)의 리소 스를 자유롭게 접근하고 이용할 수 있도록 하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 있어서, (a) 상기 클라이언트 단말기(103)가 인터넷 통신망을 통해 웹서버(101)에 접속하는 단계; (b) 상기 웹서버(101)가 상기 클라이언트 단말기(103)에 인터넷 애플리케이션 환경인 ActiveApp(220)가 설치되어 있는지 판단하는 단계; (c) 상기(b)단계에서 상기 클라이언트 단말기(103)가 상기 ActiveApp(220)의 설치를 확인한 경우 해당 ActiveApp(220)를 실행하고, 상기 ActiveApp(220)의 미설치된 경우 해당 ActiveApp(220)를 파일서버(102)로부터 다운받아 설치한 후 실행하는 단계; 및 (f) 상기 (c)단계에서 상기 ActiveApp(220)의 설치가 완료되면, 상기 클라이언트 단말기(103)의 웹브라우저(210)와 상기 ActiveApp(220)가 통신작업이 이루어지는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (b)단계는 (b-1) 상기 웹페이지(211)의 표준 HTML 태그 링크부(212)가 URL 주소를 기재할 수 있는 속성을 제공하는 단계; (b-2) 상기(b-1)단계에서 ActiveApp(220)의 HTTP 서버모듈(221)의 주소를 기재하면, 상기 표준 HTML 태그 링크부(212)를 포함하는 웹브라우저(210)가 기재된 주소를 해석하는 단계; (b-3) 상기 웹페이지(211)가 상기 웹브라우저(210)에 의해 로드되는 순간 상기 ActiveApp(220)에 파일을 요청하는 단계; 및 (b-4) 상기 웹페이지(211)가 상기 ActiveApp(220)에 요청한 파일을 수신 및 미수신 여부에 따라 경우 해당 ActiveApp(220)의 설치 여부를 확인하는 단계; 를 포함하는 것을 특징으로 한다.
더욱 바람직하게는, 상기(b)단계는 (b-1`) 상기 웹페이지(215)의 Client-Side Script(216)가 클라이언트 단말기(103)를 ActiveApp(220)의 지정포트로 HTTP 연결되도록 Flash 프로그램(217)에 요청하는 단계; (b-2`) 상기 ActiveApp(220)로부터 HTTP 연결 요청에 대한 응답이 없으면,상기 Flash 프로그램(217)이 상기 Client-Side Scrip(216)에 응답 없음을 알려주는 반환값을 전달하는 단계; (b-3`) 상기 Client-Side Scrip(216)가 응답 없음을 알려주는 반환 값의 수신 여부를 확인하는 단계; 를 포함하는 것을 특징으로 한다.
더욱 바람직하게는, (c)단계 이후에 (d)상기 ActiveApp(220)가 상기 클라이언트 단말기(103)에 설치가 완료되면, HTTP 프로토콜 통신을 담당하는 HTTP 서버 모듈(221)이 라이브러리 또는 서비스 데몬 형태로 구동되는 단계를 더 포함하는 것을 특징으로 한다.
더욱 바람직하게는, 상기 (d) 단계 이후에 (e) 상기 ActiveApp(220)에 상기 웹브라우저(210)가 표준 HTML 태그 링크(212)의 HTML 태그 링크기능을 통해 원하는 기능을 요청하면, 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)이 HTTP 프로토콜 형태의 요청을 해석하여 동적으로 결과를 생성한 후 다시 상기 웹브라우저(210)로 전달하는 단계를 더 포함하는 것을 특징으로 한다.
더욱 바람직하게는, 상기 (d) 단계 이후에 (e`) 상기 ActiveApp(220)에 상기 웹브라우저(210)가 Client-Side Script(216) 와 Flash 프로그램(217)을 통해 원하는 기능을 요청하면, 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)이 HTTP 프로토콜 형태의 요청을 해석하여 동적으로 결과를 생성한 후 다시 상기 웹브라우저(210)로 전달하는 단계를 더 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 웹브라우저와 운영체제에 독 립적인 인터넷 애플리케이션 구현방법의 바람직한 실시예를 설명한다.
도 1은 본 발명의 실시예에 따른 인터넷을 통해 인터넷 애플리케이션 환경(ActiveApp)이 배포되는 방법이 실현되는 시스템의 일예를 나타내는 도면이다.
도 1을 참조하면, 클라이언트 단말기(103)들은 각각이 인터넷 통신환경을 통해 웹 서버(101)에 접근하여 다양한 종류의 정보서비스를 이용하고자 할 때, 상기 클라이언트 단말기(103)에 도 4의 ActiveApp(220)가 설치되어 있지 않을 경우 상기 웹서버(101)를 통해 파일서버(102)에 연결되어 상기 ActiveApp(220)을 다운받을 수 있는 인터넷 환경으로 설정되어 있다.
도 2는 클라이언트 단말기(103)가 인터넷을 통해 웹 서버에 접속한 후 해당 클라이언트 단말기(103)에 ActiveApp(220) 프로그램을 다운받아 설치하고 실행시키는 과정을 나타내는 흐름도이다.
도 2를 참조하면, 상기 클라이언트 단말기(103)는 도 4 및 도 5에 도시된 웹 브라우저(210)를 이용하여 상기 웹 서버(101)에 접속하면 상기 ActiveApp(220)와 통신하기 위해 도 4의 웹페이지(211) 또는 도 5의 웹페이지(215)를 출력하는 단계를 수행한다(S10).
상기 웹페이지(211)은 표준 HTML 태그 링크(212)기능을 활용하여 상기 ActiveApp(220)와 통신할 수 있는 방안을 제시하며, 상기 웹페이지(215)는 Client-Side Script(216)와 플래시(Flash) 프로그램(217)을 이용하여 상기 ActiveApp(220)와 통신할 수 있는 방안을 제시한다.
상기 웹페이지(211)를 출력하여 상기 ActiveApp(220)이 설치되었는지 확인하 는 방법은 도 6을 참고하여 설명하면 다음과 같다.
표준 HTML 태그 중에는 인터넷 상의 자원을 URL(Uniform Resource Locator)주소를 통해 링크가 가능한 것이 있다.<a>,<img>,<script>,<link>등 다수의 태그에서는 인터넷상의 특정 자원을 링크하기 위해 해당 파일의 URL 주소를 기재할 수 있는 속성이 제공되고 있으며, 웹브라우저는 이를 해석하는 과정에서 별도의 연결을 통해 링크된 파일을 요청한다(S21, S22, S23 및 S24).
본 실시예에서는 상기 표준 HTML 태그 링크(212)기능 중 하나인<script> 태그를 이용하여 상기 웹페이지(211)가 상기 ActiveApp(220)가 설치되어 있는지 확인하는 과정을 제시한다.
상기 <script> 태그는 인라인 스크립트를 위해 사용되기도 하나 src(source)의 속성에 URL주소를 기재함으로써 외부 스크립트 파일을 포함시킬 수도 있다.상기 <script>태그의 src속성에 수신대기 상태인 상기 ActiveApp(220)의 HTTP서버 모듈(221)의 주소를 기입하면(S22), 상기 웹페이지(211)이 상기 웹프라우저(210)에 의해 로드되는 순간에 상기 ActiveApp(220)에 스크립트 파일을 요청하게 된다(S24).
상기 <script> 태그가 외부 링크 기능을 이용하여 상기 ActiveApp(220)에 외부 스크립트 파일을 요청하는 형식의 일례는 아래의 [표1]과 같다.
<script type>="text/javascript" src="http://127.0.0.1:{prot_num}/commandxx"></script> |
이때 scr에 기입된 외부 스크립트 파일의 URL은 실제 존재하는 파일을 가리키는 것이 아니며 상기 ActiveApp(220)에 의해 동적으로 생성되는 파일이다.
따라서, URL은 파일의 위치라기 보다는 상기 ActiveApp(220)와의 통신에 있어 결과값을 얻기 위한 요청 프로토콜이 된다.
상기 ActiveApp(220)가 설치되어 있지 않을 경우에는 상기 웹페이지(211)에서 외부 스크립트 파일을 수신할 수 없기 때문에 상기 ActiveApp(220)와의 통신에 따른 결과값이 존재하지 않는다(S25).
결과값이 존재하지 않으면 상기 웹페이지(211)는 도 3에 도시된 바와 같이 상기 ActiveApp(220)를 다운로드 받고 설치할 수 있도록, 상기 파일서버(102)와 연결된 프로그램 다운로드 페이지로 이동한다.
상기 웹페이지(215)를 출력하여 상기 ActiveApp(220)가 설치되었는지 확인하는 방법은 도 7을 참조하여 더욱 상세히 설명하면 다음과 같다.
상기 Client-Side Script(216)는 상기 Flash프로그램(217)에게 상기 클라이언트 단말기(103)에 상기 ActiveApp(220)가 연결을 대기하고 있는 지정포트로 HTTP연결을 요청하도록 명령한다(S21`). 상기 Client-Side Script(216)는 자체 보안 제한이 존재하고 있어, 상기 클라이언트 단말기(103)에 직접 HTTP 연결을 할 수 없다.
그런데, 상기 Flash프로그램(212)은 임의의 HTTP 서버 모듈(221)에 제한적으로 HTTP 요청을 할 수 있는 함수를 제공한다. 본래 Flash 프로그램(217)자체는 도메인 간에 HTTP 요청에 앞서 Flash 프로그램(217)에서 자체적으로 규정한 엑세스 정책 파일을 요구하므로 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)은 이러한 요청에 즉각 반응할 수 있어야 한다. 상기 ActiveApp(220)를 구성하고 있는 상기 HTTP 서버 모듈(221)은 상기 Flash 프로그램(217)의 요청을 처리할 수 있도록 구성되어 있다.
상기 Flash프로그램(217)은 상기 Client-Side Script(216)의 요청을 받아 상기 컴퓨터 클라이언트(103)의 상기 ActiveApp(220)의 지정포트로 HTTP 연결을 시도한다. 만약 HTTP 연결 요청에 대한 응답이 없으면, 상기 Flash프로그램(217)은 상기 Client-Side Script(216)에게 응답이 없음을 알려주는 반환값을 전달한다(S22`, S23`).
응답없음 반환값을 전달받은 상기 Client-Side Script(216)는 도 3에 도시된 바와 같이 상기 ActiveApp(220)를 다운로드 받아 설치할 수 있도록, 상기 파일서버(102)와 연결된 프로그램 다운로드 페이지를 출력한다.
상기 클라이언트 단말기(103) 사용자는 자신의 운영체제에 맞는 상기 ActiveApp(220)를 다운로드 하기 위하여 프로그램 링크를 클릭한다. 상기 클라이언트 단말기(103) 사용자가 링크를 클릭하면, 상기 파일서버(102)로부터 상기 ActiveApp(220)가 상기 클라이언트 단말기(103)로 다운로드 되고, 사용자는 상기 ActiveApp(220)를 설치하는 단계를 수행한다(S30, S40).
상기 ActiveApp(220)가 설치되면 상기 ActiveApp(220)는 컴퓨터 클라이언트(103)의 상기 웹브라우저(210)로부터만 HTTP 요청을 받아들일 수 있는 지정포트를 활성화 한다. 상기 ActiveApp(220)는 도 4와 도 5에 도시된 바와 같이 상기 표준 HTML 태그 링크(212) 또는 상기 Flash프로그램(217)으로부터 HTTP요청을 받아들이고, 결과값을 상기 웹페이지(211) 또는 상기 Flash프로그램(217)에게 반환해 주는 상기 HTTP 서버 모듈(221)과 상기 HTTP 서버 모듈(221)로부터 특정한 처리 요청을 받아들여서 상기 컴퓨터 클라이언트(103)의 로컬 자원을 이용하거나 실행한 후 결과값을 상기 HTTP 서버 모듈(221)에 반환해주는 웹 애플리케이션(Web Application)(222)으로 구성된다.
상기 웹 애플리케이션(222)은 CGI, PHP, Perl, Java 등 상기 HTTP 서버 모듈(221)의 요청에 대응할 수 있는 모든 언어로 구성된 프로그램을 통칭한다. 또한, 상기 웹 애플리케이션(222)이 수행할 수 있는 로컬 자원 이용 및 실행 범위는 하드디스크 접근, 소프트웨어 실행, 레지스트리 관리, 네트워크 연동 기능 등 상기 컴퓨터 클라이언트(103)상에서 독립적으로 실행되는 모든 프로그램의 기능을 포함한다.
상기 ActiveApp(220)는 상기 컴퓨터 클라이언트(103)가 구동될 때 항상 기능을 수행해야 하므로, 윈도우즈 버전은 서비스의 형태로, 리눅스나 유닉스의 버전은 데몬의 형태로 설치되고 운영이 된다(S50).
상기 ActiveApp(220)가 설치완료되고 구동이 시작되면 도 4와 도 5에 도시된 바와 같이 상기 클라이언트 단말기(103)에는 상기 웹브라우저(210)에 상기 표준 HTML 태그 링크(212), 상기 ActiveApp(220)가 운영되거나, 상기 웹브라우저(210)에 상기 Client-Side Script(216), 상기 Flash프로그램(217), 상기 ActiveApp(220)가 모두 운영된다.
모든 환경이 완료되면 도 4에 의거 상기 표준 HTML 태그 링크(212)는 원하는 기능을 수행하기 위해 상기 HTTP 서버 모듈(221)에 원하는 명령 값을 HTTP 요청을 통해 전달하는 방법이 있고, 도 5에 의거 상기 Client-Side Script(216)은 원하는 기능을 수행하기 위해 상기 Flash프로그램(217)에게 원하는 기능의 명령 값을 전달하는 방법을 사용할 수 있다.
상기 표준 HTML 태그 링크(212)를 이용해서 원하는 기능을 수행하기 위해 상기 HTTP 서버 모듈(221)에 원하는 명령 값을 HTTP 요청을 통해 전달하는 방법은 다음과 같다.
상기 표준 HTML 태그 링크(212) 기능 중 <script>태그를 사용하여 src속성에 수신대기 상태인 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)의 주소를 기입하면, 상기 웹페이지(211)이 상기 웹브라우저(210)에 의해 로드되는 순간에 상기ActiveApp(220)에 스크립트 파일을 요청하게 된다.
프로토콜을 해석하여 동적으로 결과를 생성하고, 상기 웹브라우저(210)로 결과를 반환한다. 반환 결과의 형식을 일례로 나타내면 아래의 [표2]와 같다. 모든 데이터 송수신은 HTTP 프로토콜로 이루어진다.
IsRunning = true; 또는 function IsRunning() return true; |
반환 결과가 상기 [표2]와 같이 변수 대입문 또는 함수 선언문의 형식인 까닭은 상기 웹 페이지1(211) 내의 스크립트에서 아래 [표3]과 같이 반환된 결과값을 자유롭게 이용할 수 있어야 하기 때문이다.
if ( IsRunning ) ... 또는 if ( IsRunning() ) ... |
한편, 상기 Client-Side Script(216)와 상기 Flash프로그램(217)을 이용하여 원하는 기능을 수행하기 위해 명령 값을 전달하는 방법은 다음과 같다.
상기 Client-Side Script(216)는 상기 Flash프로그램(217)에게 상기 컴퓨터 클라이언트(103)에 상기 ActiveApp(220)이 연결을 대기하고 있는 지정포트로 HTTP 연결을 요청하도록 명령한다. 상기 Client-Side Script(216)는 자체 보안 제한이 존재하고 있어, 상기 컴퓨터 클라이언트(103)에 직접 HTTP 연결을 할 수 없다.
그런데, 상기 Flash프로그램(212)은 임의의 HTTP 서버에 제한적으로 HTTP 요청을 할 수 있는 함수를 제공한다. 본래 Flash자체는 도메인 간에 HTTP 요청에 앞서 Flash에서 자체적으로 규정한 엑세스 정책 파일을 요구하므로 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)은 이러한 요청에 즉각 반응할 수 있어야 한다. 상기 ActiveApp(220)를 구성하고 있는 상기 HTTP 서버 모듈(221)은 상기 Flash 프로그램(217)의 요청을 처리할 수 있도록 구성되어 있다.
상기 Flash프로그램(217)은 상기 Client-Side Script(216)의 요청을 받아 상기 컴퓨터 클라이언트(103)의 상기 ActiveApp(220)의 지정포트로 HTTP 연결을 시도한다. 연결이 성공하면 상기 Flash프로그램(217)은 상기 HTTP 서버 모듈(221)에 원하는 명령 값을 HTTP 요청을 통하여 전달한다.
상기 HTTP 서버 모듈(221)는 수신받은 명령 값을 상기 웹 애플리케이션(222)에 전달한다.
상기 웹 애플리케이션(222)은 상기 클라이언트 단말기(103)의 로컬 자원을 이용하여 원하는 기능을 수행한다. 원하는 기능의 예는 브라우저에서 지원되지 않는 암호화 기능, 공인인증서를 상기 클라이언트(103)로부터 검색하는 기능, 상기 웹 브라우저(210)가 상기 웹서버(101)에 접속했을 때만 구동될 수 있도록 작성된 개인 방화벽/안티바이러스/안티스파이웨어/안티키로거 서비스 등을 더불어 기타 모든 서비스들을 들 수 있다.
상기 웹 애플리케이션(222)은 원하는 기능을 수행한 후 결과값을 상기 HTTP 서버 모듈(221)을 통해, 도 4에 의거 상기 웹페이지(211)에 반환한다. 또는 도 5에 의거 상기 Flash프로그램(217)을 통해, 상기 Client-Side Script(216)로 반환한다. (S60)
참고로, 상기 ctiveApp(220)의 구동상태에 대하여 상세히 설명하면 아래와 같다.
상기 ActiveApp(220)는 HTTP서버모듈(221)과 Web Application(222)으로 구성된다.
상기 HTTP서버모듈(221)은 소켓을 생성하여 지정 포트를 연 후 대기상태가 되면 웹브라우저(210)로부터 전송되는 요청 패킷, 즉 HTTP 프로토콜 형식의 요청을 수신할 수 있게 된다. 표준HTML태그링크(212) 또는 Flash프로그램(217)으로부터 수신된 HTTP 요청에는 정당한 요청인지를 판별할 수 있는 인증값(Auth_value)과 요청내역이 포함되어있다.
상기 인증값이 정당한 요청으로 판명되면, 요청내역에따라 해당 기능을 수행하는 Web Application 함수를 호출한다. 예를 들어, 로컬 하드디스크의 특정파일(c:\test.txt)을 찾는 기능을 요청하는 것이라면 요청내역은 "get", "c:\test.txt"이 된다. 하지만, 특정 파일을 실행시키는 명령이라면 "exe", "c:\batch.ext" 와 같은 형식이 될 수 있다.
상기 HTTP서버모듈(221)은 다음과 같은 형식으로 Web Application 함수를 호출하도록 프로그래밍을 함으로써 명령을 실행할 수 있다.
return_value = get ("c:\test.txt") ; |
상기 [표 4]의 get함수는 "c:\test.txt"파일을 찾아 그 안에 들어있는 내용을 가져오는 함수이다. 이렇게 내용을 가져오면 HTTP서버모듈(221)은 이값을 HTTP포맷에 맞게 변경하여 웹브라우저(210)에 그 결과를 반영한다.
print (return_value); |
이러한 과정으로 출력되는 결과는 HTTP 프로토콜로 구성되어 웹브라우저(210)에 반환된다. 결과값의 형식에 제한은 없으나, 표준 HTML 태그링크(212)에 의한 HTTP요청일 경우에는 태그의 종류에 따라 웹브라우저(210) 내장스크립트가 해석할 수 있는 형태로 결과를 출력해야한다. 예를 들면, 웹브라우저(210)가 <script>태그를 해석하는 순간에 이루어지는 요청은 외부 스크립트 파일에 대한 요청이기 때문에 스크립트 형식으로 결과를 반환해야한다. 이 때 스크립트 형식으로써 변수 또는 함수 선언 형식을 사용하게 되며, 아래와 같은 형식이다.
ResponseResult = "결과값"; |
Auth_value가 정당하지 않은 것으로 판명되면, 해당하는 오류메시지를 출력한다. 마찬가지로 표준HTML태그링크(212)에 의한 HTTP요청일 경우에는 태그의 종류에 따라 브라우저 내장스크립트가 해석할 수 있는 형태로 결과를 출력해야한다.
브라우저에는 결과값을 가공하여 아래의 [표 7]과 같이 출력할 수 있다.
ResponseResult = "정당하지 않은 요청입니다."; |
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
도 1은 인터넷 통신망을 중심으로 웹서버, 파일서버 및 클라이언트 단말기의 구성관계를 나타내는 도면.
도 2는 본 발명에 따른 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법을 실현하기 위해 필요한 ActiveApp 설치를 설명하기 위한 흐름도.
도 3은 클라이언트 단말기에 ActiveApp(220)을 다운로드 받기 위한, ActiveApp(220)의 다운로드화면을 캡처한 도면.
도 4는 본 발명의 표준 HTML 태그의 외부링크 참조를 통한 통신방법의 구체적인 시스템 동작을 설명하기 위한 도면.
도 5는 본 발명 중 Client-Side Script 와 Flash 프로그램을 통한 비동기식 통신 방법의 구체적인 시스템 동작을 설명하기 위한 도면.
도 6은 표준 HTML 태그 링크를 이용한 ActiveApp가 설치되어 있는지 확인하는 단계를 나타내는 도면.
도 7은 Client-Side Script 및 Flash프로그램을 이용한 ActiveApp가 설치되어 있는지 확인하는 단계를 나타내는 도면.
Claims (6)
- 인터넷의 월드 와이드 웹 정보를 검색하는 데 사용되는 응용 프로그램인 웹 브라우저(210) 및 인터넷 접속용의 소프트웨어로서 브라우저의 기동만으로 전 세계 웹 서버에 있는 홈 페이지를 볼 수 있도록 운영체제에 구애를 받지 않는 환경에서 웹브라우저(210)가 클라이언트 단말기(103)의 리소스를 자유롭게 접근하고 이용할 수 있도록 하는 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션 구현방법에 있어서,(a) 상기 클라이언트 단말기(103)가 인터넷 통신망을 통해 웹서버(101)에 접속하는 단계;(b) 상기 웹서버(101)에 접속한 상기 클라이언트 단말기(103)의 웹페이지(211)가 해당 클라이언트 단말기(103)에 인터넷 애플리케이션 환경인 ActiveApp(220)가 설치되어 있는지 판단하는 단계;(c) 상기(b)단계에서 상기 클라이언트 단말기(103)가 상기 ActiveApp(220)의 설치를 확인한 경우 해당 ActiveApp(220)를 실행하지만, 상기 ActiveApp(220)의 미설치를 확인한 경우 해당 ActiveApp(220)를 파일서버(102)로부터 다운받아 설치한 후 실행하는 단계; 및(f) 상기 (c)단계에서 상기 ActiveApp(220)의 설치가 완료되면, 상기 클라이언트 단말기(103)의 웹브라우저(210)와 상기 ActiveApp(220)가 통신작업이 이루어지는 단계를 포함하는 것을 특징으로 하는 웹브라우저와 운영체제에 독립적인 인터 넷 애플리케이션 구현방법.
- 제 1항에 있어서,상기 (b)단계는(b-1) 상기 웹페이지(211)의 표준 HTML 태그 링크부(212)가 URL 주소를 기재할 수 있는 속성을 제공하는 단계;(b-2) 상기(b-1)단계에서 ActiveApp(220)의 HTTP 서버모듈(221)의 주소를 기재하면, 상기 표준 HTML 태그 링크부(212)를 포함하는 웹브라우저(210)가 기재된 주소를 해석하는 단계;(b-3) 상기 웹페이지(211)가 상기 웹브라우저(210)에 의해 로드되는 순간 상기 ActiveApp(220)에 파일을 요청하는 단계; 및(b-4) 상기 웹페이지(211)가 상기 ActiveApp(220)에 요청한 파일을 수신 및 미수신 여부에 따라 경우 해당 ActiveApp(220)의 설치 여부를 확인하는 단계;를 포함하는 것을 특징으로 하는 웹브라우저와 운영체제의 독립적인 인터넷 애플리케이션 구현방법.
- 제 1항에 있어서,상기(b)단계는(b-1`) 상기 웹페이지(215)의 Client-Side Script(216)가 클라이언트 단말기(103)를 ActiveApp(220)의 지정포트로 HTTP 연결되도록 Flash 프로그램(217)에 요청하는 단계;(b-2`) 상기 ActiveApp(220)로부터 HTTP 연결 요청에 대한 응답이 없으면,상기 Flash 프로그램(217)이 상기 Client-Side Scrip(216)에 응답 없음을 알려주는 반환값을 전달하는 단계;(b-3`) 상기 Client-Side Scrip(216)가 응답 없음을 알려주는 반환 값의 수신 여부를 확인하는 단계; 를 포함하는 것을 특징으로 하는 웹브라우저와 운영체제의 독립적인 인터넷 애플리케이션 구현방법.
- 제 1항에 있어서,상기(c)단계 이후에(d)상기 ActiveApp(220)가 상기 클라이언트 단말기(103)에 설치가 완료되면, HTTP 프로토콜 통신을 담당하는 HTTP 서버 모듈(221)이 라이브러리 또는 서비스 데몬 형태로 구동되는 단계를 더 포함하는 것을 특징으로 하는 웹브라우저와 운영체제의 독립적인 인터넷 애플리케이션 구현방법.
- 제 4항에 있어서,상기 (d) 단계 이후에(e) 상기 ActiveApp(220)에 상기 웹브라우저(210)가 표준 HTML 태그 링크(212)의 HTML 태그 링크기능을 통해 원하는 기능을 요청하면, 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)이 HTTP 프로토콜 형태의 요청을 해석 하여 동적으로 결과를 생성한 후 다시 상기 웹브라우저(210)로 전달하는 단계를 더 포함하는 것을 특징으로 하는 웹브라우저와 운영체제의 독립적인 인터넷 애플리케이션 구현방법.
- 제 4항에 있어서,상기 (d) 단계 이후에(e`) 상기 ActiveApp(220)에 상기 웹브라우저(210)가 Client-Side Script(216) 와 Flash 프로그램(217)을 통해 원하는 기능을 요청하면, 상기 ActiveApp(220)의 상기 HTTP 서버 모듈(221)이 HTTP 프로토콜 형태의 요청을 해석하여 동적으로 결과를 생성한 후 다시 상기 웹브라우저(210)로 전달하는 단계를 더 포함하는 것을 특징으로 하는 웹브라우저와 운영체제의 독립적인 인터넷 애플리케이션 구현방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067737A KR100924076B1 (ko) | 2007-07-05 | 2007-07-05 | 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067737A KR100924076B1 (ko) | 2007-07-05 | 2007-07-05 | 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090003934A true KR20090003934A (ko) | 2009-01-12 |
KR100924076B1 KR100924076B1 (ko) | 2009-11-02 |
Family
ID=40486486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070067737A KR100924076B1 (ko) | 2007-07-05 | 2007-07-05 | 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100924076B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101349201B1 (ko) * | 2010-04-22 | 2014-01-15 | 한국전자통신연구원 | 모바일 단말에서 웹브라우저와 로컬 리소스의 연동 장치 및 그 방법 |
CN114422166A (zh) * | 2021-12-01 | 2022-04-29 | 奇安信科技集团股份有限公司 | 一种网页访问方法、装置、电子设备、介质及产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102132385B1 (ko) | 2018-10-17 | 2020-08-05 | (주)지란지교소프트 | 웹 브라우저 기반 로컬 파일 제어 시스템 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100705002B1 (ko) * | 2005-02-25 | 2007-04-10 | 엔에이치엔(주) | 액티브엑스 컨트롤 설치 방법 |
-
2007
- 2007-07-05 KR KR1020070067737A patent/KR100924076B1/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101349201B1 (ko) * | 2010-04-22 | 2014-01-15 | 한국전자통신연구원 | 모바일 단말에서 웹브라우저와 로컬 리소스의 연동 장치 및 그 방법 |
CN114422166A (zh) * | 2021-12-01 | 2022-04-29 | 奇安信科技集团股份有限公司 | 一种网页访问方法、装置、电子设备、介质及产品 |
CN114422166B (zh) * | 2021-12-01 | 2024-08-16 | 奇安信科技集团股份有限公司 | 一种网页访问方法、装置、电子设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
KR100924076B1 (ko) | 2009-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176752B (zh) | 一种浏览器页面内嵌窗口小程序的方法及装置 | |
US7281047B2 (en) | System and method for automatic provision of an application | |
EP2847686B1 (en) | Enhanced document and event mirroring for accessing content | |
US8056125B2 (en) | Recording medium storing control program and communication system | |
EP0903675B1 (en) | Method and apparatus for providing increased content from a resource constrained device | |
US8930555B2 (en) | Extending functionality of web-based applications | |
US7496658B2 (en) | Systems and methods for testing network services | |
JP4882546B2 (ja) | 情報処理システムおよび制御プログラム | |
US9843604B2 (en) | Detecting and modifying security settings for deploying web applications | |
CN106406961A (zh) | 一种基于浏览器加载、提供应用程序的方法、装置 | |
JP4938128B2 (ja) | 電子トークンとリモートウェブ・サーバとの間の通信を管理運営する方法 | |
US20070280206A1 (en) | Method for consuming heterogeneous services on heterogeneous devices using script plugins | |
US20080120393A1 (en) | Web control simulators for mobile devices | |
US6920410B2 (en) | Systems and methods for testing a network service | |
EP1499966A2 (en) | Automated installation of an application | |
CN108416021B (zh) | 一种浏览器网页内容处理方法、装置、电子设备及可读介质 | |
KR19980079252A (ko) | 서브릿을 처리하기 위한 장치 및 방법 | |
JP2004005435A (ja) | ダウンロード管理システム | |
US20100005476A1 (en) | Mobile electronic device including a portable application and a secured module able to communicate with each other, and associated communication method | |
US20080275963A1 (en) | Dynamically Modifying A Universal Resource Indicator | |
KR100924076B1 (ko) | 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 | |
CN112468611B (zh) | 应用程序启动方法、终端设备及计算机存储介质 | |
JP2011175461A (ja) | 通信システム及びサーバ及び端末装置及び通信システムの通信方法及びサーバ用プログラム及び端末用プログラム | |
GB2381618A (en) | System for recognising devices connected to a network | |
CN114915565B (zh) | 网络调试的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20120816 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130823 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150917 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160923 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |