SDK Domain Model

The Traffic Manager domain model defines the elements of the Traffic Manager runtime.

The following table highlights some of the key elements:
Element Description Usage

User

A user or member subscribing to APIs and accesses the APIs.

com.mashery.trafficmanager.model.User

API

An API represents the service definition. A service definition has endpoints defined for it.

com.mashery.trafficmanager.model.API

Endpoint

An Endpoint is a central resource of an API managed within Mashery. It is a collection of configuration options that defines the inbound and outbound URI's, rules, transformations, cache control, security, etc. of a unique pathway of your API.

An Endpoint is specialized as either an API Endpoint or a Plan Endpoint. This specialization provides context to whether or not the Endpoint is being used as part of a Plan or not.

  • Generic endpoint entity representation:

    com.mashery.trafficmanager.model.Endpoint

  • API endpoint entity representation:

    com.mashery.trafficmanager.model.APIEndpoint

  • Plan endpoint entity representation:

    com.mashery.trafficmanager.model.PlanEndpoint

Method

A method is a function that can be called on an endpoint and represents the method currently being accessed/requested from the API request. A method could have rate and throttle limits specified on it to dictate the volume of calls made using a specific key to that method.

A Method is specialized as either an API Method or Plan Method. The specialization provides context to whether or not the Method belong to a Plan.

  • Generic method entity representation:

    com.mashery.trafficmanager.model.Method

  • API method entity representation:

    com.mashery.trafficmanager.model.APIMethod

  • Plan method entity representation:

    com.mashery.trafficmanager.model.PlanMethod

Package

A Package is a mechanism to bundle or group API capability allowing the API Manager to then offer these capabilities to customers/users based on various access levels and price points. A Package represents a group of Plans.

com.mashery.trafficmanager.model.Package

Plan

A Plan is a collection of API endpoints, methods and response filters to group functionality so that API Product Managers can manage access control and provide access to appropriate Plans to different users.

com.mashery.trafficmanager.model.Plan

API Call

The API Call object is the complete transaction of the incoming request received by the Traffic Manager and the outgoing response as processed by the Traffic Manager. It provides an entry point into all other entities used in the execution of the request.

com.mashery.trafficmanager.model.core.APICall

Key

A key is an opaque string allowing a developer to access the API functionality. A key has rate and throttle controls defined on it and dictates the volume of calls that can be made to the API by the caller.

A Key can be specialized as an API key or Package Key. This specialization provides context to whether the key provides access to an API or a specific Plan in a Package.

  • Generic key entity representation:

    com.mashery.trafficmanager.model.Key

  • API key entity representation:

    com.mashery.trafficmanager.model.APIKey

  • Package key entity representation:

    com.mashery.trafficmanager.model.PackageKey

Application

An application is a developer artifact that is registered by the developer when he subscribes to an API or a Package.

com.mashery.trafficmanager.model.Application

Rate Constraint

A Rate Constraint specifies how the amount of traffic is managed by limiting the number of calls per a time period (hours, days, months) that may be received.

com.mashery.trafficmanager.model.RateConstraint

Throttle Constraint

A Throttle Constraint specifies how the velocity of traffic is managed by limiting the number of calls per second that may be received.

com.mashery.trafficmanager.model.ThrottleConstraint

Customer Site

A customer specific area configured through the developer portal.

com.mashery.trafficmanager.model.CustomerSite