티스토리 뷰

728x90
반응형

5. 인터페이스 구현

인터페이스 설계 확인

외부, 내부 모듈 간 공통 기능 및 데이터 인터페이스 확인

인터페이스 설계서

이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터 업무, 송수신 주체 등이 정의된 문서. 인터페이스 목록 + 상세 데이터 명세 + 세부 인터페이스 정보.

인터페이스 목록
인터페이스 번호 및 인터페이스가 되는 시스템의 정보 및 관련 요구사항 ID를 목록 형태로 보여줌

인터페이스 명세
각 인터페이스 번호 당 인터페이스가 되는 데이터, 데이터 형식, 송수신 시스템의 정보 등을 구체화하는 문서. 인터페이스 목록에 있는 각 인터페이스의 상세 정보.

상세 기능 인터페이스 정의서
데이터 송, 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역

시스템 인터페이스 정의서
인터페이스 목록의 송신 및 전달 영역까지는 외부 모듈에 포함, 수신 측 영역은 내부 모듈에 포함. 오퍼레이션 및 사전 조건을 통해 상세 기능의 외부 모듈 확인 가능. 사후 조건을 통해 상세 기능의 내부 모듈 확인 가능

외부, 내부 모듈 연계를 위한 인터페이스 기능 식별

외부, 내부 모듈 연계 방법(EAI, ESB 연계 방법)

기업 시스템이나 공공 서비스를 위한 시스템에서 인터페이스를 위해 외부 및 내부 모듈을 연계하는 대표적인 방법은 EAI 방식과 ESB 방식이 있음

EAI 구축 유형

  • 포인트 투 포인트 : 1:1 단순 통합
  • 허브 앤 스포크 : 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식. 허브 장애시 전체 장애
  • 메시지 버스 : 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식. 뛰어난 확장성과 대용량 데이터 처리 가능
  • 하이브리드 : 그룹 내는 허브앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용.

EAI와 ESB 특징
EAI
기업 내부의 이기종 응용 모듈 간 통합

핵심기술 : 어댑터, 브로커, 메시지큐

적용 영역 : 기업 내부망

ESB
기업 간의 서비스 교환을 위해 표준 API로 통합.

핵심 기술 : 웹 서비스, 지능형 라우터, 포맷 변환, 개방형 표준.

적용 영역 : 기업 외부망

외부, 내부 모듈 간 인터페이스 데이터 표준 확인

인터페이스 데이터 표준 확인

상호 연계하고자 하는 시스템 간 인터페이스가 되어야 할 범위의 데이터 형식과 표준을 정의하는 활동. 데이터가 다를 경우 변환하여야 함.

송, 수신 시스템 간 인터페이스 데이터 표준 확인 절차

식별된 데이터 인터페이스를 통해 인터페이스 데이터 표준 확인

  • 데이터 인터페이스 입, 출력 의미 파악
  • 데이터 인터페이스 입, 출력 의미 파악을 통한 데이터 표준 확인

인터페이스 데이터 항목 식별

데이터 표준 최종 확인

인터페이스 기능 구현

인터페이스 기능 구현 정의

개발하고자 하는 응용 소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 인터페이스 기능을 구현

모듈 간 세부 설계서 확인

각 모듈의 컴포넌트 명세서와 인터페이스 명세서 등 세부 설계서를 확인하여 인터페이스에 필요한 기능을 확인

컴포넌트 명세서
컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의

인터페이스 명세서
컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시. 인터페이스 명칭, 사전/사후 조건, 인터페이스 데이터 및 인터페이스 완료 및 성공 여부를 반환받는 반환 값 등이 정의.

인터페이스 기능 정의는 프로세스 형태나 유스케이스 다이어 그램 형태로 작성

인터페이스 기능 구현

사전에 정의된 기능에 대한 구체적 분석

송신측에서 필요 대상을 선택하여 수신 측에 데이터 전송

  • 대상자 선택 : SQL로 선택
  • 인터페이스 데이터 생성 : 예를 들면 제이슨 형태로 생성할 수 있음
  • 인터페이스 데이터 요청

필요 항목에 대해서 데이터 전달

  • 인터페이스 데이터 전송 : REST 방식으로 전달될수도 있고 DB 프로시저, 트리거 등을 활용하여 전송할 수도 있음
  • 인터페이스 데이터 수신
  • 인터페이스 데이터 파싱
  • 인터페이스 데이터 검증
  • 후속 기능 수행

전달 후 수신측으로부터 전달여부에 대한 값을 반환

  • 인터페이스 수신 결과 생성, 전송
  • 수신 측에서 처리한 인터페이스 결과 반환

JSON
비동기 브라우저/서버 통신(AJAX)을 위해 "속성-값 쌍', "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷.

인터페이스 구현

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

  • 인터페이스 객체 생성 구현 : SQL을 통하여 선택, JSON으로 생성
  • 인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환 받도록 구현 : AJAX 기술을 이용하여 수신 측에 송신. 수신측에서 인터페이스 성공 여부 전달.

