티스토리 뷰
시스템 인터페이스 설계서
: 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
- 시스템 인터페이스 목록 + 시스템 인터페이스 정의서
시스템 인터페이스 정의서 주요 항목
인터페이스 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 커널이 자체적으로 암복호화 기능을 수행하는 방식
'🚀 What I Studied > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 8단원 '서버 프로그램 구현' 정리 (0) | 2022.10.06 |
---|---|
[정보처리기사] 실기 7단원 'SQL 응용' 정리 (0) | 2022.10.05 |
[정보처리기사] 실기 4단원 '통합 구현' 정리 (0) | 2022.10.03 |
[정보처리기사] 실기 3단원 '데이터 입출력 구현' 정리 (0) | 2022.09.28 |
[정보처리기사] 실기 2단원 '화면 설계' 정리 (0) | 2022.09.27 |