DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Step-by-Step Guide to Use Anypoint MQ: Part 1
  • Unlock AI Power: Generate JSON With GPT-4 and Node.js for Ultimate App Integration
  • Instant App Backends With API and Logic Automation
  • Unleashing the Power of GPT: A Comprehensive Guide To Implementing OpenAI’s GPT in ReactJS

Trending

  • Ensuring Configuration Consistency Across Global Data Centers
  • Next-Gen IoT Performance Depends on Advanced Power Management ICs
  • AI Speaks for the World... But Whose Humanity Does It Learn From?
  • Event-Driven Microservices: How Kafka and RabbitMQ Power Scalable Systems
  1. DZone
  2. Data Engineering
  3. Databases
  4. The API Lifecycle

The API Lifecycle

The API lifecycle involves a publisher, manager, and consumer. It includes steps such as planning, designing, authentication, and creation.

By 
Karthick Viswanathan user avatar
Karthick Viswanathan
·
Jan. 13, 17 · Opinion
Likes (8)
Comment
Save
Tweet
Share
35.6K Views

Join the DZone community and get the full member experience.

Join For Free

This article is a continuation of my first post, where I had introduced the basics of API-driven development (ADD). In this post, I will discuss a very relevant concept called the API lifecycle, explain the different phases in the life of an API, and discuss different personas who will be a part of that cycle.

In the API lifecycle, there are three primary personas:

  1. API publisher: Creates and deploys the API.
  2. API manager: Manages and monetizes the API.
  3. API consumer: Discovers and integrates with the APIs.

Each of these API personas has multiple tasks associated with them, and those tasks define the characteristics of the API (see Figure 1).

Fig-1: API life-cycle, personas and tasks

Figure 1: API lifecycle, personas, and tasks.

Let's take a look at the API lifecycle in another dimension (see Figure 2) and understand the different stages of the lifecycle. Here, you can see how the various personas deal with APIs in different stages. 

FIG-2:  API life-cycle and personas

Figure 2: API lifecycle and personas.

The API manager, API publisher, and API consumer are personas who may be represented by people with various designations in an organization.

For the sections below, the numbers represent the steps as given in Figure 2.

1. Plan and Strategy

The API manager (a persona who could be represented by people with designations such as API product manager or API architect) prepares an overall plan on how to expose an enterprise’s digital assets using APIs. The plan can include identifying the list of APIs, their design (including parameters and types), visibility scope, etc. Last but not least, the API manager also makes sure that the documentation of the API is comprehensive. There is a popular saying in the API world: "An API is as good as its documentation." Hence, API documentation is one of the tasks that should be done with utmost clarity.

2. Create, Design, Test, and Publish

Once the API plan is ready, the API publisher (who can be represented by people with designations such as software developer or software architect) gives birth to APIs by creating APIs as a part of the core app development process. Note that a lot of times, you find the responsibilities of API manager and API publisher being delivered by someone like an enterprise architect or similarly designated persons.

3. Versions

API undergoes further tweaking to its design configuration (i.e., path or query parameter) as per the requirements. It's tested, versioned, and published to a private enterprise DevPortal. Whether an API is private or public is defined by the API's visibility settings and the governance semantics around it. You normally see vendors using API frameworks such as Swagger and tooling around it to do the above tasks easily.

4. Features

The API manager can apply more management configurations based on requirements. For instance, the API manager may configure the free API invocations limit to a finite number and make the consumer to pay for any invocations beyond the configured limit. He or she can also configure analytic reports on various APIs and can create plans that can be subscribed to by the consumer. At this point, all APIs are assumed to be published and available for consumption, through an API DevPortal (check out Paypal’s API dev portal). APIs can be internal or external, and similarly, API DevPortal can be a public portal like PayPal's or can be private portal accessible only withing an enterprise network.

The above four steps (as seen in Figure 2), explored the API lifecycle from the perspective of an API publisher and an API manager.

Now, we will explore the API lifecycle from an API consumer perspective. The API consumer persona is usually an app developer or an app architect who consumes or integrates the APIs as a part of the app development process.

5, 6, and 7. Discovery, Authentication, and Creation

In the API DevPortal, the consumer has the ability to search for the desired APIs and subscribe to a particular API or an API plan associated with a group of APIs as defined by the API manager. The API consumer creates a DevPortal account and registers his or her app to consume the needed APIs. Usually, an API key is generated per app and is used during the runtime to authenticate the app accessing the API. Consuming the API is the last step in the lifecycle of the API. When you are able to successfully integrate the API into your app and get the desired results, the cycle is complete.

Note: A few API management vendors use another lifecycle step of engage and promote where the APIs are promoted in various forums to the end consumers (who are developers). I have not touched that aspect of the lifecycle, since it may not be that relevant from the ADD perspective.

In the next post of this series, I will talk about how ADD has become a part of some modern app development platforms.

API app consumer Persona (user experience)

Published at DZone with permission of Karthick Viswanathan. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Step-by-Step Guide to Use Anypoint MQ: Part 1
  • Unlock AI Power: Generate JSON With GPT-4 and Node.js for Ultimate App Integration
  • Instant App Backends With API and Logic Automation
  • Unleashing the Power of GPT: A Comprehensive Guide To Implementing OpenAI’s GPT in ReactJS

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!