정보처리기사 실기 요점정리

5장. 인터페이스 구현

▶ 수험서 : 2021 시나공 정보처리기사 실기

※ 시나공 교재를 토대로 작성하였으며 [ ] 안에 번호는 교재의 섹션입니다.

※ 부족한 내용은 구글링 및 수제비 카페를 참고하여 작성하였습니다.

 

 

 

[85] 시스템 인터페이스 요구사항 분석

- 시스템 인터페이스 : 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙을 의미한다.
- 인터페이스 요구사항 명세서의 구성 요소

    : 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계방식, 송신 데이터, 인터페이스 주기

 

 

[86] 인터페이스 요구사항 검증

- 동료검토 : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법
- 워크스루 : 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법
- 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토 방법


- 프로토타이핑 : 사용자의 요구사항을 정확하게 파악하기 위해 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 방법


- 인터페이스 요구사항 검증의 주요 항목 : 완전성, 일관성, 명확성, 기능성, 검증 가능성, 추적 가능성, 변경 용이성

 

 

[88] 송수신 데이터 식별

- 인터페이스 표준 항목 : 송수신 시스템을 연계하는데 표준적으로 필요한 데이터
- 시스템 공통부 : 시스템 간 연동 시 필요한 공통 정보
- 거래 공통부 : 시스템들이 연동된 후 송수신되는 데이터를 처리할 때 필요한 정보

 

 

[89] 인터페이스 방법 명세화

- 시스템 연계 기술 : DB Link, API/Open API, 연계 솔루션, Socket, Web Service
- 인터페이스 통신 유형 : 단방향, 동기, 비동기
- 인터페이스 처리 유형 : 실시간 방식, 지연 처리 방식, 배치 방식

 

 

[90] 미들웨어 솔루션

- 미들웨어 : 운영체제와 응용 프로그램 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어

 

- DB : 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스를 연결하는 미들웨어
- RPC(Remote Procedure Call) : 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어
- MOM(Message Oriented Middleware) : 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
- TP-Moniter(Transaction Processing Moniter) : 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어
- ORB(Object Request Broker) : 코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어
- WAS(Web Application Server) : 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어

 

 

[92] 모듈 연계를 위한 인터페이스 기능 식별

- EAI(Enterprise Application Integration) : 기업 내 각종 애플리케이션 및 플랫폼 간의 상호 연동이 가능하게 해주는 솔루션
  * Point-to-Point : 가장 기본적인 애플리케이션 통합 방식으로 애플리케이션을 1:1로 연결하며 변경 및 재사용이 어렵다.
  * Hub&Spoke : 단일 접점인 허브시스템을 통해 데이터를 전송하는 중앙 집중형 방식

                            확장 및 유지보수가 용이하지만 허브 장애 발생 시 시스템 전체에 영향을 미칠 수 있다.
  * Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식으로 확장성이 뛰어나며 대용량 처리가 가능하다.
  * Hybrid : 그룹 내에서는 Hub&Spoke 방식을, 그룹 간에는 Message Bus을 사용하는 혼합 방식, 데이터 병목 현상을 최소화할 수 있다.

 

- ESB(Enterprise Service Bus) : 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
                                                    EAI와 유사하지만 서비스 중심의 통합을 지향하며, 애플리케이션과의 결합도를 약하게 유지한다.

 

- 웹 서비스 : 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술로 서비스 지향 아키텍처 개념을 실현하는 대표적인 방법
  * 웹서비스의 구성 : SOAP, UDDI, WSDL

 

 

[94] 인터페이스 기능 구현 정의

- 모듈 세부 설계서 : 모듈의 구성 요소와 세부적인 동작 등을 정의한 설계서이다.
  * 컴포넌트 명세서 : 컴포넌트의 개요 및 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세 등을 정의한 것
  * 인터페이스 명세서 : 컴포넌트 명세서의 항목 중 인터페이스 클래스의 세부 조건 및 기능 등을 정의한 것

 

 

[95] 인터페이스 구현

- 인터페이스 구현 : 송수신 시스템 간의 데이터 교환 및 처리를 실현해주는 작업
- 인터페이스 구현 방식 : 데이터 통신을 이용한 인터페이스 구현, 인터페이스 엔티티를 이용한 인터페이스 구현

 

- JSON(JavaScript Object Notation) : 데이터 객체를 속성, 값의 쌍 형태로 표현하는 개방형 표준 포맷
- AJAX(Asynchronous JavaScript and XML) : 자바스크립트를 이용하여 클라이언트와 서버 간 XML 데이터를 주고 받는 비동기 통신 기술

 

 

[97] 인터페이스 보안

- 인터페이스 보안 : 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용하는 것
  * 보안 기능 적용 영역 : 네트워크 영역, 애플리케이션 영역, 데이터베이스 영역

 

- 네트워크 영역 보안 프로토콜
  * IPSec(IP Security) : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜
  * SSL(Secure Sockets Layer) : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
  * S-HTTP(Secure Hypertext Transfer Protocol) : 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화하는 프로토콜

 

- 데이터 무결성 검사 도구 : Tripware, AIDE, Samhain, Claymore, Slipwire, Fcheck 등

 

 

[98] 인터페이스 구현 검증

- 인터페이스 구현 검증 도구 : 통합 테스트를 수행하기 위해 사용하는 테스트 자동화 도구
  * xUnit : 다양한 언어를 지원하는 단위 테스트 프레임워크
  * STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
  * FitNesse : 웹 기반 테스트 케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
  * NTAF : FitNess의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임워크
  * Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
  * watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크

 

- 인터페이스 구현 감시 도구 : 인터페이스 동작 상태는 APM을 사용하여 감시할 수 있다.
  * 스카우터(Scouter) : 애플리케이션 및 OS 자원에 대한 모니터링 기능을 제공하는 오픈 소스 APM 소프트웨어
  * 제니퍼(Jennifer) : 애플리케이션의 개발부터 안정화까지 전 단계에 걸쳐 성능을 모니터링하고 분석해주는 소프트웨어

 

- APM(Applicaion Performance Management) : 애플리케이션의 성능 관리를 위해 다양한 모니터링 기능을 제공하는 도구
  * 리소스 방식 : Nagios, Zabbix, Cacti

  * 엔드투엔드 방식 : VisualVM, 제니퍼, 스카우터