Victor Kazakov

Getting Started as a Developer with the CA API Gateway

Blog Post created by Victor Kazakov Employee on Jun 14, 2018


For those that are more visual learners the above video goes over the basics of what the CA API Gateway is and how to get started as a Developer using the CA API Gateway.


Typical Solutions

What can the CA API Gateway be used for? In a nutshell it enables you:

to expose your APIs, services, data and infrastructure 

to your developers, employees, customers and partners 

in a manner that is safe, secure and uses languages and protocols they prefer and understand.

The Gateway is capable of receiving requests using a variety of protocols. Orchestrate between multiple backends, authenticate users, apply threat protection, build and transform messages. It does this by sitting in between requests and business solutions and data.


Request Message Lifecycle

In General when a message is sent to the Gateway:

  1. A listener intercepts it and extracts any relevant headers, content and information. 
  2. The gateway message processor is then invoked to execute the Policy that is written by the Gateway developer.
    • This describes the behaviour that needs to be executed in order to process this message and respond to the requestor. For example it can:
      • Validate the requesting user using an LDAP service
      • Call multiple backend rest services
      • Query various different databases.
  3. The Gateway can then build and transform a response message.

The great power of the Gateway is it's full featured policy language that enables Gateway developers to do nearly anything they want in order to process a request message.


Gateway Development Lifecycle

Gateway behaviour and configuration should be treated like any other programming language and application. A Gateway developer will use they're own development machines in order to create update and continuously improve policy. On their local machines a Gateway Developer will:

  1. Write and implement Gateway behaviour (policy)
  2. Locally build Gateway solutions (bundles)
  3. Locally test using a container Gateway

Once a developer is happy with thier implementation they will commit it to a version control system like GIT or SVN in order to share it with teammates. The action of sharing it will also trigger the CI/CD pipeline. The steps of this pipeline include:

  1. Share the code using a Version Control System.
  2. Build the solution.
  3. Publish the solution to an artifact repository.
  4. Deploy the solution to an environment.
  5. And then the cycle starts all over again.

Gateway Development in Action

In order to see this in action try out the Gateway Development Example repository from GitHub. Follow the step in the readme on the Gateway Development Example repository.

Lastly, share and post your feedback so that we can continuously improve the Gateway Development Experience.