본문 바로가기
자격증 준비/정보처리기사

5장 인터페이스 구현

by 박살낼겨 2022. 4. 6.

1. 요구사항 검증

   1) 검증방법(★)

       - 동료검토(Peer Review) : 명세서 작성자가 직접 설명, 동료들이 검토

       - 워크스루(Work Through) : 명세서 미리 배포, 사전 검토 후 회의를 통해 검토

       - 인스펙션(Inspection) : 검토 전문가들이 명세서 확인 및 검토

    2) 프로토타이핑(Prototyping) : 개발될 소프트웨어에 대한 견본품(Prototype), 최종 결과물 예측

    3) 테스트 설계 : 요구사항이 현실적으로 가능한지 검토

    4) CASE 도구 활용 : 일관성 분석을 통해 요구사항의 추적, 분석, 관리, 표준 준수 여부 확인

 

2. 인터페이스 방법 명세화

   1) 시스템 연계 기술

       - DB Link : DB에서 제공하는 DB Link 객체를 이용

       - API / Open API(★) : 송신 시스템의 DB에서 읽어와 제공하는 인터페이스 프로그램

       - 연계 솔루션 : EAI(★) 서버와 송/수신 시스템에 설치되는 클라이언트를 이용하는 방식

          ** EAI(Enterprise Application Integration) : 송/수신 처리 및 진행 현황 모니터링, 통제하는 시스템 ** 

       - Socket : 포트를 할당, 클라이언트의 통신 요청 시 클라이언트와 연결해 통신하는 네트워크 기술

       - Web Service : 웹 서비스에서 WSDL(★), UDDI(★), SOAP(★) 프로토콜을 이용하여 연계하는 서비스

          ** WSDL : 웹 서비스에 대한 상세 정보를 XML 형식으로 구현(웹 서비스명, 서비스 제공 위치, 프로토콜 등) ** 

          ** UDDI : WSDL을 등록해 서비스와 서비스 제공자 검색하고 접근하는데 사용 ** 

          ** SOAP : HTTP, HTTPS, SMTP 들을 활용, XML 기반의 메세지를 네트워크 상에서 교환하는 프로토콜 ** 

   2) 인터페이스 통신유형

       - 단방향 : 요청만 하고 응답 없는 방식

       - 동기 : 요청하고 응답이 올 때까지 대기하는 방식

       - 비동기 : 요청하고 다른 작업 수행하다 응답이오면 처리하는 방식

         (Send-Receive, Send-Receive-Acknowledge, Publish-Subscribe)  

   3) 인터페이스 처리 유형

       - 실시간 방식 : 사용자 요청한 내용 바로 처리 할 때

       - 지연 처리방식 : 데이터를 매건 단위 처리, 비용 많이 발생할 때 사용

       - 배치 방식 : 대용량 데이터 처리

 

3. 미들웨어 솔루션

   1) 미들웨어 : 서버와 클라이언트 사이에서 다양한 서비스 제공하는 소프트웨어

   2) 미들웨어 종류(★)

       - DB(Data Base)

         : 클라이언트에서 데이터베이스와 연결하는 미들웨어

       - RPC(Remote Procedure Call)

         : 원격 프로시저를 마치 로컬 프로시저 처럼 호출하는 미들웨어

       - MOM(Message Oriented Middleware)

         : 비동기형 메세지 전달하는 미들웨어(이기종 분산 데이터 시스템의 데이터 동기에 많이 사용)

       - TP-Monitor(Transaction Processing Monitor)

         : 트랜잭션을 감시 및 처리하는 미들웨어(사용자수가 증가해도 빠른 응답속도)

       - ORB(Object Request Broker)

         : 객체지향 미들웨어

       - WAS(Web Application Server)

         : 동적 콘텐츠를 처리하기 위한 미들웨어(웹 환경 구현하기 위한)

 

4. 모듈 연계

   1) 모듈 연계 방법

       - EAI(Enterprise Application Integration) : 기업에서 운영되는 이기종 간의 시스템 연계 솔루션

         ** Point-to-Point : 1:1로 연결(변경, 재사용 어려움)

         ** Hub & Spoke : 중앙 집중형 방식(허브 시스템)

         ** Message Bus(ESB방식) : 애플리케이션 사이에 미들웨어를 두고 연계

         ** Hybrid : Hub & Spoke와 Message Bus의 혼합

       - ESB(Enterprise Service Bus) : 애플리케이션 간 표준 인터페이스를 제공하는 솔루션

 

5. 인터페이스 구현 : 송/수신 시스템 간 데이터 교환 및 처리 실현해주는 작업

   1) 데이터를 통신을 이용한 구현

       - JSON(JavaScript Object Notation) : { "속성" : "값" }의 쌍 형태로 표현, 개방형 표준 포맷

       - AJAX(Asynchronous JavaScript and XML) : 클라이언트와 서버간 XML데이터 주고 받는 비동기 통신 기술

 

6. 인터페이스 보안

   1) 보안 기능 적용

       - 네트워크 영역

         : 스니핑(Sniffing)을 이용한 데이터 탈취 방지, 암호화 설정

           ** 스니핑 : 직접 공격 안하고 몰래 들여다보는 공격기법

         <네트워크 보안 기술>(★)

           ** IPsec(IP Security) : 네트워크 계층에서 IP단위 데이터 변조 방지, 은닉(비밀) 기능 제공

           ** SSL(Secure Sockets Layer) : TCP/IP 계층과 어플리케이션 사이 인증, 암호화, 무결성 보장 프로토콜

           ** S-HTTP(Secure Hypertext Transfer Protocol) : 클라이언트, 서버 간 전송되는 모든 메세지 암호화 프로토콜

 

7. 인터페이스 구현 검증

   1) 구현 검증 도구(★)

xUNIT JAVA, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크
STAF 재사용 등 다양한 환경을 지원. 확장성 좋음. 분산 소프트웨어, 데몬
FitNesse 웹기반 테스트케이스 설계, 협업 기능 좋음
NTAF STAF와 FitNesse의 장점을 통함. NHN의 테스트 자동화 프레임웤
Selenium 다양한 브라우저 및 개발 언어를 지원하는 웹 앱 테스트 프레임웤
watir Ruby 앱 테스트

 

8. 인터페이스 감시 도구 : APM을 통해 로그 및 시스템 부하 등 종합적인 정보 조회, 분석 가능

      ** APM(Application Performance Management?Monitoring)

   1) 어플리케이션 성능관리를 위해 모니터링 기능 제공하는 도구

       - 스카우터(Scouter) : APP, OS 자원 모니터링 기능 제공

       - 제니퍼(Jennifer) : 전 단계에 걸쳐 성능 모니터링, 분석 소프트웨어

   2) APM 방식

       - 리소스 방식 : Nagios, Zabbix, Cati 등

       - 엔드투엔드 방식(End-to-End) : VisualVM, 제니퍼, 스카우터 등