인터페이스 설계서
- 이기종 시스템 및 컴포넌트간 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
: 각 시스템의 인터페이스 정보 정의
- 종류
: 정적ㆍ동적 모형을 통한 인터페이스 설계서
: 데이터 명세를 통한 인터페이스 설계서
인터페이스 데이터 표준확인
- 연계하고자 하는 시스템 간 인터페이스가 되어야할 범위의 데아터 형식과 표준을 정의하는 과정
: 데이터 형태가 동일하지 않은 경우 변환 과정 추가
- 절차
: 입출력 값의 내용 확인
: 입출력 값의 데이터 표준 확인 (형식, 자릿수 등)
: 최종확인 (파라미터, 데이터 표준, 확인 출처)
인터페이스 기능 구현 정의
- 컴포넌트 명세서
: 컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와의 통신에 대해 정의
- 인터페이스 명세서
: 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능 명시
: 인터페이스 명칭, 사전/사후 조건, 인터페이스 데이터 및 성공 여부 반환 값 등 정의
인터페이스 기능 구현 기술
JSON (Javascript Object Notation)
- 속성-값 또는 키-값으로 이루어진 데이터 객체를 전달하기 위해 텍스트로 작성하는 개방형 표준 포맷
: AJAX에서 많이 사용되는 방식
: XML을 대체하는 주요 데이터 포맷
- 특징
: 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용
: 사람이 읽고 쓰기에 용이
- 자료형
: 숫자 / 문자열 / 배열 / 객체
- 문법
: name/value 쌍으로 구성
: { } 으로 감싸진 형태
: 배열 = [ ]
: {
"이름" : "comeve"
"주소" : "2mukee.tistory.com"
"카테고리" : ["Devops", "BackEnd", "Proj_Hermes", "Proj_Mohaemookji"]
}
- 도구
ㆍParser : JSON tex파일을 해석하고 자바 객체로 변환
ㆍRenderer : 자바를 text로 표현
ㆍSeirializer : POJO를 JSON 표현으로 직렬화
ㆍMapper : POJO와 JSON을 매핑
ㆍValidator : JSON 스키마를 이용해서 파일 내용의 유효성 체크
- 장점
: XML 보다 가볍고 빠름
: 자료 종류에 제한이 적음
: string만 사용가능한 XML과 달리 string, number, array, Boolean 등 자료형 지원
: Javascript 코드 안에서 JSON 객체에 접근 용이
- 단점
: 태그가 없어 가독성이 떨어짐
: DTD가 없어 데이터 형식이 틀릴 경우 식별이 어려움
XML (Extensible Markup Language)
- HTML의 단점을 보완하고 SGML의 복잡성을 개선한 마크업 언어
: 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어
- 특징
: 송수신 시스템 간 데이터 연계의 편의성을 위해 전송되는 데이터 구조를 동일한 형태로 정의
: 사용자가 직접 문서의 태그를 정의할 수 있으며 다른 사용자가 정의한 태그를 사용할 수 있음
- 구조
: 트리구조 (상위태그 / 하위태그)
: 모든 태그에는 시작태그와 종료 태그 필수
: 속성 값은 반드시 " "으로 묶어야함
: <? xml version="1.0" encoding="UTF-8"?>
<shop cafe="컴퓨터 정보 공유카페" platform="naver">
<cafe board>
<name>WindowsTip</name>
<type>Knowlegde</type>
</cafe board>
<cafe board>
<name>자유게시판</name>
<type>Free</type>
</cafe board>
</shop>
- 구성
ㆍXML 프롤로그
: <xml> 태그를 선언하여 XML 문서임을 명시하는 선언부
: version / encoding / standalne 속성을 가짐
ㆍXML 요소
: 시작태그부터 종료태그 까지의 모든 태그
: <요소이름 속성1="값" 속성2="값"> 내용 </요소이름>
AJAX (Asynchronous Javcascript And XML)
- 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
: 브라우저 내의 XML Http Request 객체를 이용하여 전체 페이지 로드 없이 일부 페이지의 데이터만 로드
- 주요 기술
ㆍXMLHttpRequest
: 브라우저와 서버간 메서드가 데이터를 전송하는 객체 폼의 API
: 비동기 통신을 담당하는 자바스크립트 객체
ㆍJavascript : 객체 기반의 스크립트 프로그래밍 언어
ㆍXML (eXtreme Markup Language)
ㆍDOM (Document Object Model)
: XML 문서를 트리구조의 형태로 접근할 수 있게 하는 API
ㆍXSLT (eXtensible Stylesheet Language Transformations)
: XML문서를 다른 XML 문서로 변환하기 위한 XML 기반 언어
ㆍHTML (HyperText Markup Language)
ㆍCSS (Casacading Style Sheets)
: 마크업 언어가 실제 표시되는 방법을 기술하는 언어
- 동작원리
1. 클라이언트의 요청 이벤트 발생
2. 이벤트 핸들러에 의해 자바스크립트 호출
3. 자바스크립트가 XMLHttpRequest 객체를 사용하여 서버로 요청
4. 서버는 전달받은 XMLHttpRequest 객체를 가지고 AJAX요청 처리
5. 서버는 처리한 결과를 HTML, CSS, JSON 형태로 브라우저에 전달
6. 자바스크립트를 통해 갱신
REST (Representational State Transfer)
- 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재 및 상태 정보를 표준화된 HTTP 메서드로 주고 받는 웹 아키텍쳐
: JSON 문서를 이용
- 기본형태
: 리소스(자원) / 메서드(처리) / 메시지
ㆍ행위 관련 메서드
: POST / GET / PUT / DELETE = (Ceate Read Update Delete)
- 리소스 관리
ㆍHTTP Post, http://mohaemookji.com/users/
{
"name" : "김묵지",
"age" : 25
}
ㆍHTTP Get, http://mohaemookji.com/users/김묵지
ㆍHTTP PUT, http://mohaemookji.com/users/김묵지 { ~~~ }
ㆍHTTP DELETE, http://mohaemookji.com/users/김묵지 { ~~~ }
- 특징
: 클라이언트/서버 구조
: 무 상태성 (API서버에서는 들어오는 요청만 처리)
: 일관된 인터페이스 (특정 언어나 기술에 종속되지 않고 모든 플랫폼에 사용가능)
: 캐시 처리 가능 (Last-Modified 태그나 E-Tag 태그를 이용하여 캐싱 구현)
: 자체 표현 구조 (API에 보내는 메시지만 확인해도 API에 대해 이해가능 / 직관성)
인터페이스 구현
인터페이스 구현
- 데이터 통신을 이용한 인터페이스 구현
ㆍ인터페이스 객체 생성 구현
: SQL을 통한 DB 접근을 JSON으로 생성
ㆍ인터페이스 객체 전송 후 결과 반환 구현
: AJAX를 통해 송신후, 수신측에서 이를 파싱하고 처리 결괏 값을 True/False로 전달
- 인터페이스 개체(Entity)를 이용한 인터페이스 구현
ㆍ송신 시스템의 인터페이스 테이블
: DB Connection을 수신측과 연계
: 프로시저, 트리거, 배치작업 등 방법을 통해 데이터 전송
ㆍ수신 시스템의 인터페이스 테이블
: 데이터를 읽은 후 사전에 정의된 데이터 트랜잭션 진행 구현
: 오류 발생시 오류 코드 칼럼에 정의된 오류코드와 내용 입력 구현
※ 프로시저
: SQL을 이용해 생성된 데이터를 조작하는 프로그램
: 데이터베이스 내부에 저장되다가 이벤트 발생시 자동 수행
※ 트리거
: 특정 테이블에 변경 이벤트 발생시 DBMS에서 자동 실행 되도록 구현된 프로그램
※ 배치작업
: 일련의 작업을 하나의 작업으로 일괄 처리
'Certification > 정보처리기사' 카테고리의 다른 글
인터페이스 구현 검증 (xUnit / STAF / FitNesse / APM) (0) | 2021.04.10 |
---|---|
인터페이스 보안 (IPSec / SSL / S-HTTP) (0) | 2021.04.10 |
웹 서비스 방식 (SOAP / UDDI / WSDL) (0) | 2021.04.09 |
내ㆍ외부 연계 모듈 (EAI / ESB) (0) | 2021.04.09 |
연계 데이터 구성 (0) | 2021.04.09 |