반응형
1과목. 소프트웨어 구축
📒 15. 인터페이스 구현
계획 - 요구사항 분석 - 소프트웨어 - 구현 - 테스트 - 유지보수
1. 인터페이스 시스템
(1) 인터페이스 시스템의 개념
- 서로 다른 시스템이나 장치 간에 정보나 신호를 주고받을 수 있게 도와주는 시스템
- 다양한 시스템과 장치의 호환성을 보장하며, 효율적인 데이터 교환을 가능하게 함
(2) 인터페이스 시스템 구성
- a) 송신 시스템
- 연계할 데이터를 생성하고, 이를 인터페이스 테이블 또는 파일 형태로 송신하는 시스템 - b) 수신 시스템
- 수신한 데이터를 데이터 형식에 맞게 저장하고 활용하는 시스템 - c) 중계 시스템 (연계 시스템)
- 송신 시스템과 수신 시스템 사이에서 데이터를 송수신하며, 이들의 현황을 모니터링하는 시스템
- 연계 데이터의 보안 강화와 다중 플랫폼 지원이 가능
(3) 송수신 전문 구성
- a) 전문 공통부
- 인터페이스 ID, 서비스 코드, 접속 IP 등 - b) 전문 개별부
- 업무처리에 필요한 데이터 - c) 전문 종료부
- 전송 데이터의 끝을 표시하는 문자
2. 인터페이스 설계서 구성
(1) 인터페이스 목록
- 송수신 시스템의 정보, 연계 방식과 통신 유형 등에 대한 정보
(2) 인터페이스 정의서 (인터페이스 상세설계서)
- 데이터 송신 시스템과 수신 시스템 간의 속성과 제약조건 등 상세히 포함
(3) 인터페이스 설계서 명세화
- 분석 단계에서 정의된 정보를 인터페이스 목록 양식에 맞춰 작성
3. EAI(Enterprise Application Integration)
(1) EAI의 개념
- 기업 내의 다른 플랫폼 및 애플리케이션들을 연결, 통합하는 솔루션
(2) EAI의 구축 유형 ⭐
- a) Point-to-Point
- 미들웨어 없이 직접 애플리케이션끼리 연결 - b) Hub&Spoke
- 중앙 허브를 통한 중앙 집중적 연결 방식으로, 모든 데이터 전송을 보장함 - c) Message Bus (ESB 방식)
- 미들웨어를 사용하여 애플리케이션 사이에서 메시지를 전달 - d) Hybrid
- 내부적으로는 Hub&Spoke, 외부적으로는 메시징 버스 방식 사용으로 데이터 병목 현상을 최소화할 수 있음
4. ESB(Enterprise Service Bus)
(1) ESB의 개념
- 웹 서비스 중심의 표준화된 데이터 버스를 이용하여 다양한 애플리케이션을 유연하게 통합하는 플랫폼
- 여러 개의 애플리케이션에서 다른 애플리케이션의 데이터를 유연하게 가져올 수 있음
(2) ESB의 구축 유형
- 관리 및 보안이 용이하고 높은 품질을 지원함
- EAI와 유사하지만 서비스 중심 통합을 지향
- 단점 : 표준화 필요, 벤더 종속성, 일부 성능 문제 존재
5. 인터페이스 연계 기술
(1) DB Link
- DB Link를 이용하여 직접 참조하는 방식
(2) DB Connection
- 데이터베이스의 접속할 수 있는 계정, 비밀번호를 부여하는 방식
(3) API / OpenAPI
- 송신 시스템의 애플리케이션 프로그래밍 인터페이스 프로그램
(4) Web Service
- a) WSDL
- XML 형태로 기능들을 어떻게 이용해야 하는지 알려주는 설명서
- 웹 서비스 기술언어, 서비스의 기술적 세부사항 기술 - b) UDDI
- WSDL(설명서)을 모아놓은 도서관
- 비즈니스 업체 목록 등록을 위한 XML 규격 - c) SOAP
- 설명서를 다운로드하였을 때, 실제로 데이터를 주고받을 수 있는 프로토콜
(5) Socket
- 클라이언트와 연결하고 통신하는 네트워크 기술로, 그쪽 서버로 아예 연결하는 것
6. 인터페이스 전송 데이터
(1) JSON(JavaScript Object Notation)
- JavaScript의 객체 문법을 기반으로 데이터를 표현하는 문자 기반의 표준 포맷
- 데이터는 이름과 값의 쌍으로 이루어짐
(2) XML(eXtensible Markup Language)
- 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 확장 가능한 마크업 언어
- 다양한 표현이 가능하고, 확장성이 뛰어나며 간단함
- HTML은 데이터를 보여주는 목적, XML은 데이터를 저장하고 전달할 목적
(3) YAML(YAML Ain't Markup Language)
- 구성 파일 작성에 자주 사용되는 데이터 직렬화 언어
(4) CSV(Comma Separated Values)
- 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일
- 표 형태의 데이터를 저장하는 파일 형식
7. 인터페이스 구현
(1) AJAX(Asynchronous JavaScript and XML)
- JavaScript를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
- 필요한 부분만 불러와 사용하므로 불필요한 리소스가 발생하지 않음
- 웹 페이지의 속도 향상되지만, 히스토리 관리가 되지 않음
(2) SOAP(Simple Opject Access Protocol)
- a) WSDL
- XML 형태로 기능들을 어떻게 이용해야 하는지 알려주는 설명서
- 웹 서비스 기술언어, 서비스의 기술적 세부사항 기술 - b) UDDI
- WSDL(설명서)을 모아놓은 도서관
- 비즈니스 업체 목록 등록을 위한 XML 규격 - c) SOAP
- HTTP, HTTPS, SMTP 등을 통한 XML 기반 메시지 교환 프로토콜
- 설명서를 다운로드 받았을 때, 실제로 데이터를 주고받을 수 있는 프로토콜
- 보안 프로토콜 : SAML, XKMS, XACML
- 프록시와 방화벽에 구애받지 않는 통신 방법이지만 상대적으로 느림
(3) REST
- HTTP URI를 통한 자원 명시와 HTTP Method를 통한 CRUD Operation 적용
- 구성요소 : 자원(Resource), 행위(Method), 표현(Representation)
- 플랫폼에 독립적이지만 표준이 부재
8. 인터페이스 보안
(1) 패킷 공격 기법
- a) 스니핑(Sniffing)
- 네트워크상에서 전송되는 패킷을 가로채는 행위 - b) 스푸핑(Spoofing)
- 일반적으로 IP 주소나 다른 식별자를 위장하여 다른 사용자나 시스템으로 속이는 행위
(2) 네트워크 영역
- 인터페이스 송/수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협 방지를 위해 암호화 설정
- IPSec, SSL, S-HTTP 등 다양한 방식으로 적용
(3) 애플리케이션 영역
- 시큐어코딩 가이드를 참조하여 보안 취약점을 보완하여 보안 기능 적용
(4) DB 영역
- DB, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 DB 동작 객체의 보안 취약점에 보안 기능 적용
9. 인터페이스 검증
(1) 인터페이스 구현 검증 도구
도구 | 설명 |
xUnit | 다양한 언어를 지원하는 단위 테스트 프레임워크 |
STAF | 서비스 호출 및 컴포넌트 재사용 등 다양한 환경 지원하는 테스트 프레임워크 |
FitNesse | 웹 기반 테스트케이스 설계, 실행, 결과, 확인 등을 지원하는 테스트 프레임워크 |
NTAF | FitNesse의 장점과 STAF의 장점을 통합한 Naver의 테스트 자동화 프레임워크 |
Selenium | 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크 |
watir | Ruby를 사용하는 애플리케이션 테스트 프레임워크 |
(2) 인터페이스 구현 감시 도구
- APM을 사용하여 동작상태 감시
- 데이터베이스, 웹 애플리케이션의 다양한 정보를 조회하고 분석하여 시각화함
- 종류 : 스카우터(Scouter), 제니퍼(Jennifer) 등
참고자료
흥달쌤, '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
1억뷰 N잡
[1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스
www.njobler.net
반응형
댓글