API Integration Patterns & Asynchronous Messaging

Description

Asynchronous messaging between APIs and services has created new possibilities in software, enabling modern architectures such as microservices and single-page applications. As the pattern takes hold and needs to evolve, a complete suite of best practices and specialized tools have emerged to ease and optimize the integration between APIs and achieve effective and stable asynchronous communication.

As different independent software systems appear to tackle an increasingly complex business logic, the need for decomposing the pattern of a single monolithic application into a collection of independent services has been constantly gaining ground. Under this situation, the smooth integration of software systems via well-defined exposed APIs becomes particularly important.  To bridge this emerging need, a set of empirical Enterprise Integration Patterns have been acknowledged as an attempt to aid the smooth and seamless integration of independent and often heterogeneous applications. Towards this direction, Apache Camel has been revealed as a framework that collects well-known integration patterns and provides them as ready-to-use solutions to integration problems. Apache Camel introduces a new way of doing and thinking about system integration that results in much cleaner, easier-to-understand architecture, and maintainable code.

Additionally, in the context of System Integration particular attention should be paid to Asynchronous messaging, which is of key importance and after all is expected to play even the most crucial role in enterprise software development. Indeed, messaging is the key technology that carries the greatest promise to efficiently integrate heterogeneous applications and systems that inherently are independent of each other.

The API Integration Patterns & Asynchronous Messaging Code.Learn has been architected to familiarize developers with the architecture and tools required to architect, construct and integrate collections of APIs using asynchronous messaging, with the support of industry-leading tools such as Apache Camel, Docker and Ansible.


Key Objectives

The key learning objectives of this program can be summarized as follows:

  • Introduction & Comparison with Other Software
  • Installation Methods
  • Setup connection with managed hosts
  • Inventory (static & dynamic)
  • Ad-Hoc commands
  • Variables
  • Playbooks
  • Commonly used modules
  • Roles
  • Templates
  • Conditionals
  • Loops
  • Best Practices
  • Security with Ansible Vault
  • Managing Cloud environments with Ansible
  • Managing Docker containers with Ansible (Introduction)

Target Audience

Higher education graduates in one of the following fields:

  • Computer Science,
  • Ιnformatics,
  • Software Engineering,
  • Web and Mobile Development,
  • Computer Engineering,
  • or any other relevant area

Prerequisite Knowledge

No prerequisite knowledge is required.


Classroom

Sessions can be carried out:

  • Live in a physical classroom
  • Live online through video conferencing environments
  • Using a Hybrid combination of both live physical and online approaches

The teaching method will depend on the conditions at the time the training will run and on the participants’ preferences.

  • PREMISES: Code.Hub Training Center: Leof. Alexandras 205, Athina 115 23