![post-thumbnail](https://velog.velcdn.com/images/alpaka206/post/57f7fba6-7a40-4611-9cff-761fab33f8c8/image.png)
인터페이스 구현
- 인터페이스 구현은 송·수신 시스템 간의 데이터 교환 및 처리를 실현해 주는 작업을 의미한다.
- 정의된 인터페이스 기능 구현을 기반으로 구현 방법 및 범위 등을 고려하여 인터페이스 구현 방법을 분석한다.
- 분석된 인터페이스 구현 정의를 기반으로 인터페이스를 구현한다.
- 인터페이스를 구현하는 대표적인 방법에는 데이터 통신을 이용한 방법과 인터페이스 엔티티를 이용한 방법이 있다.
데이터 통신을 이용한 인터페이스 구현
- 데이터 통신을 이용한 인터페이스 구현은 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신 측에서 파싱(Parsing)하여 해석하는 방식이다.
- 주로 JSON이나 XML 형식의 데이터 포맷을 사용하여 인터페이스를 구현한다.
- JSON을 이용한 인터페이스 구현 순서
- 인터페이스의 객체 생성 및 전송을 위해 인터페이스 객체를 생성할 데이터를 각 시스템 및 환경에 맞게 선택한다.
- 선택한 데이터를 JSON을 이용하여 인터페이스 객체를 생성한다.
- 송신측에서 JSON으로 생성한 인터페이스 객체를 AJAX 기술 등을 이용하여 수신측으로 보낸다.
- 수신측에서 인터페이스 객체를 수신해 파싱한 후 처리한다.
- 수신측에서 송신측에 처리 결과를 보낸다.
JSON / XML / AJAX
JSON(JavaScript Object Notation)
- JSON은 속성값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다.
- 비동기 처리에 사용되는 AJAX에서 XML을 대체하여 사용되고 있습니다.
XML(eXtensible Markup Language)
- XML은 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어입니다.
- 웹 페이지의 기본 형식인 HTML의 문법이 각 웹 브라우저에서 상호 호환적이지 못하다는 문제와 SGML의 복잡함을 해결하기 위하여 개발되었습니다.
AJAX(Asynchronous JavaScript and XML)
- AJAX는 자바스크립트(JavaScript) 등을 이용하여 클라이언트와 서버 간에 XML 데이터를 교환 및 제어함으로써 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 하는 비동기 통신 기술을 의미합니다.
인터페이스 엔티티를 이용한 인터페이스 구현
- 인터페이스 엔티티를 이용한 인터페이스 구현은 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식이다.
- 일반적으로 인터페이스 테이블을 엔티티로 활용한다.
- 인터페이스 테이블은 한 개 또는 송신 및 수신 인터페이스 테이블을 각각 두어 활용한다.
- 송신 및 수신 인터페이스 테이블의 구조는 대부분 같지만 상황에 따라 서로 다르게 설계할 수도 있다.
- 인터페이스 테이블을 이용한 인터페이스 구현 순서
- 인터페이스 이벤트가 발생하면 인터페이스 테이블에 인터페이스 데이터를 기록한다(Write).
- 송신측 인터페이스 테이블에서 정해진 주기에 따라 인터페이스 데이터를 전송한다.
- 수신측 인터페이스 테이블에 인터페이스 데이터가 입력되면 정해진 주기에 따라 인터페이스 데이터를 읽는다(Read).
- 수신측 인터페이스 테이블에서 인터페이스 데이터를 읽은 후 사전에 정의된 데이터 트랜잭션을 수행한다.