KR20030074801A - 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템 - Google Patents

분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템 Download PDF

Info

Publication number
KR20030074801A
KR20030074801A KR10-2003-7010416A KR20037010416A KR20030074801A KR 20030074801 A KR20030074801 A KR 20030074801A KR 20037010416 A KR20037010416 A KR 20037010416A KR 20030074801 A KR20030074801 A KR 20030074801A
Authority
KR
South Korea
Prior art keywords
application
legacy
component
data processing
interface
Prior art date
Application number
KR10-2003-7010416A
Other languages
English (en)
Other versions
KR100538371B1 (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20030074801A publication Critical patent/KR20030074801A/ko
Application granted granted Critical
Publication of KR100538371B1 publication Critical patent/KR100538371B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

각각의 레거시 어플리케이션을 엔터프라이즈 자바빈(Enterprise JavaBean: EJB) 인터페이스 규격에 따르는 새로운 어플리케이션으로 분리해냄으로써 기존 또는 레거시 어플리케이션을 분산 데이터 처리 환경으로 통합시키는 시스템 및 방법이 제공된다. EJb 인터페이스를 갖는 신규한 어플리케이션은 인터넷 또는 인트라넷과 같은 가상 개인망과 같은 분산 처리 환경에서 상기 어플리케이션을 이용할 수 있도록 해준다.

Description

분산데이터처리환경에 레거시 어플리케이션을 통합시키기 위한 방법 및 시스템{Method and System for Incorporating legacy applications into a distributed data processing environment}
대다수의 큰 조직들은 적어도 하나의 메인프레임 컴퓨터에 어플리케이션 프로그램들 및 데이터베이스가 제공되는 중앙 데이터 처리 수단(facility)을 조직 운영을 위해 수집되고 이용된 데이터를 처리하였으며 이러한 중앙 수단으로부터 조직 운영에 필요한 데이터를 생성하였다. 이러한 데이터 처리는 대용량의 로컬 컴퓨터 시스템상에서 실행되는 주로 맞춤형인 대용량의 소프트웨어 프로그램들을 이용하는 것과 관련되어 있다. 이러한 시스템은 종종 엔터프라이즈 컴퓨팅 또는 메인프레임 세계로 지칭된다.
그러나, 최근에, 대용량의 어플리케이션이 단일의 메인프레임상에서 실행되는 메인프레임 세계로부터, 어플리케이션들과 데이터베이스들이 다양한 위치에 있고 다수의 데이터 처리 시스템을 상호접속시키기 위해 데이터 처리망을 이용하여 다수의 (좀더 작고 좀더 저렴한) 데이터 처리 시스템들상에서 처리가 이루어지는 분산 데이터 처리 시스템 또는 클라이언트-서버환경으로 지칭되는 시스템으로 데이터 처리를 변화시키는 여러 요인들이 발전되어 왔다.
클라이언트-서버 환경에서, 분산 환경에서의 정보 처리 목적을 위해 (클라이언트라고도 지칭되는) 로컬 단말이 서버에 연결된다. 종종, 클라이언트 자체도 서버와 통신하는 데이터 처리 시스템이며, 서버는 클라이언트에 비교하여, 클라이언트 위치에서는 이용가능하지 않는 어플리케이션 및 데이터를 포함하는 증가된 자원들을 구비한 데이터 처리 시스템이다. 이러한 시스템에 관련하여 "다차원특성에 기하여 동적 계층 그룹핑 및 계산을 위한 프레임워크(framework for dynamic hierarchical grouping and calculation based on multidimensional characteristics)"라는 명칭으로 Cessna 등에 의해 1999년 9월 30일에 출원된 미국특허출원 제 09/409,345호에 좀더 상세히 기재되어 있다.
클라이언트는 종종 서버로부터 떨어져서 위치해 있으며, 전화통신수단(예, 전화선 또는 위성 또는 마이크로웨이브 통신과 같은 기타 통신 시스템들과의 조합을 이용하여 제공되는 전화 서비스상에서 동작하는 하드웨어 및 소프트웨어를 포함)을 이용하여 서버와 통신한다.
데이터 처리가 중앙 또는 엔터프라이즈 컴퓨팅에서 분산 또는 클라이언트-서버 컴퓨팅으로 변하는 것과 관련된 문제점은 중앙 또는 엔터프라이즈 컴퓨팅과 연관된 어플리케이션들을 대체할 수 있는 완전한 세트의 어플리케이션들로써 새로운 시스템이 탄생하지는 않았다는 것이며, 엔터프라이즈 또는 중앙-위치된 단일 어플리케이션(종종, "레거시 어플리케이션"으로서 지칭됨)으로부터 데이터처리망을 통해 분산 환경을 이용하는 클라이언트-서버 어플리케이션으로 이동시키는(migrate) 편리한 방법이 없다는 것이다.
클라이언트-서버 또는 분산 어플리케이션은 데이터 통신망 및 다른 어플리케이션들과의 인터페이스에 관한 엄격한 규칙 또는 지침을 따라야 한다. 레거시 어플리케이션은 그렇게 제한되지 않으며, 그것은 내부적으로만 일관성있을 필요가 있으므로 일부 레거시 어플리케이션들은 메인프레임 어플리케이션에 대한 (제안 문서 또는 인터페이스 정보와 같은) 양호한 프로그래밍 기법을 따르지만 나머지 레거시 어플리케이션들은 그렇지 못하다. 레거시 어플리케이션들 재작성하여 그들이 새로운 컴퓨팅 환경에 적합하도록 만드는 것은 시간과 자원이 많이 들며, 이러한 시간과 자원은 비싸고 오류를 낳을 수 있다.
따라서, 종래기술의 시스템은 바람직하지 못한 단점들 및 제한점을 갖는다.
본원 발명은 (i) C. Bialik 등에 의해 "공급체인관리를 위한 데이터베이스 관리를 위한 방법 및 시스템(method and system for database management for supply chain management)"라는 명칭으로 2000년 1월 26일 출원되었으며 본 출원과 동일인에게 양도되어 현재 계류중인 미국특허출원 제09/491,834호(IBM 문서번호 CHA9-99-014)와, ii) Iwao Hatanaka에 의해 "분산 클라이언트-서버 환경에서 자동세션 리소스 클린업을 위한 방법 및 시스템(method and system for automated session resource clean-up in a distributed client-server environment)"라는 명칭으로 동시에 출원된 미국특허출원 (IBM 문서번호 CHA9-99-015)과 관련되어 있다.
본원 발명은 클라이언트-서버 환경에서 발견될 수 있는 것과 같은 분산 데이터 처리 시스템에 하나 이상의 레거시 소프트웨어 어플리케이션을 통합시키기 위한 시스템 및 방법에 관한 것이다.
도 1은 조직용 데이터 처리를 위해 대용량의 레거시 데이터 처리 어플리케이션이 단일 컴퓨터에 설치되는 종래 데이터 처리 시스템을 도시한다.
도 2는 다수의 작은 분산 데이터 처리 시스템들이 데이터 전송망에 연결되는 본 발명의 바람직한 실시예에 따른 대표적인 통신 시스템을 도시한다.
도 3은 도 2에 도시된 분산 시스템에서 이용되는 어플리케이션의 예를 도시한다.
도 4는 본 발명에 따른 바람직한 실시예에 대한 흐름도이다.
도 5는 본 발명을 이용하는 어플리케이션의 예이다.
도 6은 본 발명을 이용하기 위해 객체 브로커 네이밍(object broker naming) 서비스를 이용하는 프로세스를 도시한다.
본 발명은 분산형의 클라이언트-서버 환경으로 레거시 어플리케이션을 통합시키기 위한 시스템 및 방법을 제공함으로써 종래 기술 시스템의 한계 및 단점의 일부 또는 전부를 해결하고자 한다. 본 발명의 일특징에 따르면, 레거시 어플리케이션을 분산데이터처리환경으로 통합시는 방법은 레거시 어플리케이션을 분석하여 그의 기능을 컴포넌트들로 분리하는 단계와, 상기 컴포넌트들을 상이한 서버들에 분산시키는 단계와, 각각의 컴포넌트에 이식가능한 머신-독립형(portable machine-independent) 인터페이스를 제공하는 단계와, 상기 콤포넌트들 및 인터페이스에 인덱스를 제공하는 단계를 포함한다. 본 발명의 바람직한 실시예에서, 이식가능한 머신-독립형 인터페이스는 엔터프라이즈 자바빈(Enterprise JavaBean:EJB) 인터페이스이다.
본 발명의 제2 특징에 따르면, 레거시 어플리케이션을 분산 데이터 처리 환경으로 통합시키기 위한 시스템을 제공하며, 이러한 시스템은 네트워크에 연결된 서버에 위치한 레거시 어플리케이션과, 상기 레거시 어플리케이션을 둘러싸는 이식가능한 머신-독립형 래퍼(wrapper)를 포함하고, 상기 래퍼는 상기 네트워크를 통해 어플리케이션의 분산 처리를 허용하는 인터페이스를 포함하며, 이에 의해 인터페이스는 분산 처리를 허용하고 레거시 어플리케이션은 그의 종래 처리를 유지한다. 바람직하게, 이식가능한 머신-독립형 래퍼는 엔터프라이즈 자바빈(EJB) 래퍼이다.
본 발명은 분산 데이터 처리 환경에서 레거시 어플리케이션이 클라이언트의 원격 호출로 이용될 수 있도록 쉽고 간단하게 구현될 수 있다는 장점이 있다. 또한, 본 발명은 레거시 어플리케이션이 분산 데이터 처리 환경에서 변경되어 이용될 수 있도록 해준다.
본 발명은 어플리케이션들에 걸쳐 균일하게 사용되는 변수들의 공통 집합을 설정하는 것을 포함한다.
본 발명은 레거시 어플리케이션을 얻는 것과 엔터프라이즈 자바빈(EJB) 인터페이스 규격을 이용하고 기존 레거시 어플리케이션의 기능들을 분산 컴포넌트들로 분리한(encapsulate) 콤포넌트-기반 전단(front-end) 또는 인터페이스를 레거시 어플리케이션에 제공하는 것을 포함한다. 인터페이스는 공통 용어 사전을 이용하여 다른 어플리케이션 (특히, 분산처리환경의 어플리케이션)들과도 인터페이스할 수 있도록 해준다.
또한, 본 발명은 어플리케이션내의 변수들을 식별하는 테이블을 허용하여 변수들의 균일한 이용을 가능하게 한다. 또한, 본 발명은 어플리케이션에 전달되는 변수들에 대하여 선정된 순서를 설정하여 클라이언트와 서버간의 좀더 효율적인 통신이 가능하게 한다.
본 발명의 기타 목적 및 장점들은 첨부된 도면 및 청구항과 함께, 이하의 본 발명의 바람직한 실시예에 대한 설명에 의해 관련기술분야의 당업자들에게 명백해질 것이다.
바람직한 실시예에 대한 이하의 설명에서, 발명자에게 현재 알려진 본 발명을 실시하는 가장 바람직한 구현이 특정되어 설명될 것이다. 그러나, 이러한 설명은 구체적인 예에서 본 발명의 개념에 대한 넓고 일반적인 가르침으로서 의도된 것이며 본 발명을 이러한 실시예에 도시된 것으로 한정하려는 것은 아니며, 관련 기술분야의 당업자들은 도면들과 관련하여 도시되고 설명된 특정 구조 및 동작에 다수의 변형 및 변경이 이루어질 수 있음을 이해할 것이다.
도 1은 중앙 컴퓨터 또는 데이터 처리 시스템(110)이 필요한 데이터 처리 어플리케이션(들) 및 데이터베이스(들)과 같은 관련 정보를 포함하는 기업용 데이터 처리 시스템의 한 형태를 도시한다. 도 1에 도시된 바와 같이, 4개의 어플리케이션들(다른 어플리케이션 컴포넌트들)과 2개의 데이터베이스가 하나의 중앙 컴퓨터 또는 데이터 처리 시스템(110)상에 도시되어 있다.
도 1에 도시된 데이터 처리 시스템(110)은 종종 메인프레임 또는 엔터프라이즈 시스템 또는 중앙 프로세서로 불리운다. 이러한 시스템용 어플리케이션은 일반적으로 COBOL과 같은 상위수준 컴퓨터 프로그래밍 언어로 작성되며, 배타적이지 않다면, 동일한 그룹의 프로그래머들에 의해 작성되고 동일한 컴퓨터상에서 또는 근접하여 위치하며 유사하게 구성된 컴퓨터 시스템상에서 실행되는 다른 어플리케이션들과 주로 인터페이스한다. 이러한 엔터프라이즈 데이터 처리 시스템용 어플리케이션들중 일부는 때로는 다른 조직들에 의해 작성되지만, 대부분의 경우에는 그들은 하나의 조직에서 발생하며 그 프로그램이 설치된 특정 고객을 위해 맞춤화될 수 있다. 일부 큰 조직들은 자체운영(roll-your-own) 시스템을 이용하여 그들 자체의 어플리케이션들을 생성하였으며, 수년에 걸쳐서 해당 시스템을 맞춤화하고 변경함으로써 그것을 이용하는 단일 고객의 특정 데이터 처리 필요성에 독특하게 개조되었다. 이러한 시스템이 도드라진 층과 유리벽을 포함하였던 과거부터 시스템은 종종 큰 회사의 데이터 처리 연산을 수행하였으므로, 때로는, "글래스하우스(glass house)"데이터 처리 시스템 및 어플리케이션으로 언급되기도 하였다. 이러한 시스템은, 종종, 모든 데이터가 하나의 위치에 전송되어 처리되고 최종 보고서 형태로 사용 위치에 회답되는 중앙집중 형태로, 중앙 데이터 처리 또는 정보 기술 스태프에 의해 운영된다.
도 1에 도시된 바와 같이, 이러한 중앙 시스템(110)은 도면부호(112)로 표시되는 제1 어플리케이션 (또는 어플리케이션 컴포넌트) APPLN1, 도면부호(114)로 표시되는 제2 어플리케이션 APPLN2, 도면부호(116)로 표시되는 제3 어플리케이션APPLN3 및 도면부호(118)로 표시되는 제3 어플리케이션 APPLN4와, 도면부호(120)로 표시되는 제1 데이터베이스 DB1 및 도면부호(122)로 표시되는 제2 데이터베이스 DB2를 포함한다. 이 도면에 도시된 바와 같이, 데이터 처리 시스템은 공급 체인(supply chain) 관리 및 재고조사 제어를 위해 이용될 수 있으며, 제1 어플리케이션 APPLN1은 재고조사 어플리케이션이고, 제2 어플리케이션 APPLN2는 프로모션 어플리케이션이고, 제3 어플리테이션 APPLN3은 판매 어플리케이션이고 제4 어플리케이션 APPLN4는 주문 어플리케이션이다. 제1 데이터베이스 DB1은 가지고 있는 물품의 상세정보를 포함하고, 제2 데이터베이스 DB2는 상점 판매 이력 또는 과거에 어느 상점에서 어떠한 물건이 판매되었는지에 대한 상세정보를 포함한다.
이러한 다양한 어플리케이션들은, 연관된 데이터베이스들과 함께, 단일의 통합 어플리케이션의 일부들이거나, 도 1의 중앙 처리 환경에 도시된 바와 같이 단일 프로세서(110)상에서 실행되는 별개의 어플리케이션 모듈들로서 작성될 수 있다.
그러나, 최근에, 이용가능한 시스템들의 변화 및 네트워크 및 작은 프로세서들의 용량 증가로 인하여, 분산 처리 시스템이 존재하게 되었고, 속도 증가 및 관련비용 감소로 인하여 다수의 데이터 처리 시스템용으로 매력적인 모델이 되었다. 데이터 처리 시스템의 유형 변화와 함께, C++ 및 Ada와 같은 객체지향프로그래밍언어를 포함하여 데이터 처리 언어의 변화가 이루어졌다. 이러한 프로그래밍 언어는 정의된 인터페이스를 통해 데이터 교환을 허용하는 인터페이스 규격(specification)을 이용한다. 불행하게도, 이러한 분산 처리 환경 및 새로운 프로그래밍 언어의 출현은 분산 데이터 처리를 이용하기 위해 완전한 범주의 어플리케이션들이 작성되었음을 의미하는 것은 아니며, 중앙 또는 엔터프라이즈 서버를 위해 작성되어 서버상에 설치된 어플리케이션을 취하여 이를 분산 데이터 처리 환경에서의 처리에 적합한 어플리케이션으로 만들 수 있는 편리한 방법도 없다.
도 2는 분산 데이터 처리 시스템에서 보여지는 해당 유형의 데이터 처리 시스템 구성요소들을 도시한다. 도 2에 도시된 바와 같이, 다수의 개별 프로세서들은 데이터 통신 네트워크(202)에 연결되어 분산 또는 클라이언트-서버 환경에서 다양한 연산을 수행한다. 설명 목적으로 도 2에 도시된 바와 같이, 여섯 개의 프로세서들이 네트워크(202)에 연결되어 있는데, 프로세서1(203), 프로세서2(204), 프로세서3(205), 프로세서4(206), 프로세서5(207) 및 프로세서6(208)이라 불리운다. 프로세서1(203)은 제1 어플리케이션 AP1(212)을 포함하고, 프로세서2(204)는 제2 어플리케이션 AP2(214)를 포함한다. 프로세서3(205)은 2개의 어플리케이션들, AP3(216) 및 AP4(218)을 포함한다. 프로세서4(206)는 제2 데이터베이스 DB1(220)를 포함하고, 프로세서5(207)는 그에 장착된 제2 데이터베이스 DB2(222)를 포함한다. 이들 어플리케이션들의 각각은 엔터프라이즈 또는 중앙 어플리케이션을 취하여 이를 클라이언트-서버 데이터 처리를 이용하는 본 발명의 분산 데이터 처리 환경에 이용하는데 적합한 어플리케이션으로 변환시키는 (본 명세서에서 후술될) 변형을 통해 도 1의 연관 어플리케이션들에 관련될 수 있다.
도 3은 도 2의 분산 데이터 처리 시스템에서 이용되는 도 1의 변환된 어플리케이션들을 개념적으로 도시한다. 레거시 어플리케이션은 도면부호(310)로 표시되어 있으며, 상기 레거시 어플리케이션(310)이 화살표(330)로 설명된 바와 같이 분산 데이터 처리 시스템에서 통신할 수 있도록 추가된 EJB 인터페이스규격에 일치하는 컴포넌트-기반 전단부 또는 인터페이스가 도면부호(320)로 표시되어 있다.
도 4는 도 1의 레거시 어플리케이션으로부터 도 2의 시스템으로 어플리케이션 (또는 어플리케이션의 컴포넌트)으로 변환하기 위한 흐름도를 도시한다. 상기 방법의 단계들은 다음 단계들을 포함한다. 블록(402)에서, 어플리케이션이 분석되고 어플리케이션의 기능이 논리 컴포넌트들로 그룹핑된다. 적절한 속성 및 논리 컴포넌트들을 물리적으로 나타내는 메소드를 갖는 엔터프라이즈 자바빈(EJB)이 블록(404)에서 생성된다. 각각의 컴포넌트에 대한 엔터프라이즈 자바빈 인터페이스가 생성되면, 컴포넌트 리모트 인터페이스(Component Remote Interface: CRI)라 알려진 인터페이스가 생성되고 인터페이스 정의 언어(Interface Definition Language: IDL)로 정의된다.
블록(406)에서, CRI를 생성하는 표준 방법을 제공하기 위해 EJB 규격에 따르는 컴포넌트 홈 인터페이스(Component Home Interface: CHI)가 구성된다. CHI는 블록(408)에서 표준 네이밍 서비스(Naming Service:NS)에 등록되어 분산 어플리케이션들이 CHI에 대한 레퍼런스를 획득할 수 있도록 해준다. CHI는 IDL로 정의된다.
다음에, 블록(410)에서, 컴포넌트 구조 시퀀스(Component Structure Sequence:CSS)가 생성되고 저장되어 어플리케이션을 위한 데이터가 "레퍼런스에 의해(by reference)" 전달되는 것에 대조하여 "값에 의해(by value)" 전달되도록 한다. 이는 어플리케이션들간에 다수의 호출을 이용하지 않고서도 순서화된 시퀀스로 데이터가 전달되도록 해준다. 컴포넌트 구조 시퀀스(CSS)는 IDL로 정의된다.
다음에, 컴포넌트 홈 인터페이스(CHI)를 위한 자바 구현 파일이 생성된다. 블록(412)에서 컴포넌트 리모트 인터페이스(CRI)가 생성된다. 이러한 프로세서는 도 5의 예와 관련하여 좀더 상세히 설명될 것이다.
블록(414)에서, IDL 파일들이 컴파일되어 신규 어플리케이션에 대응하는 자바 코드를 생성하고, 블록(416)에서, 자바 네이티브 인터페이스(자바 명령)를 이용하여, 레거시 어플리케이션으로의 통합을 위한 자바 네이티브 인터페이스(Java Native Interface:JNI) 헤더 파일을 생성한다.
다음에, 블록(418)에서, 새로운 JNI 메소드 명칭이 레거시 공유 라이브러리용 보내기(export) 리스트에 추가된다. 기존 레거시 어플리케이션의 언어로 된 컴포넌트 빈(Bean) 파일이 블록(420)에서 생성되고 전술한 블록(416)에서 생성된 JNI 헤더 파일을 포함한다. 그 콤포넌트 빈 파일은 컴파일되어 보내기 리스트로 공유 라이브러리에 링크된다.
서버 코드는 블록(422)에서 갱신되어 분산 어플리케이션에 그의 가용성을 선언하기 위해 네이밍 서비스를 이용하여 컴포넌트 홈 인터페이스(CHI)를 등록한다.
클라이언트 노드는 블록(424)에서 갱신되어 컴포넌트 홈 인터페이스에 대한 레퍼런스를 획득하고 레거시 기능을 요약한 메소드 및 속성들을 이용하기 위해 컴포넌트 리모트 인터페이스 인스턴스를 생성한다.
도 5는 본발명의 주요 원리, 특히, 레거시 어플리테이션의 예, 이 경우에는 마코로(Makoro)라 불리우는 재고조사 관리용 어플리케이션과 관련하여 도 4에 설명된 방법 단계들을 설명하는데, 상기 어플리케이션은 수년동안 IBM으로부터 상업적으로 이용가능한 프로그램이다. 도 5에 도시된 바와 같이, 어플리케이션은 mp.ejb.user.server로부터 UserComponent HomeImpl를 포함하고 위로는 부분(520) 및 부분(530)까지 그리고 아래로는 부분(540)까지 인터페이스하는 베이스 부분(510)을 포함한다. 각각의 부분에 존재하는 컴포넌트들 및 그들의 기원(origin)이 도 5에 도시되어 있다. 도 6은 본 발명을 실시하는데 유용한 시스템 컴포넌트들의 일부를 도시한다. 도시된 바와 같이, 도면부호(610, 612, 614, 616, 618, 620, 622 및 624)라 라벨링된 다수의 컴포넌트들은 도면의 중앙에 도시되어 있다. 각각은 엔터프라이즈 자바빈(EJB)로 이루어져 있으며 분산 처리 환경에서 통신할 수 있는 레거시 어플리케이션의 컴포넌트를 나타낸다. 각각의 컴포넌트(예, 610)는 (서버 프로세스(632)에 연결되어 있으며 시스템에 대한 네이밍 서비스로서 역할하는) EJB 서버(630) 및 공유 라이브러리(libstd.a, 636)에 연결되어 있으며, 이는 파일 컴포넌트빈(637) 및 보내기 리스트(libstd.exp, 638)에 연결되어 있다. EJB 서버(630)는 각각의 컴포넌트 홈 인터페이스(CHI)를 네이밍 서비스 프로세스(632)에 등록시키는 자바 어플리테이션 서버이다. 레거시 어플리케이션 데이터 리소스(670) 및 다른 레거시 프로세스들(662, 664)은 공유 라이브러리(libstd.a, 636)를 통해 액세스된다.
개별의 마코로 재고품 계획 클라이언트 MMP 클라이언트(640)는 IBM 자바 객체 리소스 브로커(650a)를 이용하는 분산처리 네트워크에 대한 접속을 통해 컴포넌트들에 연결되어 있다. 또한, MMP 클라이언트(640)는 네이밍 서비스 기능을 포함하고 자바 ORB(650)를 이용하는 서버 프로세스(632)에 연결된다. MMP 클라이언트(640)가 콤포넌트들(610, 612, 614, 616, 61, 622 또는 624)중 하나의 인스턴스에 대한 메소드를 호출하면, 요청은 JNI를 통해 공유 라이브러리(libstd.a, 636)의 컴포넌트 빈(Bean) 파일(637)으로 처리되고 대응 레거시 프로세스/리소스로 라우팅된다. 따라서, MMP 클라이언트(640)는 공유 라이브러리(libstd.a, 636)내의 비-표준 어플리케이션 프로그래밍 인터페이스(API)를 직접 액세스하는 MMP 클라이언트(640)에 대조적으로 표준 EJB 컴포넌트 인터페이스를 통해 레거시 어플리케이션의 서비스를 활용한다.
본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 실현될 수 있다. 본 발명에 따른 데이터 처리 툴은 컴퓨터 시스템내의 중앙식으로 실현되거나 상이한 요소들이 여러개의 상호접속된 컴퓨터 시스템에 걸쳐 퍼져있는 분산식으로 실현될 수 있다. 본 명세서에서 기술된 방법을 수행하기 위해 채택된 임의의 종류의 컴퓨터 시스템 또는 기타 장치들이 적합하다. 하드웨어 및 소프트웨어의 전형적인 조합은, 프로그램이 로딩되어 실행될때 컴퓨터 시스템을 제어하여 그것이 전술한 방법을 수행하도록 만드는 컴퓨터 프로그램을 구비한 범용 컴퓨터 시스템이 될 수 있다. 본 발명은 또한 컴퓨터 프로그램 제품으로도 구현될 수 있는데, 이는 전술한 방법의 구현을 가능하게 하는 모든 특징들을 포함하고, 컴퓨터 시스템에 로딩될때 전술한 방법을 수행할 수 있다.
본 명세서에서 "컴퓨터 프로그램 수단" 또는 "컴퓨터 프로그램"은 a) 또다른 언어, 코드 또는 표기로의 변환, 및/또는 b) 상이한 유형의 실체로의 재생 이후에시스템으로 하여금 직접 또는 간접적으로 특정 기능을 수행하는 정보 처리 능력을 갖도록 하고자 하는 일단의 명령어들에 대한 임의의 언어,코드 또는 표기로 된 임의의 표현을 의미한다.
본 발명이 리소스 관리 제공 방법 및 장치면에서 설명되었지만, 본 발명은 서버로부터 떨어져서 정보를 수집, 유지 및 처리하고 서버에 필요할 때 정보가 전달되는 서비스 형태로 구현될 수 있다.
물론, 본발명에 대한 다양한 변경은 도면과 더불어 본 발명의 상세한 설명에 기초하여 관련 기술분야의 당업자들에게 명백하게 이해될 것이다. 예를 들어, 자바 및 엔터프라이즈 자바빈과 관련하여 인터페이스를 설명한 것은 용이한 설명을 목적으로 쓰여진 것이며, 사실상은 분산 프로그램 컴포넌트들간에 공통 인터페이스를 생성하여 사용하기 위한 다른 시스템들이 본 발명에서 유리하게 이용될 수 있다. 또한, 세션에 관하여 유지되는 정보의 위치 및 유형은 어플리케이션에 맞추어 수정될 수 있다. 분산 데이터 처리 시스템 및 이들을 연결시키기 위한 네트워크의 개수, 유형 및 위치는 사용자의 설계 및 구현 기준에 따르며, 본 발명의 핵심적인 부분은 아닌다. 또한, 파일 이름도 설계상의 선택 및 시스템 고려사항의 문제일분이다. 본 발명의 임의의 특징들은 본 발명의 범주를 벗어나지 않는 범위에서 다른 특징을 이용하지 않고서도 유용하다. 예를 들어, 레퍼런스에 의한(by reference) 것보다 값에 의해(by value) 변수를 전달시키는 것을 사용하는 것은 불필요한 호출을 방지하고자 한 것으로 일반적으로는 바람직하지만, 시스템은 데이터의 값에 의한(by-value) 전달을 이용하지 않고서도 본 발명의 개념을 이용할 수 있다. 따라서, 본 발명의 바람직한 실시예에 대한 전술한 설명은 단지 본 발명의 주요 원리를 예시한 것이 불과하며 이에 의해 본 발명이 제한되는 것은 아니다.