인터페이스 개체를 사용하여 인터페이스를 구현하는 방법

  • 송신 시스템의 인터페이스 테이블 : DB 커넥션이 수신 측 인터페이스 테이블과 연계되도록 구현. 프로시저, 트리거, 배치 작업 등의 방법을 통해서 수신 테이블로 데이터를 전송하도록 구현.

  • 수신 시스템의 인터페이스 테이블 : 인터페이스 테이블을 읽은 후 트랜잭션을 진행

AJAX
자바스크립트를 사용한 비동기 통신기술로, 클라이언트와 서버간에 XML 데이터를 주고받는 기술.

인터페이스 예외 처리 방안

데이터 통신을 사용한 인터페이스에서 예외 처리 방법

송신 측

  • AJAX 호출 후 반환 값이 실패일 경우 예외 처리

수신측

  • 받은 JSON 객체를 처리 시에 try ~ catch 구문을 이용하여 발생한 예외를 처리하고 이를 송신 측에 전달

인터페이스 개체를 사용하는 인터페이스에서 예외 처리 방법

송신

  • 송신 인터페이스 테이블에 예외 유형에 따른 예외 코드와 상세한 원인을 함께 입력
  • 프로시저, 트리거 등을 통해 데이터 전송 시 발생하는 예외 유형을 정의, 예외 원인 입력

수신

  • 에외 코드, 예외 발생 사유를 함께 기록

인터페이스 보안 기능 적용

인터페이스 보안 취약점

데이터 통신 시 데이터 탈취 위협
스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취하는 위협 존재

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

데어터 통신시 데이터 위, 변조 위협
전송 데이터에 대한 삽입, 삭제, 변조 공격을 통한 시스템 위협 존재

인터페이스 보안 구현 방안

시큐어 코딩 가이드 적용 대상

  • 입력데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러 처리
  • 코드 오류
  • 캡슐화
  • API 오용

데이터베이스 보안 적용 : 암호화 알고리즘을 활용

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

  • 대칭 키 암호화 알고리즘 : 암, 복호화에 같은 암호 키를 쓰는 알고리즘
  • 비대칭 키 암호화 알고리즘 : 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만 알 수 있도록 함
  • 해시 암호화 알고리즘 : 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가짐

데이터베이스 암호화 기법

  • API 방식 : 애플리케이션 레벨에서 암호 모듈을 적용
  • Plug-in 방식 : DB 레벨의 확장성 프로시저 기능을 이용. DBMS에 Plug-in 모듈로 동작.
  • Hybrid 방식 : API + Plug-in

민감한 정보를 통신 채널을 통하여 전송 시에는 반드시 암, 복호화 과정을 거쳐야 하고, IPSec, SSL/TLS 등 보안 채널을 활용하여 전송

IPSec(IP Security)
IP계층에서 무결성과 인증을 보장하는 인증헤더와 기밀성을 보장하는 암호화를 이용한 IP 보안 프로토콜

SSL/TLS
응용 계층과 TCP/IP 계층 사이에서 웹 데이터 암호화 및 전송 시 기밀성을 보장하는 공개키 기반의 보안 프로토콜

인터페이스 보안 기능 적용 프로세스

인터페이스 보안 기능 적용
네트워크 구간

  • 전송 계층
    상대방 인증 : IPSec, AH, IKE
    데이터 기밀성 보장 : IPSec, ESP
  • 응용 계층
    SSL의 서버 인증 모드 운영
    메시지 단위로 인증 및 암호화 : S-HTTP 적용

애플리케이션 보안 기능 적용

  • 비인가자 접근 권한 관리
  • 악의적 코드 삽입 금지
  • 악의적 시도 시 에러 처리

데이터베이스 보안 기능 적용

  • 데이터베이스 접근 권한
  • 악의적 코드 삽입 금지
  • 민감 데이터 관리
  • 악의적 시도 시 에러 처리

인터페이스 구현 검증

인터페이스 구현 검증

인터페이스 구현 검증 도구의 개념

구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 인터페이스 동작 상태를 검증하고 모니터링. 단위, 통합 테스트 필요.

인터페이스 구현 검증 도구의 종류

  • XUnit : 다양한 언어 지원. 함수나 클래스 같은 서로 다른 구성 원소를 테스트할 수 있음.
  • STAF : 서비스 호출, 컴포넌트 재사용 등의 환경을 지원. 데몬을 사용.
  • FitNesse : 웹 기반 테스트 케이스 지원
  • Selenium : 다양한 브라우저, 개발 언어 지원
  • watir : 루비 기반. 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

인터페이스 감시 도구

  • 애플리케이션 모니터링 툴(APM)을 사용하여 동작 상태 감시
  • 스카우터는 애플리케이션에 대한 모니터링 및 DB Agent를 통해 DB 모니터링 기능, 인터페이스 감시 기능을 제공

인터페이스 오류 처리 확인 및 보고서 작성

인터페이스 오류 처리 방법

  • 사용자 화면에서 오류를 인지하도록 구현
  • 인터페이스 오류 로그 생성
  • 인터페이스 관련 테이블에 오류 사항 기록




출처
정보처리기사 실기 2020 수제비(저자 : NCS 정보처리기술사 연구회) [건기원]


728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/05   »
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 31
Total
Today
Yesterday
링크