티스토리 뷰

시스템 인터페이스 설계서

: 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서

- 시스템 인터페이스 목록 + 시스템 인터페이스 정의서

 

 

 

시스템 인터페이스 정의서 주요 항목

인터페이스 ID 인터페이스를 구분하기 위한 식별자
인터페이스 명 해당 인터페이스를 나타내는 고유 명칭
오퍼레이션 명 해당 인터페이스의 세부 동작 명칭
오퍼레이션 개요 세부 동작 프로세스에 대한 세부 설명
사전 조건 사전에 완료되어야 하는 조건 기술
사후 조건 세부 동작이 정상적으로 작동된 이후에 발생되는 조건 기술
파라미터 인터페이스 구성 항목 값
반환 값 인터페이스 전송 후 반환되는 값

 

 

 

인터페이스 구현

(1) 데이터 통신을 사용하는 인터페이스 구현

 인터페이스 객체 생성 구현  인터페이스 객체를 생성하기 위해서 데이터베이스에 있는 정보를 SQL을 통해 선택한 후 이를 JSON으로 생성
인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환받도록 구현 - 송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용해 수신 측에 송신
- 수신 측에서는 제이슨 인터페이스 객체를 수신받고 이를 파싱 후 처리
- 수신 측의 처리 결과 값은 송신 측에 TRUE / FALSE 값을 전달하여 인터페이스 성공 여부를 확인 전달

 

(2) 인터페이스 개체(Entity)를 사용하는 인터페이스 구현

송신 시스템의 인터페이스 테이블 - 송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목구현
- 프로시저, 트리거, 배치 작업 등의 방법을 통해서 수신 테이블로 데이터를 전송하도록 구현
수신 시스템의 인터페이스 테이블 - 수신 관련 정보를 관리하기 위한 항복과 수신 시스템에서 필요한 항목구현

프로시저(Procedure)

: SQL를 이용해 생성된 데이터를 조작하는 프로그램으로 데이터 베이스 내부에 저장되고 일정한 조건이 되면 자동으로 수행된다.

 

트리거(Trigger)

: 특정 테이블에 삽입, 수정, 삭제 등의 변경 이벤트 발생 시 DBMS에서 자동 실행 되도록 구현된 프로그램

 

배치 작업(Batch Job)

: 실시간 작업의 반대 개념으로 일련의 작업을 하나의 작업 단위로 묶어서 일괄로 처리하는 작업

 

 

인터페이스 구현 검증 도구

xUnit - 자바(jUnit), C++(cppUnit), .Net(nUnit) 등 다양한 언어를 지원하는 단위테스트 프레임워크
- 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소를 테스트할 수 있게 해주는 도구
STAF - 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- 갹 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구
FitNesse - 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트 가능
NTAF FitNesse의 장점이 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합NHN(Naver)의 테스트자동화 프레임워크
Selenium - 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구 제공
waitr - 루비(Ruby)기반 웹 애플리케이션 테스트 프레임워크
- 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

 

 

 

인터페이스 기능 구현 기술

(1) JSON(Javascript Object Notation)

: 속성 - 값 (attribute-value pair) 쌍 또는 '키-값 쌍'으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

 

JSON 표현 자료형

숫자 (number) 정수, 실수로 표현
문자열 (string) 항상 큰 따옴표로 묶어야 하며, 그 안에는 유니코드 문자들이 나열
배열 (array) 대괄호[ ]로 표시, 순서에 의미가 있음
객체 (object) 이름/값 쌍의 집합으로, 중괄호 { } 사용

 

 

(2) XML(Extensible markup language)

: HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어

 

 

(3) AJAX(Asynchronous Javascript And XML)

: 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술

 

AJAX의 주요 기술

XMLHttpRequest - 웹 브라우저와 웹 서버 간에 매서드가 데이터를 전송하는 객체 폼의
API
- 비동기 통신을 담당하는 자바스크립트 객체
JavaScript 객체 기반의 스크립트 프로그래밍 언어
XML HTML의 단점을 보완한 인터넷 언어로서 SQML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
DOM(Document Object Model) - XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
- 플랫폼/언어 중림적으로 구조화된 문서를 표현하는 객체 지향 모델
XSLT W3C에서 제정한 표준으로 XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어로 탐색을 위해XPath를 사용하는 기술 요소
HTML 인터넷 웹 문서를 표현하는 표준화된 마크업 언어
CSS 마크업 언어가 실제 표시되는 방법을 기술하는 언어

 

 

(4) REST(Representational State Transfer)

: 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 매서드로 주고받는 웹 아키텍처

 

- REST의 3가지 요소

: 리소스(자원), 매서드(처리), 메시지

 

 

 

중요 인터페이스 데이터의 암호화 전송 보안 기술

IPSec(IP Security) IP 계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜
SSL / TLS 전송계층(4계층)응용계층(7계층) 사이에서 클라이언트와 서버 간웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
S-HTTP 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송 

 

 

 

스니핑

: 공격 대상에게 직접적으로 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법

 

 

 

데이터베이스 암호화 알고리즘

(1) 대칭 키 암호화 알고리즘

: 암호화 알고리즘의 한 종류로, 암/복호화에 같은 암호 키를 쓰는 알고리즘을 의미

ex) ARIA 128/192/256, SEED

 

(2) 비대칭 키 암호화 알고리즘

: 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘

ex) RSA, ECC, ECDSA

 

(3) 해시 암호화 알고리즘

: 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘

ex) SHA-256/384/512, HAS-160

 

 

 

인터페이스 감시 도구

스카우터(SCOUTER) 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 가능, 인터페이스 감시 기능을 제공
제니퍼(Jennifer) 에플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어

 

 

인터페이스 절차

:  인터페이스 데이터 전송 -> 인터페이스 데이터 수신 -> 인터페이스 데이터 검증 -> 후속 기능 수행

 

API 방식 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식으로 애필리케이션 서버에 암/복호화, 정책 관리, 키 관리등의 무한 열정
Plug-In 방식 DB 레벨의 확장성 프로시저 기능을 이용

 

 

인터페이스 오류 처리 방법 (화로테)

1. 사용자 화면에서 오류를 인지하도록 구현

2. 인터페이스 오류 로그 생성

3. 인터페이스 관련 테이블에 오류 사항 기록

 

 

TDE (Transparent Data Encryption)

: DB서버의 DBMS 커널이 자체적으로 암복호화 기능을 수행하는 방식

 

 

~ 해당 포스팅은 업데이트 중 ~

 

댓글
최근에 올라온 글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday