ABOUT ME

-

Today
-
Yesterday
-
Total
-

Post Calendar

«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
  • 정보처리기사 실기 스터디[2022-09-26] - 인터페이스 구현
    자격증/정보처리기사 2022. 9. 26. 21:56

    📌 Study

    🔸 2022-09-26

    [인터페이스 구현]

    1. 인터페이스 설계 확인

    • EAI 방식
      • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간 정보를 전달, 통합 관리해주는 솔루션
      • 비즈니스 로직, 시스템 확장성, 단단한 결합

     

    • EAI 구축 유형
    구축 유형 설명
    포인트 투 포인트 가장 기초적인 애플리케이션 통합 방법, 1:1 단순 통합 방법
    허브 앤 스포크 단일 점점 허브 시스템을 통해 데이터 전송하는 중앙 집중식 방식
    메시지 버스 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
    하이브리드 그룹 내에서는 허브 앤 스포크, 그룹 간 메시지 버스 방식 사용하는 통합 방식

     

    • ESB 방식
      • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간을 하나의 시스템으로 관리할 수 있도록 서비스 중심의 통합 지향 아키텍처
      • 서비스 중심, 느슨한 결합

     

    • 인터페이스 ID : 인터페이스를 구분하기 위한 식별자, 식별성 강화를 위해 업무 분류 코드와 연속 번호를 같이 활용
    • 인터페이스 명 : 해당 인터페이스를 나타내는 고유 명칭
    • 오퍼레이션 명 : 해당 인터페이스의 세부 동작 명칭

     

    2. 인터페이스 기능 구현

    • JSON : 속성-값 쌍, 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

     

    • JSON 특징
      • AJAX에서 많이 사용, XML을 대체하는 주요 데이터 포맷
      • 사람이 읽고 쓰기에 용이, 기계가 분석하고 생성하기에 용이

     

    • JSON 표현 자료형
    자료형 사례
    숫자(Number) 기본 자료형의 수는 정수, 실수로 표현
    문자열(String) 항상 큰 따옴표("")로 묶어야 하며, 그 안에는 유니코드 문자열 나열
    배열(Array) 배열은 대괄호[]로 표시, 각 요소는 기본 자료형이거나 배열, 객체
    객체(Object) 객체는 이름/값 쌍의 집합, 중괄호{} 사용

     

    • JSON 장/단점
      • 장점 : XML보다 가볍고 빠름, 자료 종류에 큰 제한 없음, XML은 모두 string인 것에 반해 JSON은 다양
      • 단점 : 태그가 없어서 가독성이 떨어짐, 데이터 형식이 틀릴 경우 체크가 쉽지 않음

     

    • XML
      • HTML의 단점을 보완한 인터넷 언어로서 SGML의 복잡한 단점을 개선한 특수 목적 마크업 언어

     

    • XML 특징
      • 송수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의
      • 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타 언어
      • 사용자가 직접 문서의 태그를 정의할 수 있으며 다른 사용자가 정의한 태그 사용 가능

     

    • AJAX
      • 자바스크립트를 사용해 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
      • XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고, 필요한 일부 페이지의 데이터만 로드하는 기법
      • 하이퍼텍스트 표기 언어만으로 어려운 다양한 작업을 자유롭게 상호 작용할 수 있도록 구현하는 기법

     

    • AJAX 주요 기술
    주요 기술 설명
    XMLHttpRequest 웹 브라우저-서버 간 메서드가 데이터를 전송하는 객체 폼의 API, 비동기 통신 담당하는 자바스크립트 객체
    JavaScript 객체 기반의 스크립트 프로그래밍 언어
    XML HTML의 단점을 보완한 인터넷 언어로서 SGML의 복잡한 단점을 보완한 특수 목적의 마크업 언어
    DOM XML 문서를 트리 구조의 형태로 접근할 수 있게 하는 API
    XSLT XML 문서를 다른 XML 문서로 변환하는데 사용하는 XML 기반 언어
    HTML 인터넷 웹 WWW 문서를 표현하는 표준화된 마크업 언어
    CSS 마크업 언어가 실제 표시되는 방법을 기술하는 언어

     

    • AJAX 동작 원리
      • 사용자에 의한 요청 이벤트 발생
      • 이벤트 핸들러에 의해 자바스크립트 호출
      • XMLHttpRequest 객체를 사용해 서버로 요청, 응답을 기다릴 필요 없이 다른 작업 가능
      • 서버는 전달받은 XMLHttpRequest 객체를 가지고 AJAX 요청 처리
      • 서버는 처리한 결과를 HTML, XML, JSON 형태로 웹 브라우저에 전달
      • 서버로 전달받은 데이터를 웹 페이지의 일부분만을 갱신하는 자바스크립트 호출
      • 결과적으로 웹 페이지의 일부분만이 다시 로딩되어서 표시

     

    • REST
      • 웹과 같은 분산 하이퍼미디어 환경에서 자원의 상태를 HTTP 메서드를 통해 주고받는 웹 아키텍처
      • HTTP URI를 통해 자원을 명시하고, HTTP 메서드를 통해 CRUD 할 수 있는 분산 하이퍼미디어 환경을 위한 SW 아키텍처
      • 구성 요소 : 자원, 처리, 메시지

     

    • REST 메서드
    메서드 의미
    POST Create(생성)
    GET Read(조회)
    PUT Update(수정)
    DELETE Delete(삭제)

     

    • 인터페이스 구현
      • 데이터 통신을 사용하는 인터페이스 구현
      • 인터페이스 개체를 사용하는 인터페이스 구현

     

    • 인터페이스 보안 기능 적용

     

    • 시큐어 코딩 가이드 적용
    적용대상 보안 약점 대응 방안
    입력데이터 검증 및 표현 프로그램 입력값에 대한 검증 누락 및 부적절한 검증 검증 체계 수립 및 실패 시 처리 구현
    보안 기능 보안 기능 부적절한 구현 인증, 접근 통제 정책 잘 반영되도록 구현
    시간 및 상태 거의 동시에 수행하는 병렬 시스템에서 부적절한 관리 공유 자원 접근 직렬화, 블록문 내에서만 재귀함수 호출
    에러 처리 에러 미처리, 불충분한 처리 시스템 구현 잘 적용
    코드 오류 개발자가 범할 수 있는 코드 오류로 인해 유발 경고 순위의 최상향 조정 후 경고 메시지 코드 제거
    캡슐화 기능성이 불충분한 캡슐화로 인해 인가되지 않은 자에게 데이터 누출 디버거 코드 제거와 클래스 내 Private 접근자 지정
    API 오용 의도된 사용에 반하는 방법으로 API 사용 개발 언어별 취약 API 확보 및 검출 프로그램 사용

     

    • 데이터 베이스 보안 적용

     

    • 데이터베이스 암호화 알고리즘
    구분 설명
    대칭키 암호화 알고리즘 암·복호화에 같은 암호키 쓰는 알고리즘(ARIA 128/192/256, SEED)
    비 대칭키 암호화 알고리즘 공개키는 누구나 알 수 있지만, 비밀키는 소유자만 알 수 있도록 공개키, 비밀키 사용하는 알고리즘(RSA, ECC)
    해시 암호화 알고리즘 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성 알고리즘(SHA-256/384/512, HSA-160)

     

    • 데이터베이스 암호화 기법
    구분 설명
    API 방식 애플리케이션 레벨에서 암호화 모듈(API) 적용, 애플리케이션 서버에 암·복호화, 키 관리 등 부하 발생
    Plug-in 방식 암·복호화 모듈이 DB 서버에 설치된 방식
    TDE 방식 DB 서버의 DBMS 커널이 자체적으로 암·복호화 기능을 수행하는 방식
    Hybrid 방식 API 방식과 Plug-in 방식을 결합하는 방식

     

    • 인터페이스 암호화 전송 보안 기술
    보안 기술 설명
    IPSec IP 계층에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용하여 양 종단 간 보안 서비스 제공하는 터널링 프로토콜
    SSL/TLS 전송 계층과 응용계층 사이에서 클라이언트-서버 간 웹 데이터 암호화 및 데이터 무결성을 보장하는 보안 프로토콜
    S-HTTP 웹 상에서 네트워크 트래픽을 암호화, 클라이언트-서버 간 전송되는 모든 메시지 각각 암호화하여 전송

     

    3. 인터페이스 구현 검증

    • 인터페이스 구현 검증 도구
    도구 설명
    xUnit 자바, C++ 등 다양한 언어를 지원하는 단위테스트 프레임워크
    STAF 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크, 분산환경에 데몬 사용
    FitNesse 웹 기반 테스트 케이스 설계/실행/결과 등을 지원하는 테스트 프레임워크, 테이블 작성하면 자동으로 원하는 값 테스트 가능
    NTAF FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 Naver의 테스트 자동화 프레임워크
    Selenium 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크, 스크립트 언어 학습 필요 없이 기능 테스트 도구 제공
    Watir 루비 기반 웹 애플리케이션 테스트 프레임워크, 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

     

    • 인터페이스 절차
      • 전송 => 수신 => 파싱 => 검증

     

    • 인터페이스 감시 도구
    도구 설명
    스카우터(SCOUTER) 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능
    제니퍼(Jennifer) 애플리케이션 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능 모니터링하고 분석해주는 APM 소프트웨어

     

    • 인터페이스 오류 처리 방법
      • 화면 오류 인지하도록 구현
      • 로그에 오류 기록 생성
      • 테이블에 관련 오류 사항 기록

    댓글

Designed by Tistory.