자격증/정보처리기사

5장 인터페이스 구현 - (2) 인터페이스 기능 구현

지팡구 2022. 7. 9. 20:32

인터페이스 기능 구현 기술

1) JSON

   = '속성-값 쌍' 또는 '키-값 쌍'으로 이루어진 데이터 오브젝트를 전달하기 위한 개방형 표준 포맷으로 AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포멧이다. 사람이 읽고 쓰기 용이하며 기계가 분석하고 생성하기 용이하다.

 

2) XML

   = HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어로 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.(트리구조를 갖는다.)

 

3) AJAX

  = JS(Java Script)를 사용해 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술로, 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법이다.

  

   3-1) AJAX의 주요 기술

    - XMLHttpRequest : 비동기 통신을 담당하는 자바스크립트 객체

    - JAvaScript : 객체 기반의 스크립트 프로그래밍 언어

    - XML : HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어 

    - DOM : XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API

    - XSLT : XML 문서를 다른 XML 문서로 변환하는데 사용하는 XML 기반 언어

    - HTML : 웹 문서를 표현하는 표준화된 마크업 언어

    - CSS : 마크업 언어가 실제 표시되는 방법을 기술하는 언어

 

4) REST(Representational State Transfer)

    = 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화 된 HTTP 메서드로 주고받는 웹 어키텍처


데이터베이스 보안 적용

 

1) 데이터베이스 암호화 알고리즘

  - 대칭 키 암호화 알고리즘 : 암,복호화에 같은 암호 키를 쓰는 알고리즘

                                              (ARIA 128/192/256/, SEED)

  - 비대칭 키 암호화 알고리즘 : 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록                                                         공개키와 비밀키를 사용하는 알고리즘

                                                  (RSA, ECC, ECDSA)

  - 해시 암호화 알고리즘 : 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘

                                          (SHA-256/384/512, HAS-160)

 

2) 데이터베이스 암호화 기법

   - API 방식 : 애플리케이션 레벨에서 암호모듈(API)을 저적용하는 애플리케이션,ㅡ  1 수정 방식

   - Plug-In 방식 : 암-복호화 모듈이 DB 서버에 설치된 방식

   - TDE 방식 : DB서버의 DBMS 커널이 자체적으로 암, 복호화 기능을 수행하는 방식

   - Hybrid 방식 : API 방식과 Plug-IN 방식을 결합하는 방식

 

3) 중요 인터페이스 데이터의 암호화 전송

 

   - IPSec (IP Security) : IP계층인 3계층에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜

   - SSL/TLS : 전송계층인 4계층과 응용계층 7계층 사이에서 클라이언트와 서버 간의 웹 데이터 기밀성과 무결성을 보장하는 보안 프로토콜

   - S-HTTP : 웹 상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송


인터페이스 구현 검증 도구

 

1) xUnit : 다양한 언어를 지원하는 단위테스트 프레임워크로 함수나 클래스 같은 서로 다른 구성 단위를 테스트 할 수있게 지원

2) STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크

3) FItNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크

4) NTAF : Naver의 테스트 자동화 프레임워크로 STAF의 장점과 FitNesse의 장점을 통합

5) Selenium : 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크

6) watir : 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크

 

 인터페이스 감시 도구

   - 스카우터 : 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능

   - 제니퍼 : 애플리케이션의 개발부터 테스트, 오픈, 운영 등 전 생애주기 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어