데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장될 파라미터
인터페이스 설계서 : 교환 데이터 및 관련 업무, 송/수신 시스템 등에 대한 내용을 정의한 문서
정적/동적 모형을 통한 인터페이스 설계서 : 트랜잭션을 통해 해당 인터페이스가 시스템의 어느 부분에 속하고, 트랜잭션의 종류를 확인
모듈 연계 : 모듈 간 데이터의 교환을 위해 관계 설정
-> EAI
● 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 하는 솔루션
● 효율성 및 각 시스템 간의 확정성을 높여준다.
< 유형 >
● Point-to-Point : 1대1 연결, 변경 및 재사용 어려움
● Hub & Spoke : 중앙집중형 방식, 확장 및 유지보수 용이, 허브 장애 발생 시 시스템 전체에 영향 미침
● Message Bus : 미들웨어를 두어 처리하는 방식, 확장성이 뛰어나며 대용량처리 가능
● Hybrid : Hub & Spoke와 Message Bus의 혼합 방식, 병목 현상 최소화
-> ESB
● 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스 제공 솔루션
● 서비스 중심의 통합 지향
● 애플리케이션과의 결합도를 약하게 유지
모듈간 인터페이스 기능 식별
● 모듈 간 동작하는 기능을 통해 인터페이스 기능 식별
● 시나리오를 통해 내/외부 모듈과 관련된 인터페이스 기능 식별
인터페이스 데이터 표준 : 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화 하는 것
● 데이터 인터페이스 확인
● 인터페이스 기능 확인 : 인터페이스 기능 구현을 위해 필요한 데이터 항목 확인
● 인터페이스 데이터 표준 확인
인터페이스 기능 구현 : 인터페이스 기능에 대한 구현 방법을 기능별로 기술한 것
● 정의된 인터페이스 기능 구현 정형화
● 일관성 있는 인터페이스 기능 구현
< 정의 순서 >
1. 컴포넌트 명세서 확인
-> 컴포넌트 명세서 : 컴포넌트의 개요 및 내부 클래스 동작, 인터페이스를 통해 외부와 통신하는 명세 정의
2. 인터페이스 명세서 확인
-> 인터페이스 명세서 : 인터페이스 클래스의 세부 조건 및 기능 정의
3. 일관된 인터페이스 기능 구현 정의
4. 정의된 인터페이스 기능 구현 정형화
인터페이스 구현 : 송/수신 시스템 간의 데이터 교환 및 처리를 실현
- 데이터 통신을 이용한 인터페이스 구현
● 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신 측에서 파싱하여 해석
● 주로 JSON이나 XML 형식의 데이터 포맷 사용
- 인터페이스 엔티티를 이용한 인터페이스 구현
● 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식
● 인터페이스 테이블을 엔티티로 활용
● 인터페이스 테이블은 한 개 또는 송/수신 인터페이스 테이블을 각각 두어 활용
● 테이블의 구조는 상황에 따라 서로 다르게 설계할 수 있다.
인터페이스 예외 처리
< 데이터 통신을 이용한 인터페이스 예외 처리 >
1. 인터페이스 객체 송신 실패 시
● 시스템 환경 - 네트워크 불안정
-> 오류 메시지 확인, 404 오류일 경우 네트워크/서버 상태 확인
● 송신 데이터
-> 데이터 송신 시 데이터 크기 및 정합성을 체크하는 기능 추가
● 프로그램 자체 원인
2. 인터페이스 객체 수신 실패 시
● 시스템 환경 - 네트워크 불안정
-> 입력 대기 큐에 요청을 적재한 후 순차적 처리
● 수신 데이터
-> 특수문자 입력 케이스를 파악 후 파싱 시 오류가 발생하지 않는 문자로 대치하고 이후 처리
● 프로그램 자체 원인
< 인터페이스 엔티티를 이용한 예외 처리 >
1. 송신 인터페이스 테이블을 이용한 인터페이스 기능 실패 시
● 인터페이스 데이터 생성 - 선택 SQL, 프로그램 오류
-> 오류 발생 알리고 프로그램 개선
● 인터페이스 테이블에 입력 - 입력 SQL 오류
-> 원인과 결과를 인터페이스 테이블에 기록, 오류 발생 알리고 프로그램 개선
● 인터페이스 데이터 전송 - DB Connection 오류
-> 원인과 결과를 인터페이스 테이블에 기록 후 사용자와 관리자에게 전송
- 데이터 전송 주체의 논리적 오류
-> 원인과 결과를 인터페이스 테이블에 기록 후 실패 결과를 사용자와 관리자에게 전송, 프로그램 개선
2. 수신 인터페이스 테이블을 이용한 인터페이스 기능 실패 시
● 인터페이스 데이터 읽기 - 데이터 선택 시 오류
-> 예외사항을 알리고 인터페이스 테이블에 기록 후 프로그램 개선
● 데이터 트랜잭션 - 데이터 트랜잭션 시 오류
-> 예외사항을 알리고 인터페이스 테이블에 기록 후 프로그램 개선
● 처리 결과 응답 - DB Connection 오류
-> 인터페이스 테이블에 예외사항 기록 후 송/수신자에게 알림
인터페이스 보안 기능 적용
- 네트워크 영역 : 스니핑 방지를 위해 네트워크 트래픽에 대한 암호화 설정
- 애플리케이션 영역 : 코드 상 보안 취약점을 보완하는 방향으로 애플리케이션 보안 기능 적용
- 데이터베이스 영역 : DB 동작 객체의 보안 취약점에 보안 기능 적용
연계 테스트 : 송/수신 시스템이 이상없이 데이터를 주고받는지 확인
< 순서 >
1. 연계 테스트 케이스 작성
● 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성
● 흐름을 확인할 수 있는 내용으로 작성
2. 테스트 환경 구축
3. 테스트 수행
4. 테스트 수행 결과 검증
● 운영 DB 테이블의 건수 확인
● 테이블/파일을 열어 데이터 확인
● 로그 확인
인터페이스 구현 검증 : 인터페이스가 정상적으로 문제없이 작동하는지 확인
< 검증 도구 >
● xUnit : 다양한 언어 지원