KR101341598B1 - 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 - Google Patents

네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101341598B1
KR101341598B1 KR1020130055658A KR20130055658A KR101341598B1 KR 101341598 B1 KR101341598 B1 KR 101341598B1 KR 1020130055658 A KR1020130055658 A KR 1020130055658A KR 20130055658 A KR20130055658 A KR 20130055658A KR 101341598 B1 KR101341598 B1 KR 101341598B1
Authority
KR
South Korea
Prior art keywords
screen
sap
xml
diag
field
Prior art date
Application number
KR1020130055658A
Other languages
English (en)
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 KR1020130055658A priority Critical patent/KR101341598B1/ko
Application granted granted Critical
Publication of KR101341598B1 publication Critical patent/KR101341598B1/ko

Links

Images

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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Abstract

본 발명은 SAP GUI 화면 구성 장치 및 방법에 대하여 개시한다. 본 발명의 일면에 따른 화면 구성 장치는, 네트워크상의 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜의 DIAG 데이터 패킷을 수집하는 수집부; 상기 DIAG 데이터 패킷의 페이로드(Payload)에 대한 분석 결과를 토대로 상기 DIAG 데이터 패킷에 대응하는 xml(eXtensible markup language) 코드를 생성하는 분석부; 상기 xml 코드를 이용하여 SAP(System, Application, Products in the data processing) GUI(Graphic User Interface) 응용프로그램의 하나의 SAP GUI 화면을 구성하는 xml 로그를 생성하는 제1 변환부; 상기 xml 로그를 xul(XML User Interface Language) 코드로 변환하는 제2 변환부; 및 상기 xul 코드를 이용하여 상기 하나의 SAP GUI 화면에 대응하는 GUI 화면을 구성하는 출력부를 포함하는 것을 특징으로 한다.

Description

