728x90
728x90
이번 시간은 정보처리기사 실기에서 다루는 5장 인터페이스 구현에 대해서 정리를 해보았습니다.
* 이 글은 정보처리기사 공부 목적으로 쓴 글입니다. 그러다 보니 혹시 제가 잘못 작성한 부분이 있거나 수정이 필요하다면 댓글로 알려주시면 감사하겠습니다.
인터페이스 종류 | 사용자 인터페이스 or 시스템 인터페이스 |
인터페이스 산출물 | (인터페이스) 요구사항 → (인터페이스) 정의서 → (인터페이스) 명세서 → (인터페이스) 설계서 |
시스템 인터페이스 설계서 | 인터페이스 목록, 각 인터페이스 세부 정보를 정의한 문서 |
상세 기능별 인터페이스 명세서 주요항목 | 아명오개 전후파반 1. 인터페이스 ID 2. 인터페이스명 3. 오퍼레이션 이름 4. 오퍼레이션 개요 5. 사전 조건 6. 사후 조건 7. 파라미터 8. 반환값 |
인터페이스를 위한 모듈 연계 방식 | 1. EAI 2. ESB |
EAI | 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간 연계를 돕는 솔루션 |
EAI 구성요소 | 1. EAI 플랫폼 2. 어댑터 : 핵심장치. 데이터 입출력 도구 3. 브로커 : 포맷과 코드를 변환해주는 솔루션 4. 메시지 큐 : 비동기 메시지를 사용할 때 송수신하는 기술 5. 비즈니스 워크플로우 : 정의된 워크플로우에 따라 업무를 처리하는 기술 |
EAI 구축 유형 | 포허메하 1. Point-to-point : 가장 기초적인 1:1 단순 통합 방법 2. Hub & Spoke : 허브 시스템을 통한 중앙 집중 방식 3. Message Bus : 애플리케이션 사이에 미들웨어(버스)를 두어 연계 4. Hybrid : 그룹 내는 허브&스포크, 그룹 간은 메시지 버스 |
ESB | 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션을 하나의 시스템으로 관리할 수 있도록 하는 아키텍처로, 미들웨어(버스)를 중심으로 애플리케이션 통합을 느슨한 결합 방식으로 지원 |
인터페이스 전송 시 데이터 표준 확인 절차 | 의미표준식별 1. 입출력 의미 파악 2. 데이터 표준 확인 3. 데이터 항목 식별 4. 데이터 표준 최종확인 |
컴포넌트 명세서 | 컴포넌트의 개요, 내부 클래스 동작과 같은 내용을 정의한 것 * 컴포넌트 : 특정 기능을 수행하기 위해 독립적으로 개발되고, 다른 부품과 조립되는 소프트웨어 프로그램 |
인터페이스 명세서 | 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부 내용을 정의한 것 |
인터페이스 기능 구현 | 선생 전전수파 검후 결반 1. 대상자 선택 (대상이 될 데이터를 SQL로 선택) 2. 인터페이스 데이터 생성 (JSON 등 형식에 맞게 가공) 3. 인터페이스 데이터 전송 요청 4. 인터페이스 데이터 전송 5. 인터페이스 데이터 수신 6. 인터페이스 데이터 파싱 7. 인터페이스 데이터 검증 (포맷 및 제약조건 오류 검사) 8. 후속 기능 수행 (수신 시스템에 정의된 후속 기능 진행) 9. 수신 결과 생성 및 전송 10. 수신 측의 처리 결과 반환 |
JSON | '키-값' 쌍으로 이루어진 데이터를 전달하기 위해, 인간이 읽을 수 있는 텍스트를 사용한 포맷 (AJAX에서 많이 사용) |
JSON의 표현 자료형 | 1. 숫자 2. 문자열 (항상 "" 따옴표 사용!) 3. 배열 (대괄호 [ ] 표시) 4. 객체 (중괄호 { } 로 표시하며, 이름은 문자열을 쓴다) ---------------------------------------------------------------- { "이름": "코카콜라 제로", "가격": 2100, "판매처": ["쿠팡", "이마트", "롯데마트"] } ---------------------------------------------------------------- |
XML | HTML의 단점을 보완하여, 특수한 목적을 갖는 마크업 언어 |
XML의 특징 | - 트리 구조이며, 모든 태그에는 종료 태그가 필수 - 속성값은 큰 따옴표(")로 묶고 대소문자를 구분함 |
AJAX | 서버-클라 간 비동기적으로 데이터를 교환하기 위한 기술 |
AJAX의 주요기술 | - XMLHttpRequest : 비동기 통신을 담당하는 자바스크립트 객체 - XML : HTML의 단점을 보완하여, 특수한 목적을 갖는 마크업 언어 - DOM : XML 문서를 트리 구조 형태로 접근하게 해주는 API - XSLT (eXtensible Stylesheet Language Transformations) : XML 문서를 다른 XML 문서로 변환하는 데 사용하는 언어 - HTML : 웹 문서를 표현하는 마크업 언어 - CSS : 마크업 언어가 표시되는 방법을 기술하는 언어 |
AJAX의 동작 원리 | 1. 요청 이벤트 발생 2. 자바스크립트 호출 3. 자바스립트가 XMLHttpRequest 객체를 사용해 서버에 요청 (비동기이므로 그동안 다른 일 처리) 4. 서버는 XMLHttpRequest 객체를 가지고 AJAX 요청 처리 5. 전달받은 데이터를 사용해 웹 페이지 일부만을 갱신하는 자바스크립트 호출 |
REST | HTTP URI로 자원을 표시하고, HTTP 메서드를 통해 해당 자원에 대한 삽입, 삭제, 갱신 등의 명령을 적용하는 아키텍처 |
REST의 구성 | 리메메 1. 리소스 2. 메서드 3. 메시지 |
REST 메서드의 종류 | 1. POST [C] 2. GET [R] 3. PUT [D] 4. DELETE [D] |
인터페이스 구현 방식 | ① 데이터 통신 사용 : 인터페이스 객체 생성 후 데이터 통신으로 전송 ② 인터페이스 개체(Entity) 사용 : 송신 시스템/수신 시스템에서 인터페이스 테이블 구현 |
DB 암호화 기법 | 애플티하 1. API 방식 : 애플리케이션 서버에 암호 모듈 적용 (애플리케이션 서버에 부하 발생) 2. 플러그인 방식 : DB 서버에 암호 모듈 적용 (DB서버에 부하 발생) 3. TDE 방식 : DBMS 커널이 자체적으로 암호화 기능 수행 (Transparent Data Encryption) 4. 하이브리드 방식 : API+플러그인 (부하 분산) |
IPSec | 네트워크 계층(3계층)에서 사용하는 보안 프로토콜. 인증 헤더(AH) + 암호화(ESP)를 이용 - AH(인증) 프로토콜: MAC를 통해 인증 제공 - ESP(암호화) 프로토콜 : MAC+암호화를 통해 인증+기밀성 제공 - IKE(키관리) 프로토콜 : Key를 주고받는 알고리즘 |
SSL/TLS | 전송계층(4계층)과 응용계층(7계층) 사이에서 안전한 데이터 전송을 보장하는 보안 프로토콜 구성요소 카흐르 CAHHR 1. Change Ciper Spec Protocol : 협상된 Ciper Spec을 상대에게 알리는 프로토콜 2. Alert Protocol : 경고 메시지 전달 3. Heartbeat Protocol : 클라/서버가 정상 상태인지 확인 4. Handshake Protocol : 클라/서버가 서로 인증하고 암호화 키를 협상 5. Record Protocl : 협상된 Ciper Spec |
S-HTTP | 클라/서버 간 메시지를 암호화하는 보안 기술 (HTTP를 사용한 경우에만 가능) |
인터페이스 구현 검증 도구 | 엑스피 엔셀웨 1. xUnit 2. STAF 3. FitNesse 4. NTAF 5. Selenium 6. Watir |
xUnit | Java, C++ 등 다양한 언어를 지원하는 단위 테스트 프레임워크 |
STAF | 각 테스트 대상 분산 환경에 '데몬'을 사용하여 테스트를 수행 |
FitNesse |
웹 기반 테스트 케이스를 지원 |
NTAF |
STAF(재사용 및 확장성) + FitNesse(협업 기능) 장점을 통합한 NHN의 프레임워크 |
Selenium |
다양한 브라우저와 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크 |
Watir |
루비 기반의 웹 애플리케이션 테스트 프레임워크 |
인터페이스 감시 도구 |
1. 스카우터 2. 제니퍼 |
스카우터 |
애플리케이션 및 DB 모니터링 가능한 감시 도구 |
제니퍼 |
개발부터 운영에 이르기까지 전 생애주기 동안 모니터링 가능한 감시 도구 |
오류 처리 방법 | 화로테 1. 화면에서 오류를 인지하도록 구현 2. 오류 로그 생성 3. 관련 테이블에 오류 사항 기록 |
728x90
300x250
'개인공부 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 7. SQL 응용 (4) | 2024.05.03 |
---|---|
[정보처리기사 실기] 6. 프로그래밍 언어 활용 (0) | 2024.05.02 |
[정보처리기사 실기] 4. 통합 구현 (0) | 2024.05.01 |
[정보처리기사 실기] 3. 데이터 입출력 구현 (2) | 2024.05.01 |
[정보처리기사 실기] 2. 화면 설계 (1) | 2024.04.30 |