• Stars
    star
    759
  • Rank 59,846 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Welcome to the WSO2 API Manager source code! For info on working with the WSO2 API Manager repository and contributing code, click the link below.

WSO2 API Manager


Build Status License stackoverflow slack


WSO2 API Manager (WSO2 API-M) is a powerful platform for creating, managing, consuming, and monitoring web APIs. It combines tried and tested SOA best practices with modern day API management principles to solve a wide range of enterprise challenges associated with API provisioning, governance, and integration.

WSO2 API Manager consists of several loosely coupled modules.

    * API Publisher
    * API Developer Portal
    * API Gateway
    * API Key Manager
    * API Traffic Manager

The API publisher module allows API publishers to easily define APIs and manage them using a strong governance model that consists of well-established concepts such as, versioning and lifecycles. API consumers can use the API Developer Portal to discover published, production-ready APIs and access them in a secure and reliable manner using unique API keys. The built-in API Gateway module provides powerful tools to secure and control the load on individual APIs.

WSO2 API Manager is based on the revolutionary WSO2 Carbon [Middleware a' la carte] framework. All the major features have been developed as reusable Carbon components.

To learn more about WSO2 API Manager please visit http://wso2.com/products/api-manager.

Key Features

Design and Prototype APIs
- Design APIs, gather developer's feedback before implementing (API First Design).
- Design can be done from the publishing interface or by importing an existing Swagger definition.
- Deploy a prototyped API, provide early access to APIs, and get early feedback.
- Mock API implementation using Javascript.
- Support publishing SOAP, REST, JSON, and XML style services as XML. 
Create a Developer Portal of All the Available APIs
- Graphical experience similar to Android Marketplace or Apple App Store.
- Browse APIs by provider, tags, or name.
- Self-registration to developer community to subscribe to APIs.
- Subscribe to APIs and manage subscriptions on per-application basis.
- Subscriptions can be at different service tiers based on the expected usage levels.
- Role based access to API Developer Portal, which helps to manage public and private APIs.
- Manage subscriptions per-developer.
- Browse API documentation, download helpers for easy consumption.
- Comment on and rate APIs.
- Forum for discussing API usage issues (Available soon in a future version).
- Try APIs directly on the Developer Portal.
- Internationalization (i18n) support. 
Publishing and Governing API use
- Publish APIs to external consumers and partners, as well as internal users.
- Supports publishing multiple protocols including SOAP, REST, JSON, and XML style services as APIs.
- Manage API versions and deployment status by version.
- Govern the API lifecycle (publish, deprecate, retire).
- Attach documentation (files, external URLs) to APIs.
- Provision and Manage API keys.
- Track consumers per API.
- One-click deployment to API Gateway for immediate publishing.
Control Access and Enforce Security
- Apply Security policies to APIs (authentication and authorization).
- Rely on OAuth2 standard for API access (implicit, authorization code, client, SAML, IWA Grant type).
- Restrict API access tokens to domains/IPs.
- Block a subscription and restrict a complete application.
- Associate API available to system defined service tiers.
- Leverage XACML for entitlements management and fine grained authorization.
- Configure Single Sign-On (SSO) using SAML 2.0 for easy integration with existing web apps.
- Powered by WSO2 Enterprise Service Bus (WSO2 ESB).
Route API Traffic
- Supports API authentication with OAuth2.
- Extremely high performance pass-through message routing with sub-millisecond latency.
- Enforce rate limiting and throttling policies for APIs by consumer.
- Horizontally scalable with easy deployment into cluster using proven routing infrastructure.
- Scales to millions of developers/users.
- Capture all statistics and push to pluggable analytics system.
- Configure API routing policies with capabilities of WSO2 Enterprise Service Bus.
- Powered by WSO2 Enterprise Service Bus.            
Manage Developer Community
- Self-sign up for API consumption.
- Manage user account including resetting password.
- Developer interaction with APIs via comments and ratings.
- Support for developer communication via forums (Available soon in a future version).
- Powered by WSO2 Identity Server (WSO2 IS).
Govern Complete API Lifecycle
- Manage API lifecycle from cradle to grave: create, publish, block, deprecate, and retire.
- Publish both production and sandbox keys for APIs to enable easy developer testing.
- Publish APIs to partner networks such as ProgrammableWeb (Available soon in a future version).
- Powered by WSO2 Governance Registry (WSO2 G-Reg).
Monitor API Usage and Performance
- All API usage published to pluggable analytics framework.
- Out-of-the-box support for the WSO2 Analytics Platform and Google Analytics.
- View metrics by user, API, and more.
- Customized reporting via plugging reporting engines.
- Monitor SLA compliance.
- Powered by WSO2 Data Analytics Server (WSO2 DAS).      
Pluggable, Extensible, and Themeable
- All components are highly customizable through styling, theming, and open source code.
- Developer Portal implemented with React.
- Pluggable to third-party analytics systems and billing systems (Available soon in a future version).
- Pluggable to existing user stores including JDBC and LDAP.
- Components usable separately. 
- Developer Portal can be used to front APIs that are routed through third-party gateways such as, Intel Expressway Service Gateway.
- Support for Single Sign On (SSO) using SAML 2.0 for easy integration with existing web apps.
Easily Deployable in Enterprise Settings
- Role based access control (RBAC) for managing users and their authorization levels.
- Developer Portal can be deployed in DMZ for external access with the Publisher inside the firewall for private control.
- Different user stores for developer focused Developer Portal and internal operations in the publisher.
- Integrates with enterprise identity systems including LDAP and Microsoft Active Directory.
- Gateway can be deployed in DMZ with controlled access to WSO2 Identity Server (for authentication/authorization) and governance database behind a firewall.
Support for Creating Multi-tenanted APIs
- Run a single instance and provide API Management to multiple customers.
- Share APIs between different departments in a large enterprise.
Publishing and Governing API Use
- Document an API using Swagger.
- Restrict API access tokens to domains/IPs.
- Ability to block a subscription and restricting a complete application.
- Ability to revoke access tokens.
- Separate validity period configuration for application access token.
- OAuth2 authorization code grant type support.
- Configuring execution point of mediation extensions.
Monitor API Usage and Performance
- Improved dashboard for monitoring usage statistics (Filtering data for a date range, More visually appealing widgets).   

System Requirements

  1. Minimum memory - 2GB
  2. Processor - Pentium 800MHz or equivalent at minimum
  3. Java 11 or higher
  4. The Management Console requires you to enable Javascript of the Web browser, with MS IE 7. In addition to JavaScript, ActiveX should also be enabled with IE. This can be achieved by setting your security level to medium or lower.
  5. Apache Ant is required to compile and run the sample clients. Apache Ant 1.7.0 version is recommended.
  6. To build WSO2 API Manager from the source distribution, it is necessary that you have JDK 11 and Maven 3.0.4 or later.

Installation & Running

  1. Extract the wso2am-4.2.0.zip and go to the 'bin' directory
  2. Run the api-manager.sh or api-manager.bat script based on you operating system.
  3. Access the respective WSO2 API-M interfaces
    • API Publisher web application is running at - https://localhost:9443/publisher
      You may sign in to the Publisher using the default administrator credentials (username: admin, password: admin).
    • Developer Portal web application is running at - https://localhost:9443/devportal
      You may sign in to the Developer Portal using the default administrator credentials (username: admin, password: admin).

Documentation

Online product documentation is available at: https://apim.docs.wso2.com/en/latest/

Support

WSO2 Inc. offers a variety of development and production support programs, ranging from Web-based support up through normal business hours, to premium 24x7 phone support.

For additional support information please refer to http://wso2.com/support

For more information on WSO2 API Manager please visit https://wso2.com/api-management/

Known Issues of WSO2 API Manager

All known issues of WSO2 API Manager are filed at:

Issue Tracker

Help us make our software better. Please submit any bug reports or feature requests through GitHub:

https://github.com/wso2/api-manager/issues

Crypto Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:


(c) Copyright 2020 WSO2 Inc.

More Repositories

1

reference-architecture

The Reference Architecture for Agility is a technology-neutral logical architecture based on a disaggregated cloud-based model.
1,754
star
2

product-is

Welcome to the WSO2 Identity Server source code! For info on working with the WSO2 Identity Server repository and contributing code, click the link below.
Java
657
star
3

msf4j

WSO2 Microservices Framework for Java (MSF4J)
Java
401
star
4

product-ei

An open source, a high-performance hybrid integration platform that allows developers quick integration with any application, data, or system.
Java
316
star
5

product-microgateway

Choreo Connect is a cloud-native, open-source, and developer-centric API gateway.
Java
286
star
6

micro-integrator

The cloud-native configuration driven runtime that helps developers implement composite microservices.
Java
198
star
7

cellery

Build run and manage code-first composites on Kubernetes
Go
195
star
8

product-iots

Welcome to the WSO2 IoT Server source code! For info on working with the WSO2 IoT Server repository and contributing code, click the link below.
Java
174
star
9

carbon-apimgt

Java
159
star
10

apk

Official Repository for APK distribution
Java
153
star
11

WSO2-Training

142
star
12

carbon-kernel

Java
138
star
13

docker-apim

Docker and Docker Compose resources for WSO2 API Manager
Jinja
130
star
14

ETAC

A one-page, Visual Canvas for Emerging Technology Evaluation, in the style of “the Business model Canvas".
128
star
15

k8s-api-operator

API Operator for Kubernetes
Go
115
star
16

balana

Java
113
star
17

streaming-integrator

A stream processing runtime that allows connecting any streaming data source to any destination and act on it
Python
112
star
18

jaggery

The delicious Javascript framework
Java
112
star
19

kubernetes-apim

Kubernetes and Helm resources for WSO2 API Manager
Smarty
105
star
20

charon

Java
102
star
21

carbon-identity-framework

Java
101
star
22

wso2-synapse

Java
98
star
23

docker-is

Docker and Docker Compose resources for WSO2 Identity Server
Dockerfile
86
star
24

reference-methodology

Integration projects today follow a time-consuming waterfall model, ill-suited to solving complex integration challenges. In response, WSO2 has developed organizational, project management, and technical expertise to help IT organizations transform integration projects to a more efficient and scalable continuous agile approach.
86
star
25

product-sp

An open source, cloud-native streaming data integration and analytics product optimized for agile digital businesses
Python
82
star
26

cdmf-agent-android

Java
76
star
27

docs-apim

Java
70
star
28

identity-apps

TypeScript
68
star
29

istio-apim

Java
65
star
30

carbon-mediation

Java
65
star
31

kubernetes-is

Kubernetes and Helm resources for WSO2 Identity Server
Shell
64
star
32

carbon-analytics

JavaScript
63
star
33

docs-ei

CSS
63
star
34

docs-is

CSS
63
star
35

integration-studio

WSO2 Integration Studio is a development environment used to design integration scenarios and develop them.
Java
62
star
36

product-app-manager

Welcome to the WSO2 App Manager source code! For info on working with the WSO2 App Manager repository and contributing code, click the link below.
HTML
56
star
37

k8s-wso2am-operator

WSO2 API Manager Operator for Kubernetes
Go
55
star
38

soap-to-rest

Library capable of converting SOAP backend service to REST backends
Java
53
star
39

identity-api-server

Java
52
star
40

analytics-apim

Analytics for APIM
JavaScript
52
star
41

cellery-spec

52
star
42

Linux-training

Host Linux Training public documents
Shell
52
star
43

carbon-device-mgt

Java
51
star
44

developer-studio

WSO2 Developer Studio IDE Public Repository
Java
51
star
45

carbon-dashboards

JavaScript
51
star
46

caramel

A bootstrap project to create fully dynamic websites using jaggery
JavaScript
50
star
47

carbon-commons

Java
49
star
48

security-tools

Java
48
star
49

product-es

Welcome to the WSO2 Enterprise Store source code! For info on working with the WSO2 Enterprise Store repository and contributing code, click the link below.
Java
48
star
50

apim-apps

WSO2 API Manager portals web UI apps
JavaScript
48
star
51

kubernetes-pipeline

This project contains the Helm resources required to deploy CI/CD Pipeline in a Kubernetes environment for WSO2 products.
Dockerfile
47
star
52

cellery-controller

Go
46
star
53

carbon-business-process

Java
46
star
54

carbon-data

Data services and related components
Java
46
star
55

streaming-integrator-tooling

Java
45
star
56

carbon-analytics-common

Java
45
star
57

cellery-samples

JavaScript
45
star
58

cellery-observability

JavaScript
45
star
59

wso2-axis2

Java
44
star
60

cellery-distribution

Java
44
star
61

orbit

Java
44
star
62

carbon-appmgt

JavaScript
44
star
63

wso2-axis2-transports

Java
44
star
64

samples-is

JavaScript
43
star
65

mule-conversion-samples

Sample projects to help migrate from Mulesoft Anypoint Platform
43
star
66

k8s-wso2is-operator

Identity Server Kubernetes Controller
Go
43
star
67

carbon-governance

jagery
Java
43
star
68

jaggery-extensions

Extensions repository for Jaggery
JavaScript
43
star
69

carbon-registry

Java
43
star
70

product-mi-tooling

Tooling for Micro Integrator
Java
43
star
71

VizGrammar

Interactive Generic Visualization library for Javascript that is based on d3.js
JavaScript
43
star
72

carbon-ml

Java
42
star
73

code-quality-tools

42
star
74

ansible-ei

Jinja
42
star
75

choreo-samples

This will contain integration and service samples displayed in choreo.
TypeScript
42
star
76

product-as

Welcome to the WSO2 Application Server source code! For info on working with the WSO2 Application Server repository and contributing code, click the link below.
Java
42
star
77

analytics-solutions

JavaScript
42
star
78

carbon-device-mgt-plugins

JavaScript
42
star
79

cdmf-agent-ios

Objective-C
42
star
80

ballerina-vscode

To keep Ballerina VSCode plugin related issues, discussions, etc.
42
star
81

carbon-deployment

Java
42
star
82

oxygen-ui

The Design System powering WSO2 products.
TypeScript
42
star
83

product-apim-tooling

Go
41
star
84

identity-api-user

Java
41
star
85

wso2-commons-vfs

Java
41
star
86

cellery-security

Java
41
star
87

carbon-event-processing

JavaScript
41
star
88

carbon-platform-integration

Java
41
star
89

container-guide

The Guide of Best Practices for Running WSO2 Products on Containerized Platforms
41
star
90

devstudio-tooling-esb

Java
40
star
91

identity-rest-dispatcher

Java
40
star
92

ob-conformance-suite

CSS
40
star
93

iam-blogs

Blogs published by WSO2 IAM team members and the community.
40
star
94

carbon-transports

Java
40
star
95

maven-tools

Java
40
star
96

andes

Java
39
star
97

docs-open-banking

CSS
39
star
98

docs-choreo-dev

Choreo documentation repository for ongoing dev tasks.
HTML
39
star
99

puppet-apim

Shell
39
star
100

carbon-business-messaging

Java
39
star