Getting Started with Repose
What is Repose?
Repose is an open-source, RESTful, middleware platform that transparently integrates with your existing infrastructure. Repose provides highly scalable and extensible solutions to API processing tasks such as authentication, rate limiting, API validation, HTTP request logging, and much more. Additionally, Repose allows services to use Enterprise Integration Patterns.
How does Repose work?
Repose takes incoming requests from clients and adjusts them for consumption by services by passing the requests through a series of extensible filters. These filters provide functionality such as authentication, authorization, rate-limiting, and request modification.
Repose can run as a stand-alone proxy server between the client and the origin service. The Repose instance can be on the same host as the origin service, but it doesn't have to be. This deployment method, illustrated in the following graphic, is called Valve.
Repose can also run within a servlet container such as GlassFish and Tomcat in the WAR deployment.
You can decide which configuration works best for you, and you can tweak many of your configurations without having to restart Repose – it will pick up configuration changes on the fly, making it easy to configure and test.
Repose can be configured to use a distributed data store service where cached information is exchanged across multiple nodes. This makes Repose fault tolerant with proven performance.
What services does Repose provide?
Repose provides a series of customizable filters that you can configure to perform a large number of API tasks. The full list of filters is on the Filters and Services page. Following are some of the most common ones:
- Translating requests and responses so that services receive them in the format that they are expecting
- Rate limiting requests and responses to control network traffic
- Authenticating requests to enhance security
- Validating that requests conform to XSD and WADL specifications
- Logging to keep inventories of events
- Blacklisting to prevent others from spoofing authentication credentials and roles
- Caching to reduce load on authentication services
- Role-based access control (RBAC) to restrict access to authorized users
- Mapping the state of your API
Who can use Repose?
Anyone can use Repose! It is an open-source platform for the general public to consume, share, and improve.
How can I get Repose?
To get Repose, log in to your server and run the installation commands. Then, configure your origin service endpoint in the System Model, and you are ready to configure Filters and Services that work for you. We have many sample configurations that you can use to get started. Or, because Repose is open source, you can build your own stacks of reusable software components.
If you wonder what we've been working on lately, visit theRelease Notes page.