오픈API All-in-One 솔루션
AppTomo APIM v5
AppTomo APIM 솔루션은 API Gateway, API Engine, API Portal 등 3 가지 제품으로 구성된 올인원(All-in-One) 플랫폼으로서, API Engine이 Mainframe, TP, WAS, SAP 등 레거시 서비스를 API로 자동으로 변환해 주며, 이렇게 변환된 API를 API Gateway를 통해 외부에 오픈API로 제공합니다.
- AppTomo API Gateway : 외부의 오픈API호출에 대한 인증/인가 및 유량제어(Rate-limit) 등 API에 대한 인증/인가·보안·통제 기능을 제공합니다. 개별인증을 통한 인가코드 발급 및 접근토큰 발급, 통합인증을 통한 1차/2차 접근토큰 발급, 접근토큰의 발급/갱신/폐기, 아웃바운딩(Out-bounding) API 등을 제공합니다.
- AppTomo API Engine : API Engine은 Mainframe, TP, WAS, SAP 등 레거시 서비스와 자산을 아무런 변경없이 일관되고 자동으로 API로 생성하고, API Gateway를 통해 외부에 안전하고 완전하게 오픈API로 서비스 해 줍니다. API Engine은 레거시 시스템을 직접(direct) 연동하거나, MCI, EAI, FEP 등을 통해 연동해 주는 API 중계/브릿지 시스템으로서, 체이닝거래 통제 및 거래추적 등 디팩토 표준(De-facto Standard)으로 자리매김하였습니다.
- AppTomo API Portal : 제공기관 및 이용기관 관리, API 라이프싸이클 관리, 자격증명 및 TLS인증서 관리, 엑셀 전문정의서 기반의 API 자동 생성, API export/import, API개발자 커뮤니티 및 테스트 등 지속 성장 가능한 API 생태계 및 비즈니스 관리 등을 제공합니다. 이와 함께, 오픈API 및 API 관리를 위한 API Gateway 및 API Engine 관리, 레거시 연계 인터페이스 및 아답터 관리, API Portal 메뉴/역할/권한 관리 등 주요 관리 기능을 제공합니다.
- 데이터베이스: AppTomo APIM v5는 기본적으로 MySQL 데이터베이스를 사용하며, 운영 환경에서는 운영 이중화 구성을 제공합니다. 그리고, 내부적으로 캐시 서버로서 Redis를 사용하며, Sentinel을 사용하여 운영 이중화 구성을 지원합니다.
AppTomo APIM v5 올인원 플랫폼의 시스템 구성은 다음과 같습니다.
AppTomo API Gateway
API Gateway는 외부의 오픈API호출에 대한 인증/인가 및 유량제어(Rate-limit) 등 API에 대한 인증/인가·보안·통제 기능을 제공합니다. 개별인증을 통한 인가코드 발급 및 접근토큰 발급, 통합인증을 통한 1차/2차 접근토큰 발급, 접근토큰의 발급/갱신/폐기, 아웃바운딩(Out-bounding) API 제공 등을 수행합니다. AppTomo API Gateway의 주요 기능은 다음과 같습니다.
- 논블러킹(Non-blocking) I/O 및 리액티브(Reactive) 프로세싱 지원
- 다양한 프로토콜 (HTTPs, WebSocket)
- 오픈API 인증/인가 (Key/OAuth2.0 인증)
- 오픈API 보안 (메시지 무결성)
- 오픈API Discovery/Routing
- 오픈API 유량제어 (RateLimit 등)
- 오픈API 부하분산 (RoundRobin 등)
- 마이데이터 전용 mTLS 제공 (종합포털 기관/서비스 정보 기반 접근통제)
- 마이데이터 개별인증 인가코드/접근토큰 발급
- 마이데이터 통합인증(UCPID, 사설인증) 접근토큰 1차/2차 발급
- I/O Bound / 배치 API (마이데이터 업권별API)
- 로깅, 추적, 상관 관계
- 화이트리스트 IP 통제
AppTomo API Engine
API Engine은 Mainframe, TP, WAS, SAP 등 레거시 서비스와 자산을 아무런 변경없이 일관되고 자동으로 API로 생성하고, API Gateway를 통해 외부에 안전하고 완전하게 오픈API로 서비스 해 줍니다. API Engine은 레거시 시스템을 직접(direct) 연동하거나, MCI, EAI, FEP 등을 통해 연동해 주는 API 중계/브릿지 시스템으로서, 체이닝거래 통제 및 거래추적 등 디팩토 표준(De-facto Standard)으로 자리매김하였습니다. API Engine의 주요 기능은 다음과 같습니다.
- 논블러킹(Non-blocking) I/O 및 리액티브(Reactive) 프로세싱 지원
- API 엔드포인트 제공 (REST-API Wrapping)
- 오픈API 전문변환 (JSON, XML, Binary, Fixed, )
- 프로토콜 지원 (HTTP, TCP/IP, FTP, DB, SAP)
- 요청/응답 파라메터 Resolver (암복호화, 마스킹)
- 요청/응답 파라메터 Validation (Type, Size, CodeList)
- 요청/응답 파라메터 코드 변환
- 직접(directly) 또는 MCI/EAI/ESB를 통한 레거시/시스템 연계 (Adapter 구조)
- 클라이언트ID(client-id), 클라이언트IP(client-ip) 통제 (ACL; Access Control List)
- 레거시 서비스에 대한 단일 트랜잭션(One TRANSACTION)을 여러 API로 제공
- 체이닝거래 (API호출 순서, API정상실행) 및 세션 통제 à 키 : USER-CI, CLINET_ID
- 거래추적 (구간별 성능, 장애구간 구간 분석)
API Engine은 다음과 같은 디팩토(De-facto) 표준을 제시하였습니다.
- API Auto-Generation for Legacy : 레거시 서비스에 대한 인터페이스 전문을 그대로 IMPORT 하여 API를 자동 생성해 주며, 생성된 API의 IN/OUT 전문에 대해 Validation, 암·복호화, 마스킹 등의 속성을 UI를 통해 편리하게 편집할 수 있습니다.
- API Bridge to Legacy (Loosely-Coupled) : API 게이트웨이를 통해 전달된 API에 대한 요청에 대해 다음과 같이 레거시 서비스를 연계하는 BRIDGE/중계시스템 역할을 충실히 수행 합니다.
- API Complete Control and Tracking : 오픈API의 가장 큰 특징은 무상태(Stateless)로써 세션이 없습니다. API 엔진은 오픈API 간의 호출 순서 통제 및 해당 API간의 세션 등 체이닝거래 통제 기능을 제공합니다. 또한, 오픈API를 실행하기 위한 API GFateway 구간에서 레거시 구간까지 구간별 성능 및 장애원인구간 분석을 위한 거래추적 기능을 제공합니다.
AppTomo API Portal
API Portal은 제공기관 및 이용기관 관리, API 라이프싸이클 관리, 자격증명 및 TLS인증서 관리, API전문정의서 기반의 자동 생성, API export/import, API개발자 커뮤니티 및 테스트 등 지속 성장 가능한 API 생태계 및 비즈니스 관리 등을 제공합니다. 이와 함께, 오픈API 및 API 관리를 위한 API Gateway 및 API Engine 관리, 레거시 연계 인터페이스 및 아답터 관리, API Portal 메뉴/역할/권한 관리 등 주요 관리 기능을 제공합니다. API Portal의 주요 기능은 다음과 같습니다.
- API Developer Portal (개발자포털), API Admin Portal (관리자포털)
- 이용기관 등록, 승인/거절
- 앱(IP 화이트리스트) 등록 및 오픈 API 사용 신청, 승인/거절
- 앱키(client_id, client_secret)발급
- 오픈 API 테스트(Swagger UI, 전용 UI)
- 임직원/사용자 권한관리 (2-factor인증, 계정관리)
- 오픈API/엔드포인트 생성/승인/관리
- API엔진 관리 콘솔, API G/W 관리 콘솔
- 오픈API 실행 현황 (모니터링,통계,거래추적)
- 각종 정보 변경, 로그/이력 관리
- DB/시스템 연계 (임직원DB,SSO,SMS,EMAIL)
- 마이데이터 전송요구 및 전송 내역 관리
- 마이데이터 기관/서비스 정보 관리
API Portal의 주요 메뉴는 다음과 같습니다.
오픈API 활용 프로세스
APPTOMO 플랫폼 기반의 오픈API 운영 프로세스
APPTOMO 플랫폼 기반의 오픈API 운영 프로세스에 대해 살펴보면, 다음과 같습니다.
- (제공기관) 오픈API 생성 : 제공기관 개발자는 레거시 서비스를 오픈API플랫폼에서 오픈API를 등록합니다.
- (이용기관) 이용기관 및 관리자 생성/거절 : 오픈API활용 계약을 완료하고 방화벽을 오픈한 이용기관은 개발자포털에 기관 회원가입 및 관리자를 생성하고, 승인 요청을 넣습니다. 제공기관 관리자는 해당 이용기관의 요청에 대해 승인 또는 거절합니다.
- (이용기관) 이용기관 앱 생성/거절 : 가입 승인을 받은 이용기관의 관리자는 오픈API를 사용하여 서비스를 제공할 앱을 생성하고, 승인 요청을 넣습니다. 제공기관 관리자는 해당 요청에 대해 승인 또는 거절합니다. 이용기관 관리자는 승인된 앱에 대해 앱키(client_id, client_secret)를 발급받을 수 있습니다.
- (이용기관) 오픈API 활용 서비스 개발 : 이용기관 개발자는 발급받은 앱키를 이용하여 오픈API활용서비스 개발이 가능합니다. 이를 위해, 제공기관은 반드시 이용기관 접근서버의 IP 방화벽을 해제해야 합니다.
각 프로세스에 대한 자세한 설명은 하단에서 확인할 수 있습니다.