IBM API Connect – Product Architecture
IBM API Connect is an integrated offering, which provides customers an end to end API life-cycle (Create, Run, Secure and Manager) experience. It provides capabilities to build model-driven API’s , micro-services using Node.js loopback framework , run them either on-premise or on-cloud, secure and manage the same using management, gateway server and developer portal.
In this blog post, I’ll cover the component description, the sort of data they hold and their interaction with each other at design time and run-time.
Management Server provides tools to interface with various servers and holds following data. It runs Cloud Management Console (used by cloud administrator to create, manage and monitor the cloud and lot of other admin tasks) and API Manager portal (used by API developers, Product managers, admins etc.)
- Configuration (API, Users, Plans, Products etc.)
- Analytics (API usage, performance etc.)
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
Gateway Server is an entry point for API calls. It processes and manages security protocols and stores relevant user authentication data, provides assembly functions that enables APIs to integrate with various backend endpoints, and pushes analytics data back to the Management server.
IBM API Connect Supports Two Gateways:
MicroGateway – It’s built on node.js and provides enhancement for the authentication, authorization and flow requirements of an API. It is deployed on API Connect collective and has a limited number of policies available to it.
DataPower – Deployed on either virtual or physical Data Power appliance. It has more built-in policies available to it than MicroGateway and can handle enterprise level complex integrations.
Developer Portal – API providers publish the Products and APIs to the developer portal for application developers to access and use. Application developers need to sign up and register their application to use the APIs.
After registering the application, they can the select appropriate plan(collection of REST api operation and SOAP API wsdl operations) to use with their application . They can test the API using the built-in test tool. They can even view analytics information relating to APIs used by the application.
Developer Toolkit – It provides a command line tool, for creating and testing APIs, loopback application that you can run, manage and secure with IBM API Connect. We can use this to script tasks such as continuous integration and delivery.
Install this either from npm or from a management server in your IBM API Connect cloud. Following this link to take a look at available commands.
API Designer – apic edit command runs the API designer and opens in the default web browser. We can leverage Web GUI to create the Loopback project, OpenAPI (Swagger 2.0) and secure them. We can create a Product/Plan and after testing the API successfully, we can publish the product, loopback application to Bluemix or On-prem instance.
- Management server sends XML Management requests to the Gateway server to flush API specific document cache entries when a user updates the API and publishes the product again.
- Developer Portal sends messages to a Management node to be subscribed to events that occur using the WebHooks subscription service. When an event occurs, a Management server contacts the Developer Portal to inform it that the event occurred and proceeds to send the event data
- API provider can publish products, loopback applications on On-premise API Connect instances using API Connect Collective from API designer. I’ll cover building loopback applications and how to publish those on Bluemix in future blog posts.
- Gateway server makes a call to the Management server to fetch the API configuration data if it doesn’t exist in cache. The Gateway uses the DataPower document cache to save API and Catalog information for a week.
- A timed task in Gateway server runs every 15 minutes to check with the Management server to see if anything has changed. If the management server replies that it has, gateway server will refresh the cache entry, otherwise it will not.
- Gateway server sends analytics data back to the Management server. It discards the analytics data when the management server is down
- The gateway server returns stale API/catalog entries if the cache entry has expired and the management server is down.