네트워크상에서 패킷 분석을 통해 식별 및 수집된 SAP GUI 통신 데이터를 기반으로 SAP GUI 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법{Apparatus and Method for Reproducing User Input/Ouput Screen on SAP GUI application on the basis of SAP GUI Communcation Data which is distinguished and collected through Packet Analysis on Network}
본 발명은 사용자 화면 구성 장치에 관한 것으로서, 더 구체적으로는 SAP GUI 화면을 구성할 수 있는 SAP GUI 화면 구성 장치 및 방법에 관한 것이다.
일반적으로, SAP는 통합 데이터베이스를 이용해 재고, 구매, 생산, 판매, 인사, 재무나, 관리회계 등의 대외비 기업 경영 자원을 관리하는 전사자원관리(ERP) 시스템 등에 사용된다. 여기서, SAP는 System, Application, Products in the data processing의 머리글자를 따서 만들 솔루션명이자, 해당 솔루션을 제작한 벤더(vendor)명이다.
이 같은, SAP 시스템은 대외비 정보를 보호하기 위해 정보 조회나, 접근에 대한 상시 감사(監査)를 필요로 한다.
이에, SAP 시스템의 송수신 정보에 대한 조회나 접근을 감사하고, 그에 대한 로그(이하, "SAP 로그"라고 함)를 수집 및 저장하는 종래 기술이 개시된 바 있다.
저장된 SAP 로그는 그 자체로서도 정보 유출 등의 사건을 증빙하는 법적 증거 자료가 될 수 있지만, 사용자 GUI를 통해 사건 발생시의 GUI 화면으로 재현될 수 있다면, 그 가치나 활용도가 더욱 높아질 것이다.
이러한 기능을 제공하는, SAP GUI 응용프로그램은 SAP 벤더에서 개발 및 판매되어, 사용되는 프로그램으로서, 입출력 화면 구성 및 출력을 위해 자체 내장된 화면 입출력 컨트롤 라이브러리를 사용한다.
즉, 종래에는 SAP 로그를 기반으로 SAP GUI 화면을 재구성 및 출력하기 위해서 SAP GUI 응용프로그램 API(Application Program Interface) 라이브러리를 사용하여야 하며, 이러한 기능을 제공하는 별도의 응용프로그램을 개발 및 배포하기 위해서는 SAP 벤더의 인증 및 라이브러리 재배포 라이선스 계약 등을 필요로 했다.
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, SAP GUI 응용프로그램과 SAP 서버 간의 송수신 데이터를 이용하여 SAP GUI 화면에 대응하는 GUI 화면을 구성할 수 있는 SAP GUI 화면 구성 장치 및 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일면에 따른 화면 구성 장치는, 네트워크상의 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜의 DIAG 데이터 패킷을 수집하는 수집부; 상기 DIAG 데이터 패킷의 페이로드(Payload)에 대한 분석 결과를 토대로 상기 DIAG 데이터 패킷에 대응하는 xml(eXtensible markup language) 코드를 생성하는 분석부; 상기 xml 코드를 이용하여 SAP(System, Application, Products in the data processing) GUI(Graphic User Interface) 응용프로그램의 하나의 SAP GUI 화면을 구성하는 xml 로그를 생성하는 제1 변환부; 상기 xml 로그를 xul(XML User Interface Language) 코드로 변환하는 제2 변환부; 및 상기 xul 코드를 이용하여 상기 하나의 SAP GUI 화면에 대응하는 GUI 화면을 구성하는 출력부를 포함하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 화면 구성 장치에 의한 화면 구성 방법은, 네트워크상의 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜의 DIAG 데이터 패킷을 수집하는 단계; 상기 DIAG 데이터 패킷에 대한 분석 결과를 토대로 상기 DIAG 데이터 패킷에 대응하는 xml(eXtensible markup language) 코드를 생성하는 단계; 상기 xml 코드를 이용하여 SAP GUI(Service Advertising Protocol Graphic User Interface) 응용프로그램의 하나의 SAP GUI 화면을 구성하는 xml 로그를 생성하는 단계; 상기 xml 로그를 xul(XML User Interface Language) 코드로 변환하는 단계; 및 상기 xul 코드를 이용하여 상기 하나의 SAP GUI 화면에 대응하는 GUI 화면을 구성하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, SAP GUI 응용프로그램과 SAP 서버 간의 송수신 데이터를 이용하여 SAP GUI 응용프로그램의 SAP GUI 화면에 대응하는 GUI 화면을 구성할 수 있다.
도 1은 SAP 시스템의 3 계층 구조를 도시한 도면.
도 2는 SAP GUI 응용프로그램에 의해 표시되는 SAP GUI 화면을 도시한 예시도.
도 3은 DIAG 데이터 패킷의 페이로드를 도시한 도면.
도 4는 DIAG 데이터 패킷의 페이로드 내 각 필드의 헥사 값 코드 매핑 정보.
도 5는 WireShark 툴로 캡처된 DIAG 데이터 패킷을 도시한 도면.
도 6은 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치를 도시한 구성도.
도 7은 본 발명의 실시예에 따른 xml 코드 생성 예를 도시한 도면.
도 8은 본 발명의 실시예에 따른 xml 로그 생성 예를 도시한 도면.
도 9는 본 발명의 실시예에 따른 xul 코드를 도시한 도면.
도 10 내지 12는 본 발명의 실시예에 따른 SAP GUI 화면 구성 예를 도시한 도면.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 구체적인 실시 예를 설명하기에 앞서, SAP 시스템 및 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜에 대해서 설명한다. 여기서, DIAG 프로토콜은 SAP 서버와 SAP 클라이언트 내 SAP GUI 응용프로그램 간의 통신 프로토콜이다.
도 1은 SAP 시스템의 3 계층 구조를 도시한 도면이다.
도 1을 참조하면, 데이터 계층(Data Layer)은 오라클 또는 마이크로소프트 SQL 서버와 같은 관계데이터베이스 시스템을 포함한다. 관계데이터베이스에는 비즈니스 마스터 데이터(Master Data), 트랜잭션 데이터(Transation Data) 및 시스템 데이터(System Data)가 저장되며, 각기 ABAP(Advanced Business Application Programming) 및 자바 영역으로 구분될 수 있다.
응용 계층(Application Layer)은 ABAP 또는 자바(Java)로 작업된 SAP 서버상의 응용프로그램을 실행한다.
표현 계층(Presentation Layer)은 응용 계층의 수행 결과를 표시하며, SAP GUI 또는 HTML 브라우저를 사용하여 구동될 수 있다. 이때, SAP GUI 또는 HTML 브라우저는 SAP 비즈니스 프로세서 플랫폼(Netweaver) 애플리케이션 서버상의 응용프로그램과 작업하는 SAP 클라이언트 상에 설치된 응용프로그램일 수 있다.
다시 말해, 도 1의 3 계층은 SAP GUI 응용프로그램이 설치된 SAP 클라이언트가 SAP 서버를 통해 SAP 서비스를 제공받을 경우에 형성되는 계층이다. 도 1의 3 계층에서, 데이터 계층은 SAP 서버의 데이터베이스이며, 응용 계층은 SAP 서버의 응용 계층이며, 표현 계층은 SAP 클라이언트의 표현 계층이라고 볼 수 있다. 또한, SAP 클라이언트와 SAP 서버 간은 네트워크로 연결되어, DIAG 통신 프로토콜, RFC(Remote Function Call) 프로토콜이나, HTTP 프로토콜을 이용하여 통신한다.
그 중에서, DIAG 통신 프로토콜은 SAP GUI 응용프로그램의 사용자 입출력 화면을 구성하는 데이터와 그 메타데이터를 송수신하기 위한 데이터 구조로 구성된다.
이하, 도 2를 참조하여 SAP 클라이언트에 설치된 SAP GUI 응용프로그램의 사용자 입출력 화면(이하, "SAP GUI 화면"이라고 함)과 DIAG 데이터에 대해서 설명한다. 도 2는 SAP 클라이언트의 SAP GUI 응용프로그램에 의해 표시되는 SAP GUI 화면을 도시한 예시도이다.
도 2에 도시된 바와 같이, SAP GUI 화면은 화면 출력 컨트롤 요소와 그에 입력되는 출력 데이터 및 그외 화면 표시 데이터 등을 포함한다. 여기서, 화면 출력 컨트롤 요소는 텍스트 박스(Text box), 콤보 박스(Combo box), 탭 컨테이너(TAB Container), 테이블(Table), 테이블 내 세로줄(column)이나, 입출력 데이터 필드(input/output Data Field) 등일 수 있다.
따라서, DIAG 데이터 패킷은 - 화면 출력 컨트롤 요소와 그에 대응되는 출력 데이터, 그외 화면 표시 데이터 및 그 위치값 등을 포함하는 - 데이터와 그 메타데이터를 포함한다.
이하, 도 3 내지 5를 참조하여 DIAG 통신 프로토콜의 DIAG 데이터 패킷 구조에 대해서 설명한다. 도 3은 DIAG 데이터 패킷의 페이로드를 도시한 도면이며, 도 4는 DIAG 데이터 패킷의 페이로드 내 각 필드의 Hexa 코드 매핑 정보이고, 도 5는 WireShark tool로 캡처된 DIAG 데이터 패킷을 도시한 도면이다.
도 3을 참조하면, DIAG 데이터 패킷의 페이로드는 형식(Type) 필드, ID 필드, SID 필드, 길이(Length) 필드 및 데이터 필드를 포함한다. 도 3의 각 필드 내 헥사 값이 의미하는 코드 맵핑 정보는 공개된 정보로서, 도 4와 같다.
형식 필드에는 DIAG 데이터 통신을 위한 2 바이트의 연산 코드(OP-CODE; Operation Code)가 포함된다. 연산 코드는 SAP GUI 응용프로그램과 SAP 서버 간의 DIAG 프로토콜의 데이터 송수신 및 제어를 위한 명령어로서, 데이터 송수신의 시작과 끝에 대한 정보 교환, 및 SAP GUI 응용프로그램의 버전 정보 교환을 위해 정의된 것이다.
예컨대, 형식 필드의 값이 0x10일 경우, SAP GUI 응용프로그램의 이전 버전이라는 의미이며, 길이 필드의 길이가 2 바이트인 DIAG 데이터 패킷이 전송된다(도 3의 하단 글씨 참조).
또한, 형식 필드는 하나의 SAP GUI 화면의 시작과 끝을 표시하는데 이용될 수 있다. 도 4를 참조하여 설명하면, 형식 필드에 0x01("SES") 값이 설정되면, 새로운 SAP GUI 화면이 시작됨을 표시하며, 0x0c("EOM") 값이 설정되면, 해당 SAP GUI 화면이 끝남을 표시한다.
ID 필드와 SID 필드는 SAP GUI 화면이나 입출력 제어 방식(즉, 화면 출력 컨트롤 요소)에 대한 2 깊이(Depth) 형태의 연관된 값으로 구성된다. 일 예로서, SAP GUI 화면에 "TAB 컨테이너"가 포함된 경우, ID 필드에는 "컨테이너" 컨트롤을 표시하는 값인 Ox0a가 설정되며, SID 필드에는 "TAB" 컨트롤을 표시하는 값인 0x08이 설정된다.
도 4를 참조하면, SID 필드는 "DYNT SID values"와 "CONTAINER SID values"의 두 개로 구분되는데, ID 필드가 "Ox09"일 경우, SID 필드의 값은 "DYNT SID values"를 이용하여 해석되고, SID 필드가 "0x0a"일 경우는 SID 필드의 값은 "CONTAINER SID values"를 이용하여 해석된다. 또한, ID 필드에 "Ox09"와 "0x0a" 외의 값이 설정된 경우에는 SID 필드는 0으로 채워져 해석되지 않는다.
데이터 필드에는 실제 화면 표시 텍스트, 화면 출력 컨트롤 요소에 입력되는 출력 데이터 및 그 위치 값 등이 압축되어 포함된다. 도 5를 참조하면, 데이터 필드의 압축 알고리즘에 대한 정보는 DIAG 데이터 패킷의 헤더에서, 압축 헤더 필드(Compression header)에 포함된다. 도 5에서, 해당 DIAG 데이터 패킷의 데이터 필드에는 "LZH" 압축 알고리즘으로 압축된 데이터가 포함됨을 알 수 있다.
한편, DIAG 통신 프로토콜은 SAP 벤더에 의해 개발된 고유의 통신 규약이어서, 당업자라면 용이하게 더 자세한 DIAG 데이터 및 그 이용법을 알 수 있으므로, 그에 대한 더 이상의 상세한 설명은 생략하도록 하겠다.
이하, 본 발명의 구체적인 실시예에 대해서 설명한다. 본 발명은 리버스 엔지니어링(Reverse Engineering)을 통해 SAP 클라이언트 내 SAP GUI 응용프로그램과 SAP 서버 간의 데이터 통신에 사용되는 DIAG 통신 프로토콜을 분석한 결과를 토대로, SAP GUI 응용프로그램의 사용자 입출력 화면을 구성하는 DIAG 데이터를 추출할 수 있다는 점에서 착안 되었다.
이하, 도 6 내지 9를 참조하여 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치 및 방법에 대해서 설명한다.
도 6은 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치를 도시한 구성도, 도 7은 본 발명의 실시예에 따른 xml(eXtensible markup language) 코드 생성 예를 도시한 도면, 도 8은 본 발명의 실시예에 따른 xml 로그 생성 예를 도시한 도면, 도 9는 본 발명의 실시예에 따른 xul 코드를 도시한 도면이다.
도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치(10)는 수집부(110), 압축 해제부(120), 분석부(130), 제1 변환부(140), 데이터베이스(150), 제2 변환부(170) 및 출력부(160)를 포함한다. 이때, 데이터베이스(150)는 SAP GUI 화면 구성 장치(10) 외부에 존재할 수도 있다.
수집부(110)는 SAP GUI 응용프로그램과 SAP 서버 간의 통신 네트워크상에서 DIAG 데이터 패킷을 수집한다. 이때, 수집부(110)는 네트워크 탭(TAP)이나, 네트워크 스위치로부터 DIAG 데이터 패킷을 전달받을 수 있다. 또한, SAP GUI 응용프로그램은 SAP 클라이언트에 설치된, SAP 벤더에 의해 개발 및 판매된 SAP 서비스용 응용프로그램일 수 있다.
압축 해제부(120)는 수집된 DIAG 데이터 패킷의 헤더에서 압축 헤더(Compression Header) 필드 내(도 5 참조)에서, DIAG 데이터 패킷의 페이로드의 압축 알고리즘을 확인하고, 확인된 압축 알고리즘을 이용하여 DIAG 데이터 패킷의 페이로드(Payload)(도 3 참조) 내 데이터의 압축을 해제한다. 여기서, DIAG 데이터 패킷의 압축 알고리즘은 수집부(110)에 의해 확인될 수도 있음은 물론이다.
분석부(130)는 압축 해제된 DIAG 데이터 페이로드로부터 DIAG 데이터 패킷의 페이로드 구성 정보와 도 4와 같은 헥사 값 코드 매핑 정보를 토대로 입출력 화면 출력 방식과 출력 데이터를 분석 및 추출하고, 분석 및 추출된 결과를 구조화하여 xml 코드를 생성한다. 구체적으로, 분석부(130)는 DIAG 데이터 패킷의 형식 필드, ID 필드, SID 필드 내 헥사 값 코드 매핑 정보를 이용하여 페이로드 구성 정보 및 화면 출력 방식을 분석하며, DIAG 데이터 패킷의 데이터 필드로부터 출력 데이터를 분석할 수 있다.
통상, SAP GUI 화면은 복수의 화면 출력 컨트롤 요소와 그에 대응하는 출력 데이터로 구성된다. 이때, 하나의 SAP GUI 화면을 구성하는 복수의 화면 출력 컨트롤 요소와 그에 대응하는 출력 데이터를 포함하는 복수의 DIAG 데이터 패킷이 존재하며, 하나의 SAP GUI 화면의 시작과 끝은 형식 필드에 의해 구분될 수 있다.
이 경우, 분석부(130)는 하나의 SAP GUI 화면을 구성하는 복수의 DIAG 데이터 패킷 각각의 페이로드 내에서 형식 필드, ID 필드, SID 필드 및 데이터 필드를 확인하고, 이들을 화면 출력 방식 단위로 구분하여 xml 코드를 각기 생성한다. 일 예로서, 하나의 DIAG 데이터 패킷에 하나의 화면 출력 방식으로 출력되는 화면 출력 컨트롤 요소와 출력 데이터만이 포함된 경우, 분석부(130)는 각 DIAG 데이터 패킷의 페이로드에 대응하는 xml 코드를 각기 생성한다. 다른 예로서, 복수의 DIAG 데이터 패킷에 하나의 화면 출력 방식으로 출력되는 화면 출력 컨트롤 요소와 출력 데이터가 분할되어 포함된 경우, 분석부(130)는 하나의 화면 출력 방식으로 출력될 화면 출력 컨트롤 요소와 출력 데이터를 조합하여 하나의 xml 코드로 생성한다.
도 7의 분석부(130)의 탭 컨테이너에 대한 xml 코드 생성 작업에 대한 추적 로그를 참조하면, 분석부(130)는 DIAG 데이터 패킷의 페이로드를 분석하여, 그 형식 필드로부터 SAP GUI 응용프로그램의 버전이 "APPL4"(diag_item_type=0x12 참조)임을 확인하고, ID 필드와 SID 필드로부터 해당 패킷의 데이터 필드에는 탭 푸시버튼(diag_item_id=0x09 및 diag_item_sid=0x10 참조)이 포함됨을 확인할 수 있다. 그리고, 분석부(130)는 해당 패킷의 데이터필드로부터 SAP GUI 화면을 구성하기 위한 탭 푸시버튼의 명칭인 "Overview", "Files" 및 "Object"와 같은 데이터 값을 추출하고, 그 위치 좌표 및 너비 값 등을 추출한다.
제1 변환부(140)는 분석부(130)에 의해 생성된 구분문자 단위의 xml 코드를 순차적으로 조합하여 하나의 SAP GUI 화면을 구성하는 완결된 xml 코드로 구조화한 결과인 xml 로그를 만들어, 데이터베이스(150)에 저장한다.
원본 SAP GUI 화면인 도 2, 및 그에 대응하는 DIAG 데이터 패킷의 페이로드로부터 생성된 xml 로그의 일부를 웹브라우저에 로딩한 내용인 도 8을 참조하면, 저장된 xml 로그에는 SAP GUI 화면을 구성하는 화면 출력 컨트롤 요소 내 출력 데이터인 "Database", "IDE", "connected to:", "@", "S83N160", … 등이 포함됨을 알 수 있다(도 8의 검은색 굵은 글씨 참조).
출력부(160)는 데이터베이스 내 저장된 xml 로그를 가져와 제2 변환부(170)로 전달하고, 제2 변환부(170)로부터 xul(XML User Interface Language) 코드를 반환받아 이를 화면에 출력한다.
제2 변환부(170)는 Xml to Xul 변환 모듈을 이용하여, 출력부(160)로부터 전달받은 xml 로그를 xul 코드로 변환하여 출력부(160)로 전달한다. 도 8의 xml 로그를 xul 코드로 변환한 결과의 일부는 도 9와 같다.
여기서, xul 코드는 XML User-Interface Language로서, 모질라 브라우저를 쉽고 빠르게 개발하기 위하여 만들어진 오픈소스 기반 UI 프로그래밍 언어이며, 화면 출력을 위한 다른 형태의 구조화된 코드이다. xml 코드는 플랫폼에 종속되지 않은 크로스 플랫폼 프로그램 언어이어서, xml의 모든 기능을 사용할 수 있고, html 코드를 내재화하여 사용할 수 있으며, 텍스트 박스 및 체크 박스와 같은 입력 컨트롤과 버튼 등의 기능을 갖춘 도구막대, 도구메뉴, 팝업, 탭 컨테이너, 트리나 단축키 등과 같은 거의 모든 화면 입출력 컨트롤을 표현할 수 있다.
즉, xml 로그 자체는 도 9와 같이, 2차원적인 화면 출력만이 가능하나, xul 코드는 멀티레이어 형태의 동적 출력 컨트롤이 가능하므로, 제2 변환부(170)는 xml 로그를 xul 코드로 변환하는 과정에서, xml 로그에 대응하는 xul 기반의 출력 컨트롤을 SAP GUI 응용프로그램의 화면 출력 컨트롤과 거의 동일한 형태로 변환해준다. 따라서, 본 발명에서는 사용자 GUI 화면상에 두 개 이상의 탭 컨테이터 방식의 탭이 내장된 경우에도 현재 활성화된 탭의 내용뿐만 아니라 비활성화된 탭에 대응하는 출력 화면 및 출력 데이터를 탭을 클릭함에 따라 사용자 화면에 출력할 수 있다.
이하, 도 10 내지 12를 참조하여 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치의 SAP GUI 화면 구성 예에 대해서 설명한다. 도 10 내지 12는 본 발명의 실시예에 따른 SAP GUI 화면 구성 예를 도시한 도면이다. 도 10 내지 12는 도 2의 SAP GUI 화면을 구성하는 DIAG 데이터 패킷을 이용하여 SAP GUI 화면을 구성한 예이다.
도 10에서, 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치에 의해 실행되는 응용프로그램의 SAP GUI 화면의 상단에는 APP-i 클라이언트의 SAP GUI 화면임이 표시되며, 그 하단에는 본 발명의 실시예에 따른 SAP GUI 화면 구성 장치의 명칭인 "APP-i" 및 실행 기능이 표시됨을 알 수 있다. 그리고, 그 좌측 부분에는 저장된 xml 로그의 종류를 선택할 수 있는 메뉴(허용 로그, 차단 로그, 경고 로그)가 구비되고, 그 우측 부분의 상단에는 xml 로그의 종류에 대응하는 복수의 xml 로그에 대한 IP 정보, 계정, 저장시간, 접속방식 등이 표시됨을 알 수 있다. 또한, 그 우측 부분의 하단에는 실제 SAP GUI 화면(도 10의 빨간색 점선 표시 박스 참조)이 표시되는데, 도 2와 비교해 표시 형태에 약간의 차이는 있지만, 필요한 정보는 모두 포함됨을 알 수 있다.
또한, 본 발명의 실시예에 따라 구성된 SAP GUI 화면은 그에 포함된 복수의 탭 컨테이너를 새로운 화면으로 전환되지 않고, 활성화된 탭의 내용뿐만 아니라, 비활성화된 탭의 내용까지도 출력할 수 있다.
구체적으로, 도 11과 같이, 사용자에 의해 "파일" 탭이 클릭되면, 새로운 화면으로의 전환 없이 "파일" 탭에 대응하는 SAP GUI 화면으로 전환될 수 있다. 또한, 도 12와 같이, 사용자에 의해 "Object" 탭이 클릭되면, 새로운 화면으로의 ㅈ전환 없이 bject" 탭에 대응하는 SAP GUI 화면으로 전환될 수 있다.
이와 같이, 본 발명에 따르면, SAP GUI 응용프로그램의 API를 사용하지 않고도 SAP GUI 응용프로그램의 SAP GUI 화면을 거의 동일하게 재현할 수 있음을 알 수 있다.
이와 같이, 본 발명의 실시예는 네트워크상에서 SAP GUI 응용프로그램과 SAP 서버 간의 송수신 DIAG 데이터를 분석하여 그에 대한 xml 로그를 구성 및 저장하고, 필요시에 SAP GUI 응용프로그램의 사용자 입출력 화면을 재구성할 수 있다. 따라서, 본 발명의 실시예는 저장된 xml 로그를 강력한 법적인 증거 자료로써 활용될 수 있도록 한다.
더욱이, 본 발명의 실시예는 SAP 소프트웨어 판매회사에 의해 제공되는 SAP GUI 응용프로그램 API 라이브러리를 이용하지 않고 SAP GUI 화면을 구성할 수 있어, xml 로그로부터 SAP GUI 화면을 구성할 때 SAP 벤더의 인증 및 라이브러리 재배포 라이선스 등을 필요로 했던 종래의 제약사항을 극복할 수 있다.
뿐만 아니라, 본 발명의 실시예는 사용자 GUI 화면상에 두 개 이상의 탭 컨테이터 방식의 탭이 내장된 경우에도 현재 활성화된 탭의 내용뿐만 아니라 비활성화된 탭에 대응하는 출력 화면 및 출력 데이터를 탭을 클릭함에 따라 사용자 화면에 출력할 수 있어, 사용상 편리성을 제공할 수 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.

Claims (12)

  1. 네트워크상의 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜의 DIAG 데이터 패킷을 수집하는 수집부;
    상기 DIAG 데이터 패킷의 페이로드(Payload)에 대한 분석 결과를 토대로 상기 DIAG 데이터 패킷에 대응하는 xml(eXtensible markup language) 코드를 생성하는 분석부;
    상기 xml 코드를 이용하여 SAP(System, Application, Products in the data processing) GUI(Graphic User Interface) 응용프로그램의 SAP GUI 화면을 구성하는 xml 로그를 생성하는 제1 변환부;
    상기 xml 로그를 xul(XML User Interface Language) 코드로 변환하는 제2 변환부; 및
    상기 xul 코드를 이용하여 상기 SAP GUI 화면에 대응하는 GUI 화면을 구성하는 출력부
    를 포함하는 화면 구성 장치.
  2. 제1항에 있어서, 상기 분석부는,
    상기 DIAG 데이터 패킷의 페이로드 내 형식 필드로부터 상기 SAP GUI 화면의 시작과 끝을 확인하는 것인 화면 구성 장치.
  3. 제1항에 있어서, 상기 분석부는,
    상기 DIAG 데이터 패킷의 형식 필드, ID 필드 및 SID 필드 내 헥사 값 코드 매핑 정보를 이용하여 상기 DIAG 데이터 패킷의 페이로드 구성 정보 및 상기 DIAG 데이터 패킷의 페이로드의 화면 출력 방식을 분석하며, 상기 DIAG 데이터 패킷의 데이터 필드로부터 출력 데이터를 분석하는 것인 화면 구성 장치.
  4. 제1항에 있어서, 상기 분석부는,
    상기 SAP GUI 화면을 구성하는 복수의 상기 DIAG 데이터 패킷이 존재하면, 상기 복수의 DIAG 데이터 패킷 각각에서 각기 형식 필드, ID 필드, SID 필드 및 데이터 필드를 확인하고, 확인된 상기 각 형식 필드, ID 필드, SID 필드 및 데이터 필드를 화면 출력 방식별로 구분하여, 구분된 상기 화면 출력 방식별 형식 필드, ID 필드, SID 필드 및 데이터 필드에 대응하는 xml 코드를 각기 생성하는 것인 화면 구성 장치.
  5. 제1항에 있어서, 상기 제1 변환부는,
    상기 SAP GUI 화면을 구성하는 복수의 xml 코드가 존재하면, 상기 복수의 xml 코드를 조합하여 상기 SAP GUI 화면을 구성하는 xml 로그를 생성하는 것인 화면 구성 장치.
  6. 제1항에 있어서, 상기 제2 변환부는,
    상기 xml 로그를 상기 xul 코드로 변화하는 과정에서, 상기 SAP GUI 화면에 대응하는 GUI 화면의 화면 출력 컨트롤 방식이 상기 SAP GUI 응용프로그램의 화면 출력 컨트롤 방식에 대응하도록 변환하는 것인 화면 구성 장치.
  7. 제1항에 있어서,
    상기 DIAG 데이터 패킷의 헤더로부터 상기 DIAG 데이터 패킷의 페이로드의 압축 알고리즘을 확인하고, 상기 압축 알고리즘에 기반하여 상기 페이로드의 압축을 해제하여 상기 분석부에 제공하는 압축 해제부
    를 더 포함하는 화면 구성 장치.
  8. 화면 구성 장치에 의한 화면 구성 방법으로서,
    네트워크상의 DIAG(Dynamic Information Action and Gateway) 통신 프로토콜의 DIAG 데이터 패킷을 수집하는 단계;
    상기 DIAG 데이터 패킷에 대한 분석 결과를 토대로 상기 DIAG 데이터 패킷에 대응하는 xml(eXtensible markup language) 코드를 생성하는 단계;
    상기 xml 코드를 이용하여 SAP(System, Application, Products in the data processing) GUI(Graphic User Interface) 응용프로그램의 SAP GUI 화면을 구성하는 xml 로그를 생성하는 단계;
    상기 xml 로그를 xul(XML User Interface Language) 코드로 변환하는 단계; 및
    상기 xul 코드를 이용하여 상기 SAP GUI 화면에 대응하는 GUI 화면을 구성하는 단계
    를 포함하는 화면 구성 방법.
  9. 제8항에 있어서, 상기 xml 코드를 생성하는 단계는,
    상기 DIAG 데이터 패킷의 형식 필드, ID 필드, SID 필드 내 헥사 값 코드 매핑 정보를 이용하여 상기 DIAG 데이터 패킷의 페이로드 구성 정보 및 상기 DIAG 데이터 패킷의 페이로드의 화면 출력 방식을 분석하는 단계; 및
    상기 DIAG 데이터 패킷의 데이터 필드로부터 출력 데이터를 분석하는 단계
    중 적어도 하나를 포함하는 것인 화면 구성 방법.
  10. 제8항에 있어서, 상기 xml 코드를 생성하는 단계는,
    상기 SAP GUI 화면을 구성하는 복수의 상기 DIAG 데이터 패킷이 존재하는지를 확인하는 단계;
    확인결과 존재하면, 상기 복수의 DIAG 데이터 패킷 각각에서 각기 형식 필드, ID 필드, SID 필드 및 데이터 필드를 확인하고, 확인된 상기 각 형식 필드, ID 필드, SID 필드 및 데이터 필드를 화면 출력 방식별로 구분하는 단계; 및
    구분된 상기 화면 출력 방식별 형식 필드, ID 필드, SID 필드 및 데이터 필드에 대응하는 xml 코드를 각기 생성하는 단계
    를 포함하는 것인 화면 구성 방법.
  11. 제8항에 있어서, 상기 변환하는 단계는,
    상기 SAP GUI 화면에 대응하는 GUI 화면의 화면 출력 컨트롤 방식이 상기 SAP GUI 응용프로그램의 화면 출력 컨트롤 방식에 대응하도록 변환하는 단계
    를 포함하는 것인 화면 구성 방법.
  12. 제8항에 있어서, 상기 xml 로그를 생성하는 단계는,
    상기 SAP GUI 화면을 구성하는 복수의 xml 코드가 존재하면, 상기 복수의 xml 코드를 조합하여 상기 SAP GUI 화면을 구성하는 xml 로그를 생성하는 단계
    를 포함하는 것인 화면 구성 방법.
KR1020130055658A 2013-05-16 2013-05-16 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 KR101341598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130055658A KR101341598B1 (ko) 2013-05-16 2013-05-16 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130055658A KR101341598B1 (ko) 2013-05-16 2013-05-16 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101341598B1 true KR101341598B1 (ko) 2013-12-13

Family

ID=49988318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130055658A KR101341598B1 (ko) 2013-05-16 2013-05-16 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101341598B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905193A (zh) * 2021-02-19 2021-06-04 山东英信计算机技术有限公司 一种服务器定制化pat信息维护刷新方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111449A (ko) * 2004-10-27 2007-11-21 슈페르나 리미티드 네트워크 장치 제어 시스템 및 방법
JP2011070640A (ja) * 2009-08-10 2011-04-07 Nec (China) Co Ltd デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111449A (ko) * 2004-10-27 2007-11-21 슈페르나 리미티드 네트워크 장치 제어 시스템 및 방법
JP2011070640A (ja) * 2009-08-10 2011-04-07 Nec (China) Co Ltd デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905193A (zh) * 2021-02-19 2021-06-04 山东英信计算机技术有限公司 一种服务器定制化pat信息维护刷新方法及装置
CN112905193B (zh) * 2021-02-19 2023-08-04 山东英信计算机技术有限公司 一种服务器定制化pat信息维护刷新方法及装置

Similar Documents

Publication Publication Date Title
US7472397B2 (en) Method and system to correlate and consolidate a plurality of events
US8219970B2 (en) XML push and remote execution of a wireless applications
US8140987B2 (en) GUI modeling of web services
US9262763B2 (en) Providing attachment-based data input and output
US9652214B1 (en) Pluggable extension of software applications
US7899903B2 (en) Template based management system
US8762933B2 (en) Converting business process models to component models in a service oriented architecture domain
CA2604896C (en) System and method of data source detection
CN103077024B (zh) 一种支持SaaS应用流程按需定制与运行的装置及方法
US9086932B2 (en) System landscape aware inter-application communication infrastructure
US10565007B2 (en) Remotely monitoring and scheduling a data integration job
CN101996093A (zh) 将桌面应用转换为网络应用的方法和系统
CN102810090A (zh) 网关数据分布引擎
US20070156868A1 (en) Efficient dynamic discovery of web services
US20090063395A1 (en) Mapping log sets between different log analysis tools in a problem determination environment
US8972487B2 (en) Automated framework for testing enterprise services consumer technologies
KR101341598B1 (ko) 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법
US11966719B2 (en) Event consumption for high-level programing language platform
JP2013012225A (ja) 名称特定プログラム、構成管理サーバおよび情報処理システム
US20240036946A1 (en) Event provisioning for high-level programing language platform
CN108153525B (zh) 一种构建交互界面的方法、装置及电子设备
KR20100072515A (ko) 원격 서버 로그 분석 시스템 및 그 방법
Zhang et al. Research and application of SOA based on current technologies
CN102214121A (zh) 一种基于netbios的资源共享管理系统
Myatt Creating Web Service Projects: JAX-WS, SOA, and BPEL

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20161116

Year of fee payment: 4