Currently offline

The varying levels of API Implementations Edit

This is a basic to advanced summary. Skip to the next section, if you already know what an API is.

What is an API?

An Application Programming Interface is a term used for a wide variety of cross-platform or inter-business communication. It is a means of programmatically enquiring or submiting data from one system to another. Each system is locked behind its own server and databases, so you can't access it. You can't access the Bank's many databases, so how do you send a transaction from another system to the bank? The API would be used. The API would created by the Bank, and partners would be given access. API's can exist in many software constructs, but let's just look at one, which is widely used and easy to understand, the web based HTTP API.

Just like a website as a domain (URL), which allows you to access a page, which downloads nicely formatted text and images, imagine a URL which only downloaded data. Imagine the URL's looked like this.

  • myfavbank.com/api/account/sendmoney
  • myfavbank.com/api/account/getbalance

Now imagine the data was not HTML or pretty pictures but it was in a format that software understood, something like this

{
    'balance': 100
}

This data could then be displayed on screen.

If you have a system that connects to myfavbank, then you could provide your customers with their balance. So with that simplistic example, reread the definition.

It is a means of programmatically enquiring or submiting data from one system to another.

The Business of API

The main reason why you need an API, is to collaborate and provide services to your clients. You would do so for many business reasons, here are a few to get the right idea of what this means.

  • You wish others to find data for you and submit it into your database, without them accessing your complete database
  • You have a great database, and allow partners to get value from your database where they pay per transaction
  • You wish to deliver data from your system in a format that another partner can understand, for example your orders sent to a supplier electronically
  • You wish to automate more of your business

An API is not a business model, but the services you offer or consume can be part of a unique business proposition, or at least keep you in touch with the competition. There are many advantages to API's which also includes RPA (Robotic Process Automation) and other Business Process Automation.

Simple API's to large scale ecosystems

The API is just a start to a larger concept in digital systems. Business Models are being transformed by API's that work in collaboration or MicroServices, or platforms that allow you to embed your applications into their infrastructure using API's.

Microservices

You can build API's that can be consumed in different configurations. You can build transactional pricing surrounding usage and output. MicroServices are in fact API's that are designed for greater tolerance to failure and has a more enterprise architecture about them. MicroServices is the scalable, large-scale version of what a typical API may be.

EcoSystems

One thing Microsoft always did well, is support their developer communities. They offered great tools and catered for the developer in new and interesting platforms and languages. They were one of the first to adopt the idea, that if developers were trained and locked into their ecosystem, then they could upsell a wide range of additional benefits. For example, if you coded in Visual Basic, you could go to a marketplace and purchase a calendar, which could be used in your software project. These smaller components, like calendars, grids, image editors opened up new revenue streams for their customers. Their customers could create tools that sold within the platform. The platform would then get stronger as a result.

If an API is the Business to Business answer, MicroServices, is the Enterprise version of API's, then the Ecosystem is the complete business model, to operate within. Typically ecosystems are either vertical or horizontal, meaning that they cater for a single tall thing, such as delivering notifications and emails, and you can build apps that leverage the power that exists there, or you can build complete systems of your choice. The horizontal systems are like WordPress, SalesForce, Azure, AWS and the verticals include Slack, Trello, Zapier among others.

The quality level of API's

Building API's is not easy. In fact those who think it is, generally design bad ones. The quality of API's are very important, as it is your programmatic interface to other businesses and generally revolves around a business model or revenue stream. The API must be of suitable quality.

To often, API's are hacked together, pulled out of legacy code, or simple a new layer on top of older technologies and doesn't have the appropriate level of care. What kinds of quality can you expect from a good API?

  • Consistency
  • Performance
  • Scalability
  • Future-Proof
  • Fine-Grained
  • Well Designed
  • Easy to use
  • Good Documentation

What does it look like?

Trello API https://developers.trello.com/reference#actions

Slack API https://api.slack.com/bot-users

Our Track Record

We have built over 20 life-cycles of custom API for business. We have designed enterprise grade API, MicroServices, modular systems, complete with documentation, tests and performant in the wild.

We have utilized dozens of 3rd party API's, provided by small and big business. We understand the design patterns, the architecture and the technologies surrounding good API design.

Talk to us, about how we can evolve your business from a flat standard business model, or a dynamic API-driven ecosystem, with new channels and earning potential.

We build with all kinds of languages including Serverless, PHP, C#, XML, REST, TypeScript, Kafka and others.... Wer even have our own lightweight REST framework, called CREST, which is brilliant for architecting small to medium size API architectures, which enables the correct design patterns required to upgrade to larger infrastructure.

Think of it as building with the right tools, on the road road to continue to higher levels, without the overhead of having the large enterprise code today. It enables you to grow, and split API into Microservices as your business needs.