Million Dreams
100만개의 꿈을 꾸는 개발자 지망생
정보처리기사 2과목 소프트웨어 개발 5장 인터페이스 구현 요점 정리

5장 인터페이스 구현

 

Section61 모듈 연계를 위한 인터페이스 기능 식별

 

1. 모듈 연계의 개요

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

EAI(Enterprise Application Integration)

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

- EAI는 비즈니스 간 통합 및 연게성을 증대시켜 효율성 및 각 시스템 간의 확정성(Determinacy)을 높여 준다.

EAI 구축 유형

Point-to-Point

- 가장 기본적인 애플리케이션 통합 방식으로, 애플리케이션을 1:1로 연결한다.

- 변경 및 재사용이 어렵다.

Hub & Spoke

- 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식이다.

- 확장 및 유지 보수가 용이하다.

- 허브 장애 발생 시 시스템 전체에 영향을 미친다.

Message Bus

- 애플리케이션 사이에 미들웨어를 두어 처리하는 방식이다.

- 확장성이 뛰어나며 대용량 처리가 가능하다.

Hybrid

- Hub & Spoke Message Bus의 혼합 방식이다

- 그룹 내에서는 Hub & Spoke 방식을, 그룹 간에는 Message Bus 방식을 사용한다.

- 필요한 경우 한 가지 방식으로 EAI 구현이 가능하다.

- 데이터 병목 현상을 최소화 할 수 있다.

 

ESB(Enterprise Service Bus)

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

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

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

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

 

2. 모듈 간 연계 기능 식별

- 모듈 간 공통 기능 및 데이터 인터페이스를 기반으로 모듈과 연계된 기능을 시나리오 형태로 구체화하여 식별한다.

- 식별된 연계 기능은 인터페이스 기능을 식별하는데 사용된다.

 

3. 모듈 간 인터페이스 기능 식별

- 식별된 모듈 간 관련 기능을 검토하여 인터페이스 동작에 필요한 기능을 식별한다.

- 인터페이스 동작은 대부분 외부 모듈의 결과 또는 요청에 의해 수행되므로 외부 및 인터페이스 모듈 간 동작하는 기능을 통해 인터페이스 기능을 식별한다.

- 내부 모듈의 동작은 외부 모듈에서 호출된 인터페이스에 의해 수행되고 결과를 나타내는 것이므로 해당 업무에 대한 시나리오를 통해 내부 모듈과 관련된 인터페이스 기능을 식별한다.

- 식별된 인터페이스 기능 중에서 실제적으로 필요한 이넡페이스 기능을 최종적으로 선별한다.

- 식별된 인터페이스 기능은 인터페이스 기능 구현을 정의하는데 사용한다.

 

Section 68 인터페이스 구현 검증

1. 인터페이스 구현 검증의 개요

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

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

 

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

- 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합 테스트가 필요하다.

-통합 테스트는 테스트 자동화 도구를 이용하면 효율적으로 수행할 수 있다.

 

※ 테스트도구 종류

xUnit – Java, C++, .Net 등 다양한 언어를 지원하는 단위 테스트 프레임워크이다.

STAF – 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크이다.

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

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

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

Watir – Ruby를 사용하는 애플리케이션 테스트 프레임워크이다.

 

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

- 인터페이스 동작 상태는 APM을 사용하여 감시(Monitoring)할 수 있다.

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

- 대표적인 애플리케이션 성능 관리 도구에는 스카우터, 제니퍼 등이 있다.

 

 APM(Application Performance Management/Monitoring)

- APM은 애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 도구를 의미한다.

- APM은 리소스 방식와 엔드투엔드의 두 가지 유형이 있다.

리소스 방식 : Nagios, Zabbix, Cacti 

엔드투엔드 방식 : VisualVM, 제니퍼, 스카우터 등

 

4. 인터페이스 구현 검증 도구 및 감시 도구 선택

- 인터페이스 기능 구현 정의를 통해 구현된 인터페이스 명세서의 세부 기능을 참조하여 인터페이스의 정상적인 동작 여부를 확인하기 위한 검증 도구와 감시 도구의 요건을 분석한다.

- 분석이 끝나면 시장 및 솔루션 조사를 통해서 적절한 인터페이스 구현을 검증하고 감시하는데 필요한 인터페이스 구현 검증 도구와 감시 도구를 선택한다.

 

5. 인터페이스 구현 검증 확인

- 인터페이스 구현 검증 도구를 이용하여 외부 시스템과 연계 모듈의 동작 상태를 확인한다.

- 최초 입력값과 입력값에 의해 선택되는 데이터, 생성되는 객체의 데이터 등 전반적인 인터페이스 동작 프로세스상에서 예상되는 결과값과 실제 검증값이 동일한지를 비교한다.

- 추가적으로 각 단계별 오류 처리도 적절하게 구현되어 있는지 확인한다.

 

6. 인터페이스 구현 감시 확인

- 인터페이스 구현 감시 도구를 이용하여 외부 시스템과 연결 모듈이 서비스를 제공하는 동안 정상적으로 동작하는지 확인한다.

- 인터페이스 동작 여부, 에러 발생 여부 등 감시 도구에서 제공해 주는 리포트를 활용한다.

  Comments,     Trackbacks