에라모르겠다(‘◇’)?

[4 - 5] 통합 구현 / 인터페이스 구현 👩‍⚖️ 본문

정보처리기사/정보처리기사 실기

[4 - 5] 통합 구현 / 인터페이스 구현 👩‍⚖️

도토리즈 2023. 4. 10. 22:49

4-2. 연계 매커니즘 구성

 

[1] 연계 매커니즘 정의

 

* 연계 매커니즘

: 응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 매커니즘

- 기능 : 송신 시스템(데이터 생성-전송) / 수신 시스템(데이터를 수신하여 DB반영)

 

* 주요 연계 기술

[직접 연계]

- DB 링크 : 데이터베이스에서 제공하는 DB링크 객체 이용 , 수신 시스템에서 DB 링크 생성하고 송신 시스템에서 해당 DB링크를 직접 참조

- DB 연결 : 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB 커넥션 풀 생성, 연계 프로그램에서 해당 DB 커넥션 풀명을 이용하여 연결

- API / OPEN API : 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램 , API명- 입출력 파라미터 정보가 필요함

 - JDBC : 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결, DBMS 유형, DBMS 서버IP와 Port, DB 인스턴스 정복필요

- 하이퍼 링크 : <a> </a> 태그 활용하여 다른 페이지로 이동 

 

[간접 연계]

- 연계 솔루션(EAI) : 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션, 송수신 시스템에 설치되는 어댑터 이용

- Web Service / ESB : 웹 서비스가 설명된 WSDL 과 SOAP 프로토콜을 이용한 시스템 간 연계

-- WSDL :웹  서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹서비스에 대한 상세 정보가 기술된 XML 형식으로 구션되어있는 언어

-- SOAP : HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜

- Socket(소켓) : 소켓을 생성하여 포트 할당, 클라이언트의 요청을 연결하여 통신

 


4-3. 내 · 외부 연계 모듈 구현

 

[1] 연계 모듈 구현 환경 구성 및 개발 

 

* EAI방식(Enterprise Application Intergration) 

: EAI 는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션 , 효율성 ↑, 시스템 간 확장성 ↑ 

 

* EAI 구성요소

- EAI 플랫폼 : 이기종 시스템 간 애플리케이션 상호 운영 ,  메시지 큐와 트랜잭션 미들웨어 기능 수행, 대규모 사용자 환경 지원을 위한 유연성과 확장성 보장

- 어댑터(Adapter) :  기업에서 자체적으로 개발한 애플리케이션을 연결하는 EAI의 핵심 장치로 데이터 입출력 도구

- 브로커(Broker) : 시스템 상호 간 데이터가 전송 될 때 , 데이터 포맷과 코드를 변환하는 솔루션

- 메시지 큐(Message Queue) : 비 동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터를 송수신 하는 기술

- 비즈니스 워크플로우(Business Workflow) : 미리 정의된 기업의 비즈니스 워크플로우에 따라 업무를 처리하는 기능

 

* EAI 구축 유형

(1) 포인트 투 포인트 (Point - to - Point)

: 가장 기초적인 애플리케이션 통합 방법 , 1:1 단순 통합방법  

(2) 허브 앤 스포크 (Hub & Spoke) 

: 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식 , 허브 장애 시 전체 장애 발생

(3) 메시지 버스 (Message Bus)

: 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식 , 뛰어난 확장성과 대용량 데이터 처리 가능

(4) 하이브리드 (Hybrid) 

: 그룹 내에는 허브앤 스포크 방식을 사용, 그룹 간에는 메시지 버스 방식을 사용

 

 

* ESB방식(Enterprise Service Bus)

: 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할수 있도록 서비스 중심의통합을 지향하는 아키텍처 , 미들웨어를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원하는 방식

- 특징 : 서비스들을 컴포넌트화된 논리적 집합으로 묶는 핵심 미들웨어 , 비즈니스 프로세스 환경에 맞게 설계 및 전개할 수 있는 아키텍처 패턴

 

* 웹 서비스 방식

: 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술로써 서비스 지향 아키텍처 개념을 실현하는 기술

 

