1. 인터페이스 설계 확인
인터페이스 설계서
- 이기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
- 시스템의 인터페이스 현황 파악을 위해서 인터페이스 목록 및 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서
시스템 인터페이스 설계서는 시스템 인터페이스 목록과 시스템 인터페이스 정의서(인터페이스 id별 별개 정의서)로 구성된다.
인터페이스 데이터 표준 확인 절차
1. 데이터 인터페이스 입/출력 의미 파악
- 식별된 데이터 인터페이스의 입력값, 출력 값이 의미하는 내용을 파악하고, 각 출력 값이 의미하는 바와 데이터의 특성 등 참고할 만한 사항을 구체적으로 작성
2. 데이터 인터페이스 입/출력 의미 파악을 통한 데이터 표준 확인
- 데이터 인터페이스의 각 항목의 의미 분석 후, 이를 기반으로 데이터 표준 확인
3. 인터페이스 데이터 항목 식별
- 식별된 인터페이스 기능을 통해 인터페이스 데이터 항목을 식별
4. 데이터 표준 최종 확인
- 식별된 인터페이스 기능 및 데이터 항목을 통해 필요한 데이터 표준 및 조정해야 할 항목을 검토 및 확인
- 송/수신 시스템 간 인터페이스 데이터 표준을 최종적으로 확인
2. 인터페이스 기능 구현
인터페이스 기능 구현 기술
1. JSON(Javascript Object Notation)
- 속성-값(Attribute-Value Pair) 쌍 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
- AJAX에서 많이 사용되고, XML을 대체하는 주요 데이터 포맷
- 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용됨
- 사람이 읽고 쓰기 용이하며, 기계가 분석하고 생성하기 용이함
2. XML(Extensible Markup Language)
- HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
- 송/수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의
- 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어
4. AJAX(Asynchronous Javascript And XML)
- 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
- 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법
- 하이퍼텍스트 표기 언어(HTML)만으로는 어려운 다양한 작업을 웹 페이지에서 구현해서 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 구현하는 기법
5. REST(Representional State Transfer)
- 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처
- 크게 리소스(자원), 메서드(처리), 메시지 3가지 요소로 구성된다.
인터페이스 구현 방법에는 데이터 통신을 사용하여 인터페이스를 구현하는 방법, 인터페이스 개체를 사용하여 인터페이스를 구현하는 방법이 있다.
데이터베이스 암호화 알고리즘의 종류
1. 대칭 키 암호화 알고리즘
- 암/복호화에 같은 암호 키를 쓰는 알고리즘
- ARIA 128/192/256, SEED
2. 비대칭 키 암호화 알고리즘
- 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록 공캐 키와 비밀키를 사용하는 알고리즘
- RSA, ECC, ECDSA
3. 해시 암호화 알고리즘
- 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
- SHA-256/384/512, HAS-160
데이터베이스 암호화 기법
API 방식
- 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식
- 애플리케이션 서버에 암/복호화, 정책 관리, 키 관리 등의 부하 발생
Plug-in 방식
- 암/복호화 모듈이 DB 서버에 설치된 방식
- DB 서버에 암/복호화, 정책 관리, 키 관리 등에 부하 발생
3. 인터페이스 구현 검증
인터페이스 구현 검증 도구
xUnit
- 자바, C++, .Net등 다양한 언어를 지원하는 단위 테스트 프레임워크
- 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트할 수 있게 해주는 도구
STAF
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구
FitNesse
- 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대해 테스트를 할 수 있는 장점
NTAF
- FitNesse의 장점이 협업 기능과 STAF의 재사용/확장성을 통합한 NHN의 테스트 자동화 프레임워크
Selenium
- 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 도구를 제공
watir
- 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크
- 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅
스니핑(Sniffing)
- 공격 대상에게 직접적으로 공격하지 않고 데이터만 몰래 들여다보는 수동적 공격형태
IPSec(IP Security)
- IP 계층에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜
- 동작 모드로 전송(Transfer) 모드와 터널(Tunnel) 모드가 있다.
- 주요 프로토콜로 AH, ESP, IKE(키 교환)이 있고, IPSec 정책에는 SPD, SAD가 있다.
'개발 > 자격증 공부' 카테고리의 다른 글
정보처리기사 오답 정리(12. 서버 프로그램 구현) (0) | 2023.01.06 |
---|---|
정보처리기사 오답 정리(11. SQL 응용) (0) | 2023.01.04 |
정보처리기사 오답 정리(9. 내외부 연계 모듈 구현) (0) | 2022.12.31 |
정보처리기사 오답 정리(8. 연계 데이터) (0) | 2022.12.29 |
정보처리기사 오답 정리(7. DB 기초 활용) (0) | 2022.12.27 |