REST API, EAI(Enterprise Application Integration) 250423
q1: REST API, EAI(Enterprise Application Integration)
a1:
1. REST API 방식
• 정의
• HTTP/HTTPS 프로토콜 위에서 동작하는 웹 서비스 인터페이스
• 자원(Resource)을 URI로 표현하고, GET/POST/PUT/DELETE 등의 메서드로 CRUD를 수행
• 주요 특징
1. 경량·표준화
• JSON·XML 등 가벼운 메시지 포맷 사용
• HTTP 스펙만 준수하면 별도 미들웨어 불필요
2. Stateless
• 요청 간 상태 정보를 서버에 남기지 않음 → 확장성·유연성 우수
3. 동기 호출 중심
• 요청 → 응답 흐름이 명확해 처리 로직 단순
• 실시간(On-line) 인터페이스에 적합
4. 보안·인증
• OAuth2.0, JWT, TLS 등 표준 보안 메커니즘 활용
⸻
2. EAI 방식
• 정의
• 기업 내부의 이기종 시스템(ERP, CRM, DB, 레거시 등)을 통합하기 위한 미들웨어 기반 솔루션
• 메시지 큐(MQ), ESB(Enterprise Service Bus), 트랜잭션 관리, 데이터 매핑/변환 기능 포함
• 주요 특징
1. 미들웨어 활용
• IBM MQ, TIBCO EMS, Mule ESB, Oracle Service Bus 등으로 메시지 라우팅·변환·오케스트레이션
2. 비동기·배치 처리
• 큐잉(Queueing)으로 시스템 장애에도 메시지 유실 방지
• 대량 배치 데이터 처리, 트랜잭션 관리 가능
3. 강력한 변환·연계 기능
• XML→JSON, CSV→DB insert 등 포맷·구조 변환
• 프로토콜(HTTP, FTP, JDBC, SOAP, JMS 등) 다양하게 지원
4. 운영·모니터링
• 전용 콘솔에서 메시지 흐름·성공·실패 내역 실시간 모니터링
⸻
3. 비교 요약
REST API
- HTTP/HTTPS
- JSON, XML
- Stateless
- 주로 동기
- 미들웨어 필요성: 없음 (또는 경량 API 게이트웨이)
- 확장성·유연성: 매우 높음
- 적합 시나리오: 모바일/웹 클라이언트 연동, 마이크로서비스 아키텍처
EAI (ESB/MQ)
- JMS, HTTP, FTP, JDBC, SOAP 등 다양
- XML, JSON, CSV, 바이너리 등 포맷 변환 기능 내장
- Stateful (트랜잭션·재시도 로직 포함)
- 비동기 큐 기반, 배치 처리 가능
- 미들웨어 필요성: 필수 (ESB, MQ 브로커 등)
- 확장성·유연성: 중간~높음 (구축 복잡도 증가 시 유연성 저하 가능)
- 적합 시나리오: 대기업 이기종 시스템 통합, 복잡한 메시지 변환·오케스트레이션
⸻
4. 언제 어떤 방식을 쓸까?
• REST API
• 신규 서비스 간 실시간 인터페이스
• 외부 개발자·파트너사에 공개하는 공개(오픈) API
• 마이크로서비스 간 경량 통신
• EAI
• ERP·CRM·레거시 DB 등 여러 시스템을 단일 관점에서 통합해야 할 때
• 트랜잭션 보장·재시도·대용량 배치 처리 요구가 클 때
• 포맷·프로토콜이 다양한 이기종 시스템 간 메시지 변환이 필요할 때
⸻
이처럼 REST API는 가볍고 빠른 실시간 연동에, **EAI(미들웨어/ESB)**는 복잡하고 대규모의 비동기·배치 중심 연동에 강점을 가지므로, 프로젝트 요구사항에 맞춰 적절히 선택하시면 됩니다.