Claims (11)

  1. 레거시(legacy) 어플리케이션을 분산 데이터 처리 환경에 통합시키기(integrate) 위한 시스템에 있어서,
    네트워크에 연결된 서버에 위치한 레거시 어플리케이션과,
    상기 레거시 상기 어플리케이션을 둘러싸는 이식가능한 머신-독립형 래퍼(portable machine-independent wrapper)를 포함하고,
    상기 래퍼는 네트워크에 걸쳐 상기 어플리케이션의 분산 처리를 가능하게 하는 인터페이스를 포함하며, 상기 인터페이스는 분산 처리를 가능하게 하고 상기 레거시 어플리케이션은 그의 종래 처리를 보유하는(retain) 시스템.
  2. 제1항에 있어서, 상기 이식가능한 머신-독립형 래퍼는 엔터프라이즈 자바빈(Enterprise JavaBean: EJB) 래퍼인 시스템.
  3. 제1항 또는 제2항에 있어서, 레퍼런스에 의한(by reference) 것보다 값에 의해 데이터가 전달되도록 돕기 위해 컴포넌트 시퀀스 구조(component sequence structure)를 더 포함하는 시스템.
  4. 레거시 어플리케이션을 분산 데이터 처리 환경에 통합시키는 방법에있어서,
    레거시 어플리케이션을 분석하여 그의 기능을 컴포넌트들로 구분하는 단계와,
    상기 컴포넌트들을 상이한 서버들에 분산시키는 단계와,
    각각의 컴포넌트에 이식가능한 머신-독립형 인터페이스를 제공하는 단계와,
    상기 컴포넌트들 및 인터페이스에 인덱스를 제공하는 단계
    를 포함하는 방법.
  5. 제4항에 있어서, 상기 이식가능한 머신-독립형 인터페이스는 엔터프라이즈 자바빈 인터페이스인 방법.
  6. 제4항 또는 제5항에 있어서, 컴포넌트들간에 데이터가 레퍼런스에 의한(by reference) 것보다 값에 의해 전달되도록 데이터 시퀀스의 리스팅을 제공하는 단계를 더 포함하는 방법.
  7. 제4항에 있어서, 보내기(export) 심볼 라이브러리 및 컴포넌트 빈을 액세스하는 공유 라이브러리를 이용하는 단계를 더 포함하는 방법.
  8. 레거시 어플리케이션을 분산 처리 환경에서 이용할 수 있도록 개조하기 위해 기록 매체에 저장된 프로그램에 있어서,
    이식가능한 머신-독립형 컴포넌트를 제공하기 위한 제1 프로그램 모듈과,
    상기 레거시 어플리케이션으로부터 기능을 제공하기 위한 제2 프로그램 모듈과,
    상기 컴포넌트 및 기능에 인덱스를 제공하기 위한 제3 프로그램 모듈
    을 포함하는 프로그램.
  9. 제8항에 있어서, 상기 이식가능한 머신-독립형 컴포넌트는 엔터프라이즈 자바빈인 프로그램.
  10. 제8항 또는 제9항에 있어서, 어플리케이션에 대한 공통 시퀀스 구조를 제공하는 제4 프로그램 모듈을 더 포함함으로써, 데이터가 값에 의해 전달되고 레퍼런스에 의해 전달될 필요는 없도록 하는 프로그램.
  11. 제9항에 있어서, 어플리케이션에 대한 공유 라이브러리를 제공하는 부가적인 프로그램 모듈을 더 포함하고, 상기 공유 라이브러리는 컴포넌트 빈을 액세스하고 보내기 심볼 리스트를 액세스하기 위한 요소를 포함하는 프로그램.
