Which API Gateway to choose?



What is API first technology design?

what is api first design


In this post I want to discuss what API first technology design means and why connected cloud of devices cannot be ignored by most businesses anymore.

This post is about how every business now-days has to export / expose valuable data publicly. And about the value well productised APIs bring to the business organization.

First, let’s take a look at the history and why APIs became critical part of most technology platforms.

How to build CucumberJS projects with JenkinsCI

cucumberjs electron and jenkinsci

Web application monitoring with JenkinsCI

In the previous tutorial part, we have created the CucumberJS and ElectronJS project for monitoring the health of live web application projects.

In this part of the tutorial, we are going to automate the web application monitoring with the help of JenkinsCI continuous integration server. JenkinsCI will also generate us reports which can be accessed by non-technical project stakeholders.

Setting up web app monitoring with JenkinsCI and CucumberJS


electronjs and cucumberjs for effective web application monitoring

Why web apps need monitoring?

Once we get our web application projects up and running live, we have to constantly keep an eye on them. Such an activity works best as a scheduled and automated task.

In most cases we want to inspect the uptime of the web application as well as validate that all the important functionality is working as expected.

In this tutorial, we are going to setup such web app functionality monitoring with the help of JenkinsCI – continuous integration server and CucumberJS – a popular behaviour driven development framework.

Prepare to automatically monitor web apps

This tutorial has 2 parts. In the first one, we will cover the setup of test cases for manually testing live web apps in the headless web browser.

Behaviour Driven Development Frameworks

BDD most popular frameworks cucumber jadda jbehave

What is BDD?

Behaviour Driven Development or BDD is the process which combines ideas of domain driven design and test-driven development process (TDD).

BDD as a process aims to involve business users and raise their interest for the actual the software development process. This is done through simple, English-like domain specific language. Such language allows non-technical users to describe the expected application functionality and use cases by creating a human readable scenarios.

This domain specific language is also understood by computers. It allows delivery teams to maintain English like functionality description tests cases against the actual software functionality. It capturing the feedback about which parts of the application are implemented.

Business users get a rapid feedback on the application development progress. They can read and understand which desired software functionality is already implemented and which is still pending.

The example of such domain specific language might be the following:

Scenario 1: Purchased items should appear in the shopping cart
Given a visitor add the new item to their shopping cart
When he goes to shopping cart page 
Then shopping cart should have purchased item

This page aims to list the most popular BDD frameworks. With the short descriptions for each of them.

Continuous Integration for the development teams

continuous integration flow for development teamsWhat is continuous integration?

Continuous integration is the practice in the software building process where development teams have to maintain the central repository of their product code.

All development team members frequently & continuously merge their code changes to this central code repository.

Continuous integration has started as a part of extreme programming practice and now days is being used by many small and agile technical teams.

The main goal is to reduce the project delivery times, integrate QA into the development process.

And to apply TDD (test driven development) & BDD (behaviour driven development ) practices.