1. 인터페이스 설계서 확인하기
인터페이스 설계서
-
개요 : 시스템 사이의 데이터 교환 및 처리를 위해 교환 데이터 및 관련 업무, 송·수신 시스템 등에 대한 내용을 정의한 문서
-
종류
-
시스템 인터페이스 설계서 : 시스템 인터페이스 목록을 만들고 각 인터페이스 목록에 대한 상세 데이터 명세를 정의
-
상세 기능별 인터페이스 명세서 : 각 기능의 세부 인터페이스 정보를 정의한 문서
-
정적·동적 모형을 통한 인터페이스 설계서 : 시스템의 구성 요소를 표현한 다이어그램을 이용하여 만든 문서
-
데이터 정의를 통한 인터페이스 설계서 : 제공하는 인터페이스 서비스에 대한 상세 명세를 표현하는 산출물
-
내외부 모듈 연계
- EAI(Enterprise Application Integration)
- 개요 : 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합 솔루션
- 구축 유형
유형 | 개념도 | 설명 | 특징 |
Point-to-Point | ![]() |
중간에 미들웨어를 두지 않고 각 애플리케이션 간 Point to Point 형태로 연결 | 솔루션 구매 없이 통합 |
상대적으로 저렴하게 통합 가능 | |||
변경, 재사용 어려움 | |||
Hub&Spoke | ![]() |
단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식 | 모든 데이터 전송 보장 |
확장, 유지 보수 용이 | |||
허브 장애 시 전체 영향 | |||
Message Bus (ESB 방식) |
![]() |
애플리케이션 사이에 미들웨어(버스)를 두어 처리 | 어댑터가 각 시스템과 버스를 두어 연결하므로 뛰어난 확장성, 대용량 처리 가능 |
미들웨어를 통한 통합 | |||
Hybrid | ![]() |
그룹 내에는 Hub&Spoke 방식, 그룹 간에는 Message Bus 방식을 사용 | 표준 통합 기술, 데이터 병목 현상 최소화 |
- ESB(Enterprise Service Bus)
- 개요 : 애플리케이션 간 표준 기반의 인터페이스를 제공하는 솔루션, EAI와 유사하지만 서비스 중심의 통합을 지향
- 구성

