KR100321183B1 - 자바 미들웨어 시스템 및 그 운용 방법 - Google Patents

자바 미들웨어 시스템 및 그 운용 방법 Download PDF

Info

Publication number
KR100321183B1
KR100321183B1 KR1019990023873A KR19990023873A KR100321183B1 KR 100321183 B1 KR100321183 B1 KR 100321183B1 KR 1019990023873 A KR1019990023873 A KR 1019990023873A KR 19990023873 A KR19990023873 A KR 19990023873A KR 100321183 B1 KR100321183 B1 KR 100321183B1
Authority
KR
South Korea
Prior art keywords
server
java
client
database
transaction
Prior art date
Application number
KR1019990023873A
Other languages
English (en)
Other versions
KR19990068813A (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 KR1019990023873A priority Critical patent/KR100321183B1/ko
Publication of KR19990068813A publication Critical patent/KR19990068813A/ko
Application granted granted Critical
Publication of KR100321183B1 publication Critical patent/KR100321183B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 자바 언어를 이용한 자바 미들웨어 시스템에 관한 것으로, 특히 웹 환경에서의 인터넷 및 인트라넷 프로그램을 개발할 때 사용되는 자바 미들웨어 시스템 및 그 운용 방법에 관한 것이다.
본 발명의 자바 미들웨어 시스템은 클라이언트와 서버로 구성된 네트워크 상에서, 트랜잭션 서버 프로그램을 구동하여 각각의 데이터베이스 서버와의 연결을 유지하며, 각각 자신만의 고유한 TCP/IP 포트를 개방한 상태에서 클라이언트의 접속을 대기하도록 하는 웹 서버와; 클라이언트 사용자가 상기 웹 서버의 URL로 접속하기 위한 브라우저와; 상기 웹 서버에서 관련 HTML 문서와 그 문서에 포함된 애플렛을 클라이언트로 전송하며 자바 서버와의 통신을 하기 위한 JTS(Java Transaction Server) 섹션과; 상기 JTS 섹션을 통해 요구된 작업 요청을 지정된 포트로 전송받고, 지정된 포트로 수신된 클라이언트의 요구 사항을 분석하여 그 내용에 따라 데이터베이스 서버로 클라이언트가 요구한 자료를 요청하는 자바 트랜잭션서버와; 상기 자바 트랜잭션 서버의 요구 사항을 처리하고, 그 처리된 결과를 상기 자바 트랜잭션 서버로 전송하는 데이터베이스 서버와; 상기 서버들의 부하를 분산하는 BP(Branch Process) 서버를 포함하여 구성된 것이다.

Description

자바 미들웨어 시스템 및 그 운용 방법{Java Middleware System and Its Operation Method}
본 발명은 자바 언어를 이용한 자바 미들웨어 시스템에 관한 것으로, 특히 웹 환경에서의 인터넷 및 인트라넷 프로그램을 개발할 때 사용되는 자바 미들웨어시스템 및 그 운용 방법에 관한 것이다.
1980년 때까지는 메인 프레임 또는 호스트라고 불리는 대형 또는 중형 기종의 컴퓨터에서 모든 프로그램을 직접 작성하여 수행되었으며, 또한 사용자들은 호스트에 연결된 단말기에서 프로그램을 수행하였다.
그러나, 이러한 환경은 관리의 효율성과 유지 보수가 용이하다는 장점이 있었지만, 사용자의 증가에 대한 해결책으로 좀 더 강력한 하드웨어가 요구되고, 또한 국지적으로 연결된 사용자만이 사용할 수 있으며, 호스트에 장애가 발생할 경우 전체 업무가 정지되는 단점을 안고 있다.
이러한 호스트 중심의 하드웨어와 소프트웨어 관리의 문제점을 해결하고자 1980년대 말부터 1990년대 중반까지 클라이언트/서버라는 시스템이 등장하게 되었다. 상기의 클라이언트/서버 시스템은 대형 호스트가 하는 일을 중형 또는 소형의 분산된 서버 컴퓨터가 수행하게 하며, 서버 컴퓨터는 네트워크에 의해 서로 연결되어 있는 구조를 말한다. 프로그램은 각각의 서버와 클라이언트에 존재하며, 메인 프레임에서의 단말기는 각각의 서버에 연결된 PC가 담당하여 특정 서버에 장애가 발생하여도 다른 서버가 해당 처리 업무를 수행할 수 있기 때문에 안정성과 고도의 가용성을 제공받을 수 있었다. 또한, 이때부터 기존의 문자 방식의 프로그램과 인터페이스가 GUI(Graphic User Interface) 방식으로 바뀌어 보다 직관적이고 사용이 편리한 사용 환경을 제공하게 되었다.
그러나, 상기의 클라이언트/서버 시스템은 클라이언트/서버 구축을 위한 프로젝트 수행 능력의 부족, 정책 부재, 그리고 시스템 구성 후 과도한 관리 및 유지비용에 따른 이유로 일부를 제외하고는 대부분 실패하였다.
따라서, 클라이언트/서버 시스템의 실패는 관리 유지가 용이하고 좀 더 많은 사용자들이 시간과 공간의 제약없이 시스템을 사용할 수 있는 환경을 요구하게 되었으며, 이러한 시스템이 바로 웹 컴퓨팅(인터넷)이다.
인터넷이 1990년대 후반 WWW와 브라우저 기술의 발달로 전 세계에 보급되자 산업계 전반에서는 이를 활용한 시스템 구축에 관심을 갖게되었으며, 이는 컴퓨터 산업 전반에 커다란 변화를 요구하게 되었다.
자바를 사용하여 상기의 인터넷 및 인트라넷 프로그램을 개발할 때 가장 중요한 항목은 속도와 호환성이다. 이러한 두 가지 요소는 서로 대치하는 것으로 어느 하나를 위해서는 다른 하나의 희생을 필요로 하는 것이다.
먼저, 속도 측면부터 고찰해 보면 다음과 같다.
즉, 자바는 인터프리터 형식으로 동작하며, 자바 애플릿은 브라우저에 의해 수행 시간에 웹 서버로부터 전송을 받기 때문에 일반적인 다른 웹 프로그램 방식에 비해 속도가 느리다. 이러한 문제를 해결하기 위해서 여러 가지 기술들이 나오고 있지만 아직 표준화되지 않았으며, 개발자들에게는 부담스러운 지식들을 습득해야만 하는 어려움이 있다.
또한, 호환성 측면에서 고찰해보면, 자바가 플랫폼에 구애받지 않는 기술적 요소를 제공하지만 많은 플랫폼에서는 속도 향상을 위해 별도의 고유한 방법들을 제공하고 있으며, 일반적으로 이러한 방법을 사용할 경우 좀 더 빠른 수행 결과를 얻을 수 있다. 그러나, 이러한 기술의 사용은 플랫폼이 변경되었을 때 전체 프로그램을 변경해야 하는 어려움이 있다.
본 발명은 자바를 사용하여 인터넷 및 인트라넷 프로그램을 개발할 때 발생되는 문제점을 해결하고자 안출한 것으로서, 인터넷 상에서 클라이언트가 서버에 접속하여 서버에서 제공되는 프로그램 및 서비스 등을 유용하게 활용할 수 있는 시스템을 제공하는 데 그 목적이 있다.
즉, 자바를 사용할 때 발생되는 속도 측면에서의 문제점을 해결하고자 본 발명은 클라이언트의 애플렛의 크기를 작게하여 프로그램 구동 시간을 향상시키며, 서버와의 자료 전송을 최소화하여 프로그램의 수행 속도를 향상시키는 시스템을 제공하는 데 그 목적이 있다.
또한, 본 발명에 따른 자바 미들웨어 시스템에서는 고유한 방법들에 대한 사상 기법을 제공하여, 실제로 플랫폼이 변경되었을 경우 전체 프로그램에 대한 변경없이 자바 미들웨어에서의 환경 및 설정 값들만을 수정하여 전체 프로그램이 정상적으로 동작될 수 있는 호환성을 제공하는 데 그 목적이 있다.
도 1은 본 발명에 따른 자바 미들웨어 시스템의 구성도
도 2는 도 1에서의 자바 트랜잭션 서버의 구성도
도 3은 본 발명에 따른 자바 미들웨어 시스템의 운용 흐름도
도 4는 본 발명에 따른 관계형 데이터베이스와 자바 응용 프로그램간의 연동관계를 도시한 구성도
(도면의 주요부분에 대한 부호의 설명)
1 : 클라이언트 1a : JTS 섹션
1b : 브라우저 2 : 자바 트랜잭션 서버
3 : 웹 서버 4 : 데이터베이스 서버
5 : BP 서버
이와 같은 목적을 달성하기 위한 본 발명의 자바 미들웨어 시스템은 클라이언트와 서버로 구성된 네트워크 상에서, 트랜잭션 서버 프로그램을 구동하여 각각의 데이터베이스 서버와의 연결을 유지하며, 각각 자신만의 고유한 TCP/IP 포트를 개방한 상태에서 클라이언트의 접속을 대기하도록 하는 웹 서버와; 클라이언트 사용자가 상기 웹 서버의 URL로 접속하기 위한 브라우저와; 상기 웹 서버에서 관련HTML 문서와 그 문서에 포함된 애플렛을 클라이언트로 전송하며 자바 서버와의 통신을 하기 위한 JTS(Java Transaction Server) 섹션과; 상기 JTS 섹션을 통해 요구된 작업 요청을 지정된 포트로 전송받고, 지정된 포트로 수신된 클라이언트의 요구사항을 분석하여 그 내용에 따라 데이터베이스 서버로 클라이언트가 요구한 자료를 요청하는 자바 트랜잭션 서버와; 상기 자바 트랜잭션 서버의 요구 사항을 처리하고, 그 처리된 결과를 상기 자바 트랜잭션 서버로 전송하는 데이터베이스 서버와; 상기 서버들의 부하를 분산하는 BP(Branch Procerss) 서버를 포함하여 구성됨에 그 특징이 있다.
또한, 상기 자바 트랜잭션 서버는 클라이언트의 작업 요청에 의해 구동되며, 클라이언트로부터의 처리 요구 사항을 직접 자료관리자에 전달하는 스레드(Thread)와; 상기 스레드에서 클라이언트로부터 처리 요구가 접수되면 요구 사항의 적합성 및 처리 권한 등을 확인한 후 그 작업을 위한 각각의 작은 크기의 상기 스레드를 분할 생성하여 요구 사항을 처리하는 트랜잭션 서버 프로그램과; 지정된 특정 클라이언트 IP 주소에 대해 사용 권한의 부여 및 접근 거부 등을 수행하며 해당 IP들을 관리하는 작업을 수행하는 방화벽과; 각각의 트랜잭션을 관리하는 서버 관리 프로그램을 구동 및 종료시키며, 각각의 업무 서버에 동시에 접속할 수 있는 최대 사용자의 관리 및 지정 작업이 수행되며 사용할 포트 번호 등을 결정하는 서버프로그램관리자와; 각각의 서브 시스템의 구동 및 작업 환경을 설정하며, 공통 메시지 처리 및 작업 로그를 관리하며, 서버의 사용 현황, 사용자의 요구 사항 통계 등의 작업을 수행하는 자바 트랜잭션 메인 시스템과; 상기 자바 트랜잭션 메인 시스템과 각각의 서버와의 연결을 관리하는 연결관리자와; 상기 스레드에서의 자료 처리 요구를 최종적으로 각각의 목표 서버에 전달하며, 상기 데이터베이스 서버에서의 처리 결과를 요청한 뒤 단위 스레드에 전달하는 작업을 수행하는 자료관리자와; 상기 연결관리자와 상기 자료관리자에서 접속되는 목표 서버의 IP 주소 및 기본 사용자 ID 및 패스워드 등을 관리하며, 상기 스레드에서 생성된 작업 내역의 조회 및 통계처리 업무를 수행하는 시스템관리자를 포함하여 구성됨에 그 특징이 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 자바 미들웨어 시스템의 구성도이고, 도 2는 도 1에서의 자바 트랜잭션 서버의 구성도이며, 도 3은 본 발명에 따른 자바 미들웨어 시스템의 동작을 도시한 흐름도이며, 도 4는 본 발명에 따른 관계형 데이터베이스와 자바 응용 프로그램간의 연동 관계를 도시한 구성도이다.
본 발명의 자바 미들웨어 시스템은, 도 1 과 같이, 클라이언트와 서버로 구성된 네트워크 상에서, 트랜잭션 서버 프로그램을 구동하여 각각의 데이터베이스서버(3)와의 연결을 유지하며, 각각 자신만의 고유한 TCP/IP 포트를 개방한 상태에서 클라이언트(1)의 접속을 대기하도록 하는 웹 서버(3)와; 클라이언트(1) 사용자가 상기 웹 서버(3)의 URL로 접속하기 위한 브라우저(1b)와; 상기 웹 서버(3)에서 관련 HTML 문서와 그 문서에 포함된 애플렛을 클라이언트(1)로 전송하며 자바 트랜잭션 서버(2)와의 통신을 하기 위한 JTS 섹션(1a)과; 상기 JTS 섹션(1a)을 통해 요구된 작업 요청을 지정된 포트로 전송받고, 지정된 포트로 수신된 클라이언트(1)의 요구 사항을 분석하여 그 내용에 따라 데이터베이스 서버(4)로 클라이언트(1)가 요구한 자료를 요청하는 자바 트랜잭션 서버(2)와; 상기 자바 트랜잭션 서버(2)의 요구 사항을 처리하고, 그 처리된 결과를 상기 자바 트랜잭션 서버(2)로 전송하는 데이터베이스 서버(4)와; 상기 서버들의 부하를 분산하는 BP 서버(5)를 포함하여 구성된다.
또한, 상기 자바 트랜잭션 서버(2)는, 도 2와 같이, 클라이언트(1)의 작업요청에 의해 구동되며, 클라이언트(1)로부터의 처리 요구 사항을 직접 자료관리자(28)에 전달하는 스레드(22)와; 상기 스레드(22)에서 클라이언트(1)로부터 처리 요구가 접수되면 요구 사항의 적합성 및 처리 권한 등을 확인한 후 그 작업을 위한 각각의 작은 크기의 상기 스레드(22)를 분할 생성하여 요구 사항을 처리하는 트랜잭션 서버 프로그램(23)과; 지정된 특정 클라이언트(1) IP 주소에 대해 사용 권한의 부여 및 접근 거부 등을 수행하며 해당 IP들을 관리하는 작업을 수행하는 방화벽(24)과; 각각의 트랜잭션을 관리하는 서버 관리 프로그램을 구동 및 종료시키며, 각각의 업무 서버에 동시에 접속할 수 있는 최대 사용자의 관리 및 지정 작업이 수행되며 사용할 포트 번호 등을 결정하는 서버프로그램관리자(25)와; 각각의 서브 시스템의 구동 및 작업 환경을 설정하며, 공통 메시지 처리 및 작업 로그를 관리하며, 서버의 사용 현황, 사용자의 요구 사항 통계 등의 작업을 수행하는 자바 트랜잭션 메인 시스템(26)과; 상기 자바 트랜잭션 메인 시스템(26)과 각각의 서버와의 연결을 관리하는 연결관리자(27)와; 상기 스레드(22)에서의 자료 처리 요구를 최종적으로 각각의 목표 서버에 전달하며, 상기 데이터베이스 서버(4)에서의 처리 결과를 요청한 뒤 단위 상기 스레드(22)에 전달하는 작업을 수행하는 자료관리자(28)와; 상기 연결관리자(27)와 상기 자료관리자(28)에서 접속되는 목표 서버의 IP 주소 및 기본 사용자 ID 및 패스워드 등을 관리하며, 상기 스레드(22)에서 생성된 작업 내역의 조회 및 통계처리 업무를 수행하는 시스템관리자(29)를 포함하여 구성된다.
이와 같이 구성되는 본 발명의 자바 미들웨어 시스템의 동작을 제시한 도면에 의해서 다음과 같이 설명한다.
먼저, 도1 내지 도 2에 도시된 바와 같이, 상기 웹 서버(3)에서 상기 자바 트랜잭션 서버(2) 내의 상기 트랜잭션 서버 프로그램(23)을 구동시킨다. 상기 자바트랜잭션 서버(2) 내의 상기 트랜잭션 서버 프로그램(23)은 클라이언트(1)가 요구한 HTML 및 이미지 파일을 다운로드하도록 하고, 또한 일종의 소켓 프로그램인 작은 크기의 클라이언트 애플릿을 클라이언트에서 필요한 부분의 애플릿 클래스만을 생성하여 요청한 클라이언트(1)에게 다운로드하며, 또한 각각의 상기 데이터 베이스(4)와의 연결을 유지하여 클라이언트(1)가 다시 동일한 데이터베이스를 재접속하여 발생되는 속도 저하 문제를 해결하도록 하며, 각각 자신 만의 고유한 TCP/IP 포트를 개방한 상태에서 클라이언트(1)의 접속을 대기하고, 또한 확약 제어(Commit & Roll Back) 및 보안에 대한 상기 방화벽(24)의 관리 작업을 수행하게 된다.
다음으로, 상기 클라이언트(1)의 사용자가 상기 브라우저(1b)를 사용하여 상기 웹 서버(3)의 URL로 접속을 하게 된다. 상기 웹 서버(3)의 URL로 접속이 이루어지면, 상기 웹 서버(3)는 관련 HTML 문서와 그 문서에 포함된 애플렛을 상기 클라이언트(1)로 전송하며, 상기 자바 트랜잭션 서버(2)와의 통신을 위한 상기 JTS 섹션(1a)을 구동하게 된다.
상기 클라이언트(1)의 사용자는 상기 브라우저(1b)와 애플렛에 표시된 내용을 참조하여 조회 및 처리하기를 원하는 항목 및 조건을 선택하고, 이 때 상기 클라이언트(1) 사용자의 작업 요청은 상기 JTS 섹션(1a)을 통해 상기 자바 트랜잭션 서버(2)의 지정된 포트로 전송된다.
상기 자바 트랜잭션 서버(2) 내의 상기 트랜잭션 서버 프로그램(23)은 지정된 포트로 수신된 상기 클라이언트(1)의 요구 사항을 분석하여 그 내용에 따라 이미 연결되어 있는 상기 데이터베이스 서버(4)로 상기 클라이언트(1)가 요구한 자료를 요청하게 된다. 이 때 상기 자바 트랜잭션 서버(2)에서 상기 데이터베이스 서버(4)로 자료를 요청할 경우에는 JDBC(Java Database Connectivity), DDM (Distributed Data Manipulator) Record Level Access 및 DPC(Distributed Program Call) 방식을 사용하며, 각각의 처리 방법은 다음의 기준에 의해 결정된다. 즉, 이식성이 중시되거나, 또는 업무 처리가 간단한 적용 업무에 사용할 경우에는 JDBC 방법을 사용하고, AS/400의 DB2/400의 데이터베이스에서 처리 또는 선택된 결과 자료가 많거나 빠른 데이터베이스 처리를 필요로 하는 적용 업무에 사용할 경우에는 DDM Record Level Access 방법을 사용한다. 또한, 업무 처리 내용이 복잡하고, 다수의 테이블로부터 복잡한 업무처리를 통해 수행되는 작업 또는 상기 데이터베이스 서버(4)로부터 배치 처리되는 업무에 사용할 경우에는 DPC 방법을 사용한다.
다음으로, 상기 데이터베이스 서버(4)는 상기 자바 트랜잭션 서버(2)의 요구사항을 처리한 후 상기의 방법 등으로 처리된 결과를 상기 자바 트랜잭션 서버(2)로 전송한다. 이때 전송되는 방법으로는 SQL Result Set, Record Description 또는 Record Buffer 방식을 사용하게 된다.
마지막으로, 상기 데이터베이스 서버(4)로부터 처리된 결과를 상기의 방법등으로 전송받은 상기 자바 트랜잭션 서버(2)는 상기 데이터베이스 서버(4)에서 처리된 결과 자료를 자바 소켓을 사용하여 상기 클라이언트(1)의 상기 JTS 섹션(1a)로 전송하며, 상기 클라이언트(1)의 상기 JTS 섹션(1a)은 수신된 자료를 작은 크기의 자바 클래스 형태로 분활 변환하여 각각의 애플렛에 전달한다.
도 3은 상기에서 설명한 본 발명에 따른 자바 미들웨어 시스템의 동작 상태의 흐름도를 도시한 것이다.
도 3에 도시된 바와 같이, 본 발명의 자바 미들웨어 시스템의 동작 흐름은, 클라이언트와 서버로 구성된 네트워크 상에서, 상기 웹서버(1)에서 상기 트랜잭션 서버 프로그램(23)을 구동시키는 초기 구동 단계(31)와; 상기 클라이언트(1) 사용자가 상기 브라우저(1b)를 사용하여 상기 웹 서버(3)의 URL로 접속하는 접속단계(32)와; 상기 웹 서버(1)는 관련 HTML 문서와 그 문서에 포함된 애플렛을 상기 클라이언트(1)로 전송하며, 상기 자바 트랜잭션 서버(2)와의 통신을 위한 JTS 섹션구동 단계(33)와; 상기 클라이언트(1)는 상기 브라우저(1b)와 애플렛에 표시된 내용을 참조하여 조회 및 처리하기를 원하는 항목 및 조건을 선택하며, 이 때 작업요청은 상기 JTS 섹션(1a)을 통해 상기 자바 트랜잭션 서버(2)의 지정된 포트로 전송되는 요구 전송 단계(34)와; 상기 자바 트랜잭션 서버(2)의 상기 트랜잭션 서버프로그램(23)은 지정된 포트로 수신된 상기 클라이언트(1)의 요구 사항을 분석하여 그 내용에 따라 이미 연결되어 있는 상기 데이터베이스 서버(4)로 상기 클라이언트(1)가 요구하는 자료를 요청하는 요청 단계(35)와; 상기 데이터베이스서버(4)는 상기 자바 트랜잭션 서버(2)의 요구 사항을 처리한 후 처리된 결과를 상기 자바 트랜잭션 서버(2)로 전송하는 결과 전송 단계(36)와; 상기 자바 트랜잭션서버(2)는 상기 데이터베이스 서버(4)로부터 전송된 결과 자료를 상기클라이언트(1)의 상기 JTS 섹션(1a)으로 전송하며, 상기 클라이언트(1)의 상기 JTS 섹션(1a)은 수신된 자료를 각각의 애플렛에 전달하는 수신 단계(37)를 포함하여 구성된다.
한편, 상기 요청단계(35)에서 상기 자바 트랜잭션 서버(2)가 상기 데이터베이스 서버(4)로 상기 클라이언트(1)가 요구하는 자료를 요청할 때 JDBC, DDM Record Level Access 및 DPC 등의 방법을 사용하는 것을 특징으로 한다.
또한, 상기 결과 전송 단계(36)에서 상기 데이터베이스 서버(4)에서 처리된 결과를 SQL Result Set, Record Description 또는 Record Buffer 방식을 사용하여 상기 자바 트랜잭션 서버(2)로 전송하는 것을 특징으로 한다.
또한, 상기 수신 단계(37)에서 상기 클라이언트(1)의 상기 JTS 섹션(1a)에서 수신된 자료를 자바 클래스 형태로 변환하여 각각의 애플렛에 전달하는 것을 특징으로 한다.
한편, 도 4는 상기 데이터베이스 서버(4)를 관계형 데이터베이스를 사용하고, 또한 상기 클라이언트(1)의 응용 프로그램은 개체 지향형 프로그램 언어인 자바를 사용함에 따른 사상 기법을 도시한 것이다.
즉, 개체 지향형 프로그램과 관계형 데이터베이스간의 개체 및 관계들에 대한 사상없이 상기에 기술한 JDBC 및 DDM Record Level Access와 같은 데이터베이스 제어 방법들을 사용하여야 하는 적용 업무 프로그램을 작성할 경우, 각각의 프로그램에서 단순히 직접 데이터베이스 접근에 관련된 제어 로직을 구현하게 됨으로, 자료 처리에 대한 일관성 및 정확성을 유지하기 어렵게 되고, 또한 제어 로직의 중복과 관리의 어려움을 피할 수 없게 된다.
따라서, 관계형 데이터베이스를 자바에서 손쉽고 빠르게 접근 및 제어하며, 다른 플랫폼으로의 이식이 용이하게 할 수 있는 별도의 인터페이스 모듈이 필요하고, 데이터베이스에 접근하는 모든 프로그램은 이러한 인터페이스 모듈을 통하도록 시스템을 구성하여야 한다. 즉, 이러한 인터페이스 모듈이 개체 및 관계들에 대한 사상이 되는 것이다.
도 4에 도시된 바와 같이, 본 발명에 따른 자바 미들웨어 시스템의 사상 모듈은 관계형 데이터베이스(41)와 자바 응용 프로그램(45)으로 구성된 시스템에서, 상기 자바 응용 프로그램(45)으로부터의 작업 요구를 접수받아 그 처리 요구를 상기 관계형 데이터베이스 시스템(41)에 전달하는 데이터베이스 제어 모듈(42)과; 작업의 처리 결과를 데이터베이스 레코드 규격 또는 매개변수로 변환하는 데이터베이스 레코드 규격 변환모듈(43)과; 상기 관계형 데이터베이스(41)와 상기 자바 응용프로그램(45)과의 연결 상태를 관리하는 데이터베이스 연결 관리 모듈(44)를 포함하여 구성된다.
이상에서 설명한 바와 같은 본 발명에 따른 자바 미들웨어 시스템 및 그 운용 방법에 있어서는 다음과 같은 효과가 있다.
먼저, 본 발명에서는 상기의 트랜잭션 서버 프로그램에 의해서 클라이언트가 요구한 애플릿의 형태를 필요 부분만을 선택하여 작은 크기의 자바 클라이언트 클래스 형태로 분할 생성함으로서 클라이언트의 애플릿의 크기를 작게하여 프로그램 구동 시간을 향상시키며, 서버와의 자료 전송을 최소화하여 프로그램의 수행 속도를 향상시킬 수 있다. 또한, 개발자들은 자바 언어 하나의 기술만을 습득하면 되기 때문에 추가적인 지식을 습득하는 데 필요한 시간 및 경비를 최소화할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 자바 미들웨어 시스템은 고유한 방법들에 대한 사상 기법을 제공하여, 실제로 플랫폼이 변경되었을 경우 전체 프로그램에 대한 변경없이 자바 미들웨어에서의 환경 및 설정 값들만을 수정하여 전체 프로그램이 정상적으로 동작될 수 있는 호환성에 대한 효과를 기대할 수 있다.
또한, 상기에서 설명한 관계형 데이터베이스 및 자바 응용프로그램간의 사상기법은 프로그램의 처리 속도 향상을 위하여 DDM Record Level Access 및 프로그램 호출 등을 사용한 적용 업무 프로그램을 다른 시스템이나 데이터베이스로 전환할 경우 상기 데이터베이스 제어 모듈만을 변경하여 이식할 수 있는 효과를 기대할 수 있으며, 또한 응용 프로그램 개발자와 데이터베이스 설계자의 업무 영역을 손쉽게 구분하여 단위 분할 작업을 손쉽게 수행할 수 있는 효과를 기대할 수 있다.

Claims (8)

  1. 클라이언트와 서버로 구성된 네트워크 상에서,
    트랜잭션 서버 프로그램을 구동하여 각각의 데이터베이스 서버(4)와의 연결을 유지하며, 각각 자신만의 고유한 TCP/IP 포트를 개방한 상태에서 클라이언트(1)의 접속을 대기하도록 하는 웹 서버(3)와;
    클라이언트 사용자가 상기 웹 서버(3)의 URL로 접속하기 위한 브라우저(1b)와;
    상기 웹 서버(3)에서 관련 HTML 문서와 그 문서에 포함된 애플렛을 클라이언트(1)로 전송하며 자바 서버(2)와의 통신을 하기 위한 JTS 섹션(1a)과;
    상기 JTS 섹션(1a)을 통해 요구된 작업 요청을 지정된 포트로 전송받고, 지정된 포트로 수신된 클라이언트의 요구 사항을 분석하여 그 내용에 따라 데이터베이스 서버(4)로 클라이언트(1)가 요구한 자료를 요청하는 자바 트랜잭션 서버(2)와;
    상기 자바 트랜잭션 서버(2)의 요구 사항을 처리하고, 그 처리된 결과를 상기 자바 트랜잭션 서버(2)로 전송하는 데이터베이스 서버(4)와;
    상기 서버들의 부하를 분산하는 BP 서버(5)를 포함하여 구성됨을 특징으로 하는 자바 미들웨어 시스템.
  2. 제 1 항에 있어서,
    상기 자바 트랜잭션 서버(2)는 클라이언트(1)의 작업 요청에 의해 구동되며, 클라이언트(1)로부터의 처리 요구 사항을 직접 자료관리자(28)에 전달하는 스레드(22)와;
    상기 스레드(22)에서 클라이언트(1)로부터 처리 요구가 접수되면 요구 사항의 적합성 및 처리 권한 등을 확인한 후 그 작업을 위한 각각의 작은 크기의 상기 스레드(22)를 분할 생성하여 요구 사항을 처리하는 트랜잭션 서버 프로그램(23)과;
    지정된 특정 클라이언트 IP 주소에 대해 사용 권한의 부여 및 접근 거부 등을 수행하며 해당 IP들을 관리하는 작업을 수행하는 방화벽(24)과;
    각각의 트랜잭션을 관리하는 서버 관리 프로그램을 구동 및 종료시키며, 각각의 업무 서버에 동시에 접속할 수 있는 최대 사용자의 관리 및 지정 작업이 수행되며 사용할 포트 번호 등을 결정하는 서버프로그램관리자(25)와;
    각각의 서브 시스템의 구동 및 작업 환경을 설정하며, 공통 메시지 처리 및 작업 로그를 관리하며, 서버의 사용 현황, 사용자의 요구 사항 통계 등의 작업을 수행하는 자바 트랜잭션 메인 시스템(26)과;
    상기 자바 트랜잭션 메인 시스템(26)과 각각의 서버와의 연결을 관리하는 연결관리자(27)와;
    상기 스레드(22)에서의 자료 처리 요구를 최종적으로 각각의 목표 서버에 전달하며, 데이터베이스 서버(4)에서의 처리 결과를 요청한 뒤 단위 스레드(22)에 전달하는 작업을 수행하는 자료관리자(28)와;
    상기 연결관리자(27)와 상기 자료관리자(28)에서 접속되는 목표 서버의 IP 주소 및 기본 사용자 ID 및 패스워드 등을 관리하며, 상기 스레드(22)에서 생성된 작업 내역의 조회 및 통계처리 업무를 수행하는 시스템관리자(29)를 포함하여 구성됨을 특징으로 하는 자바 미들웨어 시스템.
  3. 클라이언트와 서버로 구성된 네트워크 상에서,
    상기 웹서버(3)에서 트랜잭션 서버 프로그램(23)을 구동시키는 초기 구동 단계(31)와;
    클라이언트 사용자가 상기 브라우저(1b)를 사용하여 상기 웹 서버(3)의 URL로 접속하는 접속 단계(32)와;
    상기 웹 서버(3)는 관련 HTML 문서와 그 문서에 포함된 애플렛을 클라이언트(1)로 전송하며, 상기 자바 트랜잭션 서버(2)와의 통신을 위한 JTS 섹션구동 단계(33)와;
    클라이언트는 상기 브라우저(1b)와 애플렛에 표시된 내용을 참조하여 조회 및 처리하기를 원하는 항목 및 조건을 선택하며, 이 때 작업 요청은 상기 JTS 섹션(1a)을 통해 상기 자바 트랜잭션 서버(2)의 지정된 포트로 전송되는 요구 전송단계 (34)와;
    상기 자바 트랜잭션 서버(2)의 트랜잭션 서버 프로그램(23)은 지정된 포트로 수신된 클라이언트(1)의 요구 사항을 분석하여 그 내용에 따라 이미 연결되어 있는상기 데이터베이스 서버(4)로 클라이언트(1)가 요구하는 자료를 요청하는 요청 단계(35)와;
    상기 데이터베이스 서버(4)는 상기 자바 트랜잭션 서버(2)의 요구 사항을 처리한 후 처리된 결과를 상기 자바 트랜잭션 서버(2)로 전송하는 결과 전송단계(36)와;
    상기 자바 트랜잭션 서버(2)는 상기 데이터베이스 서버(4)로부터 전송된 결과 자료를 클라이언트(1)의 상기 JTS 섹션(1b)으로 전송하며, 클라이언트(1)의 상기 JTS 섹션(1a)은 수신된 자료를 각각의 애플렛에 전달하는 수신 단계(37)를 포함하여 구성됨을 특징으로 하는 자바 미들웨어 시스템의 운용 방법.
  4. 제 3 항에 있어서, 상기 요청단계(35)에서 상기 자바 트랜잭션 서버(2)가 상기 데이터베이스 서버(4)로 클라이언트(1)가 요구하는 자료를 요청할 때 JDBC, DDM Record Level Access 및 DPC 등의 방법을 사용하는 것을 특징으로 하는 자바 미들웨어 시스템의 운용 방법.
  5. 제 3 항에 있어서, 상기 결과 전송 단계(36)에서 상기 데이터베이스 서버에서 처리된 결과를 SQL Result Set, Record Description 또는 Record Buffer 방식을 사용하여 상기 자바 트랜잭션 서버(2)로 전송하는 것을 특징으로 하는 자바 미들웨어 시스템의 운용 방법.
  6. 제 3 항에 있어서, 상기 수신 단계(37)에서 클라이언트(1)의 상기 JTS 섹션(1a)에서 수신된 자료를 자바 클래스 형태로 변환하여 각각의 애플렛에 전달하는 것을 특징으로 하는 자바 미들웨어 시스템의 운용 방법.
  7. 관계형 데이터베이스(41)와 자바 응용 프로그램(45)으로 구성된 시스템에서, 상기 자바 응용 프로그램(45)으로부터의 작업 요구를 접수받아 그 처리 요구를 상기 관계형 데이터베이스 시스템(41)에 전달하는 데이터베이스 제어 모듈(42)과;
    작업의 처리 결과를 데이터베이스 레코드 규격 또는 매개변수로 변환하는 데이터베이스 레코드 규격 변환모듈(43)과;
    상기 관계형 데이터베이스(41)와 상기 자바 응용 프로그램(45)과의 연결 상태를 관리하는 데이터베이스 연결 관리 모듈(44)을 포함하여 구성된 사상기법을 특징으로 하는 자바 미들웨어 시스템.
  8. 제 2 항에 있어서, 상기 트랜잭션 서버 프로그램(23)은, 상기 클라이언트(1)에서 요구한 애플릿을 일종의 소켓 프로그램인 자바 클라이언트 클래스 형태로 분할하여 상기 클라이언트(1)의 상기 JTS 섹션(1a)에게 필요한 형태의 자바 애플릿 형태를 다운로드함으로서 상기 클라이언트(1)가 요구한 애플릿의 크기를 감소하고, 또한 상기 트랜잭션 서버 프로그램(23)에 의해서 상기 데이터베이스 서버(4)와 경로가 한번 설정된 경우에는 상기 클라이언트(1)가 상기의 데이터베이스(4)를 재 접속하고자 할 경우에 다시 경로를 재 설정할 필요가 없기 때문에 이미 설정된 데이터베이스를 계속 재사용함으로서 데이터베이스 서버(4)의 부담을 감소시키고 이에 따라서 신속한 응답 속도를 얻을 수 있는 것을 특징으로 하는 자바 미들웨어 시스템.
KR1019990023873A 1999-06-23 1999-06-23 자바 미들웨어 시스템 및 그 운용 방법 KR100321183B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990023873A KR100321183B1 (ko) 1999-06-23 1999-06-23 자바 미들웨어 시스템 및 그 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990023873A KR100321183B1 (ko) 1999-06-23 1999-06-23 자바 미들웨어 시스템 및 그 운용 방법

Publications (2)

Publication Number Publication Date
KR19990068813A KR19990068813A (ko) 1999-09-06
KR100321183B1 true KR100321183B1 (ko) 2002-03-18

Family

ID=37460532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990023873A KR100321183B1 (ko) 1999-06-23 1999-06-23 자바 미들웨어 시스템 및 그 운용 방법

Country Status (1)

Country Link
KR (1) KR100321183B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327112B1 (ko) * 1999-12-24 2002-03-06 오길록 분산객체 시스템에서의 객체 일관성 유지방법
KR100445426B1 (ko) * 2001-12-26 2004-08-25 한국전자통신연구원 데이터베이스 연결 관리방법

Also Published As

Publication number Publication date
KR19990068813A (ko) 1999-09-06

Similar Documents

Publication Publication Date Title
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
Lehman et al. Hitting the distributed computing sweet spot with TSpaces
Zhou et al. Utopia: a load sharing facility for large, heterogeneous distributed computer systems
EP1438672B1 (en) Method, apparatus and system for a mobile web client
Buyya PARMON: a portable and scalable monitoring system for clusters
US20070256073A1 (en) Extendable framework for distributed applications and data
AU746391B2 (en) Method and system for facilitating distributed software development in a distribution unaware manner
EP0547903B1 (en) Method and system for isolating data and information collection components from other components in a distributed environment
US5485570A (en) Display station controller
US6654784B1 (en) Computing architecture
US20080028405A1 (en) Distribution of job in a portable format in distributed computing environments
US20020129274A1 (en) Inter-partition message passing method, system and program product for a security server in a partitioned processing environment
JP2008511931A (ja) 遠隔計算システムのためのローカルに動作されるデスクトップ環境
EP1208482A1 (en) Client server system with thin client architecture
JPH08502841A (ja) 分散適用業務処理ネットワーク
JPH10124468A (ja) 資源管理方法及びコンピュータ
JPH07281974A (ja) ネットワーク内のコンピュータ間でデータを交換するための通信システム
KR100322153B1 (ko) 애플리케이션인터페이스에대한영속성을제공하기위한장치및방법
EP0598534B1 (en) Data processing system
US20070089107A1 (en) Database communication method
KR100321183B1 (ko) 자바 미들웨어 시스템 및 그 운용 방법
EP1061445A2 (en) Web-based enterprise management with transport neutral client interface
US20110238702A1 (en) Creating multiple mbeans from a factory mbean
US10747590B2 (en) Application logging adapters
US6938052B2 (en) Access to server resources from heterogeneous platforms

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
LAPS Lapse due to unpaid annual fee