2. 2
완전한 오픈소스 솔루션(Apache License)
연계 가능한 다양한 솔루션 스위트 – CEP/ESB, Identity Manager, Mobile Server 등
API 개발자와 사용자에게 높은 생산성을 제공하는 강력한 API 설계, 관리 기능
대규모 기업에서 사용 가능한 고성능(High Performance), 확장성(Scalability) 높은 API 관리
솔루션
WSO2 API Manager 소개
출처: http://www.informationweek.com/cloud/platform-as-a-service/forrester-names-top-api-management-vendors/d/d-id/1316520
3. 3
WSO2 API Manager 주요 기능
API 설계 및 프로토타이핑
• 체계적인 API 설계에 맞추어 기능 구현 가능한 웍플로우(Swagger 2.0 정의를 통한 API 설계)
• API 공개(publishing) 전에 Stage 단계에서 피드백 수집 가능
• JavaScript 기반으로 Mock API를 구현하여 사전 테스트 가능
• JSON기반 REST 뿐만 아니라 XML 기반 SOAP API도 관리 가능
• 개별 API 또는 API 그룹에 대한 버전 관리
• 사용자에게 편리한 API 샘플 제공
API 공개(Publish)및 사용
제어
• 하나의 API를 내부 사용자, 파트너, 외부 고객에게 권한에 맞게 제공 가능
• 여러 개의 Gateway(외부 인터페이스)가 존재하는 환경에서 선택적으로 적용할 수 있는 유연성
• 복잡한 회사 내 환경에 맞게 정책(예: 사용자 인증, 클라이언트 등록)을 적용하거나 웍플로우
구성 가능
• 권한에 따른 API 공개(예: 내부 사용자, 파트너)
• API에 대한 전체 생명주기(생성, 테스트, 공개, 사용, 중지, 폐기 등) 관리
• 하나의 API를 프러덕션 용과 테스트(Sandbox)용으로 사용 가능
• WSO2 Governance Registry와 연동하여 생명주기에 대한 Customization
4. 4
WSO2 API Manager 주요 기능
접근 제어 및 보안
• API 변경 없이 보안 정책(Authentication, Authoriztion) 적용
• Oauth 2에 기반한 API 인증 기능(Basic Auth, SAML 등도 지원)
• 특정 범위(예: 도메인, 클라이언트 IP) 별로 API 접근 권한 제어
• 외부 서버를 활용한 애플리케이션 등록, 토큰 생성/인증 가능(WSO2 Key Manager 활용)
• API 또는 애플리케이션(API 그룹 단위) 별로 접근 제어
• XACML 기반의 권한 제어 가능
• SAML 2.0을 사용하여 다른 애플리케이션과 SSO(Single Sign-On) 가능
공개 API 관리 포탈
• 웹 GUI 기반의 API 관리 포탈
• API에 대한 이름, 태그, 제공자, 설명 등에 기반한 검색 및 조회 기능
• API Key(접근에 필요한 인증 정보) 생성 및 관리
• 애플리케이션 단위의 API 사용 등록 관리
• 사용자의 등급(예: Gold, Silver)에 따른 API 접근(예: 초당 호출 회수, throttling) 관리
• GUI가 아닌 API를 통한 API 사용 관리 기능도 제공
• 다국어 지원
• 조직 별로 동일한 GUI 인터페이스 제공
5. 5
WSO2 API Manager 주요 기능
개발자 커뮤니티 관리
• API 별 개발자 커뮤니티 관리
• 포럼, 커맨트, 등급(rating) 등을 통한 개발자 커뮤니케이션
• API 사용 통계
API 사용량 제어
• SSL 지원 및 SSL Termination(API Manager – API 사이는 Non-SSL 통신) 기능 지원
• 프로토콜 변환, 데이터 변환, API 컴포지션 등 간략한 Enterprise Service Bus 기능 – WSO2
ESB를 통한 Full ESB 기능도 제공 가능
• HTTP와 JMS 연동 같은 프로토콜 간 맵핑 기능 지원(ESB 기능 일부)
• 단순 메시지 라우팅에 대한 최소한의 오버헤드 – 고성능 API Gateway 구현
• 사용자 별로 API에 대한 등급 관리 및 유량 제어(throttling)
• API 사용량에 따라 손 쉬운 서버 확장(Highly Scalable Performance)
6. 6
WSO2 API Manager 주요 기능
모니터링 및 미터링
• 플러그인 기반의 분석 프레임워크로 모든 API 사용량 통계 제공
• Google Analytics나 WSO2 Data Analytics Server를 통한 Out-Of-The-Box 분석 기능
• 사용자, API, API 버전, 티어 별 분석 기능
• API 미터링을 위한 플랜(Scheme) 적용 가능
• SLA 관리 및 모니터링
• Alert 및 실시간 대시보드
• 대시보드 Customization 및 사용자 이벤트 정의
• 이벤트(예: API 과다 사용 시 유량 제어) 기반의 유량 제어(throttling), API 사용 승인/거부 등 자
동화된 워크플로우
플러그인, 기능확장,
테마 적용
• 쉽게 Customizing 및 확장 가능하고 테마/스타일 적용 가능한 UI
• Oauth 2.0을 통한 타 애플리케이션과 인증기능 연동
• 외부 분석 및 빌링 시스템 연동 가능
• Active Directory, LDAP, Database 등을 이용한 사용자 정보 연동
• 외부 솔루션에 Deploy된 API에 대한 카탈로그 관리 기능(확장 기능)
7. 7
WSO2 API Manager 주요 기능
편리한 설치/구성(Deploy)
• 역할(role) 기반의 사용자 및 권한 관리
• API를 외부에 제공하기 위하여 API 포탈이나 Gateway(API Manager)를 DMZ 구간(파이어월
외부)에 설치 및 운영 가능 – DB는 내부에 구성
• API 포탈을 외부 개발자용과 내부 사용자 용으로 구분하여 운영 가능
멀티테넌시 지원
• 하나의 단일 서버를 통해 여러 조직의 API 및 사용자 관리 가능(Multi-Tenancy)
• 복수의 조직 및 기업 간 API 공유 가능
8. 8
기계에서 수집된 데이터를 다양한 3rd Party 애플리케이션에 제공하기 위한 API 정의
API에 대한 버전 관리, 문서화, 생명 주기(생성 Stage 공개 비공개 폐기),
보안(X.509 인증서 기반의 인증 체계) 기능 부여
적용 사례 – IoT/M2M 플랫폼 데이터 서비스
선박에서 수집된 데이터를
3rd Party 애플리케이션에
제공하기 위한 Data Service API
3rd Party SW at Vessel (App)