What is Apigee and Apigee Edge?
Apigee is a platform for developing and managing APIs. By fronting services with a proxy layer, Apigee provides an abstraction for your backend service APIs and it provides security, rate limiting, quotas, analytics, and more.
Lately Companies want to make their backend services available on the web so that the services can be used by apps running on various devices like mobiles and desktops. A company might be willing to expose services that provide product availability, pricing of the product,detailed product information, sales and ordering services, order tracking services, and many other services required by client apps.
Often Companies deploy services as a set of HTTP endpoints. Client app developers then prepare the HTTP requests to these endpoints. Depending on the endpoint, the service would then return data, formatted as XML or JSON, back to the client app.
The client apps that consume these services can be implemented as standalone apps for a mobile device or tablet, as HTML5 apps running in a browser, or as any other type of app that can make a request to an HTTP endpoint and consume any response data. These apps might be developed and released by the same company that exposed the services, or by third-party app developers who make use of publicly available services.
Basic Terminologies
API: An ‘application programming interface’—an interface that helps to “Extract” capabilities or data from another application.
By defining simple and stabilized entry points to application logic and data, APIs enable developers to easily access and reuse application logic built by other developers. In the case of ‘Web APIs’, that logic and data is exposed over the network. Since applications that consume APIs are sensitive to changes, APIs also imply a ‘contract’. The contract provides some level of assurance that, over time, the API will change in a predictable manner.
API proxy
An API proxy is implemented as a set of configuration files, policies, and code that rely on a set of resources provided by Apigee Edge. API proxies can be generated and configured using the Apigee Edge management UI, or they can be implemented locally in a text editor or IDE.
The facade provided by an API proxy decouples the developer-facing API from ‘backend’ services, shielding developers from code changes and enabling innovation at the edge without impacting your internal development teams. As development teams make backend changes, developers continue to call the same interface uninterrupted. Apigee enables you to expose multiple interfaces to the same API, freeing you to customize the signature of an API to meet the needs of various developer niches simultaneously.
API base path and resources
APIs defined by network addresses and URIs. An API is made up of a ‘base path’ and a set of ‘API resources’. Every API proxy defines a base path and, optionally, multiple API resource paths. You can think of an API simply as a set of URIs, all of which share a common base path.
To make it easier to manage your APIs, Apigee augments these raw URIs with display names and descriptions. Edge enables you to attach policies and code to URIs, enabling fine-grained control and management of the behavior of your APIs.
API product
A collection of API resources (URIs) combined with a quota, or ‘service plan’, which is published to app developers at design time. API products can in turn be bundled into API packages for monetization.
An API key is bound to one or more API products, enforcing a binding between an app and the bundle of URIs that the app is permitted to consume.
API package
A collection of API products that are presented to developers as a bundle, and typically associated with a rate plan defined in monetization.
App
An abbreviation of ‘application’. The term ‘app’ has come to refer to mobile applications that consume APIs. Developers implement apps in a variety of programming languages, and using various technologies and platforms.
When an app is registered with Apigee, Apigee generates an API key and codethat identifies the app. The API key is embedded in the app, which presents the key when making requests. API Services implements security all around the API key either through direct API key validation or through OAuth.
Environment
A runtime execution context for API proxies. An API proxy must be deployed to an environment before the API it exposes is accessible over the network. By default, organizations are provisioned with two environments: ‘test’ and ‘prod’.
The ‘test’ environment is typically used for deploying API proxies during development.
The ‘prod’ environment is typically used for promoting API proxies from the test environment after they have been fully developed and tested.
Organization
A container or storage for all the objects in an Apigee Edge account, including API proxies, products,packages, apps, and developers.
A user account is required for each organization for which you are a member. (Most users will have an account in only one organization.)
Policy
Typical policy-based functionality includes:
- Transforming message formats
- Enforcing access control
- Calling remote services for additional information
- Masking sensitive data from external users
- Examining message content for potential threats
- Caching common responses to improve performance, and so on.
Policies may be conditionally executed based on the content and the context of a request or response message. For example, a transformation policy may be executed to customize a response format if the request message was sent from a smartphone.
API resource path
A RESTful concept, a resource path is a URI i.e., a Uniform Resource Identifier that describes the network path to a given resource.
Version
The version of the developer-facing API interface.