Everything you need to know about API Proxy

 

Everything you need to know about API Proxy

 

Understanding API And API Proxy

Apigee lets you easily and quickly build RESTful APIs that app developers can use.

Sitting in the middle of your application and your backend, API proxies delivers an interface for developers to access backend services.

This topic discusses the relationship between API and API Proxy. An API Gateway provides more features including rate limiting, security and API monitoring.

Definitions

Let’s start with defining some terms we will be using:

  • API: Application Programming Interface, this interface allows different programs to interact with each other.
  • Backend services: The APIs, servers or databases that are the parts of the architecture of your application.
  • Consumers: Applications that interacts with your backend. Consumers include mobile, web, desktop application and anyone or anything making API calls to your services.
  • Shim: It is a layer of code which helps provide compatibility between different API’s or interfaces.

What is an API?

 

  • An API is an interface that makes it easy for one application to ‘consume’ another application’s capabilities or data.
  • By defining stable, simplified entry points for application logic and data, APIs enable developers to easily access and reuse application logic created by other developers.
  • API also means a ‘contract’. The contract deliver some volume of assurance that, over time, the API will alternate in a expected manner.
  • Edge enables you to build APIs by executing applications gives on the API Services platform — with no backend services included. You can do this.
  • You can create these applications in JavaScript, Java, and on Node.js.

What is API Proxy?

  • An API proxy is a thin API server that exposes a static interface to an existing service or services.
  • API Proxy isolates app-facing APIs from your backend services, recovering those applications from backend code changes.
  • This allows you to define an API that is best suited to the needs of your application, without substituting the underlying services in your backend.
  • In API proxy configuration, there are two types of endpoints.

Proxy Endpoint

  • Defines the way your API is consumed by client apps. You configure ProxyEndpoint to define the URL of your API proxy.
  • The proxy endpoint also determines whether apps access the API proxy over HTTP or HTTPS.
  • You typically attach policies to a ProxyEndpoint to enforce security, quota checks, and other types of access control and rate-limiting.

Target Endpoint

API Proxy defines the way you interact with your backend services.

You can connect policies to the target endpoint to make sure that the output texts are accurately formatted for the app making the initial request.

You can visualize an API proxy as shown by the graphic below:

An API proxy simply acts as an intermediary between backend services and a consumer. It can be a larger piece of code or a small shim that deals in data transformations, security, traffic shaping, routing and more. It creates an interface specifically xustomized for the consumer and consumers can make their calls to the backend service.

Goal

Acknowledge what an API proxy is and how it can help you optimize the method for your backend services and are monopolized by an application by decoupling the frontend from the backend’s implementation details.

You can also learn the motives for using an API proxy, involving the ability to represent data transformations, hide difficult calls to various services, and cache larger or slower results.

Let’s take an example, you have your web application that needs to share information from a backend that communicates in XML.

Instead you can create an API proxy which the web application communicates with in JSON format.

The API proxy will translate the request from the web application into the XML format that the backend is expecting and also translate the response from the backend into the JSON format the application is expecting.

Now there’s an another scenario of what an API proxy can do and imagine you have a web application that need to get date across 15 different services in your backend.

Now instead of making these calls from web application, you can use a API proxy to make these 15 calls to the backend by simply making one call from your web application to the API proxy.

The API proxy can then make these 15 calls on behalf of your web application, gather the results and send the data back to the web application.

So API proxy simply exists as an intermediary, helping a consumer get the feed it needs without talking directly to the services that provided that feed.

An API proxy acts as an level of abstraction between the consumer and the backend.

This is very useful in situations where you want to avoid rewriting your backend services to accommodate a access pattern or you want to keep a consumer of these services decoupled from the implementing of the actual service.

This kind of pattern also allows you to expose a stable interface to the consuming application.

If you make changes to your backend services then you can make changes at the API proxy level without having to change how the consuming application accesses the data but it also allows you to insulate the developers working on the frontend from changes happening in the backend.

You have to attach the API proxy performance and the frontend wont’t need to change anything at all.

Adding a layer between your frontend and backend will increase the latency somewhat.

An API proxy may also permits you to execute caching on some of your more costly API calls, which can eventually reduce latency.

An API proxy that makes requests and caches the combined result will improve the performance of users when they make separate requests.

Brief

An API proxy is an interface that sits between your frontend and the actual backend services.

Using an API proxy separates the frontend from the implementation details of the backend, and allows you to create a custom interface that will interact with the frontend instead of the backend.

Some causes for using an API proxy involves the ability to execute data changes, secret composite calls to various services, and cache larger or slower outputs.

How Do You Create a API Proxy?

An API proxy contains a bundle of XML ordering files and code (such as JavaScript and Java). APG delivers you with different methods to build an API proxy, involving:

Using Edge Management UI to define API proxy in Graphical User Interface (GUI). For more details, see building a simple API Proxy.

Using the Edge Management API to proxy your API by making a series of REST requests to Edge.

Deploy a Node.js application as a proxy. See employ a Standalone Node.js App.

Additional Resources

 

Leave a Reply

Your email address will not be published. Required fields are marked *