[정보처리기사실기] 인터페이스 / EAI / ESB

    반응형

    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

    반응형

    댓글