KR100459300B1 - 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품 - Google Patents

네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품 Download PDF

Info

Publication number
KR100459300B1
KR100459300B1 KR10-2001-0023369A KR20010023369A KR100459300B1 KR 100459300 B1 KR100459300 B1 KR 100459300B1 KR 20010023369 A KR20010023369 A KR 20010023369A KR 100459300 B1 KR100459300 B1 KR 100459300B1
Authority
KR
South Korea
Prior art keywords
script
generated command
command file
prefix
platform
Prior art date
Application number
KR10-2001-0023369A
Other languages
English (en)
Other versions
KR20010107558A (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 KR20010107558A publication Critical patent/KR20010107558A/ko
Application granted granted Critical
Publication of KR100459300B1 publication Critical patent/KR100459300B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • 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
    • 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/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

네트워크 환경에서 스크립트를 생성하기 위한 방법, 시스템 및 프로그램이 개시되고 있다. 쉘 스크립트는 네트워크 환경에서 사용되는 프로그래밍 언어로 작성된다. 이 쉘 스크립트는 프로그램적으로 특정 플랫폼하에서 실행할 수 있는 스크립트로 변환된다. 이 스크립트는 특정 플랫폼하에서 실행된다. 스크립트 생성 커맨드는 쉘 스크립트에서 정의된다. 이 스크립트 생성 커맨드를 위한 매개 변수가 정의된다. 스크립트 생성 커맨드는 이 매개 변수로 스크립트를 생성하도록 실행된다. 또한, 스크립트 생성 커맨드로 패스된 프리픽스 변수와 관련성이 있는 프리픽스 명이 정의된다. 프리픽스 명 및 프리픽스 변수는 스크립트 생성 커맨드를 위해 획득된다. 프리픽스 변수를 위한 값이 테이블에서 회수될 수 있다. 본 발명은 상이한 플랫폼하에서 운영되는 시스템의 집합체를 포함하는 네트워크 환경 내의 각종 스크립트 언어로 스크립트를 쉽고 유연성 있게 관리하고 실행하도록 한다.

Description

네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품{METHOD, SYSTEM, AND PROGRAM FOR PARAMETER EXPANSION, GENERATION AND EXECUTION OF SCRIPTS IN A NETWORKED ENVIRONMENT}
본 발명은 일반적으로 데이타 처리 환경(data processing environment)에서 사용되고 있는 스크립트(scripts)의 생성 및 실행에 관한 것으로, 특히 객체(objects)를 사용하는 네트워크 환경에서 스크립트의 매개 변수(parameter) 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품에 관한 것이다.
도 1은 네트워크 환경(1)의 블럭도를 도시하고 있다. 네트워크 환경(1)은 서버 시스템(12)과 통신하고 있는 클라이언트 시스템(client system)(10)을 설명하고 있다. 시스템 관리자(system administrator)(2)는 스크립트(4)의 매개 변수를 클라이언트 시스템(10)에 입력한다. 클라이언트 시스템(10)은 이 매개 변수를 서버 시스템(12)으로 패스한다. "스크립트(script)"는 컴퓨터 애플리케이션 또는 컴퓨터 프로그램에 대한 일련의 명령을 포함하고 있는 프로그램이다. 명령은 애플리케이션 또는 프로그램과 동일한 규칙 세트를 사용한다. 스크립트는 일련의 명령을 정의하는 명칭(a name)별로 불리워질 수 있다. 스크립트의 확장은 이 명칭이 프로그램에서 나타나는 곳마다 상기 명령을 상기 명칭으로 대체할 때 일어난다. "쉘 스크립트(shell script)"는 오퍼레이팅 시스템의 커맨드 번역기 또는 쉘에 의해 실행되는 스크립트이다.
도 1에서, 시스템 관리자(2)는 서버 시스템(12)에 저장되어 있는 객체[예컨대, 사용자 A 또는 B로 나타나는 사용자 객체(15)]에 대한 오퍼레이션(예컨대, 삭제, 패스워드 변경 등)을 수행하기 위한 커맨드를 실행한다. 시스템 관리자(2)는 클라이언트 시스템(10)을 이용하여 스크립트(4)를 위해 정의된 각종 매개 변수(예컨대, 인자, 플래그 및 값)를 클라이언트 시스템(10)에서 서버 시스템(12)으로 패스함으로써, 서버 시스템(12)에 저장되어 있는 선택 객체(사용자 A 또는 B)에 대한 선택 오퍼레이션을 관리하고 커맨드하고 수행한다. 클라이언트 시스템(10)은 통신선(7)을 통해 서버 시스템(12)에서 커맨드를 실행하도록 요구한다. 서버 시스템(12)은 그 자체에 배치된 객체 요구 매개자(Object Request Broker;ORB)(6)를 통해 커맨드를 수신하고 행한다.
그러므로, 네트워크 환경(1)에서 스크립트(4)의 실행은 각각의 특수한 오퍼레이팅 시스템, 예컨대 윈도우 NT, UNIX, LINUX 등을 위해 각자의 언어에 대해서 스크립트(4)의 시스템 관리자(2)에 의한 사전 지식을 요구한다. 시스템 관리자(2)는 스크립트(4)를 위해 인자(arguments), 플래그(flags) 및 값(values)과 특정 언어를 상세히 인지할 필요가 있고, 이들 매개 변수는 시스템 관리자(2)에 의해 클라이언트 시스템(10)을 통해 서버 시스템(12)으로 패스된다.
시스템 관리자(2)는 각 인자, 플래그 및 값을 클라이언트 시스템(10)에 수작업으로 입력하거나 타이핑한다. 클라이언트 시스템(10)은 수작업으로 입력된 매개 변수를 통신선(8)을 통해 서버 시스템(12)에 패스하여, 서버 시스템(12)에서 소망하는 오퍼레이션을 커맨드하고 수행한다. 상기 클라이언트 시스템(10)의 그래픽 유저 인터페이스 프로그램(Graphical User Interface programs)은 사용자의 입력 에러를 제거하는데 도움을 준다.
그러나, 매개 변수를 수신하고, 서버 시스템(12)에 요구를 전송하는 프로그램은 매개 변수 치환을 수행할 필요가 있다. 이들 프로그램은, C 또는 JAVA로 작성될 때, 스크립트가 많은 수의 매개 변수를 요구할 경우 에러가 발생하기 쉽다. 예컨대, 다음의 샘플 C 및 JAVA 코드는 스크립트를 서버 시스템에서 리모트로 실행한다.
C code:
Char cmd[1024];
Sprintf(cmd,"rsh %s -1 %s myScript -d %s -A %s -1 %s",
hostname, loginName, value1, value2, value3);
Exec(cmd);
JAVA code:
String command = new String("rsh" +hostname +" -1"
+loginName +" myScript -d" +value1 +" -A"
+value2 +" -1 " +value3);
Runtime.exec(command);
상기 코드는 정확하게 컴파일되지만, 프로그래머가 어느 하나의 플래그 앞에 '-'를 생략할 경우 실행할 수 없다.
상이한 형태의 오퍼레이팅 시스템, 예컨대 윈도우 NT, UNIX, LINUX 등에서 운영하는 시스템의 집합체를 포함하는 네트워크 환경내 각종 스크립트 언어[예컨대, 텍스트 엑스큐터블 코드(text executable code), 콘 쉘(korn shell), 펄(Pearl), 도스 배치 파일(DOS Bat file, 아스키(ASCII) 등]에 대해서 스크립트(4)를 쉽고 유연성있게 관리하고 실행하는 방법이 현재 존재하고 있지 않다. 그러므로, 상기 네트워크 환경에서 커맨드를 실행하기 위해 스크립트를 리모트로 실시하는 개선된 방법이 필요하며 또 요청된다.
본 발명의 제1의 목적은 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다.
본 발명의 제2의 목적은 클라이언트 시스템에서 스크립트 언어에 대한 사전 지식과 스크립트의 각 매개 변수를 필요로 하지 않고, 스크립트의 매개 변수 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다.
본 발명의 제3의 목적은 클라이언트 측에서 스크립트 평가를 필요로 하지 않고, 클라이언트 측에서 서버 측으로 스크립트의 패스를 필요로 하지 않는 스크립트의 매개 변수 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다.
또, 본 발명의 제4의 목적은 각종 프로그래밍 언어로 스크립트를 생성하고 동적 확장하여 스크립트에 대한 각 매개 변수를 평가하는 스크립트의 매개 변수 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다.
본 발명의 제5의 목적은 상이한 플랫폼에서 운영하는 시스템의 집합체를 포함하는 네트워크 환경 내 각종 스크립트 언어에 대해서 쉽고 유연성이 있게 스크립트를 관리하고 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다.
전술한 본 발명의 목적은 본 명세서에 기재된 내용으로 달성할 수 있다. 본발명에는 네트워크 환경에서 스크립트를 생성하기 위한 방법, 시스템 및 프로그램이 개시되어 있다. 쉘 스크립트는 네트워크 환경하에서 사용되는 프로그래밍 언어로 작성된다. 이 쉘 스크립트는 특정 플랫폼하에서 실행할 수 있는 스크립트로 프로그래밍 변환된다. 이 스크립트는 특정한 플랫폼하에서 실행된다. 스크립트 생성 커맨드는 쉘 스크립트에서 정의된다. 이 스크립트 생성 커맨드(script generating command)를 위한 매개 변수가 정의된다. 스크립트 생성 커맨드는 이 매개 변수로 스크립트를 생성하도록 실행된다. 또한, 스크립트 생성 커맨드에 패스된 프리픽스 변수(prefix variables)와 관련성이 있는 프리픽스 명(prefix names)이 정의된다. 프리픽스 명 및 프리픽스 변수는 스크립트 생성 커맨드를 위해 획득된다. 프리픽스 변수를 위한 값이 테이블에서 회수될 수 있다. 본 발명은 상이한 플랫폼하에서 운영되는 시스템의 집합체를 포함하는 네트워크 환경 내의 각종 스크립트 언어로 스크립트를 쉽고 유연성 있게 관리하고 실행하도록 한다.
전술한 본 발명과 또 다른 본 발명의 목적, 특징 및 장점은 후술하는 명세서의 기재 내용을 통해 더 명확해 질 수 있다.
도 1은 종래 기술에 따라 클라이언트 시스템에서 매개 변수를 입력하고, 선택 객체에서 선택 커맨드를 위한 스크립트를 클라이언트 시스템에서 서버 시스템으로 패스하는 것을 도시하는 네트워크 환경의 블럭도.
도 2a는 본 발명에 따라 객체를 사용하는 스크립트의 매개 변수 확장, 생성 및 실행을 도시하는 네트워크 환경의 블럭도.
도 2b는 본 발명에 의해 사용되고 있는 데이타 처리 시스템(서버 시스템 또는 클라이언트 시스템)의 일례를 도시한 하드웨어 블럭도.
도 3은 본 발명에 따른 스크립트 생성 커맨드(예컨대, "Ecommand")에 대한 일반적인 포맷 또는 신택스를 도시한 도면.
도 4는 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 제공하는 본 발명의 실행의 일례를 설명하는 흐름도.
도 5a는 본 발명에 따른 스크립트 생성 커맨드(예컨대, "Ecommand")를 발생하는데 사용되는 원본 스크립트 생성 커맨드 파일을 위한 샘플 코드를 도시한 도면.
도 5b는 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 제공하도록 본 발명에 따라 사용자 객체를 표시하고, 서버 시스템에서 작성되어 사용된 JAVA 사용자 객체 클래스를 단순화한 일례를 도시한 도면.
도 5c는 본 발명에 따라 스크립트 생성 커맨드(예컨대, "Ecommand")를 생성하도록 컴파일러로 컴파일하는 도 5a의 원본 커맨드 파일로부터 생성된 JAVA 커맨드 파일의 일례를 도시한 도면.
도 5d는 본 발명에 따른 스크립트 생성 커맨드(예컨대, "Ecommand")에 의해 매개 변수를 평가 및 확장한 후에 생성되는 스크립트의 일례를 도시한 도면.
도 6은 본 발명에 따른 스크립트와 각 인자, 플래그 및 값을 생성하는데 사용된 테이블(예컨대, 해시 테이블)의 일례를 도시한 도면.
도 7은 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수의 확장, 생성 및 실행을 제공하는 본 발명을 위해 스크립트 생성 커맨드(예컨대, "Ecommand")를 실행하기 위한 알고리즘의 일례를 도시한 흐름도.
본 발명의 신규한 특징은 첨부한 청구항에 모두 기재되어 있다. 그러나, 첨부한 도면을 참조하여 상세하게 후술될 실시예를 통해 본 발명 및 또 다른 본 발명의 목적, 바람직한 용도 및 장점을 보다 더 잘 이해할 수 있다.
본 발명은 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행하기 위한 방법, 시스템 및 프로그램 제품을 제공하는 것이다. 본 발명은 스크립트용 인자, 플래그 및 값에 대한 사전 지식을 필요로 하지 않고, 스크립트와 각 인자, 플래그 및 값을 클라이언트 시스템에 수작업으로 입력하는 것을 요구하지 않는다. 또한, 본 발명은 클라이언트 측에서 스크립트를 평가할 필요가 없고, 또 클라이언트 측에서 서버 측으로 스크립트를 패스할 필요가 없다. 본 발명은 각종 프로그램밍 언어 내에 인자, 플래그 및 값을 생성하여 동적 확장한다. 또한, 본 발명은 상이한 플랫폼을 운영하는 시스템의 집합체, 예컨대 윈도우 NT, UNIX, LINUX 등을 포함한 네트워크 환경 내 각종 스크립트 언어[예컨대, 텍스트 엑스큐터블 코드(text executable code), 콘 쉘(korn shell), 펄(Pearl), 도스 배치 파일(DOS Bat file), 아스키(ASCII) 등]에 대해서 스크립트를 쉽고 유연성있게 관리하고 실행하는 방법을 제공한다.
"클라이언트 시스템"은 일반적으로 요구(a request)를 전하는 시스템이다. "서버 시스템"은 일반적으로 요구를 수신하는 시스템이다. "네트워크 환경"은 스크립트 언어를 각각 지원하는 상이한 플랫폼(platform)을 운영하는 클라이언트 시스템의 집합체 및 서버 시스템의 집합체, 예컨대 윈도우 NT, UNIX, LINUX 등을 포함하고 있다. "관리 객체"는 로컬 또는 리모트로 관리할 수 있는 서버 시스템의 리소스를 나타낸다. 관리 객체의 일례는 사용자 또는 디스크 장치를 포함한다. "객체 요구 매개자(object request broker)"는 서버 측에 배치되며, 통신선을 통해 클라이언트 시스템과 통신한다. 상기 객체 요구 매개자는 클라이언트 머신에서의 코드가 서버 머신에서 객체 또는 리소스를 끊김없이(seamlessly) 억세스하도록 인에이블하는 시스템이다.
첨부된 도면 특히, 도 2a의 블럭도를 참조하면, 네트워크 환경(11)은 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 위한 본 발명의 토폴로지(topology)를 설명하고 있다. 클라이언트 시스템(10)은 서버 시스템(12)과 통신하고 있다. 도 2b는 데이타 처리 시스템(210)의 하드웨어 블럭도를 도시하고 있는데, 이 데이타 처리 시스템의 일례로 클라이언트 시스템(10) 또는 서버 시스템(12)이 있다. 도 2b에 도시한 바와 같이, 중앙 처리 유니트(212; CPU), 판독 전용 메모리(213; ROM) 및 다이나믹 랜덤 억세스 메모리(214; DRAM)는 데이타 처리 시스템(210)의 시스템 버스(211)와 접속된다. 또한, CPU(212), ROM(213) 및 DRAM(214)를 PCI 호스트 브리지(215)를 통해 데이타 처리 시스템(210)의 PCI 로컬 버스(220)에 접속된다. PCI 호스트 브리지(215)는 CPU(212)가 버스 메모리 및/또는 I/O 어드레스 공간 내에서 대응하고 있는 PCI 장치에 직접 억세스할 수 있는 짧은 대기 시간 경로(low latency path)를 제공한다. 또, PCI 호스트 브리지(215)는 PCI 버스가 DRAM(214)에 직접 억세스할 수 있는 고대역폭 경로를 제공한다.
또한, 도 2b를 참조하면, 오디오 어댑터(223)는 스피커(224)를 거치는 오디오 출력을 제어하기 위해 PCI 로컬 버스(220)에 부착될 수 있다. 그래픽 어댑터(221)는 디스플레이 모니터(222)를 거치는 영상 출력을 제어 하기 위해 PCI 로컬 버스(220)에 부착될 수 있다. 또한, 근거리 네트워크(LAN) 인터페이스 어댑터(216)는 PCI 로컬 버스(220)에 부착될 수 있다. LAN 인터페이스 어댑터(216)는 컴퓨터 시스템(210)을 근거리 네트워크(217; LAN)에 연결시킨다. PCI-ISA 버스 브리지, 예컨대 확장 버스 브리지(245)는 ISA 버스(225)를 PCI 로컬 버스(220)에 접속하는데 사용할 수 있다. 일례로, PCI 로컬 버스(220) 및 ISA 버스(225)를 도시하고 있지만, 본 발명은 이들 특수한 버스 아키텍쳐에 제한되지 않는다. 오히려, 본 발명은 다른 상이한 버스 아키텍쳐를 구비한 버스 시스템에 이용될 수 있다. 도시한 바와 같이, 키보드(226), 마이크로폰(227), 마우스(228) 및 하드 디스크 드라이브(229)는 특정한 베이직 I/O 기능을 수행하기 위해 ISA 버스(225)에 부착될 수 있다.
본 발명은 도 2a에서 ECommand(21)로 도시되어 있는 스크립트 생성 커맨드(script generating command)(예컨대, "ECommand")를 제공한다. ECommand는 객체값을 쉘 스크립트로 패스하는 메카니즘을 제공하는 JAVA 클래스이다. ECommand는 JAVA 프로그램에서 명확하게 단정하기 어려울 수 있는 대형 쉘 스크립트를 저장하는데 사용된다. JAVA 또는 다른 프로그램에서 쉘 스크립트를 실행할 때, 값들을 쉘 스크립트에 패스할 필요가 있다. 패스될 값을 필요로 하는 스크립트의 일례는 다음과 같다.
String command = new String("myScript-d"+aValue+"-A"+Value1 +"-c-x");
RunTime.exec(command)
ECommand는 네트워크 환경에서 실행하는 하나의 JAVA 클래스 내에 저장되도록 상이한 플랫폼에서 스크립트의 리모트 실행을 허용한다. 예컨대, 다음의 C 코드의 일부분은 클라이언트 시스템(10)에서 "MyScript"로 명명된 스크립트를 리모트로 실행한다.
char cmd[1024];
sprint(cmd,"rsh %s-I%s MyScript -d %s -A %s -I%s",
hostname, loginName, value1, value2, value3)
그러나, 이 C 코드는 UNIX 서버에서 "MyScript"를 전용으로 실행할 수 있다. JAVA 프로그래밍은 ECommand(21)를 조회(references)하여 상이한 플랫폼(예컨대, AIX, NT, LINUX, UNIX) 상에서 스크립트의 실행이 가능하게 한다. AIX, NT 및 LINUX에서 JAVA 코드로 MyScript를 실행하도록 하는 ECommand(21) 조회의 일례는 다음과 같다.
Hashtable params;
params.put("value1", value1);
params.put("value2", value2);
params.put("value3", value3);
String cmd:
if(runningOnAIX)
cmd= MyECommand.myAIXScript.expand(params);
elseif(runningOnNT)
cmd= MyECommand.myNTScript.expand(params);
elseif(runningOnLINUX)
cmd= MyECommand.myLINUXScript.expand(params);
Runtime.exec(cmd)
도 2a를 다시 참조하면, 관리 객체 클래스(managed object class)(15)는 서버 시스템(12)에서 객체를 정의한다(즉, 사용자 객체는 사용자 A 또는 사용자 B로 정의된다). 서버 시스템(12)에서 객체(15)는 클라이언트 시스템(10)에서 사용자 객체 표시 클래스(18)로 표시된다. 클라이언트 시스템(10)은 서버 시스템(12)에서 클라이언트 시스템(10)으로 객체 및 아이콘의 표시를 행하는 그래픽 유저 인터페이스(GUI)를 포함하고 있다. GUI 애플리케이션(16)은 클라이언트 시스템(10)에서 서버 시스템(12)에 있는 관리 객체(15)를 표시하게 할 수 있다.
본 발명을 실시할 때, 서버 시스템(12)은 전술한 클래스 및 객체를 포함하는 적합한 클래스 및 객체를 설정하여 설치한다. 소프트웨어 개발업자 등은 스크립트 생성(즉, 스크립트 생성 ECommand)을 위해 원본 커맨드 파일(original command file)을 만든다. 소프트웨어 구축 툴(software build tools)은 상기 원본 커맨드 파일로부터 JAVA 또는 다른 언어 프로그램에 있는 스크립트 생성 커맨드 파일을 생성하도록 하는데 사용된다. JAVA 또는 다른 프로그램 언어 스크립트 생성 파일은 서버 시스템(12)에 저장되어 있는 스크립트 생성 ECommand(21)(예컨대,"ECommand.class")를 생성하도록 각자의 컴파일러(compiler)를 사용하는 소프트웨어 개발업자에 의해 컴파일된다. 서버 시스템(12)에서 스크립트 생성 ECommand(21)(예컨대,"ECommand.class")는 일반적이고, 각종 오퍼레이팅 시스템을 갖는 네트워크 환경에서 사용될 수 있는 스크립트를 서버 시스템 자체에 생성할 수 있다. 또한, 소프트웨어 개발업자는 관리 객체 클래스(예컨대, 도 2a의 사용자 객체 클래스 15A)를 정의하고 작성한다. 관리 객체 클래스(즉, 사용자 객체 클래스 15A)는 서버 시스템(12)에 저장된다.
적합한 클래스 및 객체가 소프트웨어 개발업자에 의해 설정되어 설치된 다음, 클라이언트 시스템(10)에서 시스템 관리자(2) 등은 본 발명을 이용하여 선택 객체에서 선택 오퍼레이션을 행한다[예컨대, 도 2a의 통신선(3)을 통해]. 서버 시스템(12)에서 관리 객체(15)의 일례는 클라이언트 시스템(10)에서 객체 표시(18)의 일례를 각각 선택하는 시스템 관리자(2)에 의해 선택된다. GUI(16)는 객체 표시 및 오퍼레이션을 프로세스하도록 요구하는 결정을 한다. 선택된 객체 표시(18) 및 선택된 오퍼레이션은 서버 시스템(12)에서 객체 요구 매개자(6; ORB)를 거쳐 패스된다. GUI(16)는 객체 요구 매개자(6; ORB)를 통해 관리 객체 클래스(15A)에 억세스한다. 따라서, 클라이언트 시스템(10)에서 객체 표시(18)의 선택된 일례는 서버 시스템(12)에 있는 각각의 관리 객체 클래스(15A)에서 선택 관리 객체(15)가 서버 시스템(12) 내의 스크립트 생성 ECommand(21)를 호출하게끔 한다. 그 결과, ECommand(21)는 선택 관리 객체(15) 및 선택 오퍼레이션을 수신한 다음, 매개 변수 확장으로 알려진, 확장 및 생성된 각 값으로 스크립트를 생성한다. 이때, 스크립트는 클라이언트 시스템(10)에서 패스되지 않고, 서버 시스템(12)에서 각각 생성하여 사용될 수 있다.
스트립트 생성 ECommand(21)는 커맨드 실행 및 처리를 하기 위한 스크립트 생성기(script generator) 및 프로바이더(provider)이다. ECommand(21)는 프리픽스 명과 관련된 변수 또는 값(이하, "프리픽스 값"이라고 부름)의 리스트와 함께 실제 스크립트[예컨대, 네트워크 환경에서 상이한 또는 복수 오퍼레이팅 시스템(예컨대, UNIX, LINUX 등)용 스크립트]를 포함하고 있다. ECommand(21)는 서버 시스템(12)에 설치되어 상주된다. 선택 관리 객체(15)는 스크립트 생성 ECommand(21)의 호출자이다. 선택 객체 및 선택 오퍼레이션 또는 요구된 오퍼레이션은 클라이언트 시스템(10)에서 서버 시스템(12)으로 패스된다. 스크립트에 필요한 값은 상세하게 후술될, 이들 객체 및 값 정의 테이블(value defining tables)[예컨대, JAVA로 정의된 해시 테이블(hash table)]에서 회수된다. ECommand(21)를 관리 객체에 의해 호출하여 실행할 때, ECommand(21)는 스크립트를 평가하여 객체 값이 표시된 프리픽스값을 필요로 하는지를 결정한다. 이때, ECommand(21)는 실행을 위해 스크립트를 생성하고 확장한다. 이들 변수 또는 값을 평가하고 치환하는 프로세스는 "매개 변수 확장(parameter expansion)"으로 알려져 있다. 상기 매개 변수 확장의 일례는 $1, $2, $3 등의 콘 쉘을 사용하는 것이다. 숫자 "1", "2", "3"은 각각 쉘 스크립트의 제1, 제2 및 제3 인자 매개 변수를 나타내고 있고, $ 기호는 인자 확장 또는 평가에 관한 것이다. 도 2a에서는, ECommand(21)가 스크립트를 평가하고 사용자 B에 대한 객체 값 및 변수를 결정하는데, 상기 사용자 B는 상기 예에서 선택 오퍼레이션을 수행하는 호출자이다.
도 3은 스크립트 생성 커맨드 또는 ECommand(21)의 일반적인 포맷 또는 신택스(format or syntax)(26)를 도시하고 있다. 일례로, 스크립트 생성 커맨드 파일(또는 ECommand 파일)은 기본적으로 JAVA 프로그래밍에서 끝에 ".cmd" 확장자를 붙인 파일로서 정의된다. 이들 커맨드 파일을 위한 포맷 또는 신택스(26)는 획득되어 정의될 ECommand stanzaName(28; 즉, 오퍼레이션명), Object Type(27; 즉, 객체 형태) 및 각종 프리픽스값(29)을 포함하고 있다. StanzaName(28)은 스탠자(stanza)를 식별한다. 스탠자는 일반적으로 매개 변수 치환 또는 커맨드를 요구하는 스크립트를 정의하는 레코드(record)이며, 이 스탠자는 일반적으로 구조 내에 태그 및 일부 데이타를 갖고 있는 구조이다(스탠자는 각종 오퍼레이션, 예컨대 삭제, 패스워드 변경 등을 식별한다). Object Type(27)는 객체 형태를 ECommand 객체(20)로 패스함과 동시에, 프리픽스값(29)을 각각 인자 또는 값으로 정의한다. Object Type(27)는 전형적으로 서버 시스템(12)에서 관리 객체(15)를 표시하는 클래스(즉, JAVA 클래스)이거나, 프리픽스(29)를 위해 값 또는 인자가 획득되는 값 정의 테이블, 예컨대 JAVA에서 정의된 해시 테이블이다. Object Type(27)이 값 정의 테이블인 경우, ECommand(21)는 이 정의 테이블로부터 각각의 변수 값 또는 변수 특성을 획득하기 위한 매소드(a method)를 호출한다[예컨대, JAVA에서 해시 테이블의 "겟(get)" 매소드를 실행함].
이 획득 방법은 프리픽스 명[예컨대, 클라이언트 시스템(10)에서 시스템 관리자(2)에 의해 선택된 객체 및 오퍼레이션(15)]의 값을 획득하고, 테이블에 저장된 키와 관련된 값을 회수하는데 사용할 수 있다. 값 정의 테이블은 일반적으로 데이타 구조이며, 이 데이타 구조는 해당 값을 키(key)로 하여 소정 키와 관련된 값을 효율적으로 조사하도록 허용하고 있는 구조이다. Object Type(27)가 관리 객체 클래스[예컨대, 도 2의 사용자 객체 클래스(15A)]인 경우, 스크립트 생성 ECommand(21)는 관리 객체 클래스를 어떤 방법으로 호출하는지를 알 필요가 있다. 일례로서, "Mobject"라고 불리는 클래스(예컨대, JAVA 클래스)는 관리 객체(15)를 표시하며, ECommand(21)를 호출하는 매소드[또는 매소드(30)]는 관리 객체(15)에 대한 특성 및 값을 획득하기 위한 "getProperty Values" 매소드이다.
도 3은 다수의 매소드(30)를 도시하고 있는데, 이 매소드(30)는 상이한 플랫폼 또는 오퍼레이팅 시스템을 위해 관리 객체(15)에 의해 정의되어 호출될 수 있는 적합한 방법의 형태일 수 있다. 구축(build) 프로세스는 원본 스크립트 생성 커맨드 파일을 프로그램 언어 스크립트 커맨드 파일(즉, JAVA 또는 다른 언어 프로그램 파일)로 변환한다. 상기 프로그램 언어 스크립트 생성 파일은 ECommand(21)로 컴파일된 다음, 서버 시스템(12)에 설치된다.
ECommand(21) 내에 저장된 쉘 스크립트는 스탠자 또는 레코드 "Method" 내에 포함되어야 한다. 예컨대, 다음의 쉘 스크립트는 그룹 리스트에 소정의 사용자명을 부가한다.
ECommand addGroup(Mobject user, Hashtable Group)
{
Method = {
for group in ${Group_Name[*]}; do
chuser -g $group ${User_Name}
done
}
}
이 쉘 스크립트는 사용자명(예컨대, "User") 및 그룹명 리스트(예컨대, "Group")라는 2개의 인자를 갖고 있다. 구축 프로세스는 ".cmd" 파일에 있는 스탠자 또는 레코드 "Method"를 인식하는 파싱 프로그램(parcing program)을 사용한다. 이 파싱 프로그램은 다음과 같이 초기화된 "addGroup_script"라고 명명된 static String을 갖는 JAVA 프로그램을 생성한다.
static String addGroup_script =
"\n"+
"for group in ${Group_Name[*]}; do\n"
"chuser -g $group $ {User_Name}\n
"done\n"
"";
상기 파싱 프로그램은 원본 ECommand 파일에서 정의되어 있는 2 개의 인자 "User" 및 "매소드군 addGroup"를 갖고 다음과 같은 JAVA String을 생성한다.
static String [] addGroup_prefixnames={"User", Group",};
static String [] addGroup_varlist_User={"Name",};
static String [] addGroup_varlist_Group={"Name",};
static {
String [][] addGroup_attributeLists = new String [2][];
addGroup_attributeLists[0] = addGroup_varlist_User;
addGroup_attributeLists[1] = addGroup_varlist_Group;
addGroup = new ECommand(
addGroup_script,
addGroup_prefixnames,
addGroup_attributeLists);
}/*end static*/
ECommand(21)의 베이스는 인자에 대한 값을 정확하게 평가하고 치환하도록 스트링(String) 변수를 사용하게 될 Expand()라고 불리는 매소드를 갖고 있다. 일례로, Expand() 매소드가 호출되기 전에, 호출자는 2 개의 객체를 구성한다. 제1 객체는 MObject 클래스 형태의 객체이고, 제2 객체는 해시 테이블이다. 이 확장 매소드 내에서는, 패스된 인자가 MObject 클래스인 경우, 인자(이 경우, 사용자 프리픽스에 대한 'Name')의 값을 평가하여 MObject 클래스의 getPropertyValue()를 호출한다. 객체가 해시 테이블인 경우, 해시 테이블의 get() 매소드의 값(이 경우, 그룹 프리픽스에 대한 'Name')을 호출한다. 각 인자를 평가한 다음, 이 값을 쉘 변수 User_Name 및 Group_Name에 저장한다.
Expand() 매소드를 호출하는 예는 다음과 같다.
MObject obj = getMObject("minh");//Obtain the MObject
Hashtable groupValues = new Hashtable();
groupValues.put("Name", "staff");
String command = UserScripts.addGroup.expand(obj, groupValue);
RunTime.exec(command)
전술한 예는 addGroup 스크립트가 어떻게 호출되어 'obj'로 표시된 사용자 'minh'를 'staff'이라 명명된 그룹에 추가하는지 설명하고 있다. 상기 스크립트 addGroup이 실행될 때, 상기 변수 User_Name은 'minh'를 포함하고, 상기 변수 Group_Name은 'staff'을 포함한다.
전술한 도면들 및 도 4를 참조할 때, 흐름도(32)는 객체를 사용하는 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 제공하기 위한 본 발명의 실행의 일례를 설명하고 있다. 상이한 플랫폼에서 스크립트의 매개 변수 확장과 생성 및 실행은 전술한 방법으로 달성된다. 흐름도(32)의 블럭 34에서, 클라이언트 시스템(10)은 GUI 애플리케이션(16)이 서버 시스템(12)에서 클라이언트 시스템(10)으로 사용자 객체(15)를 표시하는 곳이다. 클라이언트 시스템(10)에서 GUI 애플리케이션(16)은 서버 시스템(12)에서 리소스를 관리하는 방법을 제공하고 있다. 예컨대, AIX 시스템에서 시스템 관리자 애플리케이션에 기초한 웹이 사용될 수 있다. GUI 애플리케이션(16)은 서버 시스템(12)의 사용자 객체(15)의 집합체를 클라이언트 시스템(10)에 표시한다. 시스템 관리자(2)는 선택 사용자 객체(15)에서 수행될 오퍼레이션(즉, 사용자 삭제하기, 패스워드 변경하기 등)을 선택한다. 흐름도(32)는 블럭 36으로 이동한다. 블럭 36에서, 선택된 오퍼레이션을 위해 선택된 사용자 객체(즉, 사용자명) 및 선택된 요구는 클라이언트 시스템(10)의 GUI에서 서버 시스템(12)으로 [서버 시스템(12)에서 ORB(6)를 통하여] 전송된다. 각 서버 시스템(12)은 본 발명이 복수개의 오퍼레이팅 시스템(즉, 복합 환경)을 지원하기 때문에, 도 4에 도시한 바와 같이 블럭 38에 있는 NT 서버 시스템 또는 UNIX 서버 시스템(40)이거나 오퍼레이팅 시스템의 또 다른 형태인지에 따라 각각 사용자 객체(15)를 갖는다. 서버 시스템(12)은 선택 오퍼레이션을 위해 선택 사용자 객체(15) (즉, 사용자명) 및 요구를 수신한다(도 2 참조). 각각의 선택 사용자 객체(15)는 ECommand(21)를 호출하여 스탠자(28)(예컨대, 삭제, 패스워드 변경 등과 같은 선택된 오퍼레이션)를 명명하기 위한 스크립트를 생성하고 확장한다.
ECommand(21)는 선택 사용자 객체(15)의 속성[즉, 사용자 A 또는 사용자 B를 위한 속성으로 이들 중 하나에 기초하여 클라이언트 서버(10)에서 선택되고 패스됨]과 값 정의 테이블[예컨대, 도 6에 도시한 테이블 또는 해시 테이블(50)]에서 스크립트에 대한 인자, 플래그 또는 값을 획득한다. ECommand(21)는 기본적으로 스크립트 생성 알고리즘을 포함하며, 이에 따라 ECommand(21)가 자동적으로 스크립트를 생성하도록 확장한다. ECommand(21)는 프리픽스 명이 갖는 다양한 값을 통지한다(즉, 프리픽스 명을 갖는 "User" 및 "Action"의 값은 후술한다). 본 발명에서는, 프리픽스 명을 표시하거나 관련되는 객체를 스크립트 생성 ECommand(21)로 패스할 수 있다. ECommand(21)는 적합한 값, 인자 또는 플래그로 회수할 수 있다(즉, 후술하는 "Name"의 프리픽스값, 프리픽스 "User"를 위한 삭제의 프리픽스값 및 프리픽스 "Action"을 위한 프리픽스값 "Name"). 상기 값, 인자 또는 플래그를 각각 동적 치환하여 ECommand(21)에 의해 프리픽스값[즉, 프리픽스 명과 관련된 변수]에 실제 값을 제공한다. 값 정의 테이블(50)은 스크립트에 요구된 부가 정보를 갖고, 선택 오퍼레이션을 위해 어떤 필요 정보를 패스한다. 블럭 38은 일반 스크립트가 ECommand(21)에서 DOS 배치 파일을 갖는 NT 서버에 의해 생성되어 사용될 수 있음을 보여주고, 블럭 40은 일반 스크립트가 관리 객체 클래스[예컨대, 사용자 객체 클래스(15A)]와 ECommand(21)가 설치되어 상주하고 있는 UNIX 서버에 의해 생성되고 사용될 수 있음을 보여주고 있다. 상기 UNIX 서버는 매개 변수 치환 후 실행을 위해 ECommand(21)로 스크립트를 동적 확장한다.
따라서, ECommand(21)는 쉘 스크립트 및 프리픽스 명과 관련성 있는 프리픽스값 리스트로 설정되고 설치된다. ECommand(21)는 스크립트를 평가하여 객체 값이 표시된 프리픽스값을 필요로 하는지를 결정한다. ECommand(21)는 프리픽스 명이 갖는 여러 가지 값을 통지하고, 클라이언트 시스템(10)에서 프리픽스 명을 표시하는 객체 설정을 패스하고, 쉘 스크립트를 필요로 하는 프리픽스값은 객체에서 회수된다. 따라서, 프리픽스 명이 갖는 값을 스크립트 생성 ECommand(21)로 통지하고 표시함으로써, 프리픽스 명을 표시하는 객체 세트는 ECommand(21)로 간단히 패스할 수 있고, ECommand(21)는 필요한 프리픽스 값을 위해 적절한 값을 객체에서 회수한다.
도 5a 내지 도 5c에 도시한 각종 포맷들은 ECommand(21)의 구축 프로세스(build process)를 설명하고 있다. ECommand(21)가 형성된 후에, 상기 ECommand(21)는 서버 시스템(12)에 설치된다(예컨대, 구축 및 설치 프로세스는 소프트 개발업자 등에 의해 일반적으로 행해진다). 도 5a는 서버 시스템(12)에 설치된 ECommand(21)를 개발하는데 사용된 원본 스크립트 생성 커맨드(".cmd") 파일(80)의 샘플 코드를 도시하고 있다. 예컨대, 소프트웨어 개발업자 등은 일반적으로 도 5a에 도시한 바와 같이 "UserScript.cmd"로서 명명된 코드를 포함하는 파일(80)을 개발한다. 소트트웨어 구축 툴은 UserScript.cmd 파일을 판독하고, UserScript.java 파일을 생성한다(도 5c 참조). 도 5c는 도 5a의 원본 커맨드 파일(80)로부터 생성된 JAVA 커맨드 파일(94)의 일례를 보여주고 있다. 원본 커맨드 파일(80)은 각종 소프트웨어 툴을 사용하여 도 5c의 JAVA 커맨드 파일(94)로 변환된다. 도 5c의 생성된 JAVA 파일(94)은 컴파일러로 컴파일되어 서버 시스템(12)에 상주하고 있는 ECommand 클래스(21)를 생성한다. JAVA 파일(94)은 각각의 프리픽스 명(84A 및 84B)(즉, "User" 및 "Action") 및 각각의 프리픽스 값[85, 86 (즉, "User"에 대한 "Name" 및 "삭제가능성(Deleteable)" 및 87 (즉, "Action"에 대한 "Name")]을 도시하고 있다.
관리 객체("MObject") 식별자(83) 및 해시 테이블(hash table) 식별자(85)는 데이타 회수 식별자인데, 이 식별자는 프리픽스 명(84)에 대한 데이타를 획득하거나 회수하는 방법으로 식별한다. 도 5a에 도시한 프리픽스 명(84)은 프리픽스 "User"(84A) 및 프리픽스 "Action"(84B)이다. 프리픽스값(85 및 86), "Name" 및 "Deleteable"은 프리픽스 "User"(84A)에 대한 것이고, 프리픽스값(85), "Name"은 프리픽스 "Action"(84B)에 대한 것이다. ECommand(21)는 스크립트를 평가하여 선택 관리 객체(15)를 위한 프리픽스값을 다양하게 표시하기 위해 필요로 하는 값을 결정한다[즉, 사용자 A 또는 사용자 B, 또는 모두가 시스템 관리자(2)에 의해 선택된다]. User(84A) 및 Action(84B)은 프리픽스 명(84)으로서 ECommand(21)로 식별된다. 상기 쉘 스크립트가 필요한 프리픽스 명(84A 및 84B)을 위해 프리픽스값(85, 86 및 87)은 선택 관리 객체(15)에서 회수된다.
또한, 원본 커맨드 파일(80)은 대표적인 방법 또는 스탠자(28A)를 갖고 있고, 태그명 식별자를 갖는 스탠자는 UserScript.cmd가 JAVA 파일, UserScript.java 또는 다른 컴퓨터 언어 프로그램 파일로 변환하도록 허용한다. 상기 스탠자(28A) 또는 매소드는 실제 스크립트(81)를 포함하고 있다. 각각의 실제 스크립트(81)를 갖는 다른 스탠자 또는 매소드(28)(예컨대, 도 5b의 스탠자 28B 내지 28D)는 선택 관리 객체(15)에서 수행될 각각의 다른 오퍼레이션을 위해 정의될 수 있다. 소프웨어 개발업자 등은 소프트웨어 구축 툴을 사용하여 상기 코드를 포함하는 도 5a에서의 원본 커맨드 파일(80)을 JAVA 또는 다른 언어 프로그램 파일(94)(즉, 도 5c에 도시한 UserScript.java 또는 Script.otherlanguage)로 변환하는 구축 프로세스를 수행한다. JAVA 또는 다른 언어 프로그램 파일(94)은 각각의 컴파일러에 의해 컴파일되어 ECommand(21)를 생성된 다음, 서버 시스템(12)에 설치된다.
도 5b는 서버 시스템(12)에서 관리 객체 클래스(15)의 포맷을 가진 단순화된 JAVA 사용자 객체 클래스(15A)의 일례이다. 사용자 객체 클래스 포맷(15A)은 소프트웨어 개발업자등에 의해 서버 시스템(12)에서 생성되고, 제조되고 설치/기록된다. 도 5b는 사용자 객체(15)가 서버 시스템(12)에서 각각 제공되어 정의되도록 허용하고 있는 JAVA 사용자 객체 클래스(15A)를 도시하고 있다. 사용자 객체 클래스(15A)의 포맷은 각종 사용자 객체을 구현하고 실행하여 시스템 관리자(2)에 의해 선택 오퍼레이션을 수행하는 사용자 객체 및 각종 스탠자 또는 매소드(28A, 28B, 28C 및/또는 28D)을 구성하기 위해 사용자 객체 구성 매소드(90)를 포함하고 있다. 예컨대, 도 5b에 도시하고 있는 스탠자(28A)는 사용자를 삭제하는 매소드이고, 스탠자(28B)는 사용자 삭제하기를 강요하는 매소드이고, 스탠자(28C)는 사용자 객체의 특성값을 획득하는 매소드이고(즉, getPropertyValues 매소드), 스탠자(28D)는 사용자가 삭제가능한지 여부를 결정하는 매소드이다.
도 5b의 객체 클래스(15A)의 일례 또는 선택 관리 객체 또는 사용자 객체(15)[예컨대, 시스템 관리자(2)에 의해 선택된 사용자 A, B 또는 모두를 선택함]는 도 5c의 컴파일 JAVA 커맨드 파일(94)로부터 생성되는 ECommand(21)를 호출한다. ECommand(21)를 호출하여 삭제 스탠자(28A)의 확장을 행하는 경우, ECommand(21)는 "특성값 얻기" 매소드를 호출하여 "User"(84A)를 위한 "Name"(85)을 위해 값을 획득한다. "Action"(84B)을 위한 "Name"(87)을 위해 값은 값 정의 테이블[예컨대, 도 6의 해시 테이블(50)]에서 획득된다. 본 발명의 일례는 2 개 인자만을 갖는 스크립트를 도시하고 있다. 스크립트가 복수개의 인자를 요구할 때, ECommand(21)에 의한 스크립트의 생성은 인자들을 꽤 성가시고, 에러를 발생하기 쉬운 JAVA 코드[예컨대, UserObject(44)]를 핸드-코드(hand-code)해서 회피하거나 제거하고 있다.
도 5d는 ECommand(21)에 의해 확장되고 생성된 값/매개 변수를 갖는 스크립트(96)를 도시하고 있다. 스크립트(96)는 "Action"(84B)(즉, Action_Name)을 위한 "Name"(87)이 "강제 삭제(Force Delete)"되는 것을 정의하고, "User"(84A)(즉, User_Name)를 위한 "Name"(85)이 "루트" 또는 "더미유저(DummyUser)"로 되는 것을 정의하고, "User"(84A)(즉, User_Deletable)를 위한 "삭제가능성(Deleteable)"(86)이 "거짓(false)"이 되는 것으로 정의된다. 또한, 스크립트(96)는 약간의 디버깅 정보(89)를 포함하고 있다.
도 6은 본 발명의 값 정의 테이블(50)(예컨대, JAVA에서 해시 테이블)의 일례를 도시하고 있는 블럭도이다. 이 테이블(50)은 컬럼(51)으로 리스트된 각종 오퍼레이션 또는 변수, 예컨대 FORCE Action(52), 변수 V(56) 및 변수 F(60)를 갖고 있다. 컬럼(53)은 컬럼(51)에 있는 오퍼레이션 또는 변수를 위해 정의된 값을 포함하고 있다. 예컨대, Boolean 값, 예컨대 참 또는 거짓은 FORCE Action(51)을 위해 설정되고 정의된다. "a" 값은 변수 "V"를 위해 할당되고 정의되며, "z" 값은 변수 "F"를 위해 할당되고 정의된다.
전술한 도면 및 도 7은 [서버 시스템(12)에서] 본 발명을 위한 확장값 및 매개 변수를 갖는 스크립트를 생성하도록 ECommand(21)를 실행하기 위한 매소드 98을 설명하는 흐름도이다. 방법 98은 블럭 100에서 개시한다. 방법 98은 블럭 102로 이동하고, 이 방법으로 전달된 인자를 어레이에 저장한다. 방법 98은 판정 블럭 104로 이동한다. 판정 블럭 104에서, 방법 98은 스크립트 생성 커맨드 또는 ECommand(21)가 확장을 필요로 하는 프리픽스 명 및 프리픽스값을 갖고 있는지 여부를 결정한다. 방법 98이 프리픽스 명 및 프리픽스값을 갖는 경우, 방법 98은 블럭 106으로 이동한다.
블럭 106에서는, 리스트의 각 프리픽스 명을 위한 인덱스를 획득한다. 상기 방법은 블럭 108로 이동한다. 블럭 108에서는, 프리픽스 명 리스트 및 객체 인자 리스트간에 일 대 일 대응을 제공하기 때문에, 인덱스를 사용하여 객체 인자를 획득한다. 방법 98은 판정 블럭 110으로 이동한다. 판정 블럭 110에서, 방법 98은 객체가 관리 객체("MObject")인지 여부를 판정한다. 객체가 관리 객체("MObject")인 경우, 방법 98은 호출될 때 특성 테이블[예컨대, 도 6의 테이블(50)]을 얻도록 특성값(즉, getPropertyValues)을 획득하기 위한 방법인, 블럭 112로 이동한다. 이어서, 방법 98은 블럭 114로 이동한다. 객체가 관리 객체("MOject")가 아닌 경우, 방법 98은 블럭 114로 동적 이동한다. 블럭 114에서는, 테이블(50)에서 값을 획득하고, 매개 변수 치환을 수행한다. 이어서, 방법 98은 블럭 116으로 동적 이동한다. 판정 블럭(104)에서, ECommand(21)가 확장하도록 프리픽스 명 및 프리픽스값을 갖지 않을 경우, 방법 98은 판정 블럭 116으로 이동한다. 판정 블럭 116에서, 회귀된 스크립트는 ECommand(21)로 저장된다. 방법 98은 블럭 118에서 종료한다.
본 발명은 바람직한 실시예를 기준으로 기재하고 설명하였지만, 본 발명의 기술 분야에 속한 당업자는 본 발명의 정신 및 범위를 벗어나지 않고 그 자체에서 만들어지는 다양한 변형과 구체예를 잘 이해할 수 있다. 예컨대, 본 발명의 기술 분야가 본 발명의 기능을 지시하는 소프트웨어를 실행하는 컴퓨터 시스템에 관한 것을 기재하고 있더라도, 데이타 처리 시스템을 사용하는 프로그램 제품을 구현할 수 있다. 본 발명의 기능을 정의하는 프로그램은 다양한 신호 내장 매체를 통해 데이타 처리 시스템에 전달될 수 있고, 상기 내장 매체는 재기록 불가능한 기억 매체(예컨대, CD-ROM), 재기록 가능한 기억 매체(예컨대, 플로피 디스크 또는 하드 디스크 드라이브) 및 통신 매체, 예컨대 디지탈 아날로그 네트워크를 제한 없이 포함할 수 있다. 그러므로, 신호 내장 매체가 본 발명의 기능을 지시하는 컴퓨터 판독가능한 명령어를 전달하거나 인코드할 때, 본 발명의 또 다른 실시예를 나타낼 수 있다는 것을 잘 이해할 수 있다.
본 발명은 상이한 플랫폼하에서 운영되는 시스템의 집합체를 포함하는 네트워크 환경 내의 각종 스크립트 언어로 스크립트를 쉽고 유연성 있게 관리하고 실행하도록하는 효과를 가진다.

Claims (20)

  1. 네트워크 환경에서 특정 플랫폼을 위한 스크립트-생성 커맨드(script-generating command file) 파일을 구축하기 위한 방법으로서,
    상기 스크립트-생성 커맨드 파일은, 오퍼레이션을 식별하는 오퍼레이션 식별자(operation identifier)와; 복수의 플랫폼-특정 스크립트 - 이 플랫폼-특정 스크립트 각각은 상기 오퍼레이션을 수행하는 상이한 소프트웨어 플랫폼에 의해 실행되는 것임 - ; 상기 복수의 플랫폼-특정 스크립트 모두에 해당되는 프리픽스 명(prefix name) 및 관련 프리픽스 값(prefix value)의 리스트를 포함하는 것인, 스크립트-생성 커맨드 파일을 작성하는 단계와;
    상기 스크립트-생성 커맨드 파일을 프로그램 언어 스크립트-생성 커맨드 파일로 변환하는 단계와;
    플랫폼-특정 스크립트-생성 커맨드 파일을 획득하기 위해, 상기 프로그램 언어 스크립트-생성 커맨드 파일을 컴파일하는 단계를;
    포함하는 스크립트-생성 커맨드 파일 구축 방법.
  2. 제1항에 있어서, 상기 스크립트-생성 커맨드 파일을 작성하는 단계는, 상기 오퍼레이션이 스크립트-생성 커맨드 파일 내에서 스탠자 명(stanza name)에 의해 식별되는 것인 스크립트-생성 커맨드 파일을 작성하는 단계를 더 포함하는 것인 스크립트-생성 커맨드 파일 구축 방법.
  3. 제1항에 있어서, 상기 스크립트-생성 커맨드 파일을 변환하는 단계는, 상기 스크립트-생성 커맨드 파일을 자바 스크립트-생성 커맨드 파일로 변환하는 단계를 포함하는 것인 스크립트-생성 커맨드 파일 구축 방법.
  4. 제1항에 있어서, 상기 플랫폼-특정 스크립트-생성 커맨드 파일을, 상기 네트워크 환경 내의 호환가능 플랫폼을 구동하는 서버 시스템 상에 설치하는 단계를 더 포함하는 스크립트-생성 커맨드 파일 구축 방법.
  5. 제4항에 있어서,
    상기 네트워크 환경 내의 클라이언트 시스템에 의한 요구(request)에 응답하는 상기 플랫폼-특정 스크립트-생성 커맨드 파일의 호출(invocation) - 이 호출은 수행되는 객체와 목표 오퍼레이션을 조회하는 것임 - 의 상기 서버 시스템에서의 수신에 응답하여 :
    상기 프리픽스 명들에 의해 식별되는 데이터 소스로부터, 상기 프리픽스 값에 대한 값을 자동적으로 획득하고, 상기 플랫폼-특정 스크립트-생성 커맨드 파일 내에서 플랫폼-특정 스크립트로 획득된 값을 삽입함으로써, 매개 변수 확장을 수행하는 단계와;
    상기 플랫폼-특정 스크립트를 상기 서버에 저장하는 단계를;
    더 포함하는 스크립트-생성 커맨드 파일 구축 방법.
  6. 클라이언트 시스템과, 통신 네트워크에 의한 통신을 위해 결합한 서버 시스템을 포함하는 네트워크 환경 내의 스크립트를 생성하기 위한 방법으로서,
    스크립트-생성 커맨드가 (1) 스크립트와; (2) 프리픽스 명 및 상기 스크립트에 대한 관련 프리픽스 값의 리스트를; 포함하는 것인, 상기 서버 시스템에 상기 스크립트-생성 커맨드를 저장하는 단계와;
    상기 클라이언트에 의한 요구에 응답한 상기 스크립트-생성 커맨드의 호출 - 이 호출은 수행되는 객체와 목표 오퍼레이션을 조회하는 것임 - 의 수신에 응답하여,
    상기 프리픽스 명들에 의해 식별되는 데이터 소스로부터, 상기 프리픽스 값에 대한 값을 자동적으로 획득하고, 상기 플랫폼-특정 스크립트-생성 커맨드 파일 내에서 플랫폼-특정 스크립트로 획득된 값을 삽입함으로써, 매개 변수 확장을 수행하는 단계와;
    상기 스크립트를 상기 서버에 저장하는 단계를;
    포함하는 스크립트 생성 방법.
  7. 제6항에 있어서, 상기 프리픽스 명들 중의 하나는 테이블을 데이터 소스로써 식별하는 것이고, 상기 매개 변수 확장을 수행하는 단계는 상기 테이블로부터 프리픽스 값에 대한 적어도 하나의 값을 회수하는 단계를 포함하는 스크립트 생성 방법.
  8. 네트워크 환경에서 특정 플랫폼을 위한 스크립트-생성 커맨드 파일을 구축하기 위한 데이터 프로세싱 시스템으로서,
    상기 스크립트-생성 커맨드 파일은, 오퍼레이션을 식별하는 오퍼레이션 식별자와; 복수의 플랫폼-특정 스크립트 - 이 플랫폼-특정 스크립트 각각은 상기 오퍼레이션을 수행하는 상이한 소프트웨어 플랫폼에 의해 실행되는 것임 - 와 ; 상기 복수의 플랫폼-특정 스크립트 모두에 해당되는 프리픽스 명 및 관련 프리픽스 값의 리스트를 포함하는 것인 스크립트-생성 커맨드 파일을 작성하는 수단과;
    상기 스크립트-생성 커맨드 파일을 프로그램 언어 스크립트-생성 커맨드 파일로 변환하는 수단과;
    플랫폼-특정 스크립트-생성 커맨드 파일을 획득하기 위해, 상기 프로그램 언어 스크립트-생성 커맨드 파일을 컴파일하는 수단을;
    포함하는 스크립트-생성 커맨드 파일 구축하기 위한 데이터 프로세싱 시스템.
  9. 제8항에 있어서, 상기 스크립트-생성 커맨드 파일을 작성하는 수단은, 상기 오퍼레이션이 스크립트-생성 커맨드 파일 내에서 스탠자 명에 의해 식별되는 것인 스크립트-생성 커맨드 파일을 생성하는 수단을 더 포함하는 것인 데이터 프로세싱 시스템.
  10. 제8항에 있어서, 상기 스크립트-생성 커맨드 파일을 변환하는 수단은, 상기 스크립트-생성 커맨드 파일을 자바 스크립트-생성 커맨드 파일로 변환하는 수단을 포함하는 것인 데이터 프로세싱 시스템.
  11. 제8항에 있어서, 상기 플랫폼-특정 스크립트-생성 커맨드 파일을, 상기 네트워크 환경 내의 호환가능 플랫폼을 구동하는 서버 시스템 상에 설치하는 수단을 더 포함하는 데이터 프로세싱 시스템.
  12. 클라이언트 시스템과 통신 네트워크에 의한 통신을 위해 결합한 서버 시스템을 포함하는 네트워크 환경 내의 스크립트를 생성하기 위한 서버 데이터 프로세싱 시스템으로서,
    프로세서와;
    상기 클라이언트 시스템과 통신하기 위한 통신 인터페이스와;
    상기 프로세서에 결합하는 데이터 저장 장치를 포함하고,
    상기 데이터 저장 장치는 하나의 객체와 하나의 스크립트-생성 커맨드를 저장하는 것이고,
    상기 스크립트-생성 커맨드는,
    스크립트와;
    프리픽스 명 및 상기 스크립트에 대한 관련 프리픽스 값의 리스트와;
    상기 통신 인터페이스를 통해 수신된 상기 클라이언트에 의한 요구에 응답한 상기 스크립트-생성 커맨드의 호출 - 이 호출은 수행되는 객체와 목표 오퍼레이션을 조회하는 것임 - 의 수신에 응답하여, 상기 프리픽스 명들에 의해 식별되는 데이터 소스로부터, 상기 프리픽스 값에 대한 값을 자동적으로 획득하고, 상기 플랫폼-특정 스크립트-생성 커맨드 파일 내에서 플랫폼-특정 스크립트로 획득된 값을 삽입함으로써, 매개 변수 확장을 수행하고; 상기 플랫폼-특정 스크립트를 상기 서버에 저장하는 수단을;
    포함하는 것인
    서버 데이터 프로세싱 시스템.
  13. 제12항에 있어서, 상기 데이터 저장 장치는 하나의 테이블을 포함하는 것이고, 상기 프리픽스 명 중 하나는 상기 테이블을 하나의 데이터 소스로서 식별하는 것이고, 매개 변수 확장을 수행하는 상기 수단은 상기 테이블로부터 프리픽스 값에 대한 적어도 하나의 값을 회수하는 수단을 포함하는 것인 서버 데이터 프로세싱 시스템.
  14. 제12항에 있어서, 상기 프리픽스 명 중의 하나는 상기 객체를 데이터 소스로써 식별하는 것이고, 상기 객체는 하나의 매소드를 포함하는 것이고, 상기 매개 변수 확장을 수행하는 단계는, 상기 객체의 매소드를 호출함으로써, 프리픽스 값에 대한 적어도 하나의 값을 회수하는 수단을 포함하는 것인 서버 데이터 프로세싱 시스템.
  15. 삭제
  16. 제6항에 있어서, 상기 프리픽스 명 중의 하나는 상기 객체를 데이터 소스로써 식별하는 것이고, 상기 객체는 하나의 매소드를 포함하는 것이고, 상기 매개 변수 확장을 수행하는 단계는, 상기 객체의 매소드를 호출함으로써, 프리픽스 값에 대한 적어도 하나의 값을 회수하는 단계를 포함하는 스크립트 생성 방법.
  17. 제6항에 있어서, 상기 스크립트-생성 커맨드의 상기 호출을 상기 객체로부터 수신하는 단계를 더 포함하고, 상기 객체는 상기 서버 시스템에 상주하는 것인 스크립트 생성 방법.
  18. 제9항에 있어서, 상기 클라이언트 시스템에서, 상기 서버 시스템에 상주하는 상기 객체의 객체 표시를 제공하는 단계와;
    상기 객체 표시의 사용자 선택에 응답하여, 상기 서버 시스템에 상주하는 상기 객체가 상기 스크립트-생성 커맨드를 호출하도록 상기 클라이언트 시스템으로부터의 상기 요구를 상기 서버 시스템에 전송하는 단계를;
    더 포함하는 스크립트 생성 방법.
  19. 제15항에 있어서, 상기 호출은 상기 객체로부터 상기 스크립트-생성 커맨드에 의해 수신되는 것이고, 상기 객체는 상기 클라이언트 시스템으로부터의 요구의 수신에 응답하여, 상기 스크립트-생성 커맨드를 호출하는 수단을 포함하는 것인 서버 데이터 프로세싱 시스템.
  20. 제1항 내지 제7항, 제16항 내지 제18항 중 어느 한 항에 따른 방법을 컴퓨터에서 구현 가능한 프로그램을 포함한 컴퓨터 판독 가능 기록 매체.
KR10-2001-0023369A 2000-05-22 2001-04-30 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품 KR100459300B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/575,773 2000-05-22
US09/575,773 US6681386B1 (en) 2000-05-22 2000-05-22 Method, system, and program for parameter expansion, generation, and execution of scripts in a networked environment

Publications (2)

Publication Number Publication Date
KR20010107558A KR20010107558A (ko) 2001-12-07
KR100459300B1 true KR100459300B1 (ko) 2004-12-03

Family

ID=24301642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0023369A KR100459300B1 (ko) 2000-05-22 2001-04-30 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품

Country Status (4)

Country Link
US (1) US6681386B1 (ko)
JP (1) JP2002024030A (ko)
KR (1) KR100459300B1 (ko)
TW (1) TW533377B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330559B1 (ko) 2007-01-26 2013-11-18 에스케이커뮤니케이션즈 주식회사 자바스크립트기반 웹-클라이언트 어플리케이션 프레임워크 장치와 상기 프레임워크 장치를 이용한 웹 컨텐츠 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934206B2 (en) * 2000-02-11 2011-04-26 Convergent Networks, Inc. Service level executable environment for integrated PSTN and IP networks and call processing language therefor
US7530076B2 (en) * 2001-03-23 2009-05-05 S2 Technologies, Inc. Dynamic interception of calls by a target device
WO2002077813A2 (en) * 2001-03-23 2002-10-03 S2 Technologies, Inc. Development and testing system and method
US7272722B2 (en) * 2001-11-23 2007-09-18 International Business Machines Corporation Method for industrially changing the passwords of AIX/UNIX users
US6973655B2 (en) * 2001-12-18 2005-12-06 Xerox Corporation System and method of integrating software components
US7000221B2 (en) * 2002-07-31 2006-02-14 International Business Machines Corporation Script evaluator
CN1567222A (zh) * 2003-07-09 2005-01-19 松下电器产业株式会社 程序生成装置
CN1567223A (zh) * 2003-07-09 2005-01-19 松下电器产业株式会社 程序生成装置、方法及程序
US7987455B1 (en) * 2003-07-23 2011-07-26 International Business Machines Corporation System and method of command processing
CN1864132A (zh) * 2003-08-20 2006-11-15 日本烟草产业株式会社 程序生成***、程序生成程序和程序生成模块
US7685230B2 (en) * 2004-04-01 2010-03-23 Vaakya Technologies Private Limited System and method for program execution
US7703005B2 (en) * 2004-05-21 2010-04-20 Bea Systems, Inc. Method to generate scripts from XML
US20050278709A1 (en) * 2004-06-15 2005-12-15 Manjula Sridhar Resource definition language for network management application development
US20050278361A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G View definition language for network management application development
US20060036721A1 (en) * 2004-06-15 2006-02-16 Dong Zhao Run-time tool for network management application
US20060070082A1 (en) * 2004-06-15 2006-03-30 Manjula Sridhar Managed object framework for network management application development
US20050278708A1 (en) * 2004-06-15 2005-12-15 Dong Zhao Event management framework for network management application development
US20050278693A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G Distribution adaptor for network management application development
US7555743B2 (en) * 2004-06-15 2009-06-30 Alcatel-Lucent Usa Inc. SNMP agent code generation and SNMP agent framework for network management application development
US20060004856A1 (en) * 2004-06-15 2006-01-05 Xiangyang Shen Data management and persistence frameworks for network management application development
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7433998B2 (en) * 2005-01-14 2008-10-07 Dell Products L.P. System and method for implementing self-describing RAID configurations
JP4984409B2 (ja) * 2005-03-17 2012-07-25 富士通株式会社 スクリプト生成プログラムおよびバッチ実行システム
US20060230399A1 (en) * 2005-04-12 2006-10-12 International Business Machines Corporation Remote scriptlet execution
US7822615B2 (en) * 2005-06-27 2010-10-26 Ab Initio Technology Llc Translating expressions in a computing environment
AU2013203830B2 (en) * 2005-06-27 2014-05-01 Ab Initio Technology Llc Translating expressions in a computing environment
US7567257B2 (en) * 2005-12-16 2009-07-28 Microsoft Corporation Partition-based undo of partitioned object graph
US20070174823A1 (en) * 2006-01-25 2007-07-26 Microsoft Corporation Compile-time interpretable code error detection
US7818726B2 (en) * 2006-01-25 2010-10-19 Microsoft Corporation Script-based object adaptation
US20070240040A1 (en) * 2006-04-05 2007-10-11 Christopher Peters Non-compiled portable algorithm
US8364653B2 (en) * 2006-04-05 2013-01-29 Sap Ag Triggering server state changes with references
US7933205B1 (en) 2006-05-01 2011-04-26 At&T Mobility Ii Llc Generalized interconnection apparatus for delivering services based on real time performance requirements
US8923853B1 (en) 2006-05-04 2014-12-30 At&T Mobility Ii Llc Dynamic provisioning system for policy-based traffic navigation for roaming traffic
GB2443264A (en) * 2006-10-27 2008-04-30 Ntnu Technology Transfer As Integrity checking method for a device in a computer network, which controls access to data; e.g. to prevent cheating in online game
US7971200B2 (en) * 2007-02-06 2011-06-28 International Business Machines Corporation Transparent recovery of self-sustained code-upgrade
US8799856B2 (en) * 2007-06-12 2014-08-05 International Business Machines Corporation System and method for automatically declaring variables
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8429649B1 (en) * 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US20110145786A1 (en) * 2009-12-15 2011-06-16 Microsoft Corporation Remote commands in a shell environment
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
KR101016444B1 (ko) * 2010-09-16 2011-02-18 에스케이네트웍스서비스 주식회사 텔넷 프로토콜을 이용한 네트워크 관리 시스템
US9262133B2 (en) * 2012-01-27 2016-02-16 Amx Llc Mapping and formatting input commands to a third party protocol
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US11074071B1 (en) 2020-01-13 2021-07-27 International Business Machines Corporation Emulation of an environment set by a sourced script written in a different scripting language

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729096A (en) * 1984-10-24 1988-03-01 International Business Machines Corporation Method and apparatus for generating a translator program for a compiler/interpreter and for testing the resulting translator program
JPH04276823A (ja) * 1991-03-04 1992-10-01 Nippon Telegr & Teleph Corp <Ntt> 改版オペレーティングシステムへのアプリケーションプログラム移行保証方式
KR970066941A (ko) * 1996-03-20 1997-10-13 양승택 토큰 분리기를 이용한 다국어 번역 시스템
KR19980063574A (ko) * 1996-12-13 1998-10-07 니시무로타이조 쌍방향 텔레비전 방송 시스템 및 그 시스템에 적용되는 화일액세스 방법
KR19990072721A (ko) * 1998-02-16 1999-09-27 가네코 히사시 프로그램변환방법및프로그램변환시스템
KR20010091616A (ko) * 2000-03-16 2001-10-23 김영렬 웹 필터링을 이용한 웹 어플리케이션의 제작방법.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08171482A (ja) * 1994-10-29 1996-07-02 Mitsubishi Electric Corp プログラムのバージョン生成方式
EP0752645B1 (en) * 1995-07-07 2017-11-22 Oracle America, Inc. Tunable software control of Harvard architecture cache memories using prefetch instructions
US5920900A (en) * 1996-12-30 1999-07-06 Cabletron Systems, Inc. Hash-based translation method and apparatus with multiple level collision resolution
US6286033B1 (en) * 2000-04-28 2001-09-04 Genesys Telecommunications Laboratories, Inc. Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US6157461A (en) * 1997-10-27 2000-12-05 Hewlett-Packard Company Method of generating randomized masks to improve image quality on a printing medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729096A (en) * 1984-10-24 1988-03-01 International Business Machines Corporation Method and apparatus for generating a translator program for a compiler/interpreter and for testing the resulting translator program
JPH04276823A (ja) * 1991-03-04 1992-10-01 Nippon Telegr & Teleph Corp <Ntt> 改版オペレーティングシステムへのアプリケーションプログラム移行保証方式
KR970066941A (ko) * 1996-03-20 1997-10-13 양승택 토큰 분리기를 이용한 다국어 번역 시스템
KR19980063574A (ko) * 1996-12-13 1998-10-07 니시무로타이조 쌍방향 텔레비전 방송 시스템 및 그 시스템에 적용되는 화일액세스 방법
KR19990072721A (ko) * 1998-02-16 1999-09-27 가네코 히사시 프로그램변환방법및프로그램변환시스템
KR20010091616A (ko) * 2000-03-16 2001-10-23 김영렬 웹 필터링을 이용한 웹 어플리케이션의 제작방법.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330559B1 (ko) 2007-01-26 2013-11-18 에스케이커뮤니케이션즈 주식회사 자바스크립트기반 웹-클라이언트 어플리케이션 프레임워크 장치와 상기 프레임워크 장치를 이용한 웹 컨텐츠 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체

Also Published As

Publication number Publication date
JP2002024030A (ja) 2002-01-25
KR20010107558A (ko) 2001-12-07
TW533377B (en) 2003-05-21
US6681386B1 (en) 2004-01-20

Similar Documents

Publication Publication Date Title
KR100459300B1 (ko) 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품
US7240323B1 (en) Plug and play interface for user actions
US6944846B2 (en) Algorithm for localization of a JAVA application using reflection API and a custom class loader
US6173289B1 (en) Apparatus and method for performing actions on object-oriented software objects in a directory services system
KR101213843B1 (ko) 원활한 객체 비교 시스템 및 방법
US7681119B2 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
JP4603106B2 (ja) オブジェクトの遠隔的ブラウズ方法及びシステム
US8838653B2 (en) Translating an object-oriented data model to a YANG data model
US7152229B2 (en) Workflow code generator
US5893106A (en) Object oriented server process framework with interdependent-object creation
JP5346154B2 (ja) リモート境界を横切ってコンピュータ読取り可能オブジェクトを転送するためのシステムおよび方法
US7484202B2 (en) Method, system and program product for retrofitting collaborative components into existing software applications
JPH10111802A (ja) 分散オブジェクトシステムの応用分野におけるコード生成器
JP2002518732A (ja) パラメータなし既存ライブラリ互換パラメータ付き型実装方法
JP4023803B2 (ja) ウェブアプリケーション開発支援装置、データ処理方法及びプログラム
US5797007A (en) Persistent object storage system with default object encoder/decoder
JPH0635709A (ja) オブジェクトクラス規定装置、ウィジェット及びその実現方法
US6757895B1 (en) Method and apparatus to selectively define java virtual machine initialization properties using a browser graphical user interface
US7665062B1 (en) System and methodology for design-time dynamic class type construction
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
US6556220B1 (en) Method and system to display, modify or substitute the contents of self-describing objects
US20030160810A1 (en) Methods and systems for internationalizing messages using parameters
US8745575B2 (en) Pattern based adminstration of an operation in a component based computing solution
US7698642B1 (en) Method and apparatus for generating prompts
US6904516B2 (en) Mechanism for enabling efficient execution of an instruction

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee