KR101108534B1 - 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 - Google Patents
도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 Download PDFInfo
- Publication number
- KR101108534B1 KR101108534B1 KR1020110006856A KR20110006856A KR101108534B1 KR 101108534 B1 KR101108534 B1 KR 101108534B1 KR 1020110006856 A KR1020110006856 A KR 1020110006856A KR 20110006856 A KR20110006856 A KR 20110006856A KR 101108534 B1 KR101108534 B1 KR 101108534B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- database
- conversion
- rules
- server module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 웹 애플케이션 서버의 프레임워크에 포함되며, 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템에 관한 것으로, 사용자 웹브라우저로부터 웹 애플리케이션 서버로 전송되는 데이터에 대해, 검증규칙에 따라 데이터의 길이 및 형태(type) 등 유효성을 검증하고 암호화 및 변환 규칙에 따라 데이터에 대한 암호화 처리 및 서식(format) 변환을 수행하는 제1 서버모듈과, 제1 서버모듈에 의해 처리된 데이터를 전송받아 임시 저장하는 모델계층과, 모델계층에 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하여 그 처리된 결과를 데이터베이스에 저장하고, 그 처리된 결과를 데이터베이스에서 모델계층으로 로드하여 저장하며 뷰를 통해 해당 사용자 웹브라우저로 전송하는 컨트롤러와, 컨트롤러의 기능제어하에 데이터베이스에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 제2 서버모듈과, 제1 서버모듈 및 제2 서버모듈이 수행하는 규칙을 사용자 웹브라우저로부터 입력받아 데이터베이스에 저장하며, 컨트롤러의 기능제어하에 데이터베이스로부터 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플케이션 서버 내부의 캐시(cache)에 저장하는 제3 서버모듈을 포함한다.
Description
본 발명은 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법에 관한 것으로, 특히 웹 애플리케이션 사용자가 전송한 입력 값(parameter)과 데이터베이스의 SQL 질의 문 출력 결과 값에 대해, 개발자 혹은 관리자가 웹 화면상에서 유효성 검증과 서식변환 규칙을 등록한대로 해당 값들을 자동 실행하는 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법에 관한 것이다.
일반적으로 컴퓨터에서 동작하는 애플리케이션을 프로그래밍 할 때, 업무의 공통 기능 요소들을 미리 분석설계해 컴포넌트 요소 화 하여 재사용하는 것이 바람직하다. 하지만 많은 애플리케이션 프로젝트에서 시간과 비용의 문제 혹은 설계의 미비로 인해 그러한 업무 요건의 상당수가, 결국 개발자 혹은 관리자들의 개별적이고 자의적인 분석에 의해 각 기능화면마다 소스코드 오려붙이기(copy and paste) 방식으로 기능이 적용되곤 한다.
그러나 이렇게 애플리케이션이 개발되고 난 뒤에는 공통기능이 함수(method)안에 은닉된 형태인 캡슐화(encapsulation)되어 있지 않고, 또한 데이터와 함수의 분리가 안 되기 때문에 서로 다른 요소(component) 사이의 연계(interface)가 어렵거나 경우에 따라 근본적으로 연계가 불가능하기도 하다.
이것은 재사용할 기능들이 지능화 구성되지 않았기 때문이며, 개발자 혹은 관리자들에 의해 중구난방으로 도입된 이러한 공통 요소 기능의 출처 및 정상동작 여부는 대체로 불확실하다. 또한 그와 관련된 부모(progenitor) 객체와 자동으로 동기화도 될 수 없기 때문에 애플리케이션의 일관성이 결여되며 결론적으로 웹 애플리케이션의 품질 저하를 가져온다.
이렇게 개발된 웹 애플리케이션의 경우, 모든 공통요소 기능이 개발자 혹은 관리자들에 의해 조금씩 변형된 형태로 수많은 프로그래밍 코드 상에서 반복되어 존재하기 때문에 특정 데이터의 요건 정의가 변환될 경우 해당 데이터와 관련된 모든 서버 페이지, 웹 애플리케이션 업무 프로세스 처리 및 SQL 질의 문 등의 부분에서 대량의 소스코드 변환작업이 이루어져야 한다.
이는 프로그램 파일이 수백 개가 넘는 복잡한 대형의 프로젝트 일수록 더욱 심각하며 유지보수 관리하기가 매우 어렵다.
상기한 문제점의 일부를 극복할 수 있는 한 가지 방법으로서 객체 지향 프로그래밍(Object Oriented Programming)을 도입하는 방법이 있는데, 이러한 객체 지향 프로그래밍에서는 공통 기능들이 잘 정의된 연계 모듈(interface)로 추출될 수 있기 때문에 재사용성(reusability)이 확보된다.
그리고 상기한 객체지향 프로그래밍에서는 객체(object)가 잘 정의되고 기술된 유연한 연계 방식을 가지기 때문에 상호 운용성(interoperability)이 증대되게 된다. 여기서, 상기한 객체 지향 프로그래밍을 사용할 때 프레임워크(framework)를 도입할 경우 더욱 구조화 된 애플리케이션을 구성할 수 있다.
애플리케이션 개발에 있어서 프레임워크의 이점은 공통 기능이 라이브러리(자주 사용되는 기능 및 함수를 모아놓은 집합) 또는 도움 파일(utility class)로 별도 분리되지 않고 프레임워크 자체에 내장되어 있다는 것이다.
하지만 프레임워크를 도입한 다고해서 이러한 대부분의 공통기능의 재사용성이 확보되고 관리문제가 해결되는 것은 아니기 때문에 본 발명과 같은 보완장치가 필요하게 된다.
발명의 구체적인 내용을 설명하기 전에, 앞서 설명한 프레임워크에 의해 구조화 된 웹 애플리케이션과, 프레임워크를 사용하지 않아 상대적으로 비 구조적인 웹 애플리케이션의 몇 가지 구조를 도식을 통해 알아보면,
도 1은 프레임워크를 전혀 사용하지 않은 서버 페이지 기반의 웹 애플리케이션 구조이다.
도 2는 역시 프레임워크를 사용하지 않았지만 나름대로 데이터베이스 접근계층을 별도로 분리하여 처리 효율성을 부여한 구조이다.
도 3은 프레임워크(90)를 사용하여 구조화한 일반적인 웹 애플리케이션 개발 시스템 구조이다. 흔히 MVC(Model, View, Controller)모델이라 불리는 그 구성을 보면,
첫 번째로 사용자의 조회ㅇ입력 등의 요청 정보를 수신하여 최초로 처리하는 컨트롤러(Controller) 계층(70)이 있는데, 이 계층은 그 설계 구성에 따라 Servlet, Action, Controller 등으로 다르게 불릴 수 있다.
두 번째로, 상기 계층에서 조직화 된 사용자 요청 값을 이용하여 비즈니스 업무 처리를 수행하는 계층(71)이 존재한다. 이 계층은 서비스(Service)라고 불리기도 하며 애플리케이션 설계 방식에 따라 존재하지 않을 수도 있다.
세 번째로, 데이터베이스(72)에 직접 접근하는 계층으로서 SQL 질의 문을 수행하고 처리하는 부분으로 모델(Model)이라 불리는 계층(73)이 있다.
마지막으로, 앞서 처리된 모든 업무결과를 사용자의 웹브라우저로 전달하여 최종적으로 HTML 구성요소를 통해 화면에 표시될 수 있도록 하는 뷰(View) 계층(74)이 존재한다.
하지만, 상기와 같이 MVC 모델의 프레임워크를 구성하면 일부의 공통 기능 요소들은 캡슐화 하여 재사용성을 높일 수는 있지만, 여전히 웹브라우저에서 전송되는 값의 필수여부, 길이 및 자료 형 검사 등 유효성 검사와 형 변환, 암호화 처리와 같은 기능은 뷰 계층(74)에서 자바스크립트(75)와 같은 스크립트 언어나 Active-X(76) 등의 기술을 사용하여 처리되도록 구현되며,
또한 상기 값으로 업무를 처리하고 난 뒤 데이터베이스에서 출력되는 값들은 보통, 모델 계층(73)에서 SQL 질의 문의 데이터베이스 내장 함수, 사용자정의 함수(function)들에 의해 서식이 변환되거나 프로그래밍 코드로 복호화, 감춤 처리 되어 화면에 출력되도록 구현되기 때문에, 입출력 데이터 검증 및 변환을 수행하기 위해서는 자바스크립트 블록(75)과 모델 계층(73) 등의 여러 요소를 관리해야 되기 때문에 한 곳에서 집중적으로 검증 및 변환 규칙을 부여할 수가 없었다.
웹 애플리케이션 개발 중, 혹은 개발 완료 후 입출력 데이터 요소의 형(object type)이나 서식(format)이 변환해야하는 경우, 또는 암복호화처리나 데이터 숨김(masking) 처리 요건을 적용해야하는 경우. 이러한 경우가 발생하면 이미 작성된 뷰(74) 계층, 컨트롤러 및 서비스 계층(70, 71), 모델 계층(73) 등 모든 애플리케이션 파일에서 소스코드가 변환되어야 하는 관리의 문제점이 도출된다.
앞서 설명한 비 프레임워크 및 프레임워크 방식을 모두 통틀어 모든 웹 애플리케이션 시스템에서는 그 개발 작업 중 약 30%의 공수가 입력 값 유효성(validation) 처리와 화면출력 데이터 서식(format)의 가공처리에 투입되며, 개발자 혹은 관리자는 이와 같은 처리를 하기위해 개발 작업시간을 상당수 소모하기 때문에 기존의 구조만으로는 가장 중요한 업무 프로세스 개발에 집중하기가 어렵다.
또한 사소한 오류 혹은 버그 등으로 인해 이러한 유효성 검증변환 및 서식변환 작업이 반복될 경우 개발자 혹은 관리자가 상기 뷰 계층(74) 및 모델 계층(73)에서의 프로그래밍 소스코드, SQL 질의 문 뿐 아니라, 경우에 따라 컨트롤러(70) 및 서비스 계층(71)까지 관련된 모든 프로그래밍 소스코드 변환 작업을 반복하여야만 한다.
이러한 업무들은 기능화면 단위로 개발하기 때문에 오류나 버그 발생 시에도 상기 문제점과 같은 작업을 반복적으로 수행해야만 하고 담당 개발자 혹은 관리자가 그 변환사항을 자의적으로 검토하여 해결해야하므로 그 변환된 프로그램의 안정성 검증 테스트를 수행한다고 해도 실질적으로 이를 완벽히 찾아내기 힘들다.
결국 테스트 시 검증되지 않는 부분에 대해서는 개발자 혹은 관리자의 도덕성에 믿고 의존할 수밖에 없다. 따라서 그 작업 효율이 현저히 떨어진다는 문제점이 있다.
본 발명은 공통 기능으로 구성하여 재사용하도록 만들어지지 않은 기능이나 또는, 공통 기능으로 구성은 하였으나 그 공통 모듈이 위치한 계층의 특성상 관리하기 어렵고 특성에 따라 관리 불가능한 영역에 대한 해결책을 제시하고자 한다.
이에 본 발명은 상기와 같은 종래 기술의 제반 문제점을 해결하기 위해 발명된 것으로, 웹 애플리케이션 사용자가 전송한 입력 값(parameter)과 데이터베이스의 SQL 질의 문 출력 결과 값에 대해, 개발자 혹은 관리자가 웹 화면상에서 유효성 검증과 서식변환 규칙을 등록한대로 해당 값들을 자동 실행함으로써, 애플리케이션 개발자가 개발프로그램 마다 동일한 작업을 일일이 반복할 필요 없이 그 개발하고자하는 부분만을 조회 및 등록하도록 하는 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법을 제공함에 그 목적이 있다.
상기와 같은 본 발명의 또 다른 목적은 웹 애플리케이션 서버에 입력되는 데이터와 출력되는 데이터에 대한 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙이 자동 관리되는 프레임워크 시스템을 제공하기 때문에 기존 웹 애플리케이션 프레임워크에 비해 공통 기능의 재사용성이 증대되도록 한 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 양상에 따른 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템은, 사용자 웹브라우저로부터 웹 애플리케이션 서버로 전송되는 데이터에 대해, 검증규칙에 따라 데이터의 길이 및 형태(type) 등 유효성을 검증하고 암호화 및 변환 규칙에 따라 데이터에 대한 암호화 처리 및 서식(format) 변환을 수행하는 제1 서버모듈과, 제1 서버모듈에 의해 처리된 데이터를 전송받아 임시 저장하는 모델계층과, 모델계층에 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하여 그 처리된 결과를 데이터베이스에 저장하고, 그 처리된 결과를 데이터베이스에서 모델계층으로 로드하여 저장하며 뷰를 통해 해당 사용자 웹브라우저로 전송하는 컨트롤러와, 컨트롤러의 기능제어하에 데이터베이스에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 제2 서버모듈과, 제1 서버모듈 및 제2 서버모듈이 수행하는 규칙을 사용자 웹브라우저로부터 입력받아 데이터베이스에 저장하며, 컨트롤러의 기능제어하에 데이터베이스로부터 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플케이션 서버 내부의 캐시(cache)에 저장하는 제3 서버모듈을 포함한다.
본 발명의 다른 양상에 따른 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템의 제어방법은, 제3 서버모듈이 사용자 웹브라우저로부터 데이터에 대한 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 입력받아 데이터베이스에 저장하는 단계와, 제3 서버모듈이 웹 애플리케이션 서버가 초기에 구동될 때 데이터베이스에 등록된 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플리케이션 서버 내부의 캐시(cache)에 저장하는 단계와, 제1 서버모듈이 사용자 웹브라우저로부터 웹 애플리케이션 서버로 전송되는 데이터에 대해, 검증규칙에 따라 데이터의 유효성을 검증하는 단계아, 검증이 실패하였을 경우 제1 서버모듈이 검증에 실패한 키와 실패이유정보를 사용자 웹브라우저로 전송하고, 검증이 성공하였을 경우 암호화 및 변환 규칙에 따라 데이터의 암호화 처리 및 서식(format) 변환을 수행하고 처리된 데이터를 모델계층으로 전달하는 단계와, 컨트롤러가 모델계층에 임시 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하고, 처리된 결과를 데이터베이스에 저장하는 단계와, 제2 서버모듈이 데이터베이스에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 단계를 포함한다.
본 발명의 다른 양상에 따른 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템의 제어방법은, 제3 서버모듈이 사용자 웹브라우저로부터 데이터에 대한 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 입력받아 데이터베이스에 저장하는 단계와, 제3 서버모듈이 웹 애플리케이션 서버가 초기에 구동될 때 데이터베이스에 등록된 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플리케이션 서버 내부의 캐시(cache)에 저장하는 단계와, 제1 서버모듈이 사용자 웹브라우저로부터 웹 애플리케이션 서버로 전송되는 데이터에 대해, 검증규칙에 따라 데이터의 유효성을 검증하는 단계아, 검증이 실패하였을 경우 제1 서버모듈이 검증에 실패한 키와 실패이유정보를 사용자 웹브라우저로 전송하고, 검증이 성공하였을 경우 암호화 및 변환 규칙에 따라 데이터의 암호화 처리 및 서식(format) 변환을 수행하고 처리된 데이터를 모델계층으로 전달하는 단계와, 컨트롤러가 모델계층에 임시 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하고, 처리된 결과를 데이터베이스에 저장하는 단계와, 제2 서버모듈이 데이터베이스에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 단계를 포함한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
상기와 같은 본 발명은 웹 애플리케이션 사용자가 전송한 입력 값(parameter)과 데이터베이스의 SQL 질의문 출력 결과 값에 대해, 개발자가 웹 화면상에서 유효성 검증과 서식변환 규칙을 등록한대로 해당 값들을 자동 실행함으로써, 애플리케이션 개발자가 개발프로그램 마다 동일한 작업을 일일이 반복할 필요 없이 그 개발하고자하는 부분만을 조회 및 등록하면 개발자가 그것에 관해 코딩하지 않으므로 그에 따라 개발 생산성을 높여주는 효과가 있다.
또한 상기와 같은 본 발명에 의하면, 웹 애플리케이션 서버에 입력되는 데이터와 출력되는 데이터에 대한 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙이 통합되어 자동 관리되는 프레임워크시스템을 제공하기 때문에 기존 웹 애플리케이션 프레임워크에 비해 공통 기능의 재사용성이 증대되고 한 곳에서 집중관리 할 수 있어 애플리케이션 개발 및 운영효율성이 증대시키는 효과도 있다.
더 나아가, 본 발명에 의하면, 사용자가 웹브라우저에서 전송한 입력 데이터 항목(parameter value)의 필수여부, 형태, 길이와 같은 유효성을 웹 MVC 프레임워크의 요청 정보 처리계층 진입 전에 검증하고 정의된 규칙에 의해 변환함으로써, 이전 방식과 같이 개발자가 관련된 모든 뷰 마다 자바스크립트 등을 이용하여 반복적인 데이터 유효성 검증, 암호화, 서식 변환을 처리할 소스코드를 작성할 필요가 없으며, 또한, 정의되지 않은 규격으로 전송된 데이터를 허용하지 않기 때문에 buffer overflow 공격과 같이 입력 값 길이 변조로 유도되는 해킹유형에도 대비할 수 있는 효과도 있다.
도 1은 종래 프레임워크를 사용하지 않은 순수 뷰 기반의 웹 애플리케이션 구조를 설명하는 설명도.
도 2는 도 1의 프레임워크를 사용하지 않은 웹 애플리케이션 구조 중 데이터베이스 접근 계층을 분리하여 구성한 Model 1 방식구조를 설명하는 설명도.
도 3은 종래 프레임워크를 사용한 일반적인 MVC 웹 애플리케이션 시스템 구조를 설명하는 설명도.
도 4는 본 발명에 의한 시스템을 설명하는 설명도.
도 5는 본 발명의 플로우차트.
도 6는 도 5의 규칙등록과정을 좀 더 상세히 설명하는 설명도.
도 7은 도 5의 입출력처리과정을 좀 더 상세히 설명하는 설명도.
도 2는 도 1의 프레임워크를 사용하지 않은 웹 애플리케이션 구조 중 데이터베이스 접근 계층을 분리하여 구성한 Model 1 방식구조를 설명하는 설명도.
도 3은 종래 프레임워크를 사용한 일반적인 MVC 웹 애플리케이션 시스템 구조를 설명하는 설명도.
도 4는 본 발명에 의한 시스템을 설명하는 설명도.
도 5는 본 발명의 플로우차트.
도 6는 도 5의 규칙등록과정을 좀 더 상세히 설명하는 설명도.
도 7은 도 5의 입출력처리과정을 좀 더 상세히 설명하는 설명도.
이하, 본 발명을 첨부된 예시도면에 의거 상세히 설명한다.
본 발명은 도 4에 도시된 바와 같이 웹 애플리케이션 서버(200)내에 구비되는 것으로, 웹 애플리케이션 사용자가 전송한 입력 값(parameter)과 데이터베이스의 SQL 질의문 출력 결과 값에 대해, 개발자가 웹 화면상에서 유효성 검증과 서식변환 규칙을 등록한대로 해당 입출력 데이터 값의 유효성 검증 및 변환규칙 관리를 자동 실행시켜 출력하는 프레임워크(201)를 포함하여 구성된다.
본 발명은 도 4에 도시된 바와 같이 웹 애플리케이션 서버(200)내에 구비되는 것으로, 웹 애플리케이션 사용자가 전송한 입력 값(parameter)과 데이터베이스의 SQL 질의문 출력 결과 값에 대해, 개발자가 웹 화면상에서 유효성 검증과 서식변환 규칙을 등록한대로 해당 입출력 데이터 값의 유효성 검증 및 변환규칙 관리를 자동 실행시켜 출력하는 프레임워크(201)를 포함하여 구성된다.
삭제
프레임워크(201)는 도 4에 도시된 바와 같이 사용자 웹브라우저로부터 웹 애플리케이션 서버(200)로 전송되는 입력 및 조회 데이터에 대해, 검증규칙에 따라 데이터의 길이 및 형태(type) 등 유효성을 검증하고 암호화 및 변환 규칙에 따라 데이터에 대한 암호화 처리 및 서식(format) 변환을 수행하는 제1 서버모듈(110)과,
제1 서버모듈(110)에 의해 처리된 데이터를 전송받아 임시 저장하는 모델계층(113)과, 모델계층(113)에 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하여 그 처리된 결과를 데이터베이스(114)에 저장하고, 그 처리된 결과를 데이터베이스(114)에서 모델계층(113)으로 로드하여 저장하며 뷰를 통해 해당 사용자 웹브라우저로 전송하는 컨트롤러(111)와,
컨트롤러(111)의 기능제어하에 데이터베이스(114)에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 제2 서버모듈(115)과,
제1 서버모듈(110) 및 제2 서버모듈(115)이 수행하는 규칙을 사용자 웹브라우저로부터 입력받아 데이터베이스(114)에 저장하며, 컨트롤러(111)의 기능제어하에 데이터베이스(114)로부터 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플케이션 서버 내부의 캐시(cache)에 저장하는 제3 서버모듈(150)을 포함한다.
삭제
여기서, 상기 제3 서버모듈(150)의 기본 도메인구조의 타입은 날짜 형, 문자형, 숫자 형 및 식별번호 형 중 어느 하나를 사용하여 설정될 수 있다.
다음에는 상기와 같은 구성으로 된 본 발명시스템의 제어방법을 설명한다.
본 발명에 의한 방법은 도 5에 도시된 바와같이 크게 규칙등록과정과 입출력처리과정으로 구분할 수 있는데, 먼저, 상기 규칙등록과정에는 제3 서버모듈에 의해 구동되는 출력 데이터 도메인 관리화면에서 웹 애플리케이션 설정 파일에 정의된 데이터베이스들을 검색하여 해당 데이터베이스들의 메타정보를 검색하여 모든 테이블 정보를 조회한 후 그 마스터 정보를 도메인정보 테이블에 저장하는 제1 과정(S100)과;
상기 제1 과정(S100) 후 데이터베이스 테이블의 컬럼을 선택한 뒤 서식 변환 및 복호화, 감춤 처리의 규칙을 등록하는 제2 과정(S101)과;
상기 제2 과정(S101)의 웹 애플리케이션 사용자의 입력 값을 제어하는 제1 서버모듈을 통제할 수 있도록 데이터 관리자의 입력 데이터 도메인 관리화면에 웹 애플리케이션의 단위업무 기능들을 URL기준으로 등록시키는 제3 과정(S102)과;
상기 제3 과정(S102)의 입력 데이터 도메인 관리화면에서 URL 기준의 단위 업무기능의 입력 데이터 값에 대해 검증규칙과 변환 규칙을 등록하는 제4 과정(S103)으로 구성되고;
상기 입출력처리과정에는 도 5에 도시된 바와같이 상기 웹 애플리케이션이 기동될 때 상기 제1, 제2, 제3, 제4 과정(S100-1003)에서 등록된 검증 및 변환규칙 정보를 데이터베이스에서 읽어와 MVC 프레임워크 내부의 캐시(cache)에 저장하는 제5 과정(S200)과;
상기 제3 과정(S102)에서 URL이 등록된 경우 MVC 프레임워크에서 해당 URL에 해당하는 컨트롤러에 HTTP 요청이 도달하기 직전에 제1 서버모듈에서 해당 입력 값을 검증하는 전 처리를 수행하는 제6 과정(S201)과;
상기 제6 과정(201) 중에 제1 서버모듈에 의해 입력 값의 검증이 실패 혹은 성공되었는지를 확인하는 제7 과정(S202)과;
상기 제7 과정(S202)에 의해 입력 값의 검증이 실패하였을 경우 제1 서버모듈이 해당 URL이 입력 기능일 경우 검증에 통과하지 못한 값의 키와 실패이유정보를 담아 뷰 화면으로 응답하고, 검증실패가 조회 기능인 경우 처리실패 페이지로 이동하는 제8 과정(S203)과;
상기 제7 과정(S202)에 의해 입력 값의 검증이 성공하였을 경우 제1 서버모듈에 의해 검증된 데이터를 컨트롤러가 조합하여 모델 계층으로 전달하고 그 처리된 결과데이터를 뷰를 통해 해당 웹브라우저로 전송시키는 제9 과정(S204)과;
상기 제9 과정(S204) 중에 모델 계층이 데이터베이스에 접근하여 SQL 질의 문을 포함하여 데이터의 추가/수정/삭제/조회업무를 실행함으로서 업무기능을 처리하는 제10 과정(S205)과;
상기 제10 과정(S205) 후에 모델 계층과 연계된 제2 서버모듈이 웹 서버 메모리에 적재된 규칙 하에 SQL 질의 문이 수행되어 출력된 데이터 값의 형(object type) 변환, 서식(format) 변환, 복호화 및 감춤 처리(masking) 의 변환 작업을 수행하여 그 변환 값을 모델 계층으로 반환하는 제11 과정(S206)을 포함하여 구성된다.
한편, 상기 규칙등록과정을 좀 더 상세히 설명하면, 도 6에 도시된 바와같이
제1 서버모듈을 제어하기 위해 입력 데이터 도메인 관리화면에서 입력 값 유효성 검증 및 변환 규칙등록을 할 URL을 등록하는 제1단계(S100-1)와;
상기 제1 단계(S100-1)후에 해당 URL의 단위업무명, 조회/입력 기능 구분 값을 입력하는 제2 단계(S100-2)와;
상기 제2 단계(S100-2)후에 해당 URL에서 전송되는 입력 데이터 각 항목의 필수여부, 길이, 자료 형의 유효성 규칙을 등록하는 제3 단계(S100-3)와;
상기 제3 단계(S100-3)후에 입력 데이터 각 항목에 서식 변환여부와 변환규칙, 암호화 여부, 암호화 방식을 설정하여 입력하는 제4 단계(S100-4)와;
상기 제4 단계(S100-4)후에 제1 서버모듈이 등록된 규칙대로 동작하는 제5 단계(S100-5)와;
상기 제5 단계(S100-5)후에 제2 서버모듈을 제어하기 위해 출력 데이터 도메인 관리화면에서 애플리케이션과 관계된 데이터베이스를 선택하여 메타데이터 정보를 얻는 제6 단계(S100-6)과;
상기 제6 단계(S100-6)후에 입출력 데이터 규칙을 등록하고자 하는 데이터베이스를 선택하는 제7 단계(S100-7)와;
상기 제7 단계(S100-7)후에 선택된 데이터베이스에 존재하는 테이블 중 규칙을 등록하고자 하는 테이블을 선택하는 제8 단계(S100-8)와;
상기 제8 단계(S100-8)후에 테이블의 컬럼(column) 항목을 선택 후, 형 변환, 서식 변환, 복호화, 감춤 처리할 규칙을 등록하는 제9 단계(S100-9)와;
상기 제9 단계(S100-9)후에 데이터베이스의 도메인 출력 값 관리 테이블에 규칙을 저장하는 제10단계(S100-10)와;
상기 제10단계(S100-10)후에 제2 서버모듈이 등록된 규칙대로 동작하는 제11 단계(S100-11)을 포함하여 구성된다.
또한, 상기 입출력처리과정에는 도 7에 도시된 바와같이 데이터 입출력 도메인 규칙을 데이터베이스에서 가져온 뒤 캐시(cache)하여 서버 메모리에 적재하는 제1 단계(S200-1)와;
상기 제1 단계(S200-1)후에 웹 애플리케이션 사용자가 브라우저 상에서 조회 혹은 입력기능을 수행하는 제2 단계(S200-2)와;
상기 제2 단계(S200-2)후에 제1 서버모듈이 사용자가 요청한 URL에 해당하는 컨트롤러에 HTTP 요청이 도달하기 직전에 메모리에 적재된 입력규칙대로 사용자 입력 값을 검증하는 전 처리를 수행하는 제3 단계(S200-3)와;
상기 제3 단계(S200-3)후에 사용자의 입력값에 대한 검증이 성공하였는 지를 확인하는 제4 단계(S200-4)와;
상기 제4 단계(S200-4)중에 확인한 결과 사용자의 입력값에 대한 검증이 성공하였을 경우 변환 및 암호화 규칙대로 입력 값 변환 후 컨트롤러에 전달하는 제5 단계(S200-5)와;
상기 제5 단계(S200-5)후에 컨트롤러가 데이터 모델 계층으로 전달하는 제6 단계(S200-6)와;
상기 제6 단계(S200-6)후에 모델 계층이 데이터베이스에 접근하여 SQL 질의 문을 포함하여 데이터의 추가/수정/삭제/조회 등의 업무기능을 수행하는 제7 단계(S200-7)와;
상기 제7 단계(S200-7)후에 제2 서버모듈이 메모리에 적재된 출력규칙대로 최종적으로 SQL 질의 문이 처리되어 출력된 데이터 값을 형(object type) 변환, 서식(format) 변환, 복호화(decryption) 및 감춤(masking) 처리하여 반환하는 제8 단계(S200-8)와;
상기 제8 단계(S200-8)후에 모델 계층은 제2 서버모듈이 반환한 값을 토대로 다시 업무를 처리하고 컨트롤러로 전달하는 제9 단계(S200-9)와;
상기 제9 단계(S200-9)후에 컨트롤러는 그 처리된 결과 데이터를 뷰 계층을 통해 해당 웹 브라우저로 전송시키는 제10 단계(S200-10)와;
상기 제4 단계(S200-4)중에 확인한 결과 사용자의 입력값에 대한 검증이 실패하였을 경우 현재 입력화면에 있는 지를 확인하는 제11 단계(S200-11)와;
상기 제11 단계(S200-11)중에 확인한 결과 현재 입력화면에 있을 경우 검증 실패한 데이터 항목 정보를 담아 사용자에게 전송하는 제12단계(S200-12)와;
상기 제12단계(S200-12)후에 처리실패 페이지로 연결하여 사용자에 전송하는 제14 단계(S200-13)를 포함하여 구성된다.
여기서, 상기 제12 단계(S200-12)중에 확인한 결과 현재 입력화면이 아닐 경우 상기 제14 단계(S200-14)로 진행하여 해당 기능을 수행한다.
한편, 상기 본 발명의 방법을 좀 더 구체적으로 살펴보면, 상기 웹 애플리케이션 사용자(203)의 입력 값을 제어하는 제1 서버모듈(110)을 통제할 수 있도록 데이터 관리자(205)의 입출력 도메인 관리화면에서는 웹 애플리케이션의 단위업무 기능들을 URL을 기준으로 등록한다. 이때, 상기 입출력 도메인 관리화면에서 URL 등록 시에는 상기 URL을 지정하고 업무 명칭을 입력한 뒤 조회기능인지 입력기능인지 구분하여 체크한다.
또한 상기 입력이 조회기능인 경우 검증기 제어 구분 값을 '해제'로 설정할 경우 검증 및 변환의 작동을 중지시킬 수 있다.
더 나아가, 상기 해당 URL에서 전송받을 데이터 항목의 명칭(key)를 등록하고 항목 값(value)의 필수여부, 길이범위, 유효한 자료 형, 필수여부, 변환할 서식형태, 암호화 여부 및 암호화 방식을 지정한다.
따라서, 상기와 같은 방식으로 URL을 등록하면 MVC 프레임워크(201)에서 해당 URL에 해당하는 컨트롤러(111)에 HTTP 요청이 도달하기 직전에 제1 서버모듈(110)에서 해당 입력 값을 검증하는 전 처리를 수행하게 된다.
그러나, 상기 제1 서버모듈(110)에서 입력 값의 유효 검증에 실패한 경우 제1 서버모듈(110)에서는, 해당 URL이 입력 기능인 경우, 검증에 통과하지 못한 값의 키와 실패한 이유의 정보를 담아 곧바로 뷰(116) 화면으로 응답하며, 사용자(203)는 화면에 표시될 이 정보를 토대로 입력화면에서 잘못 입력한 항목이 어느 부분이며 왜 잘못되었는지 파악할 수 있다.
그리고, 상기 과정에서 검증이 실패 한 기능이 조회 기능인 경우에, 입력 값은 사용자가 만들어서 보낸 값이 아니고 프로그램 상에서 조합되어 자동 전송된 값이므로, 처리실패 페이지로 이동하도록 한다.
한편, 상기 제1 서버모듈(110)에서 입력 값의 검증에 성공했다면 제1 서버모듈(110)은 서식변환 규칙이 정의된 항목에 대해 변환을 수행한 뒤 컨트롤러(111)로 입력 값을 넘긴다. 그러면, 상기 컨트롤러(111)는 검증된 해당 입력 값을 모델 계층(113)으로 넘겨 다음 프로세스가 진행되도록 처리한다. 그러면, 상기 모델 계층(113)은 상기 컨트롤러(111)의 제어명령에 따라 데이터베이스(114)에 접근하여 SQL 질의 문을 포함하여 데이터의 추가/수정/삭제/조회업무를 실행하므로 업무기능을 처리한다.
그리고, 본 발명의 제2 서버모듈(115)은 데이터베이스(114)의 SQL 질의 문의 출력결과 항목 값을 앞서의 제1 서버모듈(110)에서와 같이 형태(object type) 변환, 서식(format) 변환, 복호화(decryption) 및 감춤(masking) 처리를, 관리자 화면에서 지정한 규칙에 따라 변환하여 출력한다. 따라서 상기 관리자(205)는 이와 같은 형 변환, 서식변환, 복호화 등의 작업에 불필요한 공수를 들일 필요가 없기 때문에 순수 업무 프로세스 개발에 전념할 수 있고 애플리케이션 개발시간을 단축시킬 수 있고 관리의 효율성을 가져온다.
이때, 상기와 같이 데이터베이스(114)의 출력 값을 제어하는 제2 서버모듈(115)을 제어하기 위해서 제3 서버모듈(150)은 먼저 웹 애플리케이션 설정 파일에 정의된 값을 토대로 연계된 데이터베이스(114)들을 조회할 수 있다.
여기서, 상기 데이터 관리자(205)는 대상 데이터베이스를 선택하여'조회 및 갱신' 버튼을 누르게 되는데, 이렇게 하면 제3 서버모듈(150)에서는 제2 서버모듈(115)을 통해 데이터베이스(114)의 메타정보를 검색하여 모든 테이블 정보를 조회한 뒤 그 마스터 정보를 도메인정보 테이블에 저장한다.
상기와 같이 메타정보를 조회할 경우 그 조회된 데이터베이스 메타정보에는 테이블 명과 문자 셋(character set), 테이블 하위 개체로서 컬럼 명(column name), 길이(size), 자료 형(type), 제약조건(constraints) 및 주석(comment)들의 정보를 가져오는데 보다 더 자세하게 보면, 데이터 형으로는 기본적으로 문자, 숫자, 날짜 형이 있으며 제약조건으로는 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT VALUE가 있다.
상기 메타정보조회단계에서 저장되거나 갱신된 테이블 마스터 정보로 테이블 목록이 화면(204)에서 조회되면, 관리자(205)는 출력 값 관리를 하고자 하는 테이블을 선택한다. 앞서 제1 서버모듈(110)의 검증 및 변환 규칙을 지정했던 것과 같은 방식으로 항목 값의 키, 변환할 서식규칙, 복호화 여부, 숨김 처리 여부를 지정한다.
앞서 URL기반으로 입력 값 규칙을 지정하고 그 URL에서 처리하는 업무와 관련된 모든 테이블의 출력 값 규칙을 지정하면 1개 단위 업무 기능의 입출력 데이터 도메인 관리가 완성된다.
상기 제3 서버모듈(150)에서의 입력 값 검증 규칙 중 형(type)은
1) 모든 문자 : 모든 문자 2) 문자형 : 특수문자를 제외한 모든 문자 3) 영ㅇ숫자형 : 영문과 숫자만을 허용 4) 한ㅇ숫자형 : 한글과 숫자만을 허용 5) 영ㅇ한형 : 영문과 한글만을 허용 6) 숫자형 : 숫자만을 허용 7) 금액 : 통화 문자(\)와 콤마 및 숫자를 허용 8) 날짜형 : 'yyyymmdd', 'yyyy/mm/dd', 'yyyy-mm-dd', 'yyyy.mm.dd', 'yyyymm'와 같이 6~8자리 숫자와 지정된 구분기호가 있는 형태 9) 코드 : 지정한 코드 값 중에 존재하는 값이어야만 함 10) 기타(식별번호 형) : 주민번호, 전화번호, 비밀번호 중 선택 |
와 같이 상세하게 나열될 수 있으며,
또한 입력 값 변환 규칙은
1) 날짜양식 : 숫자만으로 된 날짜나 'yyyymmdd', 'yyyy/mm/dd', 'yyyy-mm-dd', 'yyyy.mm.dd', 'yyyymm'등의 양식으로 지정된 날짜를 업무에 쓰이는 양식대로 다시 'yyyymmdd', 'yyyy/mm/dd', 'yyyy-mm-dd', 'yyyy.mm.dd', 'yyyymm'로 변환 2) 금액->숫자 : 통화 문자(\)와 천 단위로 콤마가 찍힌 숫자에서 숫자만 추출 3) 숫자->금액 : 단순 숫자를 통화 문자(\)와 천 단위로 콤마가 찍힌 숫자로 변환. 통화 문자는 옵션으로 선택. 4) 정규식 : 관리자가 지정한 정규식의 규칙대로 데이터 변환 5) 암호화 : 3DES, AES, RSA 등의 암호화 규칙 지정 |
과 같이 지정할 수 있다.
한편, 상기 과정을 이해하기 쉽게 변환규칙의 지정 예를 들면, 만약 규칙을 부여할 단위 기능이 판매상품과 관련되었다면 사용자 전송 값 항목의 키는 "PROD_AMT", 필수여부 "필수", 자료 형은 "숫자", 최소길이 "3", 최대길이 "9", 변환 규칙은 "금액 - 통화단위 포함", 암호화 여부 "N"과 같이 설정한다. 이렇게 하면 사용자가 입력 전송한 값(parameter)의 키가 "PROD_AMT"인 항목에 대해, 먼저 필수 항목 검증을 수행하여 값이 넘어왔는지 체크하고, 형태를 "숫자"로 지정했기 때문에 그 값이 숫자만으로 이루어졌는지 검증하고, 그 문자열의 길이가 3에서 9사이인지 검증한다. 마지막으로 변환규칙에서 "금액 - 통화단위 포함"이 적용되어 단순히 숫자로만 보내진 값은 통화 단위 및 천 단위 콤마가 찍혀진 문자열로 변환되게 된다. 만약 입력이 "10000"인 값은 "\10,000"으로 변환되는 것이다.
그다음, 상기한 상품을 조회하는 화면의 경우 애플리케이션에서는 SQL 질의 문으로 등록된 상품정보를 조회할 것이다. "SELECT PROD_AMT FROM PROD_TABLE"와 같은 질의 문으로 상품 값을 조회하게 된다.
상기 "PROD_TABLE" 테이블에 대해 출력 규칙을 등록하는 경우 그 테이블의 메타정보는 이미 앞서 "조회 및 갱신" 버튼을 눌러 데이터 제3 서버모듈(150)과 연계된 마스터테이블에 저장되어있는 상태이므로 관리자(205)는 화면상에서 테이블 항목들을 조회할 수 있으며 그 중 "PROD_TABLE"을 선택한다. 상기 테이블 컬럼 항목이 화면에 표시되며 관리자(205)는 컬럼 항목 중 "PROD_AMT"에 변환 규칙을 지정하는데 화면상에 "PROD_AMT"의 자료 형은 "number"로 표시되어 있게 되는데, 그 옆에 표시된 변환 규칙 콤보박스(combo box)를 "없음"에서 "금액"으로 변환하고, 그 옆의 통화단위 표기여부 체크박스(check box)에 체크하되, 복호화 여부는 체크하지 않는다.
이렇게 지정하면 "PROD_TABLE"을 참조하는 모든 SQL 질의 문에서 출력 된 '10000'의 값은 상기한 설정에 따라 '\10,000'으로 변환되어 데이터베이스 접근 계층(113)으로 반환되게 된다.
이렇게 SQL 질의 문 결과가 변조된 값은 화면에 변환되어 출력되기 때문에, 제3 서버모듈(150)에서 변환규칙이나 정규식 규칙을 변환하면 화면에서는 소스코드의 변환 없이도 그 변환사항이 즉시 반영된다.
따라서 상기와 같은 본 발명에 의하면, 데이터베이스 SQL 질의 문의 출력결과 항목 값을 앞서와 같이 형태(object type) 변환, 서식(format) 변환, 복호화(decryption) 및 감춤(masking) 처리를, 관리자 화면에서 지정한 규칙에 따라 변환하여 출력되기 때문에 개발자는 이와 같은 형 변환, 서식변환, 복호화 등의 작업에 불필요한 공수를 들일 필요가 없어, 순수 업무 프로세스 개발에 전념할 수 있고 애플리케이션 개발시간을 단축시킬 수 있고 관리의 효율성을 가져오는 장점이 있다.
또한, 상기와 같은 본 발명은 제1 내지 제3 모듈 등에 의하여 웹 애플리케이션의 입출력 데이터 도메인 규칙을 한 곳에서 일괄적이며 효율적인 방식으로 자동화 관리될 수 있기 때문에 데이터 도메인 규칙의 관리가 데이터설계자나 서버관리 담당자들에 의해 체계적으로 관리될 수 있어 업무분담의 효율성이 높으며, 웹 애플리케이션 개발생산성 및 운영효율성이 향상된다.
더 나아가, 본 발명에 의하면, 입출력 데이터의 형태나 서식을 변환할 필요가 있을 경우에 도메인 관리화면에서 검증규칙, 변환 규칙을 추가하거나 변환만 하면 되기 때문에 일일이 웹 애플리케이션 소스코드를 수정하여 반영하지 않고도 이러한 요건을 적용할 수 있으므로 그에 따라 웹 애플리케이션 서버(WAS)를 재 시작하는 경우가 최소화되기 때문에 유지보수성도 매우 증대된다.
Claims (11)
- 삭제
- 웹 애플케이션 서버의 프레임워크에 포함되며, 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템에 있어서,
사용자 웹브라우저로부터 웹 애플리케이션 서버로 전송되는 데이터에 대해, 검증규칙에 따라 상기 데이터의 길이 및 형태(type) 등 유효성을 검증하고 암호화 및 변환 규칙에 따라 상기 데이터에 대한 암호화 처리 및 서식(format) 변환을 수행하는 제1 서버모듈;
상기 제1 서버모듈에 의해 처리된 데이터를 전송받아 임시 저장하는 모델계층;
상기 모델계층에 저장된 데이터에 대해, SQL 질의문을 통해서 데이터의 추가/수정/삭제/조회를 처리하여 그 처리된 결과를 데이터베이스에 저장하고, 그 처리된 결과를 상기 데이터베이스에서 상기 모델계층으로 로드하여 저장하며 뷰를 통해 해당 사용자 웹브라우저로 전송하는 컨트롤러;
상기 컨트롤러의 기능제어하에 상기 데이터베이스에서 출력되는 데이터에 대해, 데이터 출력 규칙에 따라 형태(object type) 변환, 서식(format) 변환, 복호화 변환, 또는 감춤 처리(masking) 변환 중 적어도 어느 하나를 수행하는 제2 서버모듈; 및
상기 제1 서버모듈 및 제2 서버모듈이 수행하는 규칙을 사용자 웹브라우저로부터 입력받아 상기 데이터베이스에 저장하며, 상기 컨트롤러의 기능제어하에 상기 데이터베이스로부터 검증규칙, 암호화 및 변환 규칙 및 데이터 출력 규칙을 읽어들여 웹 애플케이션 서버 내부의 캐시(cache)에 저장하는 제3 서버모듈;
을 포함하는 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템. - 제 2 항에 있어서, 상기 제3 서버모듈에서 사용되는 데이터베이스의 기본 도메인구조의 타입은 날짜 형, 문자형, 숫자 형 및 식별번호 형 중 어느 하나를 사용하여 설정되는 것을 특징으로 하는 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110006856A KR101108534B1 (ko) | 2011-01-24 | 2011-01-24 | 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110006856A KR101108534B1 (ko) | 2011-01-24 | 2011-01-24 | 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101108534B1 true KR101108534B1 (ko) | 2012-01-30 |
Family
ID=45614636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110006856A KR101108534B1 (ko) | 2011-01-24 | 2011-01-24 | 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101108534B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101394420B1 (ko) * | 2012-06-14 | 2014-05-13 | (주)아이비즈소프트웨어 | 멀티 프레임워크 지원 방법과, 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 |
KR101442973B1 (ko) * | 2013-04-24 | 2014-09-23 | 주식회사 맑은소프트 | 웹 어플리케이션 프레임워크 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 매체 |
CN112596819A (zh) * | 2020-12-30 | 2021-04-02 | 北京中友科技有限公司 | 一种新型的系统开发图形化配置工具 |
CN113297157A (zh) * | 2020-02-24 | 2021-08-24 | 长鑫存储技术有限公司 | 机台文件处理方法及处理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005055951A (ja) | 2003-08-04 | 2005-03-03 | Canon Software Inc | プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 |
KR100784476B1 (ko) | 2007-05-22 | 2007-12-11 | (주)비전소프트 | 웹 애플리케이션 구축 장치 및 그 방법 |
JP2010073093A (ja) | 2008-09-22 | 2010-04-02 | Toshiba Corp | リッチクライアント型Webアプリケーションシステム、構築用フレームワークおよび構築方法 |
JP2010277602A (ja) | 2010-08-11 | 2010-12-09 | Fujitsu Ltd | 表示画面構成装置 |
-
2011
- 2011-01-24 KR KR1020110006856A patent/KR101108534B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005055951A (ja) | 2003-08-04 | 2005-03-03 | Canon Software Inc | プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 |
KR100784476B1 (ko) | 2007-05-22 | 2007-12-11 | (주)비전소프트 | 웹 애플리케이션 구축 장치 및 그 방법 |
JP2010073093A (ja) | 2008-09-22 | 2010-04-02 | Toshiba Corp | リッチクライアント型Webアプリケーションシステム、構築用フレームワークおよび構築方法 |
JP2010277602A (ja) | 2010-08-11 | 2010-12-09 | Fujitsu Ltd | 表示画面構成装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101394420B1 (ko) * | 2012-06-14 | 2014-05-13 | (주)아이비즈소프트웨어 | 멀티 프레임워크 지원 방법과, 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 |
KR101442973B1 (ko) * | 2013-04-24 | 2014-09-23 | 주식회사 맑은소프트 | 웹 어플리케이션 프레임워크 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 매체 |
CN113297157A (zh) * | 2020-02-24 | 2021-08-24 | 长鑫存储技术有限公司 | 机台文件处理方法及处理系统 |
CN113297157B (zh) * | 2020-02-24 | 2024-06-07 | 长鑫存储技术有限公司 | 机台文件处理方法及处理系统 |
CN112596819A (zh) * | 2020-12-30 | 2021-04-02 | 北京中友科技有限公司 | 一种新型的系统开发图形化配置工具 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102229B2 (en) | Validating data integrations using a secondary data store | |
US8065323B2 (en) | Offline validation of data in a database system for foreign key constraints | |
US8433673B2 (en) | System and method for supporting data warehouse metadata extension using an extender | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
US8918447B2 (en) | Methods, apparatus, systems and computer readable mediums for use in sharing information between entities | |
US20070143339A1 (en) | Architecture for a smart enterprise framework and methods thereof | |
US20200311095A1 (en) | System and method for automated source code generation for database conversion | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
US10089371B2 (en) | Extensible extract, transform and load (ETL) framework | |
US9766869B2 (en) | Parameterized installation packages | |
US20200117745A1 (en) | Dynamic data movement using application relationships with encryption keys in different environments | |
US11550785B2 (en) | Bidirectional mapping of hierarchical data to database object types | |
TW201439792A (zh) | 資料庫訪問系統及方法 | |
CN106649457A (zh) | 基于对象关系映射技术的数据处理框架 | |
KR101108534B1 (ko) | 도메인 규칙에 기반한 웹 애플리케이션 입력 값 유효성 검증 및 변환, 데이터베이스 출력 값 변환 관리 자동화 시스템 및 그 제어방법 | |
US20140114916A1 (en) | Code generation and implementation method, system, and storage medium for delivering bidirectional data aggregation and updates | |
US20220245125A1 (en) | Dataset multiplexer for data processing system | |
JP6588988B2 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
CN116719735A (zh) | 一种测试用例生成方法及装置 | |
EP3035212B1 (en) | Transparent database table replacement | |
US20200125569A1 (en) | Method and system to implement sql macros | |
JP5237030B2 (ja) | ソフトウェア開発支援プログラム、ソフトウェア開発支援装置およびソフトウェア開発支援方法 | |
CN113760949B (zh) | 数据查询的方法和装置 | |
Diaz et al. | Orchestrate data with azure data factory | |
Herceg | Migrating Data Access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E801 | Decision on dismissal of amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150205 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160328 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170103 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190114 Year of fee payment: 8 |