인터페이스 데이터 표준
-
개요 : 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화 하는 것
-
확인 순서
-
데이터 인터페이스 확인 : 입·출력 값의 의미와 데이터의 특성 등을 구체적으로 확인
-
인터페이스 기능 확인 : 인터페이스 기능 구현을 위해 필요한 데이터 항목을 확인
-
인터페이스 데이터 표준 확인 : 데이터 표준과 데이터 항목들을 검토하여 최족적으로 확인
-
2. 인터페이스 기능 구현하기
인터페이스 구현
-
데이터 통신을 통한 구현 : 인터페이스 형식에 맞춘 데이터 포맷을 전송하고 수신 측에서 파싱하여 해석
-
JSON(JavaScript Object Notation) : 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위한 개방형 표준 포맷
-
XML(eXtensible Markup Language) : 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
-
-
인터페이스 엔티티를 통한 구현 : 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계
인터페이스 예외 처리
-
데이터 통신을 이용한 예외 처리 : 객체를 이용해 구현한 인터페이스 동작이 실패할 경우를 대비
-
송신 실패 시 예외 처리
-
예외 상황 | 예외 처리 방안 |
네트워크 불안정 | 네트워크 또는 서버 상태를 확인 |
송신 데이터 크기, 데이터 정합성 체크 오류 |
사전에 데이터를 정제 |
송신 시 데이터 크기 및 정합성을 체크하는 기능을 추가 | |
송신 데이터 생성 시 프로세스의 논리적 결함 |
논리적 결함을 수정 |
충분한 테스트를 통해 사전 예방 |
-
수신 실패 시 예외 처리
예외 상황 | 예외 처리 방안 |
네트워크 및 서버 불안정 | 입력 대기 큐에 요청을 적재하여 순차적 처리 |
파싱 시 오류 발생 | 파싱 시 오류가 발생하지 않는 문자로 우선 대치 후 다시 처리 |
수신 데이터 처리 시 프로그램의 논리적 결함 |
논리적 결함을 수정 |
충분한 테스트를 통해 사전 예방 | |
예외사항이 수신 되지 않도록 송신 측 프로그램을 수정 |
-
인터페이스 엔티티를 이용한 예외 처리 : 인터페이스의 실패 상황과 원인 등을 기록하고, 관리자에게 알려주는 방식
-
송신 인터페이스 기능 실패 시 예외 처리
-
예외 상황 | 예외 처리 방안 |
- 선택 SQL, 프로그램 오류 - 데이터 객체 생성 오류 |
사용자에게 알람을 통해 알림 |
재발 방지를 위해 프로그램을 개선 | |
- 입력 SQL 오류 - 데이터 정합성 오류 |
인터페이스 실패 결과와 원인을 인터페이스 테이블에 기록 |
입력 실패 결과를 사용자에게 알림 | |
- DB Connection 오류 - 전송 주체의 논리적 오류 |
인터페이스 실패 결과와 원인을 인터페이스 테이블에 기록 |
인터페이스 실패 결과를 사용자와 관리자에게 이메일 등으로 전송 |
-
수신 인터페이스 기능 실패 시 예외 처리
예외 상황 | 예외 처리 방안 |
- 데이터 선택 시 오류 - 데이터 트랜잭션 시 프로그램의 논리상 오류 |
사용자에게 예외사항을 알림 |
인터페이스 테이블에 예외사항을 기록 | |
재발 방지를 위해 프로그램을 개선 | |
DB Connection 오류 | 인터페이스 테이블에 예외사항을 기록 |
송·수신자에게 이메일 등으로 예외사항을 알림 |
인터페이스 보안
- 개요 : 보안성 향상을 위해 보안 취작점을 분석한 후 적절한 보안 기능을 적용
- 보안 취약점 분석 : 인터페이스 기능이 수행되는 각 구간들을 확인하고, 어떤 보안 취약점이 있는지를 분석
- 보안 기능 적용
영역 | 설명 |
네트워크 영역 |
송·수신 간 스니핑(Sniffing) 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 암호화 설정 |
암호화는 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용 | |
애플리케이션 영역 | 소프트웨어 개발 보안 가이드(시큐어 코딩 : Secure Coding)를 참조하여 코드 상의 보안 취약점을 보완 |
데이터베이스 영역 |
데이터베이스, 스키마, 엔티티의 접근 권한과 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용 |
보안 기법은 API방식(App 레벨)과 Fiter(Plug-in) 방식(DB 레벨), Hybrid 방식 등의 방식을 적용 |
3. 인터페이스 구현 검증하기
인터페이스 구현 검증
-
개요 : 인터페이스 정상적으로 문제없이 작동하는지 확인하는 것
-
구현 검증 도구
도구 | 설명 |
xUnit | 다양한 언어를 지원하는 단위 테스트 프레임워크 |
STAF | 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 |
FitNesse | 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크 |
NTAF | STAF와 FitNesse를 통합한 NHN의 테스트 자동화 프레임워크 |
Selenium | 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크 |
water | Ruby 기반 웹 애플리케이션 테스트 프레임워크 |
-
구현 감시 도구
-
리소스 방식 : Nagios, Zabbix, Cacti 등
-
엔드투엔드 방식 : VisualVM, 제니퍼, 스카우터 등
-
'2020 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 애플리케이션 테스트 관리 (0) | 2020.07.09 |
---|---|
[정보처리기사 실기] 화면 설계 (0) | 2020.07.07 |
[정보처리기사 실기] 서버 프로그램 구현 (0) | 2020.07.02 |
[정보처리기사 실기] 통합 구현 (0) | 2020.06.29 |
[정보처리기사 실기] 데이터 입출력 구현 (0) | 2020.06.24 |