본문 바로가기
정보처리기사/실기

정보처리기사 실기 5장 - 인터페이스 구현

by 애기 개발자 2024. 7. 5.
반응형

76. 인터페이스 요구사항 검증 (C)

1. 인터페이스 요구사항 검증

  • 인터페이스 요구사항 검증 순서
    1. 요구사항 검토 계획 수립
    2. 검토 및 오류 수정
    3. 베이스라인 설정

2. 요구사항 검증 방법

  • 동료 검토 (Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료가 결함을 발견하는 방법
  • 워크스루(Walk Through) : 검토 회의 전에 명세서를미리 배포하여 사전 검토 후 짧은회의를 통해 결함을 발견
  • 인스펙션(Inspection) : 명세서 작성자를 제외한 다른전문가가 결함을 발견하는방법

3. 인터페이스 요구사항 검증의 주요 항목

  • 완전성(Completeness) : 모든 요구사항이 누락되지 않고 완전하게 반영되었는가?
  • 일관성(Consistency) : 요구사항이 모순되거나 충돌되는 점 없이 일관성을 유지하는가?
  • 명확성(Unambiguity) : 모든 참여자가 요구사항을 명확히 이해할 수 있는가?
  • 기능성(Functionality) : 요구사항이 '어떻게' 보다 '무엇을' 에 중점두고 있는가?
  • 검증 가능성(Verifiablilty) : 요구사항이 사용자의 요구를 모두 만족하고, 개발된 SW가 요구 내용과 일치하는지 검증할 수 있는가?
  • 추적 가능성(Traceablilty) : 명세서와 설계서를 추적할 수 있는가?
  • 변경 용이성(Easily Changeable) : 명세서의 변경이 쉽도록 작성되었는가?

79. 미들웨어 솔루션 (B)

1. 미들웨어(Middleware)

  • 운영체제와 응용프로그램, 또는 서버와 클라이언트 사이에서다양한 서비스를 제공하는 SW
  • 미들웨어는 표준화된 인터페이스를 제공하여 일관성을 보장한다.
  • 종류
    • DB(Database)
    • RPC(Remote Procedure Call)
    • MOM(Message Oriented Middleware)
    • TP-Monitor(Transaction Processing Monitor)
    • ORB(Object Request Broker)
    • WAS(Web Application Server)

2. DB

  • 클라이언트에서 원격의 DB와 연결하는 미들웨어

3. RPC(원격 프로시저 호출)

  • 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어

4. MOM(메시지 지향 미들웨어)

  • 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
  • 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 사용

5. TP-Monitor(트랜잭션 처리 모니터)

  • 온라인 트랜잭션 업무에서 트랜젹션을 처리 및 감시하는 미들웨어
  • 항공기나 철도 예약 등 사용자 수가 증가해도 빠른 응답속도를 유지해야 하는 업무에 사용

6. ORB(객체 요청 브로커)

  • 코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어

7. WAS(웹 어플리케이션 서버)

  • 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어
  • 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어

80. 모듈 연계를 위한 인터페이스 기능 식별(A)

1. 모듈 연계

  • 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의 교환을 위해 관계를 설정
  • EAI, ESB, 웹 서비스가 있다

2. EAI(Enterprise Application Integration)

  • EAI는 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션

Point-to-Point

  • 가장 기본적인 애플리케이션 통합 방식
  • 애플리케이션을 1:1로 연결
  • 변경 및 재사용 어려움

 

Hub & Spoke

  • 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식
  • 확장 및 유지보수 용이
  • 허브 장애시 시스템 전체 영향

 

Message Bus(ESB 방식)

  • 애플리케이션 사이에 미들웨어를 두고 처리하는 방식
  • 확장성이 뛰어나며 대용량 처리 가능

 

Hybrid

  • Hub&Spoke와 Message Bus 혼합
  • 그룹 내에서는 Hub&Spoke 방식을, 그룹 간에는 Message Bus 방식을 사용
  • 필요한 경우 한 가지 방식으로 EAI 구현 가능
  • 데이터 병목 현상 최소화

 

 

3. ESB(Enterprise Service Bus)

  • ESB는 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
  • 특정 서비스에 국한되지 않고 범용적으로 사용하기 위해 애플리케이션과의 결합도를 약하게 유지한다.
  • 관리 및 보안 유지가 쉽다.
  • 높은 수준의 품질 지원 가능

 

 

4. 웹 서비스(Web Service)

  • 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술
  • 서비스 지향 아키텍처(SOA) 개념을 실현하는 대표적인 방법

웹 서비스의 구성

  • SOAP : Http, HTTPS, SMTP 등을 활용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜
  • UDDI : WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용
  • WSDL : 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어, XML로 작성되며, UDDI의 기초가 됨

 


80. 인터페이스 구현(A)

1. 인터페이스 구현

  • 송수신 시스템 간의 데이터 교환 및 처리를 실현해주는 작업
  • 구현방법
    • 데이터 통신을 이용한 인터페이스 구현
    • 인터페이스 엔티티를 이용한 인터페이스 구현

2. 데이터 통신을 이용한 인터페이스 구현

  • 데이터 포맷을 인터페이스 대상으로 전송하면 이를 수신 측에서 파싱하여 해석
  • JSON이나 XML을 사용

3. 인터페이스 엔티티를 이용한 인터페이스 구현

  • 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 것
  • 일반적으로 인터페이스 테이블을 엔티티로 사용

4. JSON(JavaScript Object Notation)

  • 데이터 객체를 속성,값의 쌍 형태로 표현하는 개방형 표준포맷

5. AJAX(Asynchronous JavaScript ans XML)

  • 클라이언트와 서버 간에 XML 데이터를 주고 받는 비동기 통신기술
  • 페이지를 새로 고치지 않아도 웹 페이지 일부 영역 업데이트 가능

 84. 인터페이스 보안(B)

1. 인터페이스 보안

  • 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용하는 것

2. 인터페이스 보안 기능 적용

  • 네트워크 영역
    • 인터페이스 송수신 간 스니핑(Sniffing) 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화 설정
    • IPSec, SSL, S-HTTP 등있음
  • 애플리케이션 영역
    • SW개발 보안 가이드를 참조하여 코드 상의 보안 취약점 보안
  • DB영역
    • DB, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 DB 동작 객체의 보안 취약점에 보안 기능 적용
    • 데이터의 암호화나 익명화 등 사용

IPSec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜

3. 데이터 무결성 검사 도구

  • 인터페이스 보안 취약점을 분석하는데 사용
  • Tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck 등

85. 인터페이스 구현 검증 (B)

1. 인터페이스 구현 검증

  • 인터페이스가 정상적으로 작동하는지 확인
  • 구현 검증 도구와 감시 도구를 이용해 인터페이스의 동작 상태 확인

2. 인터페이스 구현 검증 도구

  • xUnit
    • 같은 테스트 코드를 여러 번 작성하지 않게도와줌, 테스트마다 예상 결과를 기억할 필요가 없게 자동화된 해법을 제공하는 단위 테스트 프레임워크
  • STAF
    • 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
    • 크로스 플랫폼이나 분산 SW에서 테스트 환경을 조성할 수 있도록 지원
    • 분산 SW의 경우 각 분산 환경에 설치된 데몬이프로그램 테스트에 대한 응답을 대신하여, 테스트가 완료되면 이를 통합하고 자동화하여 프로그램을 완성함
  • FitNesse
    •   웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
  • NTAF
    • Fitnesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크
  • Selenium
    • 다양한 브라우저 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
  • watir
    • Ruby를 사용하는 애플리케이션 테스트 프레임워크

3. 인터페이스 구현 감시 도구

  • 인터페이스 동작 상태는 APM(애플리케이션 성능 관리)을 사용하여 감시할 수 있다.
  • 스카우터(Scouter)
    • 애플리케이션 및 OS 자원에 대한 모니터링을 제공하는 오픈소스 APM
  • 제니퍼(Jennifer)
    • 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지, 전 단계에 걸쳐 성능을 모니터링하고 분석해주는 SW

4. APM (Application Performance Management/Monitoring)

  • 애플리케이션의 성능 관리를 위해 다양한 모니터링 기능을 제공하는 도구
  • 리소스 방식과 엔드투엔드 방식
  • 리소스 방식 : Nagios, Zabbix, Cacti 등
  • 엔드투엔드 방식 : VisualVM, 제니퍼, 스카우터 등

 

반응형

댓글