API Connectivity

What are API's ?

In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication between various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware, or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables, or remote calls. POSIX, Windows API and ASPI are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage and implementation.

Source: Wikipedia


What is middleware ?

Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".

Middleware makes it easier for software developers to implement communication and input/output, so they can focus on the specific purpose of their application. It gained popularity in the 1980s as a solution to the problem of how to link newer applications to older legacy systems, although the term had been in use since 1968.

Source: Wikipedia


What are microservices

A microservice is a software development technique—a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity and makes the application easier to understand, develop, and test and more resilient to architecture erosion. It parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently. It also allows the architecture of an individual service to emerge through continuous refactoring. Microservices-based architectures enable continuous delivery and deployment.

Source: Wikipedia


How can Asynchrone help with API's, microservices and middleware ?

Development of microservices

Groovy is a perfect option for developing API's and microservices.

  • JSON is a natural partner of Groovy and can easily be created
  • XML is still a common way for Java-alike applications to communicate
  • Libraries like the Spark framework: see http://sparkjava.com
  • Development of the data models for your API and microservice

Docker images for your API and/or microservice

Microservices imply small deployments. Docker containers are the natural way to do this, for versioning and scaling.


Middleware

Asynchrone has worked with several middleware solutions like IBM's Integration Bus, Mulesoft, WSO2. Developing with JSON and XML is a second nature.


More information

Spark framework: http://sparkjava.com
IBM Integration Bus: IBM's website
MuleSoft: https://www.mulesoft.com
WSO2: https://wso2.com

Page last updated on: 2018-09-10