KR100452470B1 - 인터넷 환경에서의 가우스 시스템 제어방법 - Google Patents

인터넷 환경에서의 가우스 시스템 제어방법 Download PDF

Info

Publication number
KR100452470B1
KR100452470B1 KR10-2002-0011350A KR20020011350A KR100452470B1 KR 100452470 B1 KR100452470 B1 KR 100452470B1 KR 20020011350 A KR20020011350 A KR 20020011350A KR 100452470 B1 KR100452470 B1 KR 100452470B1
Authority
KR
South Korea
Prior art keywords
data
gaussian
web
unit
server
Prior art date
Application number
KR10-2002-0011350A
Other languages
English (en)
Other versions
KR20020041349A (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-0011350A priority Critical patent/KR100452470B1/ko
Publication of KR20020041349A publication Critical patent/KR20020041349A/ko
Application granted granted Critical
Publication of KR100452470B1 publication Critical patent/KR100452470B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 컴포넌트(Component)와 연동시켜 다중데이터의 등록, 수정, 삭제를 한번의 커넥션(Connection)으로 처리할 수 있도록 한 인터넷 환경에서의 가우스 시스템 제어방법에 관한 것으로, 이러한 본 발명은 가우스 API 호출부는 개발자에 의해 작성된 웹 서버 스크립터의 요구(Request)객체와 응답(Response)객체를 전송 받아 가우스 컨트롤(Control)객체를 생성하고, 실행시(run-time)에 IP와 유효기간을 기준으로 라이선스를 검사한 후, 데이터를 헤더생성부, 데이터셋 자료저장부 및 출력자료전송부로 전송하는 단계와, 상기 헤더생성부는 가우스 API 호출부로부터 전송받은 데이터에서 헤더 정보를 저장할 수 있는 가우스 데이터셋 객체를 생성하고, 생성한 객체에 각 데이터의 형태에 맞추어 헤더정보를 생성하는 단계와, 상기 데이터셋 자료저장부는 가우스 API 호출부로부터 전송받은 데이터에서, Properties형태의 자료 구조로 여러 컬럼에 값을 저장하고, 저장된 가우스 레코드셋을 가우스 데이터 객체에 여러 로우(row)를 추가하여 저장함과 아울러 여러 로우를 추가할 경우 특정 개수 이상이 되면 데이더셋을 HTTP 터널링 프로토콜을 이용하여 가우스 API 호출부로부터 전송하는 단계 등으로 이루어진다.

Description

인터넷 환경에서의 가우스 시스템 제어방법{Control Method of Gauce system in internet environment}
본 발명은 서버 사이드 스크립터에서 액티브액스(ActiveX) 컴포넌트(Component)와 연동시켜 다중데이터의 등록, 수정, 삭제를 한번의 커넥션(Connection)으로 처리할 수 있도록 한 인터넷 환경에서의 가우스 시스템 제어방법에 관한 것이다.상기에서 가우스 시스템이란, 일단의 제어방법 및 단계들을 사용하여 서버에서 구현된 응용프로그램과 클라이언트에 설치된 컴포넌트가 상호 작용함으로써, 기존의 순수 HTML과 웹브라우저만을 이용하여 개발되었던 인터넷 응용에서는 경험할 수 없었던 역동적인 사용자와의 상호작용을 가능케 하도록 지원하는 응용 소프트웨어 구조를 제공하는 시스템을 가리킨다.가우스 시스템은 현재 분명한 정의가 내려져 있지는 않지만 최근에 들어서야 X-인터넷이라는 명칭으로 언급되고, UI서버(User Interface 서버)라는 제품군으로 자리 매김하고 있는 기술분야를 대응하기 위한 것이다. 아직도 대다수의 인터넷 응용 개발시 사용자와의 상호 작용을 위한 클라이언트측 인터페이스는 순수 HTML을 이용하여 표현 로직을 구현하고, 인터넷 익스플로러나 넷스케이프 등의 웹브라우저를 이용하여 표현을 처리하고 있는 실정이다. 순수 HTML은 문서 형태의 정적인 자료를 무작위의 대중에게 배포하기 위하여 고안된 문서 형식이다. 따라서 웹브라우저와 순수 HTML의 정적인 데이터 표현 한계의 특성상 HTML로 처리할 수 있는 기능들이 한정적이다 보니 기업의 업무 처리시에 요구되는 다양하고 복잡한 트랜잭션을 처리할 수 있는 사용자측의 표현 및 상호작용 기능이 미비하여, 인터넷응용을 개발하는 SI성 프로젝트나 패키지성 제품을 개발하는 업체들의 경우, 표현 계층에서의 제한된 기능으로 말미암아 원하는 기능을 구현하지 못하거나, 설령 구현한다해도 많은 시간과 비용을 투자해야 하고, 낮은 만족도로 인하여 어려움을 호소하고 있는 실정이다.가우스 시스템은 위와 같은 순수 HTML과 웹브라우저의 특성에 의해 제한을 받을 수밖에 없는 인터넷 응용 개발시 표현계층의 제한된 기능을 극복하고, 기존의 클라이언트-서버 시스템에서 파워빌더나 델파이등과 같은 4세대 언어(4GL)들이 제공했던 것과 동일하거나 발전된 형태의 사용자 인터페이스를 제공하기 위한 목적으로 개발된 것으로, 경영정보시스템(MIS)이나 통계시스템등과 같이 일반 시스템통합프로젝트(SI)성 개발이나, 일반 ERP/통계성 패키지 등에서 자주 사용되는 기능 및 표현 방법들을 업무에 종속되지 않고 공통적으로 사용가능 하도록 구성하며, Grid, Menu, Tree등 15개 이상의 클라이언트용 컴포넌트로 개발하고, 웨브라우저에서는 자바 스크립터를 통하여 각 컴포넌트들을 유기적으로 연동하고, 이벤트와 함수들을 사용하여 상황에 따라 컴포넌트의 기능을 제어함으로써 사용자와의 원활한 상호작용이 가능하도록 기능을 제공하고 있다.
최근 정보통신기술의 발달로 인터넷과 같은 글로벌한 통신 인프라의 폭발적인 확산에 따라 전자상거래가 시간적, 공간적 제약을 극복한 새로운 경제활동 양식으로 부각되고 있다. 이러한 전자상거래의 정의는 여러 가지 관점에서 다양하게 내릴 수 있겠으나, 개인, 기업, 정부 등의 경제 주체간에 인터넷과 같은 사이버 공간에서 상품 서비스를 사고 파는 모든 상거래 행위와 이를 지원하는 활동들을 포함하는 일연의 행위들이라 할 수 있다.
또한, 인터넷 웹 서버를 통해 거래되는 전자상거래의 대상은 책, 가구, 의복과 같이 택배를 필요로 하는 물리적인 상품뿐만 아니라 컴퓨터 소프트웨어, 인쇄물, 영상오락물, 정보서비스, 전문컨설팅, 금융서비스, 교육, 광고 등과 같이 전송이 가능한 디지털 상품 및 서비스를 포함하고 있다.
특히, 액티브액스는 마이크로소프트가 전략적 객체지향 프로그래밍 기술 및 도구모음에 대해 붙인 이름이다. 그 주요 기술은 COM이다. 디렉토리 및 기타 부가적인 지원과 함께 네트웍 내에서 사용되던 COM은 DCOM이 된다. 액티브액스 환경에서 운용되는 프로그램을 개발할 때 생성하게 되는 중요한 것이 컴포넌트인데, 이것은 액티브액스 네트웍의 어느 부분에서나 실행되기에 스스로 충분한 하나의 프로그램이라 할 수 있다. 이 컴포넌트를 액티브액스 콘트롤이라 부른다. 또한, 상기 액티브액스는 썬마이크로시스템즈의 자바 기술에 대항하기 위해 마이크로소프트가 내놓은 기술이다. 그러므로 액티브액스 콘트롤은 대체로 자바 애플릿과 동등한 위치에 있다고 할 수 있다. 여기서, 윈도우 운영체계가 설치된 PC에서 파일의 확장자에 "OCX"라고 붙은 많은 파일들이 발견되는데, OCX란 "Object Linking and Embedding control"의 약자이다. 개체연결 및 삽입(OLE: Object Linking and Embedding)은 윈도우 데스크탑과 같은 복합문서를 지원하기 위한 마이크로소프트의 프로그램 기술이었으나, 이제 마이크로소프트는 컴포넌트 객체를 위해 OCX 대신에 "ActiveX control"이라는 용어를 사용한다.
상기 컴포넌트의 주요 장점 중의 하나는, 많은 응용 프로그램에서 재사용될 수 있다는 것이다. 액티브액스 콘트롤은 C++, 비주얼베이직, 파워빌더 또는 VBScript와 같은 스크립트 도구 등을 포함, 여러가지 언어나 개발도구를 사용해서 만들 수 있다.
한편, 상기 콤(COM)은 프로그램의 컴포넌트 객체들을 개발하고 지원하기 위한 하부 기반구조로서, CORBA(Common Object Request Broker Architecture)에서 정의된 수준의 기능제공을 목표로 한다. 그리고, 마이크로소프트의 OLE가 사용자가 화면에서 볼 수 있는 복합문서를 위한 서비스를 제공하는 반면, COM은 인터페이스 교섭, 생명주기 관리(언제쯤 객체가 시스템에서 제거될 수 있는지 판단), 라이선스, 이벤트 서비스(다른 객체에서 발생된 이벤트의 결과로서 한 객체를 서비스에 배정)등 하부 서비스를 제공한다.
도 1은 일반적인 인터넷 환경에서의 웹 서버와 웹 어플리케이션 서버와의 연동을 나타낸 구성도이다.
도 1에 도시된 바와 같이, 클라이언트의 요구에 따라 사용하는 모든 종류의 웹 브라우저를 통하여 서비스를 요청하는 클라이언트컴퓨터(10)와, 상기 클라이언트컴퓨터(10)로부터 출력되는 요구신호에 따라 생성된 HTML(Hypertext markup language)을 클라이언트컴퓨터(10)로 전송하는 웹 서버(서버 사이드 스크립트(Server Side Script)(20)와, 상기 웹 서버(20)의 구동에 의해 실시되는 미들웨어 정보(웹로직(Web Logic), 웹스피어(WebSphere)등)를 제공하는 웹 어플리케이션 서버(Web Application Server)(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 시스템즈에서 공급하는 웹 어플리케이션 서버 제품으로서 웹 서버와 데이터베이스 사이에 위치하여 웹 기반의 기간업무용 분산시스템을 구축할 수 있도록 하고 안정적인 트랜잭션을 보장해주는 웹미들웨어프로그램이다. 또한 상기 웹스피어는 IBM사에서 공급하는 웹 어플리케이션 서버 제품으로서 웹로직과 같은 기능을 하는 프로그램이다.
또한, 상기 웹 어플리케이션 서버는 인터넷, 인트라넷에서 수행되는 어플리케이션의 개발, 분산 배치, 어플리케이션 리소스에 대한 관리 및 감시, 트랜잭션 서비스 및 보안 등 기존의 OLTP업무를 웹상에서 수행할 수 있도록 하는 미들웨어이다.
특히, 상기 웹 어플리케이션 서버의 대표적인 기능은 특정 데이터저장소에접근하기 위해 작성된 프로그램이다.
상기와 같이 구성된 일반적인 인터넷 환경에서의 웹 서버와 웹 어플리케이션 서버와의 연동을 나타낸 구성도를 참조하여 동작을 설명하면 다음과 같다.
먼저, 클라이언트컴퓨터(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)로 전송한다.
그러나, 상기와 같은 기존의 웹 서버로 웹 브라우저에 데이터를 표시할 때, 화면을 구성하는 부분과 데이터 처리 또는 취득하는 부분으로 구성되어 있음으로써, 이 경우 소스의 유지 보수가 힘들다는 문제점이 있었다.
특히, 상기의 문제점을 해결하가 위해 IBM의 MVC모델 같은 경우에는, 화면은 JSP가 담당하고, 데이터 처리는 서블릿(Servlet)이 담당함으로써 구현상 화면과 업무 프로세스를 분리하여 구현 하였다. 그러나, IBM의 MVC모델의 서버 사이드 스크립트는 궁극적으로 HTML을 생성하기 때문에, HTML의 경우에는 <테이블> 테그(<Table> Tag) 사용시 </테이블>이 전송완료 전까지 웹 브라우저에 데이터가 표시되지 않는다. 이를 극복하려면 애플릿(Applet)를 사용하면 가능하지만, 애플릿의 로딩시간과 초기화 시간이 늦어지는 문제점이 있었다.
또한, 분산객체 지향, 또는 컴포넌트 기반이라고 불리우는 COM+, EJB 또는 J2EE(이하, WAS)와 같은 환경하에서, EJB의 빈(Bean)중 세션 빈에서 하나의 메소드를 호출 할 때, 모든 처리가 끝날 때 까지는 결과를 호출한 클라이언트가 받을 수 없는 데, 만약 예를 들어 우편번호 100,000건의 레코드를 가져오는 빈을 만들었을 경우, 조회한 100,000이 모두 결과 객체에 담길 때까지 데이터를 리턴할 수 없다.
따라서, 상기 웹에서 이러한 경우 요청시간 오버로 웹 브라우저가 응답을 못하는 경우가 종종 있다.
따라서, 본 발명은 상기한 종래 기술에 따른 제반 문제점을 해결하기 위하여 제안된 것으로서, 본 발명의 목적은, 서버 사이드 스크립트에서 액티브액스 컴포넌트와 연동시켜 다중데이터의 등록, 수정, 삭제를 한번의 커넥션으로 처리할 수 있도록 한 인터넷 환경에서의 가우스 시스템 제어방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 인터넷 환경에서의 가우스 시스템 제어방법의 특징은,
안정적으로 서버측 응용의 개발이 가능하면서도 가우스 시스템이 제시하는 특정서버응용 구조에 얽매이지 않고, 자유스럽게 개발 프레임웍을 구성할 수 있도록 지원해주는 가우스 API 호출부는 개발자에 의해 작성된 웹 서버 스크립터의 요구(Request)객체와 응답(Response)객체를 전송받아 가우스 콘트롤(Control)객체를 생성하고, 실행시(run-time)에 IP와 유효기간을 기준으로 라이선스를 검사한 후, 데이터를 헤더생성부, 데이터셋 자료저장부 및 출력자료전송부로 전송하는 단계와;
상기 헤더생성부는 가우스 API 호출부로부터 전송받은 데이터에서 헤더 정보를 저장할 수 있는 가우스 데이터셋 객체를 생성하고, 생성한 객체에 각 데이터의 형태에 맞추어 헤더정보를 생성하는 단계와;
상기 데이터셋 자료저장부는 가우스 API 호출부로부터 전송받은 데이터에서, Properties형태의 자료 구조로 여러 컬럼에 값을 저장하고, 저장된 가우스 레코드셋을 가우스 데이터 객체에 여러 로우(row)를 추가하여 저장함과 아울러 여러 로우를 추가할 경우 특정 개수 이상이되면 데이더셋을 HTTP 터널링 프로토콜을 이용하여 가우스 API 호출부로부터 전송하는 단계와;
상기 출력자료전송부는 가우스 API 호출부로부터 데이터셋에 저장할 레코드가 마지막이라는 정보를 제공받은 후, 웹 서버로 자료를 전송하는 단계로 이루어진다.상기에서, 가우스 API 호출부에 대해서 좀 더 자세히 설명하면 다음과 같다.클라이언트측의 컴포넌트와 정보를 주고 받으며 정확하게 데이터를 생성하고 복원하기 위하여 가우스 시스템의 서버측 응용프로그램들은 다음과 같은 기능들을 수행하여야 한다.HTTP 프로토콜의 호출방법에 따른 GET, POST, Multipart Encoding 방식의 구분 및 이에 따른 수신 데이터의 인식(파라미터, 데이터 테이블등), 분리 기능과, 클라이언트 컴포넌트로부터 수신받은 데이터 스트림으로부터 데이터 테이블의 목록 및 구조 인식과 추출 기능과, 데이터 테이블별로 레코드 구분 및 레코드별 필드 분리와 데이터 구조 복원 기능과, 각 데이터 테이블에 대한 접근 및 변경 기능을 수행하며, 전체 데이터들을 지정된 크기로 분할하고 원하는 형식의 데이터셋으로 재구성하는 기능과, 데이터셋을 네트웍으로 전송(데이터 스트림)하기 위한 Serialize 및 복원 기능을 수행하며, 네트웍 대역폭 절감을 위한 데이터 스트림의 압축 및 해제 기능을 수행하여야 한다.위와 같은 다양한 기능들은 서버측 응용 개발시 매우 방대한 작업들을 요구하며, 세밀하게 구현되지 않는 경우, 시스템 전체적으로 심각한 영향을 끼칠 수 있다. 따라서 보다 쉽고, 빠르며, 안정적으로 서버측 응용의 개발이 가능하면서도 가우스 시스템이 제시하는 특정 서버 응용 구조에 얽매이지 않고 자유스럽게 개발 프레임웍을 구성할 수 있도록 지원하기 위하여 제공되는 것이 가우스 API 호출부이다.가우스 API 호출부는, 클라이언트의 컴포넌트로부터 요청이 들어오는 경우 서버의 응용이 수행됨과 동시에 기동되며, 서버 응용의 비즈니스 로직과 클라이언트 컴포넌트의 중간에 위치하여 서버 응용이 클라이언트의 컴포넌트와 상호작용하는 동안의 모든 정보의 서버측 생성/복원 및 송수신을 담당한다.특히 가우스 API 호출부는 Java, COM, .NET등 서버의 플랫폼에 따라 개별적으로 제공함으로써, 서버의 플래폼에 무관하게 공통적으로 클라이언트의 컴포넌트와 연동하여 시스템을 구성할 수 있도록 열린 구조를 지원하게 된다.
도 1은 일반적인 인터넷 환경에서의 웹 서버와 웹 어플리케이션 서버와의 연동을 나타낸 구성도,
도 2는 본 발명이 적용되는 인터넷 환경에서의 가우스 시스템과 그 주변을 나타낸 구성도,
도 3은 본 발명에 따른 인터넷 환경에서의 가우스 시스템 제어방법을 나타낸 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 클라이언트컴퓨터
200 : 웹 서버
300 : 웹 어플리케이션 서버
이하, 본 발명에 따른 인터넷 환경에서의 가우스 시스템 제어방법의 바람직한 실시예를 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명이 적용되는 인터넷 환경에서의 가우스 시스템과 그 주변을 나타낸 구성도이다.
도 2에 도시된 바와 같이, 클라이언트의 요구에 따라 사용하는 모든 종류의 웹 브라우저를 통하여 서비스를 요청하는 클라이언트컴퓨터(100)와, 상기 클라이언트컴퓨터(100)로부터 출력되는 요구신호에 따라 생성된 HTML(Hypertext markup language)을 클라이언트컴퓨터(100)로 전송하는 웹 서버(200)와, 상기 웹 서버(200)의 구동에 의한 웹상의 서비스 요청을 수행하는 웹 어플리케이션 서버(300)와, 상기 웹 서버(200)가 상기 웹 어플리케이션 서버(300)의 프로그램을 호출할 경우, 개발자에 의해 작성된 개별 웹 어플리케이션의 변수정보를 호출하여 데이터를 웹 서버(200)로 전송하는 가우스 시스템(GAUCE system)(400)으로 구성된다.
상기 클라이언트컴퓨터(100)는 데이터를 저장하는 데이터저장소(110)와, 상기 데이터저장소(110)로부터 출력되는 데이터에서 데이터 객체모델을 생성하여 클라이언트컴퓨터의 화면에 디스플레이 해주는 데이터 객체모델 생성부(120)와, 클라이언트의 요구신호에 따라 HTML(Hypertext markup language)을 생성하는 HTML생성부(130)와, 상기 HTML생성부(130)로부터 데이터를 전송받아 웹 서버(200)로 전송함과 아울러 상기 웹 서버(200)으로부터 HTTP응답-서비스 프로그램 실행결과를 전송받고 그 결과를 저장하는 에이드(ADE: Active Data Expression) 컴포넌트(Component)(140)로 구성된다.
여기서, 상기 에이드 컴포넌트(140)는, 웹에서 4GL환경(그래픽 위주의 파워빌더, 델파이와 같은4세대 개발언어)과 유사한 유저 인터페이스 환경을 만들기 위해 마이크로소프트사의 액티브엑스 환경을 기반하여 자사에서 자체 개발한 소프트웨어 컴포넌트 셋을 일컫는다.
상기 에이드 컴포넌트(140)는 HTML생성부(130)로부터 전송되는 데이터를 전송받아 자원의 주소를 분석하는 URL(Uniform Resource Locator; 인터넷에서 특정한 컴퓨터를 식별하기 위한 도메인 이름, 그리고 컴퓨터 파일의 위치를 계층적으로 나타낸 경로명) 분석부(140-1)와, 상기 URL 분석부(140-1)로부터 전송되는 데이터를 입력받고 웹 서버(200)으로 HTTP(Hyper Text Transfer Protocol)를 요청하는 HTTP 요청부(140-3)와, 상기 웹 서버(200)로부터 HTTP 응답-서비스 프로그램 실행결과를 전송받는 데이터 수신부(140-5)와, 상기 데이터수신부(140-5)로부터 전송받은 정보를 분석한 후, 그 분석된 정보를 데이터셋(Dataset) 형태의 메모리구조로 변환시켜 데이터저장소(110)로 전송하는 데이터변환부(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)의 일종이다.
또한, 상기 가우스 시스템(GAUCE system)(400)은 클라이언트 단위의 저작 Tool, Web Reporting Tool, Server Performance를 최대한 지원하는 독창적인 데이터 셋 컴포넌트, MIS용 개발 컴포넌트들을 하나로 통합한 독창적인 제품으로, Pure Java, COM+등의 표준 웹 개발언어를 지원하며 이를 바탕으로 웹 어플리케이션 서버(W.A.S), 미들웨어, ERP등의 다양한 플랫폼과 손쉽게 연동할 수 있게 만든 웹 개발 지원 툴이다. 또한, 가우스는 표준 웹언어(JSP, ASP등)를 기반으로 기존의 기업 시스템들과 밀접히 통합되어 다양하고 역동적인 웹 어플리케이션의 구축에서 웹 리포팅까지 포괄적이고 일원화된 환경을 제공한다.
여기서, 상기 가우스 시스템(400)의 구성을 살펴보면, 개발자가 작성한 웹 서버 사이드 스크립트를 저장함과 아울러 그 저장된 서버 사이드 스크립트를 호출하는 가우스 API(Application Program Interface ; 응용프로그램 인터페이스) 호출부(400-1)와, 상기 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받아 헤더(Header)정보를 생성하는 헤더생성부(400-3)와, 상기 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받고 그 전송받은 데이터를 데이터셋에 저장하는 자료저장부(400-5)와, 상기 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받고 그 전송받은 정보를 웹 어플리케이션 서버(300)의 변수 타입, 크기로 변환하여 웹 서버(200)로 전송하는 출력자료전송부(400-7)로 구성된다.
여기서, 상기 API는 운영체계나 다른 응용프로그램에게 처리요구를 할 수 있도록 컴퓨터 운영체계나 다른 응용프로그램에 의해 미리 정해진 특별한 메소드이다. 또한, 상기 API는 운영체계나 프로그램의 인터페이스로서 사용자와 직접적으로 대하게 되는 그래픽 사용자 인터페이스나 명령형 인터페이스와는 뚜렷한 차이가 있다. 그리고, 상기 API는 응용프로그램이 운영체계나 데이터베이스 관리시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 말한다. API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출함으로써 구현된다. 그러므로 하나의 API는 함수 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇개의 프로그램 모듈이나 루틴을 가진다.
상기와 같이 구성된 클라이언트컴퓨터와 웹 서버간의 동작을 설명하면 다음과 같다.
먼저, 클라이언트컴퓨터(100)의 HTML생성부(130)는 클라이언트의 요구에 따라서 HTML을 생성하고 생성된 HTML을 에이드(ADE: Active Data Expression) 컴포넌트(Component)(140)의 URL분석부(140-1)로 전송한다.
이때, URL분석부(140-1)는 전송되어온 정보를 서비스 객체에대한 URL을 지정하여 HTTP요청부(230-3)로 정보를 전송한다.
그리고, 상기 HTTP요청부(230-3)는 클라이언트 HTML 페이지내의 데이터셋 컴포넌트의 속성과 메소드를 사용해 서버상의 CGI(Common Gateway Interface)나 JSP(Java Server Page)/ASP(Active Server Page) 혹은 서블릿(Servlet)을 통해 데이터 소스에서 데이터 쿼리해 오는 서비스 객체를 HTTP 프로토콜을 사용해 웹 어플리케이션 서버(300)을 호출 한다.
한편, 가우스 시스템(400)의 가우스 API 호출부(400-1)는 개발자에 의해 작성된 웹 서버 스크립트를 전송받고 그 전송받은 스크립트를 분석한후 저장하여 헤더생성부(400-3), 데이터셋 자료저장부(400-5) 및 출력자료전송부(400-7)로 전송한다.
여기서, 상기 헤더생성부(400-3)는 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받아 헤더(Header)정보를 생성한다.
또한, 상기 자료저장부(400-5)는 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받고 그 전송받은 데이터를 데이터셋에 저장한다.
그리고, 상기 출력자료전송부(400-7)는 가우스 API 호출부(400-1)로부터 전송되는 데이터를 전송받고 그 전송받은 정보를 웹 어플리케이션 서버(300)의 변수 타입, 크기로 변환하여 웹 서버(200)로 전송한다.
한편, 상기 웹 서버(200)는 가우스 시스템(400)의 출력자료전송부(400-7)를 통해 전송되어온 데이터에 따라 웹 어플리케이션 서버(300)을 호출함과 아울러 상기 웹 어플리케이션 서버(300)으로부터 결과를 전송받고 서버상의 서비스 객체 모듈을 로딩하여 실행한 다음, 결과 데이터를 전송용 포맷(DataBuffer)으로 가공한 후, HTTP 응답 서비스를 통해 데이터를 클라이언트컴퓨터(100)의 데이터수신부(140-5)로 전송한다.
또한, 상기 데이터수신부(140-5)는 데이터를 수신한 정보를 파싱하여 유효한 데이터인지를 분석한뒤 실제 데이터를 추출하고, 그 추출된 실제 데이터를 데이터변환부(140-7)로 전송한다.
그리고, 데이터변환부(230-7)는 상기 추출된 데이터를 서버상의 서비스 객체 모듈이 리턴한 결과 데이터의 형태로 데이터셋 컴포넌트 내부에 레코드셋 객체를 생성하고, 그 생성된 레코드셋 객체를 데이터저장소(110)로 전송한다.
상기 가우스 시스템(400)의 동작을 도 3을 참조하여 상세히 살펴보면 다음과 같다.
먼저, 가우스 시스템(400)의 가우스 API 호출부(400-1)는 개발자에 의해 작성된 웹 서버 스크립트의 요구(Request)객체와 응답(Response)객체를 전송받아 가우스 콘트롤(Control)객체를 생성하고, 실행시(run-time)에 IP와 유효기간을 기준으로 라이센스를 검사한 후, 데이터를 헤더생성부(400-3), 데이터셋 자료저장부(400-5) 및 출력자료전송부(400-7)로 전송한다(ST11).
그리고, 상기 헤더생성부(400-3)는 가우스 API 호출부(400-1)로부터 전송받은 데이터에서 헤더 정보를 저장할 수 있는 가우스 데이터셋 객체를 생성하고, 생성한 객체에 각 데이터의 형태에 맞추어 헤더정보를 생성한다(ST12).
또한, 상기 데이터셋 자료저장부(400-5)는 가우스 API 호출부(400-1)로부터 전송받은 데이터에서, Properties형태의 자료 구조로 여러 컬럼에 값을 저장하고, 저장된 가우스 레코드셋을 가우스 데이터 객체에 여러 로우(row)를 추가하여 저장함과 아울러 여러 로우를 추가할 경우 특정 개수 이상이되면 데이더셋을 HTTP 터널링 프로토콜을 이용하여 가우스 API 호출부(400-1)로부터 전송한다(ST13)(ST14).
그리고, 상기 출력자료전송부(400-7)는 가우스 API 호출부(400-1)로부터 데이터셋에 저장할 레코드가 마지막이라는 정보를 제공받은 후, 웹 서버로 자료를 전송한다(ST15).
이상에서 살펴본 바와 같이, 본 발명은 에이드 컴포넌트를 어떤 서버 사이드 스크립트에서도 운용할 수 있는 방안을 제시함으로써, 유저 인터페이스가 뛰어난 ADE 컴포넌트를, 가우스 액티브 엔터프라이스를 웹 어플리케이션 서버 또는 웹 서버에 탑재하여 사용할 수 있도록 연동능력을 제공함과 아울러 개발 기간을 단축하고, 개발을 효율적으로 할 수 있는 여건을 마련하였다.

Claims (1)

  1. 가우스 시스템의 제어방법에 있어서,
    가우스 API 호출부는 개발자에 의해 작성된 웹 서버 스크립트의 요구(Request)객체와 응답(Response)객체를 전송받아 가우스 콘트롤(Control)객체를 생성하고, 실행시(run-time)에 IP와 유효기간을 기준으로 라이센스를 검사한 후, 데이터를 헤더생성부, 데이터셋 자료저장부 및 출력자료전송부로 전송하는 단계와;
    상기 헤더생성부는 가우스 API 호출부로부터 전송받은 데이터에서 헤더 정보를 저장할 수 있는 가우스 데이터셋 객체를 생성하고, 생성한 객체에 각 데이터의 형태에 맞추어 헤더정보를 생성하는 단계와;
    상기 데이터셋 자료저장부는 가우스 API 호출부로부터 전송받은 데이터에서, Properties형태의 자료 구조로 여러 컬럼에 값을 저장하고, 저장된 가우스 레코드셋을 가우스 데이터 객체에 여러 로우(row)를 추가하여 저장함과 아울러 여러 로우를 추가할 경우 특정 개수 이상이되면 데이더셋을 HTTP 터널링 프로토콜을 이용하여 가우스 API 호출부로부터 전송하는 단계와;
    상기 출력자료전송부는 가우스 API 호출부로부터 데이터셋에 저장할 레코드가 마지막이라는 정보를 제공받은 후, 웹 서버로 자료를 전송하는 단계를 포함하여 이루어지는 것을 특징으로 하는 인터넷 환경에서의 가우스 시스템 제어방법.
KR10-2002-0011350A 2002-03-04 2002-03-04 인터넷 환경에서의 가우스 시스템 제어방법 KR100452470B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0011350A KR100452470B1 (ko) 2002-03-04 2002-03-04 인터넷 환경에서의 가우스 시스템 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0011350A KR100452470B1 (ko) 2002-03-04 2002-03-04 인터넷 환경에서의 가우스 시스템 제어방법

Publications (2)

Publication Number Publication Date
KR20020041349A KR20020041349A (ko) 2002-06-01
KR100452470B1 true KR100452470B1 (ko) 2004-10-12

Family

ID=19719579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0011350A KR100452470B1 (ko) 2002-03-04 2002-03-04 인터넷 환경에서의 가우스 시스템 제어방법

Country Status (1)

Country Link
KR (1) KR100452470B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320721A (zh) * 2015-02-28 2016-02-10 崔修源 一种gauce系统控制的方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100846732B1 (ko) * 2006-06-02 2008-07-16 (주)투비소프트 클라이언트-서버간의 클라이언트 데이터 통신 컴포넌트

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025949A (ko) * 1999-09-02 2001-04-06 이계철 다중 데이터베이스 통합을 위한 미들웨어 시스템과 그를 이용한 분산 이기종 지역 데이터베이스 통합 접근방법
KR20010040666A (ko) * 1998-02-04 2001-05-15 인터우벤 인크 웹사이트 개발 시스템 및 방법
KR20010067003A (ko) * 2000-11-18 2001-07-12 김양신 제공된 저작도구를 이용한 콘텐츠 제공자들의 서버 집합을자동으로 통합 관리하는 3차원 가상공간 시스템 및 그시스템의 운영방법
KR20010100537A (ko) * 2000-05-03 2001-11-14 이준희 웹서버 통합적 다중 검색 시스템 및 방법
KR20020091648A (ko) * 2001-05-31 2002-12-06 (주)투데이워너 리눅스 플랫폼의 웹어플리케이션 통합 제어 프로그래밍서비스 제공방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010040666A (ko) * 1998-02-04 2001-05-15 인터우벤 인크 웹사이트 개발 시스템 및 방법
KR20010025949A (ko) * 1999-09-02 2001-04-06 이계철 다중 데이터베이스 통합을 위한 미들웨어 시스템과 그를 이용한 분산 이기종 지역 데이터베이스 통합 접근방법
KR20010100537A (ko) * 2000-05-03 2001-11-14 이준희 웹서버 통합적 다중 검색 시스템 및 방법
KR20010067003A (ko) * 2000-11-18 2001-07-12 김양신 제공된 저작도구를 이용한 콘텐츠 제공자들의 서버 집합을자동으로 통합 관리하는 3차원 가상공간 시스템 및 그시스템의 운영방법
KR20020091648A (ko) * 2001-05-31 2002-12-06 (주)투데이워너 리눅스 플랫폼의 웹어플리케이션 통합 제어 프로그래밍서비스 제공방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320721A (zh) * 2015-02-28 2016-02-10 崔修源 一种gauce系统控制的方法及装置

Also Published As

Publication number Publication date
KR20020041349A (ko) 2002-06-01

Similar Documents

Publication Publication Date Title
US7162687B2 (en) JSP tag libraries and web services
Conallen Building Web applications with UML
US6362840B1 (en) Method and system for graphic display of link actions
JP4015375B2 (ja) クライアント側ユーザインタフェース要素を処理するサーバ側制御オブジェクト
US7725906B2 (en) Method and device for executing a function with selection and sending of multiple results in a client-server environment
EP1156427A2 (en) Postback input handling by server-side control objects
US20030037181A1 (en) Method and apparatus for providing process-container platforms
US20020032706A1 (en) Method and system for building internet-based applications
US20040225749A1 (en) Transformation of web site summary via taglibs
US20070288644A1 (en) Systems and methods for developing and running applications in a web-based computing environment
US20040003130A1 (en) Systems and methods for accessing web services using a tag library
US7096455B2 (en) Method and system for representing and accessing data for computer software applications
EP1283996A2 (en) Method and system for reusing internet-based applications
US20030004993A1 (en) System, method and computer program for the creation of web pages and communications between web pages
KR100452470B1 (ko) 인터넷 환경에서의 가우스 시스템 제어방법
WO2001048630A2 (en) Client-server data communication system and method for data transfer between a server and different clients
Shakib et al. Leveraging the Power of Java in the Enterprise
KR100429558B1 (ko) 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트
Polgar et al. Building and managing enterprise-wide portals
Dumitrache et al. WEB SERVICES INTEGRATION WITH DISTRIBUTED APPLICATIONS.
Goodwill Apache Axis Live: A Web Services Tutorial
EP1420337A1 (en) System and method to provide a flexible user interface
KR20010113472A (ko) 분산 데이터 처리 시스템에 있어서 동적 문서 생성용콤포넌트 모델 정의 장치 및 방법
Fan et al. Java plus XML: a powerful new combination for SCADA systems
CN105323298A (zh) 一种基于ade数据集控件的数据传输方法及装置

Legal Events

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

Payment date: 20120928

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160829

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 16