정보처리기사

18. 인터페이스 기능 구현

nayeonee__ 2023. 4. 4. 14:09

https://www.njobler.net/product/lecture/show/prod/10810

 

1억뷰 N잡

[연장 미포함] 흥나게 합격달성! 정보처리기사 실기

www.njobler.net

본 강의를 듣고 내용을 정리하며 적은 게시글 입니다. 

 

 

 

 

  • 내, 외부 모듈 연계 방식
    • EAI(Enterprise Application Integration)
      • 개념
        • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 들간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
        • 등등
      • 구축 유형
        • Point - to - Point
          • 중간에 미들웨어를 두지 않고 각 애플리케이션 간 int to Point 형태로 연결
          • 솔루션 구매없이 통합
        • Hub & Spoke
          • 단일 접점이 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식
          • 모든 데이터 전송 보장
          • 확장, 유지 보수 용이
          • 허브 장애 시 전체 영향
        • Message Bus(ESB 방식)
          • 애플리케이션 사이 미들웨어(버스)를 두어 처리
          • 미들웨어 통한 통합
          • 어댑터가 각 시스템과 버스를 두어 연결하므로 뛰어난 확정성, 대용량 처리 가능
        • Hybrid
          • 그룹 내에는 Hybrid 방식을 그룹 간 메시징 버스 방식을 사용
          • 표준 통합 기술, 데이터 병목 현상 최소화
        • ESB - Enterprise Service Bus
          • 다양한 시스템과 연동하기 위한 멀티 프로토콜 지원
          • 버스를 통해 이기종 애플리케이션ㅇ르 유연하게 통합하는 핵심 플랫폼
          • 애플리케이션 간의 통합 측면에서 EAI 와 유사하지만 ,애플리케이션보다는 서비스 중심으로 통합을 지향하는 아키텍처 또는 기술이다.
  • 인터페이스 연계 기술
    • Link
      • 데이터 베이스에 제공하는 DB Link 객체를 이용
      • 수신 시스템에서 DB Link 를 생성하고 송신 시스템에서 해당 DB Link 를 직접 참조하는 방식
    • DB Connection
      • 수신 시스템의 WAS 에서 송신시스템 DB 로 연결하는 DB Connection Pool 을 생성하고 연계 프로그램에서 해당 DB Connection Pool 명을 이용
    • JDBC
      • 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB 와 연결
    • API / Open API
      • 송신 시스템의 애플리케이션 프로그래밍 인터페이스 프로그램
      • API 명, 입출력 파라미터 정보가 필요함
    • Web Service
      • WSDL(Web Service Description Language) - Xml 설명서, UUDI(Universal Description, Discovery and Interation) - 설명서가 모아져 있는 자료실, SOAP(Simple Object Access Protocol) 프로토콜을 이용하여 연계
    • Hyper Link
      • 웹 애플리케이션에서 하이퍼링크 이용
    • Socket
      • 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청시 클라이언트와 연결하고 통신하는 네트워크 기술
  • 인터페이스 전송 데이터
    • JSON(JavaScript Object Notation)
      • JavaScript 객체 문법으로 구조화된 데이터를 표현하기 위핸 문자 기반의 표준 포맷
      • JavaScript에서 객체를 만들 때 사용하는 표현식
      • 프로그래밍 문법이 아니 단순히 데이터를 표시하는 표현방법
      • JSON 데이터는 이름과 값의 쌍으로 이루어 진다.
    • XML(eXtensivle Markup Language)
      • 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 마크업 언어
      • 문서내용에 대한 구조와 의미를 기술하기 위한 언어
      • 다양한 표현이 가능하고, 확장성이 뛰어나며 간단하다.
      • 데이터를 저장하고 전달할 목적으로 만들어짐
      • 사용자가 직접 정의할 수 있다.
      • 확장자 마크업 언어 제공
    • YAML
      • 구성 파일작성에 자주 사용되는 데이터 직렬화 언어
      • 태그를 사용하지 않고 공백을 위주로 데이터를 구분
    • CSV(Comma Separated Values)
      • 몇 가지 필드를 쉼표, 로 구분한 텍스트 데이터 및 텍스트 파일
      • 표 형태의 데이터를 저장하는 파일 형식
  • 인터페이스 구현
    • AJAX(Asychronous JavaScript and XML)
      • 개념
        • 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기능
        • 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용
        • 전체 페이지를 새로 고침하지 않고, 페이지의 일부만을 변경할 수 있는 기법
      • 비동기 방식
        • 웹페이지를 리로드하지 않고 데이터를 불러오는 방식
        • 필요한 부분만을 불러와 사용하므로 불필요한 리소스를 사용하지 않는다.
      • 장점
        • 웹페이지의 속도 향상
        • 서버의 처리가 완료될 때 까지 기다리지 않고 처리가 가능
        • 서버에서 필요한 데이터만 전송하면 되므로 전체적인 코딩의 양이 줄어든다.
        • 등등
      • 단점
        • 히스토리 관리가 되지 않는다
        • 사용자에게 아무런 진행정보가 주어지지 않는다.
        • AJAX 를 쓸 수 없는 브라우저에 대한 문제 이슈가 있다.
        • 다른 도메인과 통신이 불가능
        • 페이지 이동이 없는 통신으로 인한 보안상의 문제가 있다.
    • SOAP
      • 개념
        • HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜
        • 웹서비스에서 기본적인 메시지를 전달하느 ㄴ기반이 된다.
        • 보통 RPC(Remote Procedure Call) 패턴을 많이 사용한다.
        • 클라이언트에서 서버쪽으로 메시지를 요청하고 서버는 그 메시지에 반응한다.
        • REST ful 보다 상대적으로 개발이 어렵다.
      • 구성
        • UUDI
          • 인터넷에서 전 세계의 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 XML 기반의 규격
        • WSDL
          • 웹 서비스 기술 언어 또는 기술된 정의 파일의 총칭으로 XML 로 기술
          • 서비스 제공장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다.
        • SOAP
      • SOAP 보안 프로토콜
        • SAML - 인증 / 권한관리
        • XKMS - 키관리
        • XACML - 접근 제어
      • 장점
        • 기본적으로 HTTP 기반 위에서 동작하기 때문에, 프록시와 방화벽에 구애받지않고 통신이 가능하다.
        • HTTP 이외의 다른 전송 프로토콜들을 사용할 수 있다.
        • 플랫폼 및 프로그래밍 언어에 독립적이다.
      • 단점
        • XML 포맷 형태로 보내기 때문에 다른 기술과 비교해서 상대적으로 느리다.
    • REST
      • 개념
        • HTTP URI 를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation 을 적용하는 것을 의미
        • 자원 기반의 구조(ROA, Resource Oriented Architecture)의 개념으로 구현되었다.
      • 구성 요소
        • 자원 Resource, URI
          • 서버에 존재하는 데이터의 총칭
          • 모든 자원은 고유의 URI 를 가지며 클라이언트는 이 URI 를 지정하여 해당 자원에 대해 CRUD 명령을 수행한다.
        • 행위 Verb, Method
          • 클라이언트는 URI 를 이용해 자원을 지정하고 자원을 조작하기 위해 Method 를 사용
          • HTTP 프로토콜에서는 POST, GET, PUT, DELETE 같은 Method를 제공한다.
        • 표현 Representation
          • REST 에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태로 나타낼 수 있다.
      • CRUD Operation, HTTP Method
        • Create : POST - 자원 생성
        • Read : GET - 자원의 정보 조회
        • Update : PUT - 자원의 정보 업데이트
        • Delete : DELETE - 자원 삭제
      • 특징
        • 유니폼 인터페이스
          • 특정 언어에 상관 없이 사용이 가능
          • HTTP 표준만 따르면 어떤 언어나 플랫폼에서 사용해도 사용이 가능한 인터페이스 스타일
        • Stateless - 상태정보 유지 안함
          • 서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리
        • Cachable - 캐시 가능
          • HTTP 가 가진 캐싱 기능이 적용가능
        • 자체 표현 구조
      • 장점
        • 별도의 인프라 구축이 필요없다.
        • 클라이언트와 서버의 분리
        • 플랫폼에 독립적
        • 쉬운 사용
      • 단점
        • 표준이 존재하지 않음
        • HTTP Method 의 한계
        • RDBMS 와 맞지 않음
      • REST ful
        • REST 의 원리를 따르는 시스템
  • 인터페이스 보안
    • 인터페이스 보안 취약점 분석
      • 인터페이스의 보안 취약점 분석
        • 인터페이스 각 구간의 구현 현황을 분석
        • 인터페이스 각 구간의 보안 취약점을 분석
      • 분석된 보안 취약점을 근거로 인터페이스 보안 기능을 적용
        • 네트워크 구간에 보안 기능을 적용
        • 애플리케이션에 보안 기능을 적용
        • 데이터베이스에 보안기능을 적용
    • 인터페이스 보안 기능 적용
      • 네트워크 영역
        • 인터페이스 송/수신간 스니핑을 이용한 데이터 탈취 및 변조 위협 방지 위해 네트워크 트래픽에 대한 암호화 설정
        • IPSEeq, SSL, S-HTTP 등 다양한 방식으로 적용
      • 애플리케이션 영역
        • 시큐어코딩 가이드를 참조하여 애플리케이션 코드상 보안 취약점을 보완하는 방향으로 보안 기능 적용
      • DB 영역
        • 민감 데이터를 암호화, 익명화 등을 통해 데이터 자체 보안 방안도 고려
        • 스키마, 엔티티의 접근 권한과 프로시저, 트리거등 DB 동작 객체의 보안 취약점에 보안 기능을 적용

 

        •  

'정보처리기사' 카테고리의 다른 글

20. 객체지향 설계  (0) 2023.04.04
19. 인터페이스 구현 검증  (0) 2023.04.04
17. 인터페이스 설계서 확인  (0) 2023.04.01
16. 인터페이스 개요  (0) 2023.04.01
15. 배치 프로그램 구현  (0) 2023.04.01