ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사[실기 핵심 정리] - 인터페이스 기능구현 및 검증
    용어 정리 2024. 4. 11. 19:32

    EAI(Enterprise Application Integration)

    • 기업 내의 다른 플랫폼 및 애플리케이션들을 연결, 통합하는 솔루션
    • 목적 : 비즈니스 통합 및 연계성 증대, 시스템 확장성 향상

    EAI의 구축 유형

    종류 설명
    point-to-point ● 미들웨어 없이 직접 애플리케이션끼리 연결

    솔루션 구매 없이 직접 통합 가능
    Hub & Spoke 중앙 허브를 통한 중앙 집중적 연결 방식

    모든 데이터 전송 보장, 확장 및 유지보수 용이

    단점 : 허브에 문제가 생길 경우 전체 시스템에 영향

    Message Bus 미들웨어를 사용하여 애플리케이션 사이에서 메시지를 전달

    뛰어난 확장성, 대용량 처리 가능
    HyBrid 내부적으로는 Hub & Spoke, 외부적으로는 메시징 버스 방식 사용

    표준 통합 기술 사용, 데이터 병목 현상 최소화

    ESB 개념

    • 웹 서비스 중심의 표준화된 데이터 버스를 이용하여 다양한 애플리케이션을 유연하게 통합하는 플랫폼

    ESB 구축 유형

    • 관리 및 보안 용이, 높은 품질 지원
    • EAI와 유사하지만 서비스 중심 통합을 지향
    • 단점 : 표준화 필요, 벤더 종속성, 일부 성능 문제 존재

    인터페이스 연계 기술

    DB Link

    •  데이터베이스에 제공하는 DB Link 객체를 이용
    • 수신 시스템에서 DB Link를 생성하고 송신 시스템에서 해당 DB Link를 직접 참조하는 방식

    DB Connection

    • 수신 시스템의 WAS에서 송신 시스템DB로 연결하는 DB Connection Pool을 생성하고 연계 프로그램에서 해당 DB Connection Pool 명을 이용

    JDBC

    • 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
    • DBMS 유형, DBMS 서버 IP와 Port, DB Instance 정보가 필요함

    API/ OpenAPI

    • 송신 시스템의 애플리케이션 프로그램 인터페이스 프로그램
    • API명, 입출력 파라미터 정보가 필요함

    Web Service

    • WSDL(Web Services Description Language), UDDI(Universal Description, Discovery and Integration) SOAP(Simple Object Access Protocol)프로토콜을 이용하여 연계

    Hyper Link

    • 웹 애플리케이션에서 하이퍼링크(Hyper Link) 이용

    Socket

    • 통신을 위한 소캣(Socket)을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하고 통신하는 네트워크 기술

    인터페이스 전송 데이터

    JSON(JavaScript Object Notation)

    • JavaScript의 객체 문법을 기반으로 데이터를 표현하는 문자 기반의 표준 포맷
    • 웹 애플리케이션에서 주로 사용
    • JSON 데이터는 이름과 값의 쌍으로 이루어 진다.

    XML(eXtensible Markup Language)

    • 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 마크업 언어
    • XML은 문서내용에 대한 구조와 의미를 기술하기 위한 언어
    • 특수한 목적을 갖는 마크업 언어을 만드는데 사용하도록 권장하는 다목적 마크업 언어
    • 다양한 표현이 가능하고, 확장성이 뛰어나며 간단하다.
    • HTML처럼 데이터를 보여주는 목적이아닌 데이터를 저장하고 전달할 목적으로 만들어 졌다.
    • HTML처럼 태그가 정해져 있지 않고 사용자가 직접 정의할 수 있다.

    YAML(YAML Ain't Markup Languange)

    • 구성 파일 작성에 자주 사용되는 데이트 직렬화 언어
    • JSON과 비슷하게 사람이 읽기 쉬운 형태의 데이터 표현 형식
    • YAML은 XML과 문법적으로 유사하지만, 태그를 사용하지 않고 공백 위주로 데이터를 구분

    CSV(Comma Separated Values)

    • 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일
    • 표 형태의 데이터를 저장하는 파일형식

    인터페이스 구현

    AJAX(Asynchronous JavaScript and XML)

    1) AJAX의 개념

    • 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수있 는 통신 기능
    • 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용
    • 전체 페이지를 새로고침하지 않고, 페이지의 일부만을 변경할 수 있는 기법

     

    2) 비동기 방식

    • 웹 페이지를 리로드하지 않고 데이터를 불러오는 방식
    • 페이지 리로드 시 전체 리소스를 다시 불러와야 하지만, 비동기 방식을 이용할 경우 필요한 부분만을 불러와 사용하므로 불필요한 리소스가 발생하지 않는다.

     

    3) AJAX의 장단점

    장점 ● 웹 페이지의 속도향상

    서버의 처리가 완료될 때까지 기다리지 않고 처리가 가능하다.

    서버에서 필요한 데이터만 전송하면 되므로 전체적인 코딩의 양이 줄어든다.

    기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다.
    단점 히스토리 관리가 되지 않는다.

    사용자에게 아무런 진행 정보가 주어지지 않는다.

    AJAX를 쓸수 없는 브라우저에 대한 문제 이슈가 있다.

    다른 도메인과는 통신이 불가능하다.

    페이지 이동이 없는 통신으로 인한 보안상의 문제가 있다.

    SOAP(Simple Object Access Protocol)

    1) SOAP의 개념

    • HTTP, HTTPS, SMTP 등을 통한 XML 기반 메시지 교환 프로토콜
    • RPC 패턴 사용, 클라이언트와 서버간의 요청 및 응답을 처리
    • SOA 개념을 실현하는 기술

     

    2) SOAP 구성

    • SOAP : HTTP, HTTPS, SMTP 등을 통한 XML 기반 메시지 교환 프로토콜
    • UDDI  : 비즈니스 업체 목록 등록을 위한 XML 규격
    • WSDL : 웹 서비스 기술언어, 서비스의 기술적 세부사항 기술

     

    3) SOAP 보안 프로토콜

    보안 프로토콜 설명
    SAML 인증, 권한 관리
    XKMS 키 관리
    XACML 접근 제어

     

    4) SOAP 장/단점

    장점 ● 프록시와 방화벽에 구애받지 않는 통신

    HTTP 이외의 다른 전송 프로토콜들(SMTP)을 사용할 수 있다.

    플랫폼 독립적
    단점 XML 포맷의 사용으로 인해 상대적으로 느림

    REST

    1) REST의 개념

    • HTTP URI를 통한 자원 명시와 HTTP Method를 통한 CRUD Operation 적용
    • 자원 기반의 구조(ROA) 구현

     

    2) REST 구성요소

    구성요소 설명
    자원(Resource) URI를 통해 식별되는 서버의 데이터
    행위(Method) GET,POST,PUT,DELETE 등 HTTP Method 사용
    표현(Representation) JSON, XML, TEXT등 다양한 형태로 표현 가능

     

    3) CRUD Operation, HTTP Method

    • Create : POST
    • Read : GET
    • Update : PUT
    • Delete : DELETE

     

    4) REST 특징

    특징 설명
    유니폼 인터페이스 HTTP 표준만 따르면 어떤 언어나 플랫폼에서 사용해도 사용이 가능한 인터페이스 스타일

    특정 언어에 상관없이 사용이 가능하다
    Stateless
    (상태 정보 유지 안함)
    REST는 상태 정보를 유지하지 않는다

    서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리를 한다
    Cacheable
    (캐시가능)
    HTTP가 가진 캐싱 기능이 적용 가능
    Self-descriptiveness REST API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조로 되어 있다.

     

    5) REST 장/단점

    장점 별도 인프라 필요 없음

    클라이언트와 서버의 분리

    플랫폼에 독립적

    사용 용이

    단점 표준 부재

    HTTP Method 한계

     

    6) RESTful

    • RESt 원리를 따르는 시스템

    인터페이스 보안

    인터페이스 보안 취약점 분석

    • 인터페이스를 통한 데이터 변조, 탈취
    • 패킷 공격 기법
      • 스니핑(Sniffing): 네트워크상에서 전송되는 패킷을 가로채는 행위, 주로 비밀 정보를 탈취하는데 사용
      • 수푸핌(Spoofing) : 일반적으로 IP 주소나 다른 식별자를 위장하여 다른 사용자나 시스템을 속이는 행위

    인터페이스 보안 기능 적용

    1) 네트워크 영역

    • 인터페이스 송/ 수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협 방지 위해 네트워크 트래픽에 대한 암호화 설정
    • IPSec, SSL, S-HTTP 등 다양한 방식으로 적용

     

    2) 애플리케이션 영역

    • 시큐어코딩 가이드를 참조하여 애플리케이션 코드상 보안 취약점을 보완하는 방향으로 적용

     

    3) DB 영역

    • DB, 스키마, 엔티티의 전근 권한과 프로시저, 트리거 등 DB 동작 객체의 보안 취약점에 보안 기능을 적용
    • 민감 데이터를 암호화, 익명화 등을 통해 데이터 자체 보안 방안도 고려
Designed by Tistory.