EAI(Enterprise Application Integration)
1) EAI의 개념
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해 주는 솔루션이다
- EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여 줄 수 있으며 각 시스템 간의 확장성을 높여 줄 수 있다
2) EAI의 구축 유형
유형 | Point-to-Point | Hub & Spoke |
개념도 | <이미지> | <이미지> |
설명 | 중간에 미들웨어를 두지 않고 각 애플리케이션간 Point to Point 형태로 연결 | 단일 접점이 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식 |
특징 | 솔루션 구매 없이 통합 상대적 저렴하게 통합 가능 변경, 재사용 어려움 |
모든 데이터 전송보장 확장, 유지보수 용이 허브 장애 시 전체 영향 |
유형 | Message Bus | Hybrid |
개념도 | <이미지> | <이미지> |
설명 | 애플리케이션 사이 미들웨어(버스)를 두어 처리 미들웨어 통한 통합 |
그룹 내에는 Hub & Spoke 방식, 그룹 간에서는 메시징 버스 방식을 사용 |
특징 | 어댑터가 각 시스템과 버스를 두어 연결하므로 뛰어난 확정성, 대용량 처리 가능 | 표준 통합 기술, 데이터 병목 현상 최소 |
ESB (Enterprise Service Bus)
1) 정의
- ESB는 애플리케이션 간의 통합 측면에서 EAI와 유사 하다고 볼 수 있으나
애플리케이션 보다는 서비스 중심으로 통합을 지향하는 아키텍쳐 또는 기술이다
- 웹 서비스 중심으로 표준화된 데이터를 버스를 통해 이 기종 애플리케이션의 결합도를 약하게
통합하는 핵심 플랫폼(기술) 이다.
<이미지>
데이터 통신을 통한 인터페이스 구현
1) JSON (Java Script Object Notation)
- JSON은 속성-값 쌍(attribute-value pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷
- AJAX (Asynchronous JavaScript and XML)에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷
- 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용
2) XML (eXtensible Markup Language)
- 다른 많은 종류의 데이터를 기술하는데 사용될 수 있으며, 다른 종류의 시스템끼리 데이터를 쉽게 주고박을 수 있게 하는 목적
3) 시큐어 코딩 가이드
- SW 보안 취약점, 약점 및 대응 방안이 구체적으로 서술
구분 | 내용 |
입력 데이터 검증 및 표현 |
소스코드 취약점 점검 |
API 이용 | 시스템 접근 API 오용 |
보안 특성 | 인증, 접근제어, 기밀성, 암호화, 권한 관리, 취약한 알고리즘, 부적절한 인가로 인한 취약점 |
시간 및 상태 | 프로세스 동시 수행 시, 잘못된 권한 위임 가능성 |
에러 처리 | 에러 처리가 부적절하거나 에러에 정보가 과도하게 많이 포함된 경우 |
코드 품질 | 복잡한 소스 코드가 가독성과 유지 보수성을 저하함 |
캡슐화 | 중요 데이터의 불충분한 캡슐화로 악의적 접근 가능 |
4) 인터페이스 구현 검증도구
도구 | 내용 |
sUnit | java(Junit), C++(Cppunit), Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임 워크 |
STAF | 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크 |
FitNesse | 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임 워크 |
NTAF | Naver 테스트 자동화 프레임 워크이며, STAF와 FitNesse를 통합 |
Selenium | 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리캐이션 테스트 프레임 워크 |
watir | Ruby 기반 웹 애플리케이션 테스트 프레임 워크 |
정리하기
1. EAI
- Enterprise Application Integration
- 효율성 향상, 확장성 향상
- 유형 : Pont-to-Point, Hub&Spoke, Message Bus, Hybrid
2. ESB
- Enterprise Service Bus
- 서비스 중심으로 통합을 지향하는 아키텍쳐 또는 기술
3. 데이터 통신을 통한 인터페이스 구현
- JSON (Java Script Object Notation)
- XML (eXtensible Markup Language)
- 시큐어 코딩 : 입력 데이터 검증 및 표현, API 이용, 보안 특성, 시간 및 상태, 에러 처리, 코드 품질, 캡슐화
- 인터페이스 구현 검증도구 : xUnit, STAF, FitNesse, NTAF, Selenium, watir
'정보처리기사 > 2과 소프트웨어 개발' 카테고리의 다른 글
4. 애플리케이션 테스트 관리 (0) | 2023.09.22 |
---|---|
3. 소프트웨어 패키징 (0) | 2023.09.21 |
2. 통합 구현 (0) | 2023.09.20 |
1. 데이터 입/출력 구현 (0) | 2023.09.19 |