KR10-2003-7010416A 2001-02-12 2002-01-16 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템 KR100538371B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/781,615 2001-02-12
US09/781,615 US20020147962A1 (en) 2001-02-12 2001-02-12 Method and system for incorporating legacy applications into a distributed data processing environment
PCT/GB2002/000151 WO2002065277A2 (en) 2001-02-12 2002-01-16 Method and system for incorporating legacy applications into a distributed data processing environment

Publications (2)

Publication Number Publication Date
KR20030074801A true KR20030074801A (ko) 2003-09-19
KR100538371B1 KR100538371B1 (ko) 2005-12-21

Family

ID=25123336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7010416A KR100538371B1 (ko) 2001-02-12 2002-01-16 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US20020147962A1 (ko)
EP (1) EP1393171A2 (ko)
JP (1) JP2004529412A (ko)
KR (1) KR100538371B1 (ko)
CN (1) CN1258139C (ko)
AU (1) AU2002219382A1 (ko)
WO (1) WO2002065277A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066942A (ko) * 2002-02-06 2003-08-14 (주) 자이오넥스 네트웍 상의 시스템 통합 및 통신 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814198B2 (en) * 2007-10-26 2010-10-12 Microsoft Corporation Model-driven, repository-based application monitoring system
US7493391B2 (en) * 2001-02-12 2009-02-17 International Business Machines Corporation System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds
US7617504B1 (en) * 2002-09-12 2009-11-10 Sprint Communications Company L.P. Computer method and system for integrating enterprise JavaBeans into non-Java environments
US7823122B1 (en) * 2003-12-16 2010-10-26 The Mathworks, Inc. Model and subsystem function signatures
US7428729B2 (en) * 2004-01-30 2008-09-23 International Business Machines Corporation Methods, systems, and computer program products for integrating legacy applications into a platform-independent environment
US20050240616A1 (en) * 2004-04-22 2005-10-27 International Business Machines Corporation Container-managed method support for container-managed entity beans
US8024396B2 (en) * 2007-04-26 2011-09-20 Microsoft Corporation Distributed behavior controlled execution of modeled applications
US7970892B2 (en) 2007-06-29 2011-06-28 Microsoft Corporation Tuning and optimizing distributed systems with declarative models
US8239505B2 (en) * 2007-06-29 2012-08-07 Microsoft Corporation Progressively implementing declarative models in distributed systems
US8230386B2 (en) * 2007-08-23 2012-07-24 Microsoft Corporation Monitoring distributed applications
US8181151B2 (en) * 2007-10-26 2012-05-15 Microsoft Corporation Modeling and managing heterogeneous applications
US7926070B2 (en) 2007-10-26 2011-04-12 Microsoft Corporation Performing requested commands for model-based applications
US8099720B2 (en) 2007-10-26 2012-01-17 Microsoft Corporation Translating declarative models
US8225308B2 (en) 2007-10-26 2012-07-17 Microsoft Corporation Managing software lifecycle
US7974939B2 (en) 2007-10-26 2011-07-05 Microsoft Corporation Processing model-based commands for distributed applications
US9176714B2 (en) * 2007-11-12 2015-11-03 International Business Machines Corporation Re-using legacy libraries in software
KR101340323B1 (ko) * 2011-10-31 2013-12-11 한국과학기술정보연구원 분산 지향 데이터 접근 시스템 및 그 방법
CN116340022A (zh) 2016-01-22 2023-06-27 索尼互动娱乐股份有限公司 用于向后兼容性的欺骗cpuid
US10430250B2 (en) * 2017-10-11 2019-10-01 International Business Machines Corporation Decomposing monolithic application into microservices
US10579370B2 (en) * 2018-08-03 2020-03-03 EMC IP Company LLC Method to disintegrate a monolith service to microservices
CN111353880B (zh) * 2020-03-31 2023-09-26 中国工商银行股份有限公司 一种交易服务化封装方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6305007B1 (en) * 1998-07-24 2001-10-16 Computer Associates Think, Inc. Object property meta model emulator for legacy data structures
US6510550B1 (en) * 1999-05-12 2003-01-21 Intel Corporation Method and apparatus for providing intermittent connectivity support in a computer application
US6542900B1 (en) * 1999-10-04 2003-04-01 Sun Microsystems, Inc. Method and apparatus for distributed object mapping in a java language environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066942A (ko) * 2002-02-06 2003-08-14 (주) 자이오넥스 네트웍 상의 시스템 통합 및 통신 방법

