12장 : 인터페이스 구현 (2과목)
1. 모듈 연계 ★★★
- 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의 교환을 위해 관계를 설정하는 것
- 방법
- EAI (Enterprise Application Integration)
- ESB (Enterprise Service Bus)
2. EAI (Enterprise Application Integration)
- 기업 내의 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션
- 비즈니스 간 통합 및 연계성을 증대
- 애플리케이션 중심의 통합
- 종류
- Point to Point: 가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법
- Hub & Spoke: 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
- Message Bus: 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
- Hybrid: 그룹 내부는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메세지 버스 방식을 사용하는 통합 방식
3. ESB (Enterprise Service Bus)
- 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션
- 애플리케이션의 통합도 하지만, 주로 서비스 중심의 통합을 지향
- 애플리케이션 사이에 미들웨어(=버스)를 두어 처리
- 웹 서비스 중심으로 표준화된 데이터, 버스를 통해 다른 기종 애플리케이션을 유연하게 통합하는 핵심 플랫폼 기술
- Bus를 중심으로 각각 프로토콜이 호환 되게끔 변환 가능하고, 서비스 중심으로 메시지 이동을 라우팅할 수 있음
- 관리 및 보안이 쉽고 품질이 높음
- 표준화가 미비하다는 문제점 존재
4. 모듈 세부 설계서
- 모듈의 구성 요소와 세부적인 동작 등을 정의한 설계서
5. 인터페이스 구현 검증
- 인터페이스가 정상적으로 문제없이 작동하는지 확인하는 것
- 도구의 종류
- xUnit - Java(Junit), C++(Cppunit), Net(Nunit) 등 다양한 언어를 지원하는 프레임워크 / 단위테스트에서 사용
- STAF - 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 / 테스트 대상 분산 환경에 데몬을 사용
- FitNesse - 웹 기반 테스트 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- NTAF - FitNesse의 장점인 협업과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크
- Selenium - 다양한 브라우저 지원 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir - RUBY 기반 웹 애플리케이션 테스트 프레임워크
6. 데이터 통신을 통한 인터페이스 구현
- 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고, 이를 수신 측에서 파싱(Parsing)하여 해석하는 방식이다.
- 데이터 포맷 종류
- JSON
- XML
6-1. JSON (JavaScript Object Notation)
- 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷
- AJAX에서 많이 사용되고, XML을 대체하는 주요 데이터 포맷임
- 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에 사용되고 있음
- 비동기 브라우저 . 서버 통신(AJAX)을 위해 '속성-값 쌍', '키-값-쌍'으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
6-2. XML (eXtensible Markup Language)
- 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하도록 권장하는 다목적 마크업 언어
- 송.수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의
- 다른 많은 종류의 데이터를 기술하는 데 사용
- 다른 종류의 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하는 것이 목적