인터페이스 구현

작성일

시스템 인터페이스 설계서

  • 이기정 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체등이 정의된 문서이자, 시스템의 인터페이스 현황 파악을 위해서 인터페이스 목록 및 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서

허브 앤 스포크(Hub & Spoke)

  • 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
  • 허브 장애시 전체 장애 발생

인터페이스 ID

  • 인터페이스를 구분하기 위한 식별자
  • 일반적으로 인터페이스 식별성을 강화하기 위해 업무 분류 코드와 연속번호를 같이 활용

인터페이스명

  • 해당 인터페이스를 나타내는 고유 명칭

오퍼레이션 명

  • 해당 인터페이스의 세부 동작 명칭

오퍼레이션 개요

  • 해당 인터페이스의 세부 동작이 정상적으로 작동하기 위한 사전에 완료되어야 하는 조건 기술

사전 조건

  • 해당 인터페이스의 세부 동작이 정상적으로 작동하기 위한 사전에 완료되어야 하는 조건 기술

사후 조건

  • 해당 인터페이스의 세부 동작이 정상적으로 작동된 이후에 발생되는 조건 기술

파라미터

  • 인터페이스 구성 항목 값

반환 값

  • 인터페이스 전송 후 반환되는 값

포인트 투 포인트

  • 가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법

허브 앤 스포크

  • 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식

메시지 버스

  • 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식

하이브리드

  • 그룹 내는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식

ESB

  • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 연계해서 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처 또는 기술

XML

  • W3C에서 개발 되었고, 웹 브라우저 간 호환이 되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된 다목적 마크업 언어

JSON

  • 속성-값으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용되고 있는 기술

AJAX(비동기 통신 기법)

  • 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법으며, 하이퍼 텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹페이지와 자유롭게 상호 작용할 수 있도록 하는 기술

인터페이스 데이터 전송

  • 수신지 주소에 레스트(REST)방식으로 전달될 수도 있으며 DB 커넥션을 이용하여 DB 프로시저, 트리거 등을 활용하여 전송

인터페이스 데이터 수신

  • 인터페이스 데이터를 수신한 후 데이터의 형식이 맞는지 점검하고 각 규칙을 사전에 정의하고 이를 활용

인터페이스 데이터 파싱

  • 인터페이스 객체는 파서를 이용하여 변환하거나 인터페이스 테이블에서 선택

인터페이스 데이터 검증

  • 각 세부 데이터의 포맷과 논리적인 제약조건의 오류 검사

후속 기능 수행

  • 각 세부 데이터를 활용해서 수신 시스템에서 정의된 동작을 진행

JSON

  • 속성-값 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

객체

  • 이름과 값을 쌍으로하는 집합으로, 중괄호를 사용하여 표현한다.

XML

  • 송, 수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의한다
  • 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어이다.
  • 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.

XMLHttpRequst

  • 웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API
  • 비동기 통신을 담당하는 자바스크립트 객체

DOM

  • XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API
  • 플랫폼/언어 중립적으로 구조화된 문서를 표현하는 객체지향 모델

REST

  • 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받은 웹 아키텍처이다.

비대칭 키 알고리즘

  • 인터페이스 구현 시 적용할 데이터베이스 암호화 알고리즘 중 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록,공개키와 비밀키를 사용하는 알고리즘

API 방식

  • 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식으로 애플리케이션 서버에 암, 복호화, 정책 관리, 키 관리 등의 부하가 발생한다.

Plug-In 방식

  • DB 레벨의 확장성 프로시저 기능을 이용, DBMS에 Plug-in 모듈로 동작하는 방식으로 DB 서버에 암,복호화, 정책 관리, 키 관리 등의 부하가 발생한다.

xUnit

  • 자바,C++,.Net 등 다양한 언어를 지원하는 단위테스트 프레임워크로 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트할수 있게 해주는 인터페이스 구현 검증 도구

STAF

  • 서비스 호출, 컴포넌트 재사용 등 다양한 환경 지원하는 테스트 프레임워크로 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구

NTAF

  • FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임워크

SCOUTER

  • 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공

사용자의 화면에서 오류를 인지하도록 구현하는 방법

  • 인터페이스 오류가 발생하였을 경우 알람형태로 화면에표시되며, 주로 실시간으로 데이터가 인터페이스 되는 경우에 사용되는 방법이다.

Selenium

  • 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크로 테스트 스크립트 언어를학습할 필요 없이 기능 테스트를 만들기 위한 인터페이스 구현 검증 도구이다.

XSLT

  • AJAX기술 요소 중 W3C에서 제정한 표준으로 XML 문서를 다른 XML 문서로 변환하는데 사용하는 XML 기반 언어로 탐색을 위해 XPath를 사용하는 기술 요소

프로시저

  • SQL를 이용해 생성된 데이터를 조작하는 프로그램으로 데이터베이스 내부에 저장되고 일정한 조건이 되면 자동으로 수행하는 프로그램

트리거

  • 특정 테이블에 삽입, 수정, 삭제 등의 변경 이벤트 발생 시 DBMS에서 자동 실행되도록 구현된 프로그램

TDE방식

  • DB 서버의 DBMS 커널이 자체적으로 암복호화 기능을 수행하는 방식

IPSec

  • IP 계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단간 구간에 보안 서비스를 제공하는 터널링 프로토콜

SSL/TLS

  • 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
  • 인증 모드는 익명 모드, 서버인증 모드, 클라이언트-서버인증 모드가 있음
  • https://~ 표시형식과 443 포트 이용

S-HTTP

  • 웹상에서 네트워크 트래픽을 암호화하는 주요방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송
  • 메시지 보호는 HTTP를 사용한 애플리케이션에 대해서만 가능

스니핑

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

대칭 키 암호화 알고리즘

  • ARIA 128/192/256, SEED

비대칭 키 암호화 알고리즘

  • RSA, ECC

해시 암호화 알고리즘

  • SHA-256/384/512, HAS-160 등이 있다.

스카우터(SCOUTER)

  • 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공

제니퍼(Jennifer)

  • 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애 주기 단계 동안 성능을 모니터링 하고 분석해주는 APM 소프트웨어