Also Published As

Publication number Publication date
AU2002219382A1 (en) 2002-08-28
CN1526094A (zh) 2004-09-01
JP2004529412A (ja) 2004-09-24
KR100538371B1 (ko) 2005-12-21
WO2002065277A3 (en) 2003-11-27
WO2002065277A2 (en) 2002-08-22
US20020147962A1 (en) 2002-10-10
CN1258139C (zh) 2006-05-31
EP1393171A2 (en) 2004-03-03

Similar Documents

Publication Publication Date Title
KR100538371B1 (ko) 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템
US6343332B1 (en) Communication link information generating device, a three-tier client/server system, and a medium storing a communication link information generator program
US6115710A (en) Portable and dynamic distributed transaction management method
US5857197A (en) System and method for accessing data stores as objects
US6453321B1 (en) Structured cache for persistent objects
US6418448B1 (en) Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6804674B2 (en) Scalable Content management system and method of using the same
US5903754A (en) Dynamic layered protocol stack
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
US6263498B1 (en) Method and apparatus for enabling server side distributed object modification
EP0456249A2 (en) System for integrating application programs in a heterogeneous network enviroment
US20060184568A1 (en) Having a single set of object relational mappings across different instances of the same schemas
US7650609B2 (en) Multi-environment document management system access
US20010007984A1 (en) Client-server computing software architecture
US7877397B2 (en) Extensible command execution for entity data model platform
US20030055826A1 (en) System and method for connecting to and controlling to disparate databases
US20050034137A1 (en) Extensible architecture for versioning APIs
US20080016516A1 (en) Systems and methods for using application services
US7657609B2 (en) Data transfer in a multi-environment document management system access
KR20010040348A (ko) 확장가능한 분산된 기업용 애플리케이션 통합 시스템
WO2006026659A2 (en) Services oriented architecture for data integration services
US20030055921A1 (en) Method and apparatus for reengineering legacy systems for seamless interaction with distributed component systems
US20050114152A1 (en) Reference solution architecture method and system
EP1617326A1 (en) Technique for handling hierarchical application data
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions

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: 20081126

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee