KR20020028963A - 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트 - Google Patents

웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트 Download PDF

Info

Publication number
KR20020028963A
KR20020028963A KR1020020011349A KR20020011349A KR20020028963A KR 20020028963 A KR20020028963 A KR 20020028963A KR 1020020011349 A KR1020020011349 A KR 1020020011349A KR 20020011349 A KR20020011349 A KR 20020011349A KR 20020028963 A KR20020028963 A KR 20020028963A
Authority
KR
South Korea
Prior art keywords
data
http
client computer
web
module
Prior art date
Application number
KR1020020011349A
Other languages
English (en)
Other versions
KR100429558B1 (ko
Inventor
원동학
Original Assignee
원동학
쉬프트정보통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 원동학, 쉬프트정보통신 주식회사 filed Critical 원동학
Priority to KR10-2002-0011349A priority Critical patent/KR100429558B1/ko
Publication of KR20020028963A publication Critical patent/KR20020028963A/ko
Application granted granted Critical
Publication of KR100429558B1 publication Critical patent/KR100429558B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 웹 환경에서 유저 인터페이스 구성요소로 액티브액스 콘트롤러를 사용하는데 있어 최대의 성능과 사용 편의성이 보장된 새로운 클라이언트 데이터 모델과 표준 HTTP를 통해 웹 서버로 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 컴포넌트에 관한 것으로, 이러한 본 발명은 서버상에 데이터를 저장하는 데이터저장소와 데이터저장소로부터 출력되는 데이터에서 데이터객체모델을 생성하여, 클라이언트컴퓨터로부터 HTTP를 통해 요청된 HTML을 구성할 때 데이터 객체 모델을 통해 데이터를 사용하는 기존의 웹기반 환경에서의 데이터 모델 응용방식을 구비한 클라이언트컴퓨터에 있어서, 상기 클라이언트컴퓨터로 입력된 클라이언트의 요구에 따라 사용하는 웹 브라우저를 통하여 웹 서버에 HTTP(Hyper Text Transfer Protocol)을 요청함과 아울러 상기 웹 서버로부터 HTTP응답-서비스 프로그램 실행결과를 전송받고 그 결과를 데이터저장소로 전송하는 에이드(ADE: Active Data Expression) 데이터셋 컴포넌트(Component)로 이루어진다.

Description

웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트{ADE data set component of client computer for transmitting/receiving of data between web servers}
본 발명은 웹 환경에서 유저 인터페이스 구성요소로 액티브액스 콘트롤러(ActiveX Control)를 사용하는데 있어 최대의 성능과 사용 편의성이 보장된 새로운 클라이언트 데이터 모델과 표준 HTTP(Hyper Text Transfer Protocol)를 통해 웹 서버(Web Server)로 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드(ADE: Active Data Expression) 데이터셋 컴포넌트(Component)에 관한 것이다.
일반적으로, 액티브액스 콘트롤은 마이크로소프트의 COM을 지원하는 모든 프로그램 언어로 만들 수 있다. 액티브액스 콘트롤은 컴포넌트 또는 독립적인 프로그램으로서 하나의 컴퓨터 또는 분산 네트웍에서 많은 응용프로그램에 의해 생성되고 재사용될 수 있다. COM에서 분산 환경을 지원하는 것을 특별히 DCOM(Distributed Component Object Model)이라 부른다. 액티브액스 콘트롤을 실제로 구현하는 측면에서 보면, 일종의 DLL 모듈이라할 수 있는데, "컨테이너"라 부르는 COM 프로그램 인터페이스를 가진 응용프로그램 내에서 수행된다. 재사용 가능한 컴포넌트를 이용하는 접근방식은 응용프로그램의 개발시간 단축과 프로그램 기능 및 품질 향상에 기여한다. 파워빌더와 마이크로소프트 Access와 같은 윈도우 95/N용 응용프로그램 개발 도구들은 이와 같은 액티브액스 콘트롤의 이점을 활용하고 있다. 또한, 비주얼 베이직과 C++는 OCX나 액티브액스 콘트롤을 제작하는데 널리 쓰인다.
상기 액티브액스는 마이크로소프트가 전략적 객체지향 프로그래밍 기술 및도구모음에 대해 붙인 이름이다. 그 주요 기술은 COM이다. 디렉토리 및 기타 부가적인 지원과 함께 네트웍 내에서 사용되던 COM은 DCOM이 된다. 액티브액스 환경에서 운용되는 프로그램을 개발할 때 생성하게 되는 중요한 것이 컴포넌트인데, 이것은 액티브액스 네트웍의 어느 부분에서나 실행되기에 스스로 충분한 하나의 프로그램이하 할 수 있다. 이 컴포넌트를 액티브액스 콘트롤이라 부른다. 또한, 상기 액티브액스는 썬마이크로시스템즈의 자바 기술에 대항하기 위해 마이크로소프트가 내놓은 기술이다. 그러므로 액티브액스 콘트롤은 대체로 자바 애플릿과 동등한 위치에 있다고 할 수 있다. 여기서, 윈도우 운영체계가 설치된 PC에서 파일의 확장자에 "OCX"라고 붙은 많은 파일들이 발견되는데, OCX란 "Object Linking and Embedding control"의 약자이다. 개체연결 및 삽입(OLE: Object Linking and Embedding)은 윈도우 데스크탑과 같은 복합문서를 지원하기 위한 마이크로소프트의 프로그램 기술이었으나, 이제 마이크로소프트는 컴포넌트 객체를 위해 OCX 대신에 "ActiveX control"이라는 용어를 사용한다.
특히, 컴포넌트의 주요 장점 중의 하나는, 많은 응용 프로그램에서 재사용될 수 있다는 것이다. 액티브액스 콘트롤은 C++, 비주얼베이직, 파워빌더 또는 VBScript와 같은 스크립트 도구 등을 포함, 여러가지 언어나 개발도구를 사용해서 만들 수 있다.
현재 액티브액스 콘트롤은 윈도우95나 NT 그리고 매킨토시에서만 운영되지만, 마이크로소프트는 유닉스에서도 액티브액스 콘트롤을 지원할 수 있도록 계획하고 있다.
한편, 상기 콤(COM)은 프로그램의 컴포넌트 객체들을 개발하고 지원하기 위한 하부 기반구조로서, CORBA(Common Object Request Broker Architecture)에서 정의된 수준의 기능제공을 목표로 한다. 그리고, 마이크로소프트의 OLE가 사용자가 화면에서 볼 수 있는 복합문서를 위한 서비스를 제공하는 반면, COM은 인터페이스 교섭, 생명주기 관리(언제쯤 객체가 시스템에서 제거될 수 있는지 판단), 라이선스, 이벤트 서비스(다른 객체에서 발생된 이벤트의 결과로서 한 객체를 서비스에 배정)등 하부 서비스를 제공한다.
도 1은 일반적인 인터넷 환경에서의 웹 서버와 기존의 레가시 시스템과의 연동을 나타낸 구성도이다.
도 1에 도시된 바와 같이, 클라이언트의 요구에 따라 사용하는 모든 종류의 웹 브라우저를 통하여 서비스를 요청하는 클라이언트컴퓨터(10)와, 상기 클라이언트컴퓨터(10)로부터 출력되는 요구신호에 따라 생성된 HTML(Hypertext markup language)을 클라이언트컴퓨터(10)로 전송하는 웹 서버(20)와, 상기 웹 서버(20)의 구동에 의해 실시되는 미들웨어 정보(턱시도(Tuxedo), 엔테라(Entera)등)를 제공하는 레가시 시스템(Legacy system)(30)으로 구성된다.
상기 HTML은 웹 브라우저 상에 정보를 표시하기 위한 마크업 심볼 또는 파일 내에 집어 넣어진 코드물의 집합이다. 마크업은 웹 브라우저에게 웹 페이지 내의 글자나 이미지를 어떻게 나타낼 것인가에 관해 알려주는 역할을 한다. 그리고 상기 HTML은 SGML에 기반을 둔 공개된 포맷이며, 단순한 일반 텍스트 편집기에서부터 WYSIWYG 작성도구에 이르기까지 다양한 방법으로 작성하거나 편집할 수 있다.제목, 문단, 리스트, 하이퍼링크 등은 모두 태그를 사용하여 구조화 시킨다.
그리고, 상기 태그는 "<" 표시로 시작되고, ">"표시로 마감되는데, 아래에 몇 가지 종류의 예가 있다.
하이퍼링크 : <A HREF="http://www.terms.co.kr/memory.htm">
글자 크기 조절 : <h1> 텀즈 코리아 </h1>
이미지 삽입 : <img src="related.gif" width="235" height="14">
또한, HTML은 공식적으로는 W3C에 의해 정의되었지만, 웹 브라우저를 개발하는 넷스케이프나 마이크로소프트 등 두 회사가 모두 자신들의 부라우저에 수정사항을 계속 반영해 나감으로써 실체화되고 있다.
한편, 상기 웹 서버(20)는 데이터를 저장하는 데이터저장소(20-1)와, 상기 데이터저장소(20-1)로부터 출력되는 데이터에서 데이터 객체모델을 생성하는 데이터 객체모델 생성부(20-3)와, 상기 데이터 객체모델 생성부(20-3)로부터 출력되는데이터 객체모델과 상기 레가시 시스템(30)에 구축된 턱시도, 엔테라등의 프로그램을 웹 서버(20)의 언어에 맞게 HTML을 생성하는 HTML 생성부(20-5)로 이루어진다.
그리고, 상기 레가시 시스템(30)에 구축되는 미들웨어 정보의 턱시도는 미국 캘리포니아에 있는 BEA 시스템즈에서 공급하는 티피-모니터 제품으로서 다양한 종류의 유닉스 기반의 컴퓨터에서 운영되는 프로그램이고, 상기 엔터라는 볼랜드사에서 공급하는 티피-모니터 제품으로서 턱시도와 같은 기능을 하는 프로그램이다.
또한, 상기 미들웨어는 컴퓨터 분야에서 각기 분리된 두 개의 프로그램 사이에서 매개 역할을 하거나 연합시켜주는 프로그램을 지칭하는 용어로 마치 "접착제"와 같은 존재이다.
특히, 상기 미들웨어의 대표적인 기능은 특정 데이터저장소에 접근하기 위해 작성된 프로그램이다.
상기와 같이 구성된 일반적인 인터넷 환경에서의 웹 서버와 기존의 레가시 시스템과의 연동을 나타낸 구성도를 참조하여 동작을 설명하면 다음과 같다.
먼저, 클라이언트컴퓨터(10)는 클라이언트의 요구에 따라 사용하는 모든 종류의 웹 서버(20)로 서비스를 요청한다.
여기서, 상기 웹 서버(20)는 사용자 프로그램에 대한 관리 기능을 제공하는 중간 계층인 미들웨어로서 사용자 어플리케이션에 대한 관리 기능을 가지는 어플리케이션을 위한 플랫폼을 제공하고, 웹환경에서의 어플리케이션을 위한 미들웨어 제품으로 정의될 수 있다.
또한, 상기 웹 서버(20)는 주로 시스템 백엔드에서 어플리케이션 개발을 보다 신속하고 쉽게 지원해주는 개발 툴로써의 기능과 시스템 보안 및 안정성, 그리고 웹의 보다 빠른 속도기능을 지원한다.
한편, 상기 웹 서버(20)의 HTML생성부(20-5)는 레가시 시스템(30)에 기구축된 미들웨어 정보(턱시도, 엔테라등)를 웹 서버(20)에 맞게 개별적으로 일일이 코딩하고, 가공한 HTML을 클라이언트컴퓨터(10)로 전송한다.
상기 웹 서버의 동작을 좀 더 구체적으로 설명하면 다음과 같다.
상기 웹 서버(20)의 객체모델 생성부(20-3)는 데이터저장소(20-1)로부터 전송되는 데이터에서 객체모델을 생성한후, 그 생성된 객체모델을 HTML 생성부(20-5)로 전송한다.
그리고, 상기 HTML 생성부(20-5)는 데이터 객체모델 생성부(20-3)로부터 전송받은 객체모델을 가공하고, 가공한 HTML을 클라이언트컴퓨터(10)로 전송한다.
따라서, 상기와 같이 구성된 웹 HTML 페이지내에서 데이터의 표현은 웹 서버단에서 데이터를 쿼리하여 동적으로 생성한 HTML 페이지를 통해 이루어지는 것이 보편적이다. 이에 대한 대안으로서 웹브라우저에서 제공하는 다이나믹 HTML 기능으로 정적인 HTML 페이지를 클라이언트단에서 동적으로 제어하는 기술이 있다.
이러한 다이나믹 HTML 기술에 기초하여 클라이언트 단의 데이터 모델에 접근하여 데이터를 조회하고 입력/수정/삭제하는 방식이 웹 HTML 페이지에서 이루어지는 데이터 표현 방법의 주류이다.
그러나, 기존의 클라이언트 데이터 모델의 문제점이라면, 클라이언트 단에서 서버상의 데이터 소스(데이터저장소)에 직접 접근하여 데이터를 수집해서 클라이언트에 객체모델을 제공하거나, 서버단에서 생성한 객체모델을 데이터 통신 구간을 통해 클라이언트단에 전송이 이루어진다는 데 있다.
특히, 클라이언트와 데이터소스간에 2티어(Tier) 방식으로 접근이 이루어지기 때문에, 3티어 모델이 제공하는 효과를 볼 수 없게 됨과 아울러 전송 속도면에서 심각한 성능 저하를 가져오게 된다.
따라서, 본 발명은 상기한 종래 기술에 따른 제반 문제점을 해결하기 위하여제안된 것으로서, 본 발명의 목적은, 웹 환경에서 유저 인터페이스 구성요소로 액티브액스 콘트롤러를 사용하는데 있어 최대의 성능과 사용 편의성이 보장된 새로운 클라이언트 데이터 모델과 표준 HTTP를 통해 웹 서버(Web Server)로 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트를 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트의 특징은,
서버상에 데이터를 저장하는 데이터저장소와 데이터저장소로부터 출력되는 데이터에서 데이터객체모델을 생성하여, 클라이언트컴퓨터로부터 HTTP를 통해 요청된 HTML을 구성할 때 데이터 객체 모델을 통해 데이터를 사용하는 기존의 웹기반 환경에서의 데이터 모델 응용방식을 구비한 클라이언트컴퓨터에 있어서,
상기 클라이언트컴퓨터로 입력된 클라이언트의 요구에 따라 사용하는 웹 브라우저를 통하여 웹 서버에 HTTP(Hyper Text Transfer Protocol)을 요청함과 아울러 상기 웹 서버로부터 HTTP응답-서비스 프로그램 실행결과를 전송받고 그 결과를 데이터저장소로 전송하는 에이드(ADE: Active Data Expression) 데이터셋 컴포넌트(Component)로 이루어진다.
도 1은 일반적인 인터넷 환경에서의 웹 서버와 기존의 레가시 시스템과의 연동을 나타낸 구성도,
도 2는 본 발명에 따른 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트와 그 주변을 나타낸 구성도,
도 3은 본 발명에 따른 웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트의 동작을 나타낸 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 클라이언트컴퓨터
130 : DHTML부
140 : 에이드 데이터셋 컴포넌트
200 : 웹 서버
300 : 레가시 시스템
이하, 본 발명에 따른 웹 서버간의 데이터를 송/수신하기 위한 에이드 데이터셋 컴포넌트의 바람직한 실시예를 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명에 따른 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트와 그 주변을 나타낸 구성도이다.
도 2에 도시된 바와 같이, 클라이언트의 요구에 따라 사용하는 모든 종류의 웹 브라우저를 통하여 서비스를 요청하는 클라이언트컴퓨터(100)와, 상기 클라이언트컴퓨터(100)로부터 출력되는 요구신호에 따라 생성된 HTML(Hypertext markup language)을 클라이언트컴퓨터(100)로 전송하는 웹 서버(200)와, 상기 웹 서버(200)의 구동에 의해 실시되는 미들웨어 정보(턱시도(Tuxedo), 엔테라(Entera)등)를 제공하는 기구축된 레가시 시스템(Legacy system)(300)으로 구성된다.
여기서, 상기 클라이언트컴퓨터(100)는 상기 클라이언트컴퓨터(100)로 입력된 클라이언트의 요구에 따라 새로운 HTML 태그, 옵션, 스타일 시트 및 프로그래밍을 실시하는 D(Dynamic)HTML부(130)와, 상기 DHTML부(130)로부터 전송되는 클라이언트의 요구에 따라 사용하는 웹 브라우저를 통하여 웹 서버에 HTTP(Hyper Text Transfer Protocol)을 요청함과 아울러 상기 웹 서버로부터 HTTP응답-서비스 프로그램 실행결과를 전송받고 그 결과를 데이터저장소로 전송하는 에이드(ADE: Active Data Expression) 데이터셋 컴포넌트(Component)(140)로 구성된다.
여기서, 상기 HTTP는 웹 상에서 파일(텍스트, 그래픽 이미지, 사운드, 비디오 그리고 기타 멀티미디어파일)을 주고 받는데 필요한 프로토콜로서 TCP/IP와 관련된 하나의 응용 프로토콜이다. 그리고, 상기 HTTP의 한 부분을 이루는 중요한 개념들은 그 이름에도 내포되어 있듯이, 모든 파일들이 다른 파일들에 대한 참조 링크를 가질 수 있다는 것이며, 그 링크를 선택하면, 또 다른 내용이 추가적으로 전달되는 식의 아이디어로 되어 있다. 즉, 웹 서버는 모두 HTTP 데몬을 가지고 있는데, 이 프로그램은 HTTP 요청을 기다리고 있다가 요청이 들어오면 그것을 처리하도록 설계되어 있다. 한편, HTTP의 입장에서의 웹 브라우저는 서버에 요구를 전달하는 하나의 클라이언트이다. 사용자가 URL을 입력하거나, 하이퍼텍스트 링크를 클릭 함으로써 파일을 요구하면, 브라우저는 HTTP 요구에 적혀있는 IP주소에 전달한다. 그리고, 지정된 서버상의 HTTP 데몬은 그 요구를 받아서, 필요한 작업이 혹 있다면 처리를 한 뒤에 요구된 파일을 찾아서 보내준다.
상기 에이드 데이터셋 컴포넌트의 구성을 상세히 살펴보면 다음과 같다.
상기 에이드 데이터셋 컴포넌트(140)는 데이터를 저장하는 데이터저장소(140-9)와, 상기 데이터저장소(140-9)로부터 출력되는 데이터에서 데이터 객체모델을 생성하여 클라이언트컴퓨터(100)의 화면에 요청된 HTTP(Hyper Text Transfer Protocol)를 전송하는 데이터 객체모델 생성부(140-11)와, 상기 클라이언트컴퓨터(100)의 DHTML부(130)로부터 전송되는 자원의 주소를 분석하는 URL(Uniform Resource Locator; 인터넷에서 특정한 컴퓨터를 식별하기 위한 도메인 이름, 그리고 컴퓨터 파일의 위치를 계층적으로 나타낸 경로명) 분석부(140-1)와, 상기 URL 분석부(140-1)로부터 전송되는 데이터를 입력받고 웹 서버(200)로 HTTP를 요청하는 HTTP 요청부(140-3)와, 상기 웹 서버(200)로부터 HTTP 응답-서비스 프로그램 실행결과를 전송받는 데이터 수신부(140-5)와, 상기 데이터수신부(140-5)로부터 전송받은 정보를 분석한 후, 그 분석된 정보를 데이터셋(Dataset) 형태의 메모리구조로 변환시켜 데이터저장소(140-9)로 전송하는 데이터셋 변환부(140-7)로 구성된다.
특히, 상기 URL은 인터넷에서 접근 가능한 자원의 주소를 일관되게 표현할 수 있는 형식을 말한다. 여기서 말하는 자원의 형태는 인터넷 응용 프로토콜에 따라 다를 수 있다. 즉, 월드와이드웹의 프로토콜인 HTTP를 사용하는 경우, 자원이란 HTML 페이지, 이미지 파일, CGI나 자바 애플릿과 같은 프로그램, 기타 HTTP가 지원하는 다른 파일들이 될 수 있다.
또한, 상기 URL은 자원에 접근하는데 필요한 프로토콜의 이름, 인터넷에서 특정한 컴퓨터를 식별하기 위한 도메인 이름, 그리고 컴퓨터 파일의 위치를 계층적으로 나타낸 경로명 등으로 구성된다.
한편, 웹에서 URL의 예를 하나 들어보면,
http://www.metro.seoul.kr/kor
이것은 www.metro.seoul.kr라는 이름의 컴퓨터를 HTTP 응용프로그램, 즉 웹 브라우저로 읽을 수 있는 웹 페이지를 나타내고 있다. 여기서 /kor은 그 컴퓨터 내의 디렉토리를 말하는데, 그 하부에 파일 이름을 적지 않으면 그 디렉토리의 기본 페이지를 보여주게 된다(대개 기본 페이지는 index.html이다). 그리고 HTTP URL은 홈페이지뿐만이 아니라 어떠한 웹페이지라도 지칭할 수 있으며, 심지어 일개의 파일을 적는 것도 가능하다. 예를 들어, 다음의 URL은 사용자에게 텀즈 운용자의 사진 이미지를 보여주게 될 것이다.
http://www.terms.co.kr/dgkim.gif
게시판 CGI와 같은 프로그램의 URL은 다음과 같은 형태를 띤다.
http://www.terms.co.kr/bbs/bbs.cgi?db=bbs
한편, ftp프로토콜을 이용하여 어떤 파일을 다운로드 받기 위한 URL은 다음과 같이 표현된다.
ftp://www.somecompany.com/whitepapers/widgets.ps
URL은 URI(Uniform Resource Identifier)의 일종이다.
상기와 같이 구성된 본 발명에 따른 웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 데이터셋 컴포넌트의 동작을 도 3을 참조하여 설명하면 다음과 같다.
먼저, 클라이언트컴퓨터(100)의 URL분석부(140-1)는 상기 클라이언트컴퓨터(100)의 DHTML부(130)로부터 전송되어온 정보를 서비스 객체에대한 URL을 지정하여 HTTP요청부(140-3)로 정보를 전송한다. 그리고, 상기 HTTP요청부(140-3)는 클라이언트 HTML 페이지내의 데이터셋 컴포넌트의 속성과 메소드를 사용해 웹 서버(200)상의 CGI(Common Gateway Interface)나 JSP(Java Server Page)/ASP(Active Server Page) 혹은 서블릿(Servlet)을 통해 데이터 소스에서 데이터 쿼리해 오는 서비스 객체를 HTTP 프로토콜을 사용해 레가시 시스템(300)을 호출 한다(S101)(S103).
이때, 서비스 객체의 명칭과 서비스 객체가 리턴하게 될 데이터셋의 목록을 함께 지정한다. 여기서, 상기 데이터셋 컴포넌트는 클라이언트 피시에서 데이터를 보관/관리하는 구성요소를 말한다.
상기 CGI는 웹 서버에 있어 사용자의 요구를 응용프로그램에 전달하고 그 결과를 사용자에게 되돌려주기 위한 표준적인 방법이다. 사용자가 하이퍼링크를 클릭 하거나 웹사이트의 주소를 입력함으로써 웹 페이지를 요청하면, 서버는 요청된 페이지를 보내준다. 그러나, 사용자가 웹페이지의 양식에 내용을 기재하여 보냈을 때, 그것은 보통 응용프로그램에 의해 처리될 필요가 있다. 웹 서버는 으레 그 양식 정보를 조그만 응용프로그램에 전달하는데, 이 프로그램은 데이터를 처리하고 필요에 따라 확인 메시지를 보내주기도 한다. 이렇게 서버와 응용 프로그램간에 데이터를 주고받기 위한 방법이나 규약들을 CGI라고 부른다. 이것은 웹의 HTTP 프로토콜의 일부이다. 만약, 웹 사이트를 만들 때 어떠한 제어를 위해 CGI 프로그램을 사용하기 원하면, HTML 파일 내에 있는 URL내에 그 프로그램의 이름을 기술하면 된다. 만약 폼을 만들려고 할 때, 이 URL은 FORMS 태그의 일부로서 기술될 수 있는데, 예를 들어 다음과 같이 쓸 수 있을 것이다.
<FORM METHOD=POST ACTION=http://www.mybiz.com/cgi-local/formprog.pl>
이 태그의 결과로서 mybiz.com에 있는 서버는 입력된 데이터를 저장하기 위해 제어권을 "formprog.pl"이라는 CGI 프로그램에 넘기고, 확인 메시지를 되돌려준다(여기서, .pl은 perl로 작성된 프로그램이라는 것을 가리키지만, CGI는 다른 언어로도 작성될 수 있다). 또한, 상기 CGI는 사용자로부터 응용프로그램으로 전달되고, 다시 사용자에게 전달될 데이터에 대해 일관된 방법을 제공한다. 이것은 응용프로그램을 작성하는 사람 입장에서는, 서버에 어떤 운용체계를 쓰든 상관없이 그 프로그램이 운영될 것이라는 확신을 가질 수 있다는 것을 의미한다. 그리고, CGI는 사용자의 요청이 웹 서버로부터 응용프로그램으로 전달되고, 다시 되돌아올 정보를위한 단순하고 기본적인 방법이다. 인터페이스가 일관되기 때문에, 프로그래머는 CGI 응용프로그램을 여러가지 다른 언어로 작성할 수 있다. CGI 프로그램 작성에 가장 보편적으로 사용되는 언어로는 C, C++, Java, Perl등이 있다. 한편, 상기 CGI 프로그램의 대안으로서 마이크로소프트의 ASP가 있는데, 이것은 웹 페이지 내에 끼워 넣어진 일종의 스크립트로서 그 페이지가 보내지기 전에 서버에서 실행된다.
그리고, 상기 JSP는 서블릿의 사용을 통해 웹페이지의 내용이나 모양을 제어하는 기술이다. 자바의 개발자인 썬마이크로시템즈에서는 JSP 기술이 서블릿 API라고 말하고 있다. JSP는 마이크로소프트의 ASP 기술에 필적한다. JSP가 웹서버에 의해 실행될 자바프로그램을 호출하는데 반하여, ASP는 페이지가 사용자에게 보내지기 전에 스크립트 인터프리터(VBScript 또는 JScript와 같은)에 의해 해석될 스크립트를 포함시킨다. 특히, 자바 서블릿으로 가는 링크를 포함한 HTML 페이지는 파일이름 확장자에 .JSP가 붙는다.
한편, 상기 ASP는 하나 이상의 스크립트(작은 내장 프로그램)를 담은 HTML 페이지로 사용자에게 보내지기 전에 마이크로소프트 웹 서버에서 처리된다. 또한, ASP는 사용자에게 웹페이지를 만들어 제공하기 위해 서버에서 관련 프로그램이 모두 수행되는 SSI나 CGI 어플리케이션과 꽤 유사하다. 대개, 서버의 웹 페이지 스크립트는 사용자의 요구에 따라 데이터저장소에 접속한 다음, 그 결과를 토대로 하여 요구자에게 보내기 전에 순간적으로 웹 페이지를 만들거나 특화하게 된다. 그리고, 상기 ASP는 마이크로소프트 IIS(Internet Information Server)만의 특징이지만, 서버측 스크립트가 평범한 HTML 페이지를 만들어 주기 때문에 거의 모든 브라우저에서 무리없이 사용될 수 있다. ASP 파일은 HTML 파일 내에 VBScript나 JScript가 포함되도록 작성한 다음 파일 확장자를 " .asp"로 개명하면된다. 마이크로소프트에서는-선택의 여지가 있다면 -, 클라이언트쪽 스크립트보다는 서버쪽 ASP를 사용할 것을 추진한다. 왜냐하면 서버쪽 스크립트가 HTML 페이지를 쉽게 잘 보이게 하기 때문인데, 클라이언트쪽 스크립트(예를들어, 자바 스크립트)는 오래된 브라우저의 경우 의도한 대로 동작하지 않을 수도 있다.
특히, 상기 서블릿은 서버에서 실행되는 작은 프로그램이다. 이 용어는 웹 페이지와 함께 별도의 파일로 보내지는 작은 프로그램인 자바 애플릿의 맥락에서 만들어진 신조어이다. 자바 애플릿들은 사용자를 위해 간단한 계산업무를 수행하거나 사용자의 반응에 기반하여 이미지를 위치시키는 등과 같은 서비스를 위해 대개 클라이언트에서 실행되도록 만들어진다. 그러나, 사용자의 입력에 따라 데이터저장소와 연계되는 프로그램들은 서버에서 실행될 필요가 있다. 보통 이러한 것들은 CGI(Common Gateway Interface)를 이용하여 구현된다. 그러나, 서버에서 실행되는 자바 가상머신을 이용하면, 그러한 프로그램들을 자바 언어로 구현할 수 있다. 서버에 있는 자바 서블릿의 장점은 CGI응용 프로그램보다 더 빠르게 실행될 수 있다는 것이다. 서블릿은 각 사용자의 요청마다 별도의 프로세스가 생기는 대신, 단 하나의 데몬 프로세스 내에서 스레드로 호출되는데, 이는 각 요구에 따른 시스템 오버헤드가 적다는 것을 의미한다. CGI 응용프로그램의 이름을 지칭하는 URL대신, 호출되고 있는 자바 서블릿의 결과인 웹 페이지내의 요청이 URL을 호출하게 되는데, 그 형태는 다음과 같다.
http://www.terms.co.kr:8080/servlet/gotoUrl?http://www.someplace.co.kr
URL 내의 "8080"이라는 포트 번호는 이 요청이 웹 서버 그 자체로 직접 가는 것임을 의미한다. 몇몇 추가적인 모듈들은 자바 서브릿들이 넷스케이프 엔터프라이즈(Enterprise)나, 마이크로소프트의 IIS 및 아파치 서버에서 실행될 수 있도록 해준다.
한편, 상기 단계(S103) 수행후, 레가시시스템(300)은 데이터셋의 HTTP요청을 파싱하고, 서버상의 서비스 객체 모듈을 로딩하여 실행한 다음, 결과 데이터를 전송용 포맷(DataBuffer)으로 가공한 후, HTTP 응답 서비스를 통해 데이터를 데이터수신부(140-5)로 전송한다(S105)(S107).
상기 데이터버퍼 구조의 형식은 아래의 표1과 같다.
OxFF 전체 Size(10)
OxFF 'E' Error Size(10) OxFF ErrorCode(10) ErrorMsg(가변)
OxFF Datatable Count(10)
OxFF Type(1) Size(10) OxFF Datatable
OxFF Type(1) Size(10) OxFF Datatable
여기서, 전체 Size : 전체 사이즈 뒤의 OxFF 이후의 모든자료 사이즈이고,
'E' : Error info 영역이 시작함을 의미, 사이즈는 1 이며,
Error Size : Error Code + Error Message 자료 Size이고,
Datatable Count : 이 데이터버퍼에 포함된 데이터테이블의 갯수이며,
Type : 해당 데이터테이블의 처리방식(G=AIIRow, B=BLOB, S, F, X=FirstRow)이고,
Size : 해당 데이터테이블의 사이즈이다.
상기 데이터수신부(140-5)는 데이터를 수신한 정보를 파싱하여 유효한 데이터인지를 분석한뒤 실제 데이터를 추출하고, 그 추출된 실제 데이터를 데이터셋변환부(140-7)로 전송한다(S109).
그리고, 데이터셋변환부(140-7)는 상기 추출된 데이터를 서버상의 서비스 객체 모듈이 리턴한 결과 데이터의 형태로 데이터셋 컴포넌트 내부에 리코드셋 객체를 생성하고, 그 생성된 리코드셋 객체를 데이터저장소(140-9)로 전송한다(S111).
이상에서 살펴본 바와 같이, 본 발명은 웹 환경에서 유저 인터페이스 구성요소로 액티브액스 콘트롤러를 사용하는데 있어 최대의 성능과 사용 편의성이 보장된 새로운 클라이언트 데이터 모델과 표준 HTTP를 통해 데이터를 전송할 수 있는 효과가 있다.
또한, 기존 클라이언트 데이터 모델의 단점을 보완하기 위해 클라이언트 단에 데이터 객체 모델을 생성하지만, 서버단의 서비스를 통해 생성한 순수한 데이터만을 전송구간을 통해 전달하는 방법으로 성능향상을 도모하고 있다.

Claims (2)

  1. 서버상에 데이터를 저장하는 데이터저장소와 데이터저장소로부터 출력되는 데이터에서 데이터객체모델을 생성하여, 클라이언트컴퓨터로부터 HTTP를 통해 요청된 HTML을 구성할 때 데이터 객체 모델을 통해 데이터를 사용하는 기존의 웹기반 환경에서의 데이터 모델 응용방식을 구비한 클라이언트컴퓨터에 있어서,
    상기 클라이언트컴퓨터로 입력된 클라이언트의 요구에 따라 사용하는 웹 브라우저를 통하여 웹 서버에 HTTP(Hyper Text Transfer Protocol)을 요청함과 아울러 상기 웹 서버로부터 HTTP응답-서비스 프로그램 실행결과를 전송받고 그 결과를 데이터저장소로 전송하는 에이드(ADE: Active Data Expression) 데이터셋 컴포넌트(Component)로 이루어진 것을 특징으로 하는 웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 컴포넌트.
  2. 제 1 항에 있어서,
    상기 에이드 데이터셋 컴포넌트는,
    데이터를 저장하는 데이터저장소와;
    상기 데이터저장소로부터 출력되는 데이터에서 데이터 객체모델을 생성하여 클라이언트컴퓨터의 화면에 요청된 HTTP(Hyper Text Transfer Protocol)를 전송하는 데이터 객체모델 생성부와;
    상기 클라이언트컴퓨터의 DHTML부로부터 전송되는 자원의 주소를 분석하는 URL(Uniform Resource Locator) 분석부와;
    상기 URL 분석부로부터 전송되는 데이터를 입력받고 웹 서버로 HTTP를 요청하는 HTTP 요청부와;
    상기 웹 서버로부터 HTTP 응답-서비스 프로그램 실행결과를 전송받는 데이터 수신부와;
    상기 데이터수신부로부터 전송받은 정보를 분석한 후, 그 분석된 정보를 데이터셋(Dataset) 형태의 메모리구조로 변환시켜 데이터저장소로 전송하는 데이터셋 변환부로 이루어진 것을 특징으로 하는 웹 서버간의 데이터를 송/수신하기 위한 클라이언트컴퓨터의 에이드 컴포넌트.
KR10-2002-0011349A 2002-03-04 2002-03-04 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트 KR100429558B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0011349A KR100429558B1 (ko) 2002-03-04 2002-03-04 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0011349A KR100429558B1 (ko) 2002-03-04 2002-03-04 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트

Publications (2)

Publication Number Publication Date
KR20020028963A true KR20020028963A (ko) 2002-04-17
KR100429558B1 KR100429558B1 (ko) 2004-04-29

Family

ID=19719578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0011349A KR100429558B1 (ko) 2002-03-04 2002-03-04 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트

Country Status (1)

Country Link
KR (1) KR100429558B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071560A1 (en) * 2004-01-17 2005-08-04 Keebok Park Method and system for application performance management
KR100792049B1 (ko) * 2005-06-03 2008-01-07 엘지엔시스(주) 저속의 통신 환경에서 고품질의 유저 인터페이스를 제공하는 애플리케이션의 운용 방법 및 그 애플리케이션이 저장된 기록매체
CN105323298A (zh) * 2015-02-28 2016-02-10 崔修源 一种基于ade数据集控件的数据传输方法及装置
CN111399806A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 一种组件管理方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115744A (en) * 1996-07-30 2000-09-05 Bea Systems, Inc. Client object API and gateway to enable OLTP via the internet
US6064977A (en) * 1998-06-19 2000-05-16 International Business Machine Corporation Web server with integrated scheduling and calendaring
KR20010105932A (ko) * 2000-05-19 2001-11-29 정재현 인터넷 환경에서의 시스템들간에 호환을 이루게 하도록컨넥터 기능을 갖는 운영시스템
CA2316003C (en) * 2000-08-14 2009-02-03 Ibm Canada Limited-Ibm Canada Limitee Accessing legacy applications from the internet

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071560A1 (en) * 2004-01-17 2005-08-04 Keebok Park Method and system for application performance management
KR100792049B1 (ko) * 2005-06-03 2008-01-07 엘지엔시스(주) 저속의 통신 환경에서 고품질의 유저 인터페이스를 제공하는 애플리케이션의 운용 방법 및 그 애플리케이션이 저장된 기록매체
CN105323298A (zh) * 2015-02-28 2016-02-10 崔修源 一种基于ade数据集控件的数据传输方法及装置
CN111399806A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 一种组件管理方法、装置、电子设备及存储介质
CN111399806B (zh) * 2019-01-03 2023-09-01 百度在线网络技术(北京)有限公司 一种组件管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR100429558B1 (ko) 2004-04-29

Similar Documents

Publication Publication Date Title
US8819177B2 (en) Adding personalized value to web sites
US8516155B1 (en) Dynamic content conversion
US6209029B1 (en) Method and apparatus for accessing data sources in a three tier environment
US7702811B2 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US7970874B2 (en) Targeted web page redirection
US7496847B2 (en) Displaying a computer resource through a preferred browser
EP2724251B1 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
JP4117246B2 (ja) 外部urlへのリンクを示す方法
US20030005159A1 (en) Method and system for generating and serving multilingual web pages
EP1258819A2 (en) System and method for providing a file in multiple languages
US20040111525A1 (en) Dynamic web service implementation discovery and selection apparatus and method
US7523158B1 (en) System and method for partial page updates using a proxy element
US8260964B2 (en) Dynamic content conversion
US20040205557A1 (en) Method and apparatus for portable universal resource locator and coding across runtime environments
US20040003130A1 (en) Systems and methods for accessing web services using a tag library
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US8090702B2 (en) Analyzing web site traffic
US20030237044A1 (en) Linking to a page
JP2000207421A (ja) ハイパ―リンクを使用して文書を検索するための方法及びシステム
US20080172396A1 (en) Retrieving Dated Content From A Website
US20040267724A1 (en) Apparatus, system and method of calling a reader&#39;s attention to a section of a document
KR100429558B1 (ko) 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트
WO2001048630A9 (en) Client-server data communication system and method for data transfer between a server and different clients
JP2001312464A (ja) 解説情報提供システム,解説情報取得用プログラム記録媒体,および解説情報提供用プログラム記録媒体
KR100452470B1 (ko) 인터넷 환경에서의 가우스 시스템 제어방법

Legal Events

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

Payment date: 20130329

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140408

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160412

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 14