(1) SOAP 

- HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜

- 보통의 경우 원격 프로시저 호출(RPC) 을 하는 메시지 패턴 사용

- 네트워크 노드(클라이언트) 에서 다른 쪽 노드(서버)로 메시지 요청, 서버는 메시지를 즉시 응답

 

(2) WSDL 

- 웹 서비스 명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어

- SOAP 와 XML 스키마와 결합하여 인터넷 상에서 웹 서비스를 제공하기 위해 사용

 

(3) UDDI

- WSDL을 등록하고 검색하기 위한 저장소로 공개적 접근, 검색이 가능한 레지스트리이자 표준 

 

* IPC 방식

: 운영체제에서 프로세스 간 서로 데이터를 주고 받기 위한 통신 기술

주요 기법 : 메시지 큐, 공유 메모리, 소켓 ,세마포어

- 메시지 큐 : 메시지 또는 패킷 단위로 동작하여 프로세스 간 통신

- 공유 메모리 : 한 프로세스의 일부분을 다른 프로세스와 공유

- 소켓 : 클라이언트 - 서버 둘 사이 통신 가능

- 세마포어 : 프로세스 사이의 동기를 맞추는 기능 제공

 

 


5-2. 인터페이스 기능 구현

 

[1] 인터페이스 기능 구현 정의

 

* 컴포넌트

: 특정한 기능을 수행하기 위해 독립적으로 개발되어 보급되는 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용 시스템을 구축하기 위해 사용되는 소프트웨어 프로그램 

 


 

[2] 인터페이스 기능 구현

 

* JSON

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

- 특징: AJAX에서 많이사 용, XML을 대체하는 주요 포맷 

 

* XML

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

- 특징 : 송/수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의

 

* AJAX

: 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비 동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술 , 전체 페이지 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법

- AJAX 주요 기술

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

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

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

 

* REST

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

- 형태 : 리소스 (자원 - URI ), 메서드(처리 - GET(read) / POST (create) / PUT (update) / DELETE (delete) ), 메시지 (XML,JSON)  3가지 요소로 구성


[4] 인터페이스 보안 기능 적용

 

* 인터페이스 보안 취약점

: 스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취하는 위협 존재 , 데이터 통신 시 삽입, 삭제, 변조 공격을 통한 시스템 위협 존재

 

* 시큐어 코딩 가이드 적용

: 입력 데이터 검증 표현 / 보안 기능 / 시간 및 상태 / 에러 처리 / 코드 오류 / 캡슐화 / API 오용 

 

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

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

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

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

 

*데이터베이스 암호화 기법

- API 방식 : 애플레키에션 서버에 암/ 복호화, 정책 관리 ,키 관리 등의 부하 발생

- Plug-in 방식 : 암/복호화 모듈이 db서버에 설치된 방식

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

- 하이브리드 방식 : API 방식과 Plug-in 방식을 결합한 방식

 

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

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

- SSL/TLS : 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성으 ㄹ보장하는 보안 프로토콜

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

 


5-3. 인터페이스 구현 검증

 

[1] 인터페이스 구현 검증

 

* 인터페이스 구현 검증 도구

- xUnit : 자바, c++ , .net 등 다양한 언어를 지원하는 단위테스트 프레임 워크 , 함수- 클래스 같은 서로 다른 구성 단위를 테스트

- STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 , 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트 수행, 통합하여 자동화

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

- NTAF : FitNesse의 장점인 협업 기능과 STAF 의 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임워크

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

- watir : 루비 기반 웹 애플리케이션 프레임 워크 

 

* 인터페이스 감시 도구

- 스카우터(SCOUTER) : 애플리케이션에 대한 모니터링 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능 제공

- 제니퍼(Jennifer) : 애플리케이션 개발부터 테스트 ,오픈 ,운영, 안정화까지 전 생에주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어

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

[3] 데이터 입출력 구현 ⌨️  (1) 2023.04.08
[2] 화면 설계 🖼️  (0) 2023.04.06
[1] 요구사항 확인 😶  (0) 2023.04.03
Comments