Roadmap
Here you will find a very high level roadmap for the apiman project. The details are subject to change, but this page can provide a basic sense of the project's priorities and version numbers. Additional information can typically be found in JIRA.
Typically there will be multiple iterative released within a major+minor version, with the features planned for it being released within the scope of micro versions. In other words, the work planned for version 1.2 will be released as a series of micro releases such as 1.2.1, 1.2.2, 1.2.3, etc...
1.0 (Minimal But Functional)
-
API Manager
- REST API to manage Organizations, Services, Plans, Applications 1.0.0.Beta1
- Organization membership with roles 1.0.0.Beta1
- User Interface with Dashboard, Provider interface, Consumer interface 1.0.0.Beta1
- Import services from WADL, Artificer, Swagger, etc...
- Auditing of all entity (e.g. Org, Service, App) changes 1.0.0.Beta1
- Gateway management (support multiple gateways) 1.0.1.Final
- Retire a Service/Unregister an App 1.0.1.Final
- Lock Plans before they can be used 1.0.1.Final
-
API Gateway
- Embeddable policy engine with async API 1.0.0.Beta1
- Standard WAR implementation 1.0.0.Beta1
- Support for HTTP based services 1.0.0.Beta1
- Asynchronous components available to policies: HttpClient 1.0.0.Beta1
- Policy application to Request, Response, and data (body) streams 1.0.0.Beta1
-
Policies
- BASIC Authentication 1.0.0.Beta1
- Rate Limiting 1.0.0.Beta1
- IP Filtering 1.0.0.Beta1
- Ignored Resources 1.0.1.Final
- CORS 1.0.3.Final
-
Fabric8 Integration
- Integration with the fabric8 gateway (policy engine) 1.0.1.Final
- WildFly 8 runtime support 1.0.0.Beta1
- Clone a version (App, Service, Plan) 1.0.1.Final
- Support "public" services (can be invoked without a Contract) 1.0.1.Final
- Plugin framework - contribute policies 1.0.3.Final
- Plugin framework - contribute policy configuration forms based on JSON Schema 1.0.3.Final
1.0 Release Notes
1.1 (Core Functionality)
-
Policies
- OAuth2 1.1.0.Final
- HTTP Security Headers (HSTS, CSP, X-Frame-Options, etc) 1.1.0.Final
- Simple Header Manipulation (add, remove, pattern-match, etc) 1.1.0.Final
- Authorization (Role/Group based access control) 1.1.2.Final
- Enhanced BASIC and OAuth2 authorization support 1.1.2.Final
- OAuth2 Kerberos token delegation 1.1.3.Final
- URL Rewriting 1.1.6.Final
- Caching 1.1.6.Final
- JSONP 1.1.1.Final
- JSON/XML Transformation (convert between those formats, in and out) 1.1.4.Final
- Quotas (# requests) 1.1.6.Final
- Quotas (# bytes) 1.1.6.Final
-
API Gateway
- Shared State async component 1.1.0.Final
- Mutual authentication between gateway and back-end services (i.e. certificate-based two-way SSL/TLS)1.1.3.Final
- BASIC authentication over SSL between gateway and back-end services1.1.3.Final
- Custom/Plugin implementations of core Gateway components1.1.5.Final
- Vert.x 3 based implementation Tech Preview in 1.1.6.Final
-
API Manager
- New "About apiman" page 1.1.2.Final
- Integration with Swagger 1.1.3.Final
- Custom/Plugin implementations of core Manager components1.1.5.Final
-
Fabric8 Integration
- Convert the UI to an angularjs/hawtio plugin 1.1.0.Final
- Create an elasticsearch API Manager backend 1.1.0.Final
- Create elasticsearch implementations of the API Gateway components 1.1.0.Final
- Service Metrics - collect in API Gateway and report in API Manager 1.1.4.Final
- Unit testing framework for plugin Policies 1.1.3.Final
- Re-usable/extensible micro-services for the API Manager and API Gateway 1.1.5.Final
- EAP 6.4 runtime support 1.1.6.Final
- Application Metrics - collect in API Gateway and report in API Manager 1.1.6.Final
1.1 Release Notes
1.2 (Notifications, Events & Billing)
-
Policy Eventing
- Pluggable event firing component in Gateway
- Ability to fire events from policies
- Rate limiting events
- Support internal and custom/external event listeners
-
Notifications/Tasks
- Per-user Task+Notification Inbox UI
- Add "Request Membership" functionality for organizations
- Full API to access tasks and notifications
-
Policies & Components
- LDAP Client async component
- JDBC Client async component
-
Plugins
- Plugin registry with easy-to-use UI
- Better support for loading/unloading plugins
- Better support for upgrading existing plugins
- Contribute policy configuration forms using custom HTML/javascript
-
Billing
- Produce metrics for billing - store in pluggable billing storage
- API to access billing information
- Ability to export raw billing data
-
Import/Export
Note: this functionality should support 1) migrating data between environments 2) upgrading apiman to a new version 3) switching between apiman configurations (e.g. going from an RDBMS to Elastic storage).
- Export all data from apiman
- Import previously exported apiman data
- Transformation tools for exported apiman data
1.3 (Social and Transports)
-
API Manager
- Additional documentation support - WSDL, RAML, etc
- Service testing tools
- Watch a Service for changes
- Watch an Organization for new Services
- Comments/Forum for Services
- Service ratings
- Policy overhead ratings (measure of how impactful of performance a particular Policy will be)
- Joint Service ownership (joint ownership by multiple Organizations)
-
Notifications/Tasks
- Notifications from watched Organizations/Services (see above)
-
API Gateway
- JMS Support