본문으로 바로가기

모듈 연계

 - 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의 교환을 위해 관계를 설정하는 것으로 대표적인 모듈 연계 방법에는 EAI와 ESB 방식이 있음


EAI(Enterprise Application Integration)

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

 - 비즈니스 간 통합 및 연계성을 증대시켜 효율성 및 각 시스템 간의 확정성을 높여 줌

유형 기능
Point-to-Point - 가장 기본적인 애플리케이션 통합 방식으로 애플리케이션을 1:1로 연결
- 변경 및 재사용이 어려움
Hub & Spoke - 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식
- 확장 및 유지 보수가 용이
- 허브 장애 발생 시 시스템 전체에 영향을 미침
Message Bus(ESB 방식) - 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
- 확장성이 뛰어나며 대용량 처리가 가능
Hybrid - Hub & Spoke & Message Bus의 혼합 방식
- 그룹 내에서는 Hub & Spoke 방식을, 그룹 간에는 Message Bus 방식을 사용
- 필요한 경우 한 가지 방식으로 EAI 구현이 가능
- 데이터 병목 현상을 최소화할 수 있음

EAI 구축 유형


ESB(Enterprise Service Bus)

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

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

 - 특정 서비스에 국한되지 않고 범용적으로 사용하기 위하여 애플리케이션과의 결합도를 약하게 유지

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


인터페이스 보안

 - 인터페이스는 시스템 모듈 간 통신 및 정보 교환을 위한 통로로 사용되므로 충분한 보안 기능을 갖추지 않으면 시스템 모듈 전체에 악영향을 주는 보안 취약점이 될 수 있음

 - 보안성 향상을 위해서는 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용해야 함


인터페이스 보안 기능 적용

 - 분석한 인터페이스 기능과 보안 취약점을 기반으로 인터페이스 보안 기능을 적용

네트워크 영역 - 인터페이스 송·수신 간 스니핑등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정
- 암호화는 인터페이스 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용
애플리케이션 영역 - 소프트웨어 개발 보안 가이드를 참조하여 애플리케이션 코드 상의 보완 취약점을 보완하는 방향으로 애플리케이션 보안 기능을 적용
- 시큐어코딩 등
데이터베이스 영역 - 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 기능을 적용
- 개인 정보나 업무상 민감한 데이터의 경우 암호화, 익명화

인터페이스 구현 검증

 - 인터페이스가 정상적으로 문제없이 작동하는지 확인하는 것

 - 인터페이스 구현 검증 도구와 감시 도구를 이용하여 인터페이스의 동작 상태를 확인


인터페이스 구현 검증 도구

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

인터페이스 구현 감시 도구

 - 인터페이스 동작 상태는 APM을 사용하여 감시

 - 애플리케이션 성능 관리 도구를 통해 데이터베이스와 웹 애플리케이션의 트랜잭션, 변수값, 호출 함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고 분석할 수 있음

 - 애플리케이션 성능 관리 도구에는 스카우터, 제니퍼 등이 있음