모듈 연계 / 인터페이스 구현(보안), 구현 검증, 오류 확인

2023. 2. 16. 15:03정처기 필기/2과목 - 소프트웨어 개발

모듈 연계

 

1. EAI (Enterprise Application Integeration)

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

 

유형 기능
포인트 투 포인트
(Point to Point)
- 점 대 점으로 연결하는 방식, 변경 및 재사용이 어려움
허브 앤 스포크
(Hub & Spoke)
- 단일 점점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중혁 방식
- 확장 및 유지보수가 용이하지만 허브 장애 발생 시 시스템 전체에 영향을 미침
메시지 버스
(Message Bus)
- 애플리케이션 사이에 미들웨어를 적용하는 방식
- 확장성이 뛰어나며 대용량 처리가 가능
하이브리드
(Hybrid)
- Hub & Spoke와 Message Bus의 혼합 방식
- 데이터 병목 현상을 최소화할 수 있음

 

2. ESB (Enterprise Service Bus)

- 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션

- 애플리케이션 통합 측면에서 EAI와 유사하지만 애플리케이션 보다는 서비스 중심의 통합을 지향

- 결합도를 약하게 유지함

- 관리 및 보안 유지가 쉽고, 높은 수준의 품질 지원이 가능

 


인터페이스 구현 및 보안

 

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

- 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신 측에서 파싱해 해석하는 방식

- 주로 JSON이나 XML형식의 데이터 포맷을 사용해 인터페이스를 구현

 

*** JSON

- 속성-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

 

*** XML

- 특수한 목적을 갖는 마크업 언어를 만드는데 사용되는 다목적 마크업 언어

- 웹 페이지의 기본 형식인 HTML의 문법이 각 웹 브라우저에서 상호 호환적이지 못하다는 문제와 SGML의 복잡함을 해결하기 위해 개발됨

 

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

- 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티로 상호 연계하는 방식

- 일반적으로 인터페이스 테이블을 엔티티로 활용

- 송, 수신 인터페이스 테이블의 구조는 상황에 따라 서로 다르게 설계될 수도 있다.

 

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

- 네트워크, 애플리케이션, 데이터베이스 영역

 

* 스니핑(Sniffing) : 네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형

 

* 소프트웨어 개발 보안 (시큐어 코딩, Secure Coding) : 보안 활동

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

 


인터페이스 구현 검증  / 인터페이스 오류 확인

 

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

도구  기능
xUnit Java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임 워크
STAF 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
FitNesse 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF STAF의 장점인 재사용과 FitNesse의 장점인 협업 기능을 통한 NHN의 테스트 자동화 프레임워크
Selenium 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
watir Ruby 언어를 사용하는 애플리케이션 테스트 프레임워크

 

2. 인터페이스 오류 발생 즉시 확인

- 오류 메시지 알람  표시

- 오류 SMS 발송

- 오류 내역 이메일 발송

 

3. 인터페이스 오류 발생 주기적인 확인

- 오류 로그 확인 : 오류를 별도의 로그 파일로 생성해 보관, 자세한 오류 원인 및 내역 확인 가능

- 오류 테이블 확인 : 확인이 쉬워서 용이함, 오류 사항이 구체적이지 않아 별도의 분석이 필요하다.

- 감시(APM) 도구 사용 : 스카우터나 제니퍼 등의 인터페이스 감시 도구를 사용해 주기적 확인