Files
awesome-awesomeness/html/integration.md2.html
2025-07-18 23:13:11 +02:00

2637 lines
144 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-integration-awesome">Awesome Integration <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<blockquote>
<p>A curated list of awesome system integration software, patterns and
resources.</p>
</blockquote>
<p>System integration is the process of linking together different IT
systems (components) to functionally cooperate as a whole.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#projects">Projects</a>
<ul>
<li><a href="#api-management">API Management</a></li>
<li><a href="#api-design">API Design</a></li>
<li><a href="#api-documentation">API Documentation</a></li>
<li><a href="#api-gateway">API Gateway</a></li>
<li><a href="#api-testing">API Testing</a></li>
<li><a href="#bre">BRE</a></li>
<li><a href="#bpm">BPM</a></li>
<li><a href="#data-mapping-solution">Data Mapping Solution</a></li>
<li><a href="#cdc">CDC</a></li>
<li><a href="#esb">ESB</a></li>
<li><a href="#etl">ETL</a></li>
<li><a href="#integration-frameworks">Integration Frameworks</a></li>
<li><a href="#ipaas">iPaaS</a></li>
<li><a href="#maas">MaaS</a></li>
<li><a href="#mft">MFT</a></li>
<li><a href="#mdm">MDM</a></li>
<li><a href="#messaging">Messaging</a></li>
<li><a href="#rpa">RPA</a></li>
<li><a href="#self-service-integration">Self-Service
Integration</a></li>
<li><a href="#workflow-engine">Workflow engine</a></li>
</ul></li>
<li><a href="#integration-patterns">Integration Patterns</a>
<ul>
<li><a href="#enterprise-integration-patterns">Enterprise Integration
Patterns</a></li>
<li><a href="#integration-architecture-patterns">Integration
Architecture Patterns</a></li>
<li><a href="#microservice-api-patterns">Microservice API
Patterns</a></li>
<li><a href="#soa-patterns">SOA Patterns</a></li>
</ul></li>
<li><a href="#resources">Resources</a>
<ul>
<li><a href="#api-specification">API Specification</a></li>
<li><a href="#articles">Articles</a></li>
<li><a href="#certifications">Certifications</a></li>
<li><a href="#connectors">Connectors</a></li>
<li><a href="#data-formats">Data Formats</a></li>
<li><a href="#integration-styles">Integration Styles</a></li>
<li><a href="#market-analysis">Market Analysis</a></li>
<li><a href="#protocols">Protocols</a></li>
<li><a href="#standard-apis">Standard APIs</a></li>
<li><a href="#structure-and-validation">Structure and
Validation</a></li>
</ul></li>
</ul>
<hr />
<h2 id="projects">Projects</h2>
<h3 id="api-management">API Management</h3>
<p><em>API Management solutions offer a comprehensive approach to
handling the entire API lifecycle. They enable developers to create,
publish, secure, and monitor APIs, ensuring efficient and reliable
communication between systems. With features such as authentication,
rate limiting, and analytics, these tools provide centralized control
and enhanced security, making it easier to manage and scale APIs across
different platforms and environments.</em> - <a
href="https://www.akana.com/products/api-platform">Akana API Management
Platform</a> - Provides comprehensive lifecycle management, enabling
rapid digital transformation and robust compliance across multi-cloud
environments. - <a
href="https://aws.amazon.com/api-gateway/api-management/">Amazon API
Management</a> - Leverages AWS scalability and security to efficiently
create, monitor, and manage APIs. - <a
href="https://www.mulesoft.com/platform/api/manager">Anypoint
Platform</a> - Combines API design, integration, and management into one
unified platform, streamlining connectivity and development. - <a
href="https://www.axway.com/en/products/amplify-api-management-platform">Amplify
API Management Platform</a> - Offers an open, agile approach to API
management with robust integration and flexible deployment options. - <a
href="https://cloud.google.com/apigee">Apigee</a> - Delivers powerful
analytics, security, and scalability for enterprise-grade API management
from Google. - <a
href="https://azure.microsoft.com/en-us/services/api-management/">Azure
API Management</a> - A hybrid, multicloud solution that simplifies API
lifecycle management with comprehensive security and analytics. - <a
href="https://developer.mashery.com/">Boomi Cloud API Management</a> - A
cloud-native platform enabling seamless API deployment and centralized
management with strong integration capabilities. - <a
href="https://www.torryharris.com/products/digitmarket-api-manager-for-api-management">DigitMarket
API Manager</a> - Transforms APIs into strategic business tools through
end-to-end lifecycle management and enhanced operational insights. - <a
href="https://github.com/gravitee-io/gravitee-api-management">Gravitee.io
API Management (⭐273)</a> - A lightweight, open-source platform
offering flexible API governance, robust security, and straightforward
configuration. - <a href="https://www.ibm.com/cloud/api-connect">IBM API
Connect</a> - Provides a scalable, secure, and intuitive environment for
creating, managing, and monetizing APIs across clouds. - <a
href="https://www.ibm.com/products/webmethods-api-management">IBM
webMethods API Management</a> - Offers a comprehensive suite for API
lifecycle management that seamlessly integrates on-premises and cloud
systems. - <a href="https://konghq.com/products/kong-enterprise">Kong
Enterprise</a> - A cloud-native, enterprise-grade solution that enhances
API connectivity, microservices orchestration, and security via a rich
plugin architecture. - <a
href="https://www.broadcom.com/products/software/api-management">Layer7
API Management</a> - Ensures secure and efficient API development with
continuous lifecycle management and advanced integration features. - <a
href="https://www.redhat.com/en/technologies/jboss-middleware/3scale">Red
Hat 3scale API Management</a> - Simplifies API monetization and
governance with a cloud-native approach and powerful scaling
capabilities. - <a
href="https://www.sensedia.com/api-management-platform">Sensedia API
Management</a> - Provides a full-lifecycle API solution with advanced
security, performance monitoring, and streamlined integration. - <a
href="https://traefik.io/traefik-hub">Traefik API Management</a> -
Provides an API Management as Code platform to DevOps and Platform
Engineering Teams who favor less ClickOps and more GitOps-driven API
lifecycle workflows. - <a
href="https://tyk.io/api-lifecycle-management/">Tyk API Management</a> -
Delivers high-performance, open-source API management focused on
flexibility, robust security, and scalability. - <a
href="https://github.com/wso2/product-apim">WSO2 API Manager (⭐906)</a>
- A fully open-source API platform offering robust governance, flexible
deployment, and community-driven innovation. - <a
href="https://zuplo.com">Zuplo API Management</a> - A developer-centric,
lightweight platform featuring GitOps integration, rapid edge
deployment, extensive OpenAPI support, and seamless monetization.
<!--lint disable--> <strong><a href="#contents">⬆ back to
top</a></strong> <!--lint enable--> ### API Design <em>API design,
documentation, and life-cycle automation tools streamline the process of
creating, maintaining, and evolving APIs. These tools offer efficient
means to design consistent and scalable APIs, generate comprehensive
documentation, and automate various stages of the API life-cycle,
enhancing developer experience and promoting API adoption.</em> - <a
href="https://github.com/apicurio/apicurio-studio">Apicurio Studio
(⭐1k)</a> - A web-based, open-source API design tool that leverages the
OpenAPI specification. - <a
href="https://github.com/apiaryio/dredd">Dredd (⭐4.2k)</a> - Validate
API description docs against backend implementation using this
language-agnostic CLI tool. - <a
href="https://github.com/Mermade/openapi-gui">OpenAPI-GUI (⭐1.4k)</a> -
Create and validate OpenAPI specs with ease using this intuitive
graphical user interface. - <a
href="https://github.com/OpenAPITools/openapi-diff">OpenAPI Diff
(⭐951)</a> - Compare OpenAPI specs with version control and visualize
the differences in HTML or Markdown format. - <a
href="https://github.com/OpenAPITools/openapi-generator">OpenAPI
Generator (⭐24k)</a> - Automate the creation of API client libraries,
server stubs, documentation and config files with this powerful OpenAPI
Spec tool. - <a
href="https://github.com/OpenAPITools/openapi-style-validator">OpenAPI
Style Validator (⭐218)</a> - Ensure that your OpenAPI specs meet your
organizations standards with this flexible and customizable style
validator. - <a href="https://github.com/stoplightio/spectral">Spectral
(⭐2.7k)</a> - Detect and fix errors in your JSON/YAML files using this
linter tool that supports OpenAPI 3.0 &amp; 2.0 and AsyncAPI. - <a
href="https://github.com/swagger-api/swagger-editor">Swagger Editor
(⭐9.2k)</a> - Create, describe, and document your API with ease using
this open source editor built specifically for OpenAPI-based APIs. - <a
href="https://github.com/zalando/zally">Zally (⭐926)</a> - Ensure the
quality of your OpenAPI specs with this linter tool that provides
extensive analysis and feedback.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### API Documentation <em>Explore a collection of
tools and platforms designed to create, maintain, and present clear,
concise, and user-friendly documentation for APIs. These resources
facilitate seamless collaboration between developers and enable
effective communication of API functionalities and specifications.</em>
- <a href="https://github.com/DapperDox/dapperdox">DapperDox (⭐420)</a>
- Generates elegant, interactive API documentation from OpenAPI/Swagger
specs with easy customization and automated updates. - <a
href="https://github.com/Rhosys/openapi-explorer">OpenAPI Explorer
(⭐334)</a> - Creates intuitive, interactive user interfaces from
OpenAPI specs, simplifying API exploration and testing. - <a
href="https://github.com/rapi-doc/RapiDoc">RapiDoc (⭐1.8k)</a> -
Produces highly customizable, interactive API documentation with
responsive design and rich configuration options. - <a
href="https://github.com/Redocly/redoc">Redoc (⭐24k)</a> - Delivers
clean, modern documentation with advanced theming, multi-language
support, and seamless integration. - <a
href="https://github.com/slatedocs/slate">Slate (⭐36k)</a> - Converts
markdown into stylish, static API documentation with intuitive
navigation and clear code examples. - <a
href="https://github.com/stoplightio/elements">Stoplight Elements
(⭐2k)</a> - Provides modular, attractive UI components for building
comprehensive API reference and tutorial documentation. - <a
href="https://swagger.io/tools/swaggerhub/">SwaggerHub</a> - An
integrated API design and documentation hub that enhances team
collaboration, version control, and automated testing. - <a
href="https://github.com/swagger-api/swagger-ui">Swagger UI (⭐27k)</a>
- Offers an interactive, in-browser tool for visualizing and testing
APIs directly from OpenAPI specifications. - <a
href="https://github.com/anvilco/spectaql">SpectaQL (⭐1.1k)</a> -
Generates static, customizable documentation for GraphQL schemas, making
complex API structures easy to understand. - <a
href="https://github.com/zuplo/zudoku">Zudoku (⭐256)</a> - A
customizable framework built on OpenAPI, focused on delivering
exceptional developer experiences through quality documentation.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### API Gateway <em>API Gateways act as
intermediaries between client applications and backend services,
enabling key features such as request routing, authentication, rate
limiting, and caching. They simplify the process of managing, securing,
and monitoring APIs by providing a unified entry point for various
services.</em> - <a href="https://github.com/eolinker/apinto">Apinto
(⭐1.5k)</a> - A Golang-based gateway that offers dynamic routing,
multi-tenancy, and robust API access control for modern architectures. -
<a
href="https://www.getambassador.io/products/edge-stack/api-gateway/">Ambassador
Edge Stack</a> - A Kubernetes-native API gateway designed for high-scale
environments with flexible routing and advanced security features. - <a
href="https://github.com/apache/apisix">Apache APISIX (⭐15k)</a> - A
high-performance, dynamic gateway featuring real-time traffic management
and powerful plugin integrations. - <a
href="https://github.com/apache/shenyu">Apache ShenYu (⭐8.6k)</a> - A
Java-native gateway excelling in protocol conversion, service proxying,
and comprehensive API governance. - <a
href="https://github.com/envoyproxy/gateway">Envoy Gateway (⭐1.9k)</a>
- CNCF Envoy-based gateway with Gateway API, mTLS, JWT, and other
built-ins. - <a href="https://github.com/solo-io/gloo">Gloo Edge
(⭐106)</a> - An Envoy Proxybased gateway offering advanced traffic
control, enhanced security, and observability for microservices
ecosystems. - <a href="https://github.com/Kong/kong">Kong API Gateway
(⭐41k)</a> - A scalable, cloud-native gateway that simplifies API
management through extensive plugin support and seamless microservices
integration. - <a
href="https://github.com/devopsfaith/krakend-ce">KrakenD API Gateway
(⭐2.2k)</a> - An ultra-high performance gateway with efficient
middleware configuration, robust security, and seamless scaling. - <a
href="https://github.com/ThreeMammals/Ocelot">Ocelot (⭐8.5k)</a> - A
.NET-based gateway offering intuitive routing and easy integration for
lightweight API management. - <a
href="https://github.com/spring-cloud/spring-cloud-gateway">Spring Cloud
Gateway (⭐4.6k)</a> - Leverages the Spring ecosystem to deliver robust
routing, filtering, and security for microservices. - <a
href="https://github.com/traefik/traefik">Traefik API Gateway
(⭐55k)</a> - Combines Traefik Proxy, a fully declarative application
proxy with enterprise-grade access control, distributed security, and
premium integrations. - <a
href="https://github.com/TykTechnologies/tyk">Tyk API Gateway
(⭐10k)</a> - An enterprise-grade, open-source gateway supporting REST,
GraphQL, TCP, and gRPC with advanced rate limiting and analytics.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### API Testing <em>The API testing tools section
provides a list of software tools and frameworks that developers can use
to test REST APIs and message brokers. This section includes GUI clients
for testing REST APIs and message brokers, mocking tools for simulating
API responses, as well as various testing tools and frameworks to
automate testing processes.</em> - API clients - <a
href="https://github.com/advanced-rest-client/arc-electron">Advanced
REST Client (⭐1.4k)</a> - A robust open-source API client for testing
and debugging RESTful services with an intuitive interface. - <a
href="https://github.com/usebruno/bruno">Bruno (⭐35k)</a> - A fast,
offline API client designed for git-friendly workflows and seamless
testing. - <a href="https://github.com/curl/curl">curl (⭐38k)</a> - A
versatile command-line tool for data transfer across multiple protocols,
essential for quick API testing. - <a
href="https://github.com/rs/curlie">curlie (⭐3.3k)</a> - A modern,
user-friendly frontend to curl that combines simplicity with powerful
performance. - <a href="https://github.com/httpie/httpie">HTTPie
(⭐36k)</a> - An intuitive CLI HTTP client that simplifies crafting API
requests and inspecting responses. - <a
href="https://www.httpmaster.net/">HttpMaster</a> - Free and lightweight
desktop tool for HTTP testing and debugging. - <a
href="https://github.com/hoppscotch/hoppscotch">Hoppscotch (⭐72k)</a> -
A lightweight, web-based API development tool offering real-time testing
with an intuitive interface. - <a
href="https://github.com/Kong/insomnia">Insomnia (⭐36k)</a> - A
cross-platform client that streamlines API debugging and testing for
both REST and GraphQL services. - <a
href="https://github.com/darrenburns/posting">posting (⭐9.4k)</a> - A
modern, terminal-based API client designed for efficient and seamless
API interactions. - <a
href="https://www.postman.com/product/api-client/">Postman</a> - The
industry-standard tool for API development and testing, featuring
automation, mock servers, and collaborative documentation. - <a
href="https://github.com/micha/resty">resty (⭐2.6k)</a> - A Lua-based
HTTP client framework providing an interactive shell for streamlined
REST service testing. - <a
href="https://github.com/SmartBear/soapui">SoapUI (⭐1.6k)</a> - A
comprehensive open-source solution for testing both SOAP and REST web
services with extensive automation features. - MQ clients - <a
href="https://github.com/jmstoolbox/jmstoolbox">JMSToolBox (⭐216)</a> -
A universal JMS client offering broad compatibility and streamlined
messaging testing across various brokers. - <a
href="https://github.com/edenhill/kcat">kcat (⭐5.5k)</a> - A
lightweight command-line tool for Apache Kafka, providing efficient
message production and consumption. - <a
href="https://github.com/thomasnordquist/MQTT-Explorer">MQTT Explorer
(⭐3.4k)</a> - A detailed MQTT client delivering structured topic
visualization and intuitive debugging. - <a
href="https://www.kafkatool.com">Offset Explorer</a> - A comprehensive
GUI for managing Apache Kafka clusters with user-friendly monitoring and
administration tools. - <a
href="https://github.com/paolosalvatori/ServiceBusExplorer">Service Bus
Explorer (⭐2.1k)</a> - An advanced GUI for Azure Service Bus that
enables in-depth testing and seamless management of topics, queues, and
subscriptions. - Mocking tools - <a
href="https://github.com/SpectoLabs/hoverfly">Hoverfly (⭐2.4k)</a> - A
lightweight API simulation tool that enables rapid HTTP(S) service
virtualization for efficient testing. - <a
href="https://github.com/outofcoffee/imposter">Imposter (⭐391)</a> - A
flexible mock server supporting REST, OpenAPI, SOAP, and more to
simulate diverse API behaviors. - <a
href="https://github.com/microcks/microcks">Microcks (⭐1.6k)</a> - A
Kubernetes-native tool for API mocking and testing that supports
AsyncAPI, OpenAPI, and Postman Collections. - <a
href="https://www.mockable.io/">Mockable</a> - An easy-to-configure
service for creating custom HTTP responses, ideal for rapid prototyping
and testing. - <a href="https://github.com/zuplo/mockbin">Mockbin
(⭐113)</a> - A simple endpoint generator for testing HTTP requests with
real-time logging and feedback. - <a
href="https://github.com/mockoon/mockoon">Mockoon (⭐7.4k)</a> - A
user-friendly tool for designing and running mock REST APIs with
real-time simulation and easy setup. - <a
href="https://github.com/mock-server/mockserver">MockServer (⭐4.7k)</a>
- A powerful solution for mocking any HTTP/HTTPS-based service,
streamlining integration testing. - <a
href="https://github.com/MockyAbstract/Mocky">Mocky (⭐2k)</a> - A free
online service that generates custom HTTP responses for testing API
endpoints. - <a href="https://github.com/stoplightio/prism">Prism
(⭐4.6k)</a> - An open-source HTTP mock server that replicates API
behavior for early testing and validation. - <a
href="https://github.com/tomakehurst/wiremock">WireMock (⭐6.8k)</a> - A
robust and flexible API mocking tool delivering reliable, real-time
simulation for comprehensive testing. - Testing tools and frameworks -
<a href="https://github.com/apache/jmeter">Apache JMeter (⭐8.8k)</a> -
A feature-rich tool for load testing and performance analysis across
diverse web applications and services. - <a
href="https://github.com/gatling/gatling">Gatling (⭐6.7k)</a> - A
powerful load testing framework with a developer-friendly DSL that
delivers detailed performance metrics. - <a
href="https://github.com/grafana/k6">Grafana k6 (⭐28k)</a> -
Open-source, JS-scriptable load-testing tool for CI/CD. - <a
href="https://github.com/karatelabs/karate">Karate (⭐8.5k)</a> - A
unified testing framework that merges API automation, mocking, and
performance testing with simple, expressive syntax. - <a
href="https://github.com/svanoort/pyresttest">Pyresttest (⭐1.1k)</a> -
A Python-based testing tool offering easy YAML/JSON-driven REST API
testing and microbenchmarking. - <a
href="https://github.com/rest-assured/rest-assured">REST Assured
(⭐6.9k)</a> - A Java DSL that simplifies REST API testing with
intuitive syntax and seamless integration into CI pipelines. - <a
href="https://github.com/schemathesis/schemathesis">Schemathesis
(⭐2.5k)</a> - A Python library for property-based testing of API
schemas, ensuring reliability through robust edge-case detection. - <a
href="https://github.com/Blazemeter/taurus">Taurus (⭐2k)</a> - An
open-source automation framework that simplifies continuous testing with
intuitive configuration and integration support.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### BRE <em>Business Rules Engines and Business Rules
Management Systems (BRMS) are software systems that allow organizations
to define, manage, and execute business rules. These rules are used to
automate decision-making processes, enforce business policies, and
ensure regulatory compliance. A BRMS provides a way for organizations to
centrally manage their business rules and make changes to them quickly
and easily, without requiring changes to the underlying code. It is a
valuable tool for businesses that need to be agile and respond quickly
to changing market conditions.</em> - <a
href="https://github.com/apache/incubator-kie-drools">Drools (⭐6k)</a>
- Open-source engine that supports advanced Decision Model and Notation
(DMN) with Eclipse IDE integration for efficient rule development. - <a
href="https://github.com/j-easy/easy-rules">Easy Rules (⭐5k)</a> -
Lightweight Java-based rules engine designed for straightforward rule
processing and rapid decision automation. - <a
href="https://www.fico.com/en/products/fico-blaze-advisor">FICO Blaze
Advisor</a> - Enterprise-grade decision engine that empowers both
business and technical users with an intuitive interface for fast rule
creation and management. - <a
href="https://www.ibm.com/products/operational-decision-manager">IBM
ODM</a> - Scalable decision management system that streamlines rule
authoring, testing, and updates while ensuring compliance and agility. -
<a href="https://github.com/ddossot/NxBRE">NxBRE (⭐132)</a> -
Specialized .NET open-source rule engine offering efficient rule
processing tailored for Microsoft environments. - <a
href="https://github.com/openl-tablets/openl-tablets">OpenL Tablets
(⭐172)</a> - Flexible open-source decision management system that
simplifies defining and executing business rules and decision tables. -
<a href="https://www.progress.com/corticon">Progress Corticon</a> -
Model-driven BRMS enabling rapid, no-code rule creation that delivers
high-performance automated decisions with guaranteed integrity. - <a
href="https://access.redhat.com/products/red-hat-decision-manager">Red
Hat Decision Manager</a> - Enterprise-class decision platform built on
Drools, offering advanced DMN support, intuitive UIs, and high
availability for large-scale automation. - <a
href="https://github.com/gorules/zen">ZEN Engine (⭐1.1k)</a> - A
cross-platform, open-source Business Rules Engine written in Rust that
executes JSON Decision Models through interconnected graphs of decision
tables, functions, and expressions.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### BPM <em>BPM solutions are software tools that
help businesses streamline and automate their operational processes to
improve efficiency and productivity. These solutions typically provide
features such as process modeling, workflow management, task automation,
and reporting. They can be used to automate a wide range of processes,
from simple tasks like data entry to complex workflows involving
multiple departments and stakeholders.</em> - <a
href="https://appian.com/platform/complete-automation/business-process-management-bpm.html">Appian
BPM Suite</a> - Low-code BPM platform that empowers both IT and citizen
developers to quickly build process- and case-centric applications. - <a
href="https://www.genpact.com/cora/sequence">Genpack Cora SeQuence</a> -
Agile process orchestration tool that enhances business efficiency by
seamlessly integrating and managing workflows. - <a
href="https://www.ibm.com/products/business-automation-workflow">IBM
Business Automation Workflow</a> - Integrated platform combining
workflow automation and BPM to optimize operational processes and
decision-making. - <a
href="https://www.oracle.com/middleware/technologies/bpm.html">Oracle
BPM Suite</a> - Comprehensive solution offering robust process modeling,
workflow automation, and real-time analytics to drive operational
excellence. - <a href="https://www.pega.com/products/platform">Pega
Platform</a> - Advanced BPM and RPA platform featuring intelligent
process automation and workforce analytics to streamline operations. -
<a
href="https://www.redhat.com/en/technologies/jboss-middleware/process-automation-manager">Red
Hat Process Automation Manager</a> - Cloud-native platform that enables
cross-functional teams to design, deploy, and manage automated business
workflows with agility. - <a
href="https://www.sap.com/products/process-orchestration.html">SAP
Process Orchestration</a> - Robust BPM offering that combines process
orchestration with application integration for end-to-end operational
efficiency. - <a
href="https://www.tibco.com/products/business-process-management">TIBCO
BPM Enterprise</a> - Enterprise BPM solution delivering process
automation, documentation, and predictive analytics to enhance
performance and decision-making.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Data Mapping Solution <em>Data Mapping tools are
used to define and transform data between different systems,
applications, and formats. These tools allow for the mapping of data
from source to target, allowing for data transformation and integration.
This section covers different data mapping solutions that can be used to
facilitate data mapping and transformation processes for different use
cases.</em> - <a href="https://www.altova.com/mapforce">Altova
MapForce</a> - Graphical data mapping solution that enables any-to-any
conversion, reducing complexity and accelerating integration projects. -
<a href="https://github.com/atlasmap/atlasmap">AtlasMap (⭐203)</a> -
Interactive web-based tool that simplifies mapping across Java, XML,
CSV, and JSON data sources with an intuitive interface. - <a
href="https://github.com/bazaarvoice/jolt">JOLT (⭐1.6k)</a> -
Java-based JSON transformation library that uses a specification-driven
approach for effortless JSON-to-JSON conversions. - <a
href="https://github.com/schibsted/jslt">JSLT (⭐670)</a> - Powerful
JSON query and transformation language inspired by jq and XPath,
designed for rapid and flexible data manipulation.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### CDC <em>Change Data Capture (CDC) solutions
enable real-time identification and capture of changes made to data in
databases, data warehouses, and other data sources. These tools
continuously monitor data changes and propagate them to downstream
systems, enabling real-time data synchronization, event-driven
architectures, and maintaining data consistency across distributed
systems. CDC is essential for modern data architectures, microservices,
and real-time analytics.</em> - <a
href="https://github.com/debezium/debezium">Debezium (⭐11k)</a> -
Open-source distributed platform for change data capture that turns your
existing databases into event streams for real-time data integration. -
<a
href="https://www.ibm.com/products/infosphere-change-data-capture">IBM
InfoSphere CDC</a> - Enterprise CDC solution that captures and delivers
data changes with minimal impact on source systems and low latency. - <a
href="https://github.com/zendesk/maxwell">Maxwells daemon (⭐4.1k)</a>
- An open-source CDC tool for MySQL that reads database binlogs and
streams row-level changes as JSON to systems like Kafka, Kinesis, or
other destinations. - <a
href="https://www.oracle.com/integration/goldengate/">Oracle
GoldenGate</a> - Enterprise-grade real-time data integration and
replication solution that provides comprehensive CDC capabilities for
heterogeneous databases and cloud platforms. - <a
href="https://www.qlik.com/us/products/qlik-replicate">Qlik
Replicate</a> - Universal data replication software that provides
real-time CDC capabilities for modern data architecture and
analytics.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### ESB <em>Enterprise Service Bus (ESB) solutions
facilitate the integration of disparate systems and applications by
providing a communication layer that allows them to exchange
information. ESBs offer a range of capabilities such as message routing,
transformation, protocol conversion, and data mediation. They typically
support various messaging patterns and communication protocols and
provide a centralized platform for managing and monitoring message
traffic.</em> - <a
href="https://www.mulesoft.com/platform/enterprise-integration">Anypoint
Platform</a> - Comprehensive integration solution that leverages robust
ESB capabilities to connect and orchestrate disparate systems. - <a
href="https://servicemix.apache.org/">Apache ServiceMix</a> - Versatile
open-source integration container combining messaging, routing, and
service mediation for flexible enterprise connectivity. - <a
href="https://www.arcesb.com/integration/">ArcESB</a> - Flexible
integration platform that synchronizes data across applications,
streamlines partner connectivity, and enhances data accessibility. - <a
href="https://www.ibm.com/cloud/app-connect">IBM App Connect</a> -
Robust integration solution that connects diverse applications and
protocols, ensuring seamless data flow across the enterprise. - <a
href="https://www.ibm.com/products/webmethods-integration">IBM
webMethods Integration</a> - Comprehensive platform that accelerates
application integration and simplifies connectivity across heterogeneous
systems. - <a
href="https://github.com/Particular/NServiceBus">NServiceBus
(⭐2.1k)</a> - Developer-friendly, .NET-based service bus that
simplifies messaging and orchestrates service integration efficiently. -
<a
href="https://www.oracle.com/middleware/technologies/service-bus.html">Oracle
Service Bus</a> - Powerful ESB solution that virtualizes and manages
service interactions to reduce integration complexity. - <a
href="https://www.oracle.com/middleware/technologies/soasuite.html">Oracle
SOA Suite</a> - Comprehensive SOA platform that orchestrates services
into composite applications, driving efficient business process
integration. - <a
href="https://developers.redhat.com/products/fuse/overview">Red Hat
Fuse</a> - Cloud-native integration platform that delivers distributed
integration capabilities for agile, scalable connectivity. - <a
href="https://www.tibco.com/products/tibco-businessworks">TIBCO
BusinessWorks</a> - Enterprise-grade integration platform implementing
proven hybrid integration patterns for reliable data exchange. - <a
href="https://www.adroitlogic.com/products/ultraesb/">UltraESB</a> -
High-performance ESB engineered for extreme throughput with zero-copy
proxying and non-blocking IO techniques. - <a
href="https://github.com/wso2/product-ei">WSO2 Enterprise Integrator
(⭐384)</a> - API-centric, cloud-native integration platform offering
robust, distributed capabilities for modern software architectures.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### ETL <em>ETL (Extract, Transform, Load) and ELT
(Extract, Load, Transform) are processes used to integrate and
consolidate data from multiple sources. This section covers a range of
open source and commercial tools for performing these tasks, including
data ingestion, transformation, and loading into data warehouses or
other data storage systems.</em> - <a
href="https://github.com/apache/inlong">Apache InLong (⭐1.4k)</a> -
One-stop, full-scenario integration framework for massive data that
supports data ingestion, synchronization, and subscription with
real-time ETL capabilities. - <a
href="https://github.com/apache/nifi">Apache NiFi (⭐5.4k)</a> -
Automated data integration tool with a visual interface that seamlessly
extracts, transforms, and delivers data across systems. - <a
href="https://github.com/airbytehq/airbyte">Airbyte (⭐18k)</a> -
Flexible, open-source data integration platform that builds ELT
pipelines to move data from diverse sources to modern destinations. - <a
href="https://www.cloverdx.com/">CloverDX</a> - Enterprise ETL suite
offering robust data transformation and workflow orchestration for
scalable integration. - <a
href="https://github.com/estuary/flow">Estuary Flow (⭐768)</a> -
Versatile, scalable platform that provides both real-time and batch data
integration for ETL and ELT pipelines. - <a
href="https://www.fivetran.com/">Fivetran</a> - Managed ELT that syncs
700 + sources to data warehouses. - <a
href="https://hevodata.com/">Hevo</a> - No-code, fully automated data
pipeline platform that supports extensive integrations, simplifying
complex data workflows. - <a
href="https://www.ibm.com/products/datastage">IBM DataStage</a> - Robust
platform that cleanses, transforms, and delivers reliable data,
empowering businesses with trusted insights. - <a
href="https://www.informatica.com/products/data-integration/powercenter.html">Informatica
PowerCenter</a> - Enterprise-class solution that streamlines big data
and cloud analytics through comprehensive data integration management. -
<a
href="https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services">Microsoft
SSIS</a> - Proven data integration solution for building scalable ETL
processes within enterprise environments using SQL Server. - <a
href="https://www.oracle.com/middleware/technologies/data-integrator.html">Oracle
Data Integrator</a> - Comprehensive platform that addresses batch loads,
real-time processes, and SOA-enabled services for end-to-end data
management. - <a
href="https://github.com/pentaho/pentaho-kettle">Pentaho Data
Integration (⭐8k)</a> - Intuitive, visual ETL tool that simplifies data
ingestion, blending, and cleansing across multiple sources without heavy
coding. - <a
href="https://www.sas.com/en_us/software/data-management.html">SAS Data
Management</a> - Robust solution that transforms, integrates, and
secures data to enhance quality and reliability across the enterprise. -
<a href="https://www.stitchdata.com/">Stitch</a> - Developer-friendly
SaaS ETL service that effortlessly extracts data from numerous sources
into data warehouses for streamlined analytics. - <a
href="https://www.talend.com/products/integrate-data/">Talend Data
Integration</a> - Versatile platform that unifies disparate data sources
into actionable insights to empower informed business decisions.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Integration Frameworks <em>The Integration
frameworks section includes software tools and libraries that help
developers implement and manage integration patterns in their
applications. These frameworks are based on well-established Enterprise
Integration Patterns (EIPs), which provide a standard vocabulary and
architecture for designing and implementing integration solutions. The
frameworks in this section can help simplify the process of integrating
different systems, applications, and data sources by providing pre-built
connectors, message routing, and transformation capabilities.</em> - <a
href="https://github.com/apache/camel">Apache Camel (⭐5.8k)</a> -
Robust integration framework leveraging Enterprise Integration Patterns
to seamlessly connect diverse systems and APIs. - <a
href="https://github.com/ballerina-platform/ballerina-lang">Ballerina
(⭐3.7k)</a> - Innovative programming language designed for effortless
creation and integration of network services and APIs. - <a
href="https://github.com/frankframework/frankframework">Frank!Framework
(⭐141)</a> - Low-code Java messaging framework that simplifies system
connectivity and data integration through configurable XML setups. - <a
href="https://github.com/spring-projects/spring-integration">Spring
Integration (⭐1.5k)</a> - Extension of the Spring ecosystem that
provides out-of-the-box integration capabilities using proven Enterprise
Integration Patterns.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### iPaaS <em>Integration Platform as a Service
(iPaaS) is a cloud-based platform that enables businesses to integrate
different systems, applications, and data sources with ease. It provides
a unified platform for managing data flows between various systems,
simplifying the process of integrating different systems and automating
workflows. iPaaS tools typically provide a visual interface for
designing, deploying, and managing integrations, as well as pre-built
connectors and APIs for integrating with popular systems and
services.</em> - <a
href="https://www.mulesoft.com/platform/saas/cloudhub-ipaas-cloud-based-integration">Anypoint
Platform</a> - Combines API management and integration into one
platform, enabling seamless connectivity across diverse applications. -
<a href="https://boomi.com/platform">Boomi AtomSphere</a> -
Cloud-native, intelligent platform that connects systems effortlessly
while automating integration processes. - <a
href="https://www.celigo.com/platform/">Celigo Integration Platform</a>
- User-friendly iPaaS with prebuilt templates for rapid SaaS-to-SaaS
integrations and intuitive drag-and-drop design. - <a
href="https://www.jitterbit.com/platform/ipaas">Jitterbit Harmony</a> -
Comprehensive integration solution offering prebuilt workflows and
automation templates to accelerate business processes. - <a
href="https://www.ibm.com/cloud/integration">IBM Cloud Integration</a> -
Next-generation platform leveraging AI to streamline integration,
increase scalability, and speed up deployment. - <a
href="https://www.ibm.com/products/webmethods">IBM webMethods</a> -
All-in-one integration platform that unifies applications, simplifies
processes, and boosts overall efficiency. - <a
href="https://www.informatica.com/products/cloud-integration.html">Informatica
Intelligent Cloud Services</a> - Suite of cloud data management tools
that accelerates productivity and simplifies application and data
integration. - <a
href="https://businessnetwork.opentext.com/enterprise-data-management/">OpenText
Alloy</a> - Enterprise data management solution that transforms basic
integration into actionable insights and smarter decision-making. - <a
href="https://www.oracle.com/integration/application-integration/">Oracle
Integration Cloud Service</a> - Robust platform with prebuilt
connectivity for both SaaS and on-premises apps, streamlining
integration processes. - <a
href="https://www.sap.com/products/technology-platform/integration-suite.html">SAP
Integration Suite</a> - Cloud-native solution offering prebuilt
adapters, API management, and event brokering for end-to-end
connectivity. - <a
href="https://www.snaplogic.com/products/intelligent-integration-platform">SnapLogic
Intelligent Integration Platform</a> - AI-driven platform that connects
applications and data rapidly, ensuring efficient and scalable
integrations. - <a
href="https://docs.tibco.com/products/tibco-cloud-integration-ipaas">TIBCO
Cloud Integration</a> - Flexible, API-led and event-driven platform that
empowers you to integrate virtually any system quickly. - <a
href="https://tray.ai/">Tray.io</a> - Low-code automation platform with
a drag-and-drop interface, making it simple to build scalable
integrations and workflows. - <a
href="https://www.workato.com/">Workato</a> - Unified integration and
workflow automation solution that simplifies complex processes and
enhances operational efficiency.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### MaaS <em>Cloud Messaging as a Service (MaaS)
refers to cloud-based messaging platforms that enable reliable, secure,
and scalable communication between distributed applications and
services. These platforms provide various messaging patterns such as
publish-subscribe, request-reply, and streaming. They also offer
features such as message routing, filtering, transformation, and
persistence, and support various protocols and APIs for integration with
different systems.</em> - <a
href="https://aws.amazon.com/amazon-mq">Amazon MQ</a> - Fully managed
message broker supporting Apache ActiveMQ and RabbitMQ, ensuring
reliable and secure messaging. - <a
href="https://aws.amazon.com/msk">Amazon MSK</a> - Managed Apache Kafka
service that simplifies cluster setup, scaling, and real-time data
streaming. - <a href="https://aws.amazon.com/sqs">Amazon SQS</a> -
Reliable, fully managed queuing service to decouple microservices and
scale distributed applications seamlessly. - <a
href="https://aws.amazon.com/sns">Amazon SNS</a> - Managed pub/sub
messaging service that flexibly notifies subscribers and supports
various delivery protocols. - <a
href="https://www.alibabacloud.com/product/kafka">Alibaba Cloud Message
Queue for Apache Kafka</a> - High-throughput Kafka service with seamless
Alibaba Cloud integration for real-time data processing. - <a
href="https://www.alibabacloud.com/product/rabbitmq">Alibaba Cloud
Message Queue for RabbitMQ</a> - Scalable RabbitMQ solution offering low
latency and high throughput for distributed messaging. - <a
href="https://www.alibabacloud.com/product/message-service">Alibaba
Cloud Message Service</a> - Distributed messaging service that ensures
reliable data transfer between decoupled systems. - <a
href="https://www.alibabacloud.com/product/mq">AlibabaMQ for Apache
RocketMQ</a> - Robust message queue service supporting asynchronous
communication with high availability and durability. - <a
href="https://www.mulesoft.com/platform/anypoint-mq-message-queue">Anypoint
MQ</a> - Enterprise-class messaging service integrated with Anypoint
Platform for flexible and reliable message orchestration. - <a
href="https://azure.microsoft.com/en-us/products/event-hubs/">Azure
Event Hubs</a> - A high-throughput, fully managed event-ingestion
(publish-subscribe) service, supports the Kafka protocol natively. - <a
href="https://azure.microsoft.com/en-us/services/service-bus/">Azure
Service Bus</a> - Cloud messaging solution that supports multiple
patterns and protocols for robust enterprise integration. - <a
href="https://www.cloudamqp.com/">CloudAMQP</a> - Managed RabbitMQ
service featuring an intuitive web console, advanced analytics, and
seamless scalability. - <a
href="https://www.confluent.io/confluent-cloud/">Confluent Cloud</a> -
Fully managed Kafka service offering enterprise features like schema
registry, connectors, and governance. - <a
href="https://cloud.google.com/products/managed-service-for-apache-kafka">Google
Cloud Managed Service for Apache Kafka</a> - Simplifies Kafka deployment
and management on Google Cloud for real-time streaming applications. -
<a href="https://cloud.google.com/pubsub">Google Cloud Pub/Sub</a> -
High-throughput messaging service that supports event-driven
architectures with flexible delivery models. - <a
href="https://www.huaweicloud.com/intl/en-us/product/dms.html">Huawei
Cloud Distributed Message Service</a> - Fully managed messaging service
that ensures secure, scalable, and reliable communication between
applications. - <a
href="https://www.huaweicloud.com/intl/en-us/product/dmskafka.html">Huawei
Cloud Distributed Message Service for Kafka</a> - Managed Kafka solution
that simplifies scaling and management while delivering high performance
and security. - <a href="https://www.ibm.com/cloud/mq">IBM MQ on
Cloud</a> - Enterprise messaging service that offers secure, reliable
data transfer across applications in a cloud environment. - <a
href="https://www.iron.io/mq">IronMQ</a> - Elastic, cloud-native message
queue designed for scalable and reliable processing of high-volume
messages. - <a
href="https://www.oracle.com/cloud/cloud-native/streaming/">Oracle Cloud
Streaming</a> - Serverless, real-time event streaming platform with
Apache Kafka compatibility for efficient data processing. - <a
href="https://solace.com/products/platform/cloud/">Solace PubSub+
Cloud</a> - Integrated event streaming platform providing full
visibility and control over your data pipelines. - <a
href="https://cloud.yandex.com/en/services/message-queue">Yandex Message
Queue</a> - Cloud messaging service compatible with Amazon SQS API for
easy integration with existing systems. - <a
href="https://cloud.yandex.com/en/services/managed-kafka">Yandex Managed
Service for Apache Kafka</a> - Fully managed Kafka service with
automated scaling, monitoring, and maintenance for hassle-free
streaming.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### MFT <em>Managed File Transfer (MFT) solutions
provide secure and reliable file transfer capabilities that help
organizations meet regulatory compliance requirements, improve
operational efficiency, and reduce the risk of data breaches. MFT
software typically includes features such as encryption, digital
signatures, user access controls, and detailed audit logs to ensure that
data is transmitted securely and can be tracked throughout the transfer
process.</em> - <a href="https://www.arcesb.com/mft/">ArcESB Managed
File Transfer</a> - Enterprise-grade MFT solution with an intuitive
interface and powerful automation for streamlined file exchanges. - <a
href="https://www.axway.com/en/products/managed-file-transfer">Axway
Managed File Transfer</a> - Robust platform offering advanced security
and efficient, reliable data transfer across enterprise systems. - <a
href="https://www.goanywhere.com/products/goanywhere-mft">GoAnywhere
MFT</a> - Comprehensive solution delivering centralized, secure file
transfers with automation and complete audit logging. - <a
href="https://www.globalscape.com/eft">GlobalSCAPE EFT</a> - Hardened
file transfer server that ensures end-to-end encryption, automation, and
compliance for mission-critical data. - <a
href="https://www.ibm.com/products/secure-file-transfer">IBM Sterling
Secure File Transfer</a> - Scalable and high-performance MFT platform
designed for secure, fast, and reliable file exchange. - <a
href="https://www.ibm.com/products/webmethods-mft">IBM webMethods
MFT</a> - Integrated managed file transfer solution that supports
flexible deployment across hybrid environments. - <a
href="https://www.jscape.com/products/file-transfer-servers/jscape-mft-server">JSCAPE
MFT Server</a> - Secure, protocol-agnostic platform with automation and
compliance. - <a
href="https://www.oracle.com/middleware/technologies/mft/managed-file-transfer.html">Oracle
Managed File Transfer</a> - Comprehensive platform that simplifies
secure file exchange and management for enterprise operations. - <a
href="https://www.progress.com/moveit">Progress MOVEit</a> - Secure,
automated file transfer solution with guaranteed delivery, encryption,
and compliance tools for regulated industries. - <a
href="https://www.tibco.com/products/tibco-managed-file-transfer">TIBCO
Managed File Transfer</a> - Centralized MFT platform with robust
automation and security features designed to support diverse file
transfer scenarios. - <a
href="https://southrivertech.com/titan-mft-server/">Titan MFT Server</a>
- Enterprise-level MFT server offering high availability, failover
capabilities, and efficient large-scale file automation.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### MDM <em>Master Data Management (MDM) solutions
help organizations create a single, authoritative source of accurate and
consistent data across different systems, applications, and departments.
These tools provide capabilities for data profiling, cleansing,
enrichment, and governance, enabling organizations to improve data
quality, reduce errors, and increase operational efficiency.</em> - <a
href="https://www.ibm.com/products/ibm-infosphere-master-data-management">IBM
InfoSphere Master Data Management</a> - Comprehensive platform that
centralizes data governance, ensuring consistency and accuracy across
your enterprise. - <a
href="https://www.informatica.com/products/master-data-management/multidomain-mdm.html">Informatica
Multidomain MDM</a> - Integrated solution for managing and governing
master data across all domains, enhancing overall data quality. - <a
href="https://www.oracle.com/performance-management/enterprise-data-management/">Oracle
Enterprise Data Management</a> - Robust tool that centralizes master
data to support faster, more effective decision-making and operational
agility. - <a
href="https://www.reltio.com/products/multidomain-mdm">Reltio</a> -
Cloud-native, multi-domain MDM platform combining data quality,
governance, and real-time analytics for a 360° view. - <a
href="https://www.sap.com/products/master-data-governance.html">SAP
Master Data Governance</a> - Centralized solution that consolidates and
governs master data to ensure consistency and high quality. - <a
href="https://support.sas.com/en/software/mdm-support.html">SAS MDM</a>
- Unified platform that integrates data from diverse sources into
accurate master records for improved efficiency. - <a
href="https://www.stibosystems.com/platform">Stibo MDM</a> - Proven
multi-domain MDM solution focusing on data transparency and governance
to provide a single source of truth. - <a
href="https://www.teradata.co.uk/Products/Applications/Master-Data-Management">Teradata
MDM</a> - Establishes a consistent analytical foundation by maintaining
accurate reference data for enhanced ROI. - <a
href="https://www.tibco.com/products/ebx">TIBCO EBX</a> - Comprehensive
platform for governing and managing shared data assets, ensuring
consistency and enabling smarter decisions.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Messaging <em>Message brokers are a type of
middleware that allows communication between different applications or
systems by facilitating the exchange of messages. They can handle
different messaging patterns, such as point-to-point, publish-subscribe,
and request-reply, and provide features such as message transformation,
routing, and filtering.</em> - <a
href="https://github.com/apache/activemq">Apache ActiveMQ (⭐2.3k)</a> -
Open-source broker that implements JMS, enabling seamless conversion
between synchronous and asynchronous messaging. - <a
href="https://github.com/apache/activemq-artemis">Apache ActiveMQ
Artemis (⭐973)</a> - Next-generation message broker from Apache
ActiveMQ with high performance, clustering support, and multi-protocol
capabilities. - <a href="https://github.com/apache/kafka">Apache Kafka
(⭐30k)</a> - Distributed, high-throughput system designed for real-time
data streaming and fault-tolerant processing. - <a
href="https://github.com/apache/pulsar">Apache Pulsar (⭐14k)</a> -
Versatile pub/sub and streaming platform offering scalable, low-latency
messaging for modern applications. - <a
href="https://github.com/apache/rocketmq">Apache RocketMQ (⭐21k)</a> -
High-performance distributed messaging platform engineered for low
latency and high throughput. - <a
href="https://github.com/apache/qpid-broker-j">Apache Qpid (⭐59)</a> -
AMQP-compliant messaging tool with multi-language support for
enterprise-grade message delivery. - <a
href="https://github.com/bloomberg/blazingmq">BlazingMQ (⭐2.6k)</a> -
Distributed message queuing system focused on efficiency and reliability
for modern workflow needs. - <a
href="https://github.com/centrifugal/centrifugo">Centrifugo (⭐9k)</a> -
Scalable real-time messaging server that minimizes delay in delivering
events to online users. - <a
href="https://github.com/eclipse/mosquitto">Eclipse Mosquitto
(⭐9.8k)</a> - Lightweight MQTT broker optimized for low-power devices
with robust encryption and authentication. - <a
href="https://github.com/emqx/emqx">EMQX (⭐15k)</a> - High-performance
MQTT broker built for IoT and industrial applications, ensuring scalable
message delivery. - <a href="https://www.ibm.com/products/mq">IBM MQ</a>
- Enterprise-grade messaging solution providing robust features, high
availability, and multi-protocol support. - <a
href="https://kubemq.io/">KubeMQ</a> - Kubernetes-native message broker
and queue system designed for scalability, high availability, and
seamless cloud integration. - <a
href="https://github.com/cloudamqp/lavinmq">LavinMQ (⭐749)</a> -
High-performance message queue server implementing AMQP 0-9-1 and MQTT
protocols, built with Crystal for exceptional throughput and minimal
resource usage. - <a href="https://github.com/nats-io/gnatsd">NATS
(⭐17k)</a> - Lightweight, high-performance messaging system ideal for
microservices and cloud-native architectures. - <a
href="https://github.com/nsqio/nsq">NSQ (⭐25k)</a> - Realtime
distributed messaging platform designed to operate at scale, handling
billions of messages per day with decentralized topology. - <a
href="https://www.oracle.com/database/technologies/advanced-queuing.html">Oracle
AQ</a> - Integrated messaging solution within Oracle databases, offering
reliable and efficient message delivery. - <a
href="https://github.com/rabbitmq/rabbitmq-server">RabbitMQ (⭐12k)</a>
- Popular open-source broker implementing AMQP, known for reliability,
clustering, and ease-of-use. - <a
href="https://github.com/vectorizedio/redpanda">Redpanda (⭐10k)</a> -
Kafka-compatible streaming platform that eliminates Zookeeper,
delivering high performance and low latency. - <a
href="https://www.redhat.com/en/technologies/jboss-middleware/amq">Red
Hat AMQ</a> - Enterprise messaging platform based on open-source
technologies, offering scalable and reliable message delivery. - <a
href="https://www.tibco.com/products/tibco-enterprise-message-service">TIBCO
Enterprise Message Service</a> - Standards-based JMS implementation that
enables efficient and robust exchange of messages between applications.
- <a href="https://github.com/vernemq/vernemq">VerneMQ (⭐3.3k)</a> -
High-performance distributed MQTT broker designed for scalable and
efficient message delivery in modern environments.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### RPA <em>Robotic Process Automation (RPA)
solutions are software tools that automate repetitive, rule-based tasks
within business processes. RPA bots can perform tasks such as data
entry, data extraction, and data processing with accuracy and speed,
freeing up human workers to focus on more complex tasks.</em> - <a
href="https://www.automationanywhere.com/">Automation Anywhere</a> -
Intelligent automation ecosystem that streamlines business processes and
reduces errors through advanced RPA capabilities. - <a
href="https://www.blueprism.com/products/intelligent-rpa-automation/">Blue
Prism</a> - No-code platform delivering robust, scalable automation to
minimize manual tasks and boost productivity. - <a
href="https://github.com/open-rpa/openrpa">OpenRPA (⭐2.6k)</a> -
Enterprise-grade, open-source robotic process automation suite. - <a
href="https://github.com/robotframework/robotframework">Robot Framework
(⭐10k)</a> - An open-source automation framework with human-friendly
keyword syntax that enables both technical and non-technical users to
create test scripts and automate business processes cost-effectively,
supporting web, API, mobile, and database automation through extensive
libraries and integrations. - <a
href="https://github.com/aisingapore/TagUI">TagUI (⭐6k)</a> - An
open-source RPA tool that democratizes automation through natural
language scripting in 20+ human languages, enabling non-programmers to
automate web, desktop, and data tasks while integrating AI/ML
capabilities via Python and R for intelligent process automation. - <a
href="https://www.tungstenautomation.com/products/rpa">Tungsten RPA</a>
- AI-powered, no-code automation solution that enhances accuracy,
efficiency, and compliance across workflows. - <a
href="https://www.uipath.com/product">UiPath</a> - Comprehensive RPA
platform that automates routine tasks, enabling scalable digital
transformation across enterprises. - <a
href="https://www.workfusion.com/platform/">WorkFusion</a> - Enterprise
automation solution that combines RPA with intelligent automation to
streamline complex workflows.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Self-Service Integration <em>Self-service and
citizen integrator tools are designed to enable non-technical users to
build integrations without the need for extensive programming knowledge.
These tools typically feature drag-and-drop interfaces and pre-built
connectors for popular applications and services.</em></p>
<ul>
<li><a href="https://ifttt.com/">IFTTT</a> - Easy-to-use platform that
connects web services with simple conditional statements, empowering
custom workflow creation.</li>
<li><a href="https://www.make.com">Make (Integromat)</a> - Low-code
automation tool with a visual interface, advanced data transformation,
and modular workflow execution.</li>
<li><a href="https://powerautomate.microsoft.com">Microsoft Power
Automate</a> - Cloud-based service with an intuitive interface for
creating automated workflows that seamlessly integrate diverse
apps.</li>
<li><a href="https://github.com/n8n-io/n8n">n8n (⭐116k)</a> -
Open-source workflow automation tool with 400+ connectors, giving you
full control over your data and integrations.</li>
<li><a
href="https://docs.oracle.com/en/cloud/paas/self-service-integration-cloud/index.html">Oracle
Self-Service Integration</a> - Streamlined tool that automates tasks
between cloud applications, making integration accessible for
non-developers.</li>
<li><a href="https://zapier.com/">Zapier</a> - Intuitive platform that
connects hundreds of web services to create efficient, code-free
automations.</li>
</ul>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Workflow engine <em>Software tools that enable
the design, execution, and monitoring of complex workflows or business
processes. Workflow engines provide a way to automate and streamline
business processes, while orchestration engines help to manage the
interactions between different systems or services.</em> - <a
href="https://github.com/Activiti/Activiti">Activiti (⭐10k)</a> -
Lightweight, Java-centric BPMN engine that efficiently executes business
workflows with a focus on simplicity. - <a
href="https://github.com/apache/airflow">Apache Airflow (⭐40k)</a> -
Platform for programmatically creating, scheduling, and monitoring
workflows, ideal for managing complex data pipelines. - <a
href="https://github.com/argoproj/argo-workflows">Argo Workflows
(⭐15k)</a> - Container-native workflow engine designed for
orchestrating parallel jobs in Kubernetes-based, cloud-native
environments. - <a href="https://github.com/azkaban/azkaban">Azkaban
(⭐4.5k)</a> - Distributed scheduler that simplifies managing job
dependencies in large-scale data processing environments. - <a
href="https://github.com/bonitasoft/bonita-engine">Bonita (⭐167)</a> -
Open-source BPMN engine with a designer interface to build and automate
complex business processes. - <a
href="https://github.com/uber/cadence">Cadence (⭐8.7k)</a> -
Fault-tolerant, stateful platform that reliably orchestrates
long-running workflows and complex applications. - <a
href="https://github.com/camunda/camunda-bpm-platform">Camunda
(⭐4.2k)</a> - Flexible workflow and decision automation platform
designed for scalable business process management. - <a
href="https://github.com/Netflix/conductor">Conductor (⭐12k)</a> -
Cloud-based orchestration engine that manages microservices workflows,
streamlining complex process automation. - <a
href="https://github.com/elsa-workflows/elsa-core">Elsa Core
(⭐7.1k)</a> - .NET Core library that integrates seamlessly into any
application to execute and manage workflows. - <a
href="https://github.com/flowable/flowable-engine">Flowable (⭐8.5k)</a>
- Compact, efficient set of open-source engines for automating and
scaling enterprise workflows. - <a
href="https://github.com/kiegroup/jbpm">jBPM (⭐1.6k)</a> -
Comprehensive toolkit for automating business processes and decisions
with robust workflow management capabilities. - <a
href="https://github.com/PrefectHQ/prefect">Prefect (⭐19k)</a> -
Modern, developer-friendly orchestration tool optimized for data
pipelines and complex workflows. - <a
href="https://github.com/StackStorm/st2">StackStorm (⭐6.2k)</a> -
Robust automation engine that combines sensors, triggers, and workflows
to orchestrate complex IT processes. - <a
href="https://github.com/temporalio/temporal">Temporal (⭐14k)</a> -
Open-source workflow-as-code platform designed for building reliable,
scalable, and fault-tolerant applications.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ## Integration Patterns <em>Integration patterns
provide standardized solutions for common integration problems within an
enterprise. Enterprise Integration Patterns (EIP) provide a common
language for describing integration problems and solutions, while
Integration Architecture Patterns address high-level concerns of
enterprise architects. Service-Oriented Architecture (SOA) patterns
provide guidance for designing and implementing service-oriented
architectures, ensuring that services are scalable, reusable, and
loosely coupled.</em> ### Enterprise Integration Patterns <em>Patterns
from a book by Gregor Hohpe and Bobby Woolf.</em> - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Aggregator.html">Aggregator</a>
- How do we combine the results of individual, but related messages so
that they can be processed as a whole?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/CanonicalDataModel.html">Canonical
Data Model</a> - How can you minimize dependencies when integrating
applications that use different data formats? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ChannelAdapter.html">Channel
Adapter</a> - How can you connect an application to the messaging system
so that it can send and receive messages? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ChannelPurger.html">Channel
Purger</a> - How can you keep left-over messages on a channel from
disturbing tests or running systems? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/StoreInLibrary.html">Claim
Check</a> - How can we reduce the data volume of message sent across the
system without sacrificing information content?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/CommandMessage.html">Command
Message</a> - How can messaging be used to invoke a procedure in another
application?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/CompetingConsumers.html">Competing
Consumers</a> - How can a messaging client process multiple messages
concurrently? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DistributionAggregate.html">Composed
Message Processor</a> - How can you maintain the overall message flow
when processing a message consisting of multiple elements, each of which
may require different processing?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DataEnricher.html">Content
Enricher</a> - How do we communicate with another system if the message
originator does not have all the required data items available?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ContentFilter.html">Content
Filter</a> - How do you simplify dealing with a large message, when you
are interested only in a few data items?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ContentBasedRouter.html">Content-Based
Router</a> - How do we handle a situation where the implementation of a
single logical function (e.g., inventory check) is spread across
multiple physical systems?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ControlBus.html">Control
Bus</a> - How can we effectively administer a messaging system that is
distributed across multiple platforms and a wide geographic area?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/CorrelationIdentifier.html">Correlation
Identifier</a> - How does a requestor that has received a reply know
which request this is the reply for? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DatatypeChannel.html">Datatype
Channel</a> - How can the application send a data item such that the
receiver will know how to process it? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DeadLetterChannel.html">Dead
Letter Channel</a> - What will the messaging system do with a message it
cannot deliver?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Detour.html">Detour</a>
- How can you route a message through intermediate steps to perform
validation, testing or debugging functions? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DocumentMessage.html">Document
Message</a> - How can messaging be used to transfer data between
applications? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DurableSubscription.html">Durable
Subscriber</a> - How can a subscriber avoid missing messages while it is
not listening for them? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/DynamicRouter.html">Dynamic
Router</a> - How can you avoid the dependency of the router on all
possible destinations while maintaining its efficiency? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/EnvelopeWrapper.html">Envelope
Wrapper</a> - How can existing systems participate in a messaging
exchange that places specific requirements on the message format, such
as message header fields or encryption?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/EventMessage.html">Event
Message</a> - How can messaging be used to transmit events from one
application to another? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/EventDrivenConsumer.html">Event-Driven
Consumer</a> - How can an application automatically consume messages as
they become available? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/FormatIndicator.html">Format
Indicator</a> - How can a
message<code>s data format be designed to allow for possible future changes? - [Guaranteed Delivery](https://www.enterpriseintegrationpatterns.com/patterns/messaging/GuaranteedMessaging.html) - How can the sender make sure that a message will be delivered, even if the messaging system fails? - [Idempotent Receiver](https://www.enterpriseintegrationpatterns.com/patterns/messaging/IdempotentReceiver.html) - How can a message receiver deal with duplicate messages? - [Invalid Message Channel](https://www.enterpriseintegrationpatterns.com/patterns/messaging/InvalidMessageChannel.html) - How can a messaging receiver gracefully handle receiving a message that makes no sense? - [Message](https://www.enterpriseintegrationpatterns.com/patterns/messaging/Message.html) - How can two applications connected by a message channel exchange a piece of information? - [Message Dispatcher](https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageDispatcher.html) - How can multiple consumers on a single channel coordinate their message processing? - [Message Expiration](https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageExpiration.html) - How can a sender indicate when a message should be considered stale and thus shouldn</code>t
be processed? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageTranslator.html">Message
Translator</a> - How can systems using different data formats
communicate with each other using messaging?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageBroker.html">Message
Broker</a> - How can you decouple the destination of a message from the
sender and maintain central control over the flow of messages? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageBus.html">Message
Bus</a> - What is an architecture that enables separate applications to
work together, but in a decoupled fashion such that applications can be
easily added or removed without affecting the others?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageChannel.html">Message
Channel</a> - How does one application communicate with another using
messaging? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageEndpoint.html">Message
Endpoint</a> - How does an application connect to a messaging channel to
send and receive messages? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Filter.html">Message
Filter</a> - How can a component avoid receiving uninteresting messages?
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageHistory.html">Message
History</a> - How can we effectively analyze and debug the flow of
messages in a loosely coupled system?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageRouter.html">Message
Router</a> - How can you decouple individual processing steps so that
messages can be passed to different filters depending on a set of
conditions? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSequence.html">Message
Sequence</a> - How can messaging transmit an arbitrarily large amount of
data? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageStore.html">Message
Store</a> - How can we report against message information without
disturbing the loosely coupled and transient nature of a messaging
system?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessagingBridge.html">Messaging
Bridge</a> - How can multiple messaging systems be connected so that
messages available on one are also available on the others? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessagingGateway.html">Messaging
Gateway</a> - How do you encapsulate access to the messaging system from
the rest of the application? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessagingMapper.html">Messaging
Mapper</a> - How do you move data between domain objects and the
messaging infrastructure while keeping the two independent of each
other? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Normalizer.html">Normalizer</a>
- How do you process messages that are semantically equivalent, but
arrive in a different format? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/PipesAndFilters.html">Pipes
and Filters</a> - How can we perform complex processing on a message
while maintaining independence and flexibility?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/PointToPointChannel.html">Point-to-Point
Channel</a> - How can the caller be sure that exactly one receiver will
receive the document or perform the call? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/PollingConsumer.html">Polling
Consumer</a> - How can an application consume a message when the
application is ready?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ProcessManager.html">Process
Manager</a> - How do we route a message through multiple processing
steps when the required steps may not be known at design-time and may
not be sequential? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/PublishSubscribeChannel.html">Publish-Subscribe
Channel</a> - How can the sender broadcast an event to all interested
receivers? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/RecipientList.html">Recipient
List</a> - How do we route a message to a list of dynamically specified
recipients? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html">Request-Reply</a>
- When an application sends a message, how can it get a response from
the receiver? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Resequencer.html">Resequencer</a>
- How can we get a stream of related but out-of-sequence messages back
into the correct order? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/ReturnAddress.html">Return
Address</a> - How does a replier know where to send the reply? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/RoutingTable.html">Routing
Slip</a> - How do we route a message consecutively through a series of
processing steps when the sequence of steps is not known at design-time
and may vary for each message?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/BroadcastAggregate.html">Scatter-Gather</a>
- How do you maintain the overall message flow when a message needs to
be sent to multiple recipients, each of which may send a reply?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSelector.html">Selective
Consumer</a> - How can a message consumer select which messages it
wishes to receive?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/MessagingAdapter.html">Service
Activator</a> - How can an application design a service to be invoked
both via various messaging technologies and via non-messaging
techniques? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/SmartProxy.html">Smart
Proxy</a> - How can you track messages on a service that publishes reply
messages to the Return Address specified by the requestor? - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Sequencer.html">Splitter</a>
- How can we process a message if it contains multiple elements, each of
which may have to be processed in a different way?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/TestMessage.html">Test
Message</a> - What happens, though, if a component is actively
processing messages, but garbles outgoing messages due to an internal
fault?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/TransactionalClient.html">Transactional
Client</a> - How can a client control its transactions with the
messaging system?<br />
- <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/WireTap.html">Wire
Tap</a> - How do you inspect messages that travel on a point-to-point
channel?</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Integration Architecture Patterns <em>Design
patterns used to connect systems and applications in an efficient and
seamless manner.</em> - <a
href="https://github.com/chanakaudaya/solution-architecture-patterns/blob/master/vendor-neutral/API-led-Connectivity-Pattern.md">API-led
Connectivity pattern</a> - Use APIs to connect different systems and
applications. - <a
href="https://github.com/chanakaudaya/solution-architecture-patterns/blob/master/vendor-neutral/Anti-Corruption-Layer-Pattern.md">Anti
Corruption Layer Pattern</a> - Add a layer to isolate and transform data
between systems. - <a
href="https://github.com/chanakaudaya/solution-architecture-patterns/blob/master/vendor-neutral/Introduction-to-Change-Data-Capture.md">Change
Data Capture Pattern</a> - Capture and propagate changes made to a
database or data source in real-time. - <a
href="https://github.com/chanakaudaya/solution-architecture-patterns/blob/master/vendor-neutral/Hybrid-API-Management-Pattern.md">Hybrid
API Management pattern</a> - Manage APIs that span both cloud and
on-premises environments using a central control plane. - <a
href="https://github.com/chanakaudaya/solution-architecture-patterns/blob/master/vendor-neutral/Hybrid-Integration-Pattern.md">Hybrid
Integration pattern</a> - Integrate systems and applications that are
deployed both on-premises and in the cloud using a combination of
integration technologies.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Microservice API Patterns <em>MAP (Microservice
API Patterns) is a set of proven solutions to common problems
encountered when designing, implementing, and maintaining message-based
APIs. It focuses on the message representations or payloads exchanged
during API calls and their impact on the design and runtime qualities of
an API. Proper governance of API specifications and implementations is
essential for their long-term maintenance.</em> - Foundation - <a
href="https://microservice-api-patterns.org/patterns/foundation/FrontendIntegration">Frontend
Integration</a> - How can client-side end-user interfaces that are
physically separated from server-side business logic and data storage be
populated and updated with computing results, result sets from searches
in data sources, and detailed information about data entities? How can
application frontends invoke activities in a backend or upload data to
it? - <a
href="https://microservice-api-patterns.org/patterns/foundation/BackendIntegration">Backend
Integration</a> - How can distributed applications and their parts,
which have been built independently and are deployed separately,
exchange data and trigger mutual activity while preserving
system-internal conceptual integrity without introducing undesired
coupling? - <a
href="https://microservice-api-patterns.org/patterns/foundation/PublicAPI">Public
API</a> - How can an API be made available to an unlimited and/or
unknown number of API clients outside the organization that are
globally, nationally, and/or regionally distributed? - <a
href="https://microservice-api-patterns.org/patterns/foundation/CommunityAPI">Community
API</a> - How can the visibility of and the access to an API be
restricted to a closed user group that does not work for a single
organizational unit but for multiple legal entities (such as companies,
nonprofit/nongovernment organizations, and governments)? - <a
href="https://microservice-api-patterns.org/patterns/foundation/SolutionInternalAPI">Solution-Internal
API</a> - How can access to and usage of an API be limited to an
application, for instance, components in the same or another logical
layer and/or physical tier? - <a
href="https://microservice-api-patterns.org/patterns/foundation/APIDescription">API
Description</a> - Which knowledge should be shared between an API
provider and its clients? How should this knowledge be documented?</p>
<ul>
<li>Responsibility
<ul>
<li>Endpoint Roles
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/endpointRoles/ProcessingResource">Processing
Resource</a> - How can an API provider allow its clients to trigger an
action in it?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/endpointRoles/InformationHolderResource">Information
Holder Resource</a> - How can domain data be exposed in an API, but its
implementation still be hidden? How can an API expose data entities so
that API clients can access and/or modify these entities concurrently
without compromising data integrity and quality?</li>
</ul></li>
<li>Operation Responsibilities
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/operationResponsibilities/StateCreationOperation">State
Creation Operation</a> - How can an API provider allow its clients to
report that something has happened that the provider needs to know
about, for instance, to trigger instant or later processing?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/operationResponsibilities/RetrievalOperation">Retrieval
Operation</a> - How can information available from a remote party (the
API provider, that is) be retrieved to satisfy an information need of an
end user or to allow further client-side processing?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/operationResponsibilities/StateTransitionOperation">State
Transition Operation</a> - How can a client initiate a processing action
that causes the provider-side application state to change? How can API
clients and API providers share the responsibilities required to execute
and control business processes and their activities?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/operationResponsibilities/ComputationFunction">Computation
Function</a> - How can a client invoke side-effect-free remote
processing on the provider side to have a result calculated from its
input?</li>
</ul></li>
<li>Information Holder Types
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/informationHolderEndpointTypes/OperationalDataHolder">Operational
Data Holder</a> - How can an API support clients that want to create,
read, update, and/or delete instances of domain entities that represent
operational data: data that is rather short-lived, changes often during
daily business operations, and has many outgoing relations?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/informationHolderEndpointTypes/MasterDataHolder">Master
Data Holder</a> - How can I design an API that provides access to master
data that lives for a long time, does not change frequently, and will be
referenced from many clients?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/informationHolderEndpointTypes/ReferenceDataHolder">Reference
Data Holder</a> - How should data that is referenced in many places,
lives long, and is immutable for clients be treated in API endpoints?
How can such reference data be used in requests to and responses from
Processing Resources or Information Holder Resources?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/informationHolderEndpointTypes/LinkLookupResource">Link
Lookup Resource</a> - How can message representations refer to other,
possibly many and frequently changing, API endpoints and operations
without binding the message recipient to the actual addresses of these
endpoints?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/responsibility/informationHolderEndpointTypes/DataTransferResource">Data
Transfer Resource</a> - How can two or more communication participants
exchange data without knowing each other, without being available at the
same time, and even if the data has already been sent before its
recipients became known?</li>
</ul></li>
</ul></li>
<li>Structure
<ul>
<li>Representation Elements
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/representationElements/AtomicParameter">Atomic
Parameter</a> - How can simple, unstructured data (such as a number, a
string, a Boolean value, or a block of binary data) be exchanged between
API client and API provider?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/representationElements/AtomicParameterList">Atomic
Parameter List</a> - How can multiple related Atomic Parameters be
combined in a representation element so that each of them stays simple,
but their relatedness becomes explicit in the API Description and the
runtime message exchanges?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/representationElements/ParameterTree">Parameter
Tree</a> - How can containment relationships be expressed when defining
complex representation elements and exchanging such related elements at
runtime?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/representationElements/ParameterForest">Parameter
Forest</a> - How can multiple Parameter Trees be exposed as request or
response payload of an API operation?</li>
</ul></li>
<li>Element Stereotypes
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/elementStereotypes/DataElement">Data
Element</a> - How can domain/application-level information be exchanged
between API clients and API providers without exposing provider-internal
data definitions in the API? How can API client and API provider be
decoupled from a data management point of view?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/elementStereotypes/MetadataElement">Metadata
Element</a> - How can messages be enriched with additional information
so that receivers can interpret the message content correctly, without
having to hardcode assumptions about the data semantics?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/elementStereotypes/IdElement">Id
Element</a> - How can API elements be distinguished from each other at
design time and at runtime? When applying domain-driven design, how can
elements of the Published Language be identified?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/elementStereotypes/LinkElement">Link
Element</a> - How can API endpoints and operations be referenced in
request and response message payloads so that they can be called
remotely?</li>
</ul></li>
<li>Special Purpose Representations
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/specialPurposeRepresentations/APIKey">API
Key</a> - How can an API provider identify and authenticate clients and
their requests?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/specialPurposeRepresentations/ErrorReport">Error
Report</a> - How can an API provider inform its clients about
communication and processing faults? How can this information be made
independent of the underlying communication technologies and platforms
(for example, protocol-level headers representing status codes)?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/structure/specialPurposeRepresentations/ContextRepresentation">Context
Representation</a> - How can API consumers and providers exchange
context information without relying on any particular remoting
protocols? How can identity information and quality properties in a
request be made visible to related subsequent ones in
conversations?</li>
</ul></li>
</ul></li>
<li>Quality
<ul>
<li>Reference Management
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/referenceManagement/EmbeddedEntity">Embedded
Entity</a> - How can one avoid sending multiple messages when their
receivers require insights about multiple related information
elements?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/referenceManagement/LinkedInformationHolder">Linked
Information Holder</a> - How can messages be kept small even when an API
deals with multiple information elements that reference each other?</li>
</ul></li>
<li>Data Transfer Parsimony
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/dataTransferParsimony/Pagination">Pagination</a>
- How can messages be kept small even when an API deals with multiple
information elements that reference each other?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/dataTransferParsimony/WishList">Wish
List</a> - How can an API client inform the API provider at runtime
about the data it is interested in?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/dataTransferParsimony/WishTemplate">Wish
Template</a> - How can an API client inform the API provider about
nested data that it is interested in? How can such preferences be
expressed flexibly and dynamically?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/dataTransferParsimony/ConditionalRequest">Conditional
Request</a> - How can unnecessary server-side processing and bandwidth
usage be avoided when frequently invoking API operations that return
rarely changing data?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/dataTransferParsimony/RequestBundle">Request
Bundle</a> - How can the number of requests and responses be reduced to
increase communication efficiency?</li>
</ul></li>
<li>Quality Management and Governance
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/qualityManagementAndGovernance/PricingPlan">Pricing
Plan</a> - How can the API provider meter API service consumption and
charge for it?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/qualityManagementAndGovernance/RateLimit">Rate
Limit</a> - How can the API provider prevent API clients from excessive
API usage?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/quality/qualityManagementAndGovernance/ServiceLevelAgreement">Service
Level Agreement</a> - How can an API client learn about the specific
quality-of-service characteristics of an API and its endpoint
operations? How can these characteristics, and the consequences of not
meeting them, be defined and communicated in a measurable way?</li>
</ul></li>
</ul></li>
<li>Evolution
<ul>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/VersionIdentifier">Version
Identifier</a> - How can an API provider indicate its current
capabilities as well as the existence of possibly incompatible changes
to clients in order to prevent malfunctioning of clients due to
undiscovered interpretation errors?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/SemanticVersioning">Semantic
Versioning</a> - How can stakeholders compare API versions to detect
immediately whether they are compatible?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/TwoInProduction">Two
In Production</a> - How can a provider gradually update an API without
breaking existing clients but also without having to maintain a large
number of API versions in production?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/AggressiveObsolescence">Aggressive
Obsolescence</a> - How can API providers reduce the effort for
maintaining an entire API or its parts (such as endpoints, operations,
or message representations) with guaranteed service quality levels?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/ExperimentalPreview">Experimental
Preview</a> - How can providers make the introduction of a new API, or
new API version, less risky for their clients and obtain early adopter
feedback without having to freeze the API design prematurely?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/LimitedLifetimeGuarantee">Limited
Lifetime Guarantee</a> - How can a provider let clients know for how
long they can rely on the published version of an API?</li>
<li><a
href="https://microservice-api-patterns.org/patterns/evolution/EternalLifetimeGuarantee">Eternal
Lifetime Guarantee</a> - How can a provider support clients that are
unable or unwilling to migrate to newer API versions at all?</li>
</ul></li>
</ul>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### SOA Patterns <em>SOA patterns are design
solutions that provide guidelines and best practices for developing
flexible and reusable service-oriented applications. These patterns
address various aspects of service-oriented application design,
including service identification, interaction, composition, and
granularity.</em> - Foundational Inventory Patterns - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/canonical_protocol">Canonical
Protocol</a> - Defines a common communication protocol between services
to enable interoperability and decoupling. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/canonical_schema">Canonical
Schema</a> - Defines a standard data model and format for exchanging
data between services. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/domain_inventory">Domain
Inventory</a> - Identifies and categorizes the types of services within
a particular domain. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/enterprise_inventory">Enterprise
Inventory</a> - Identifies and categorizes the types of services within
a particular domain. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/logic_centralization">Logic
Centralization</a> - Centralizes business logic within a service layer
to reduce redundancy and promote consistency. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_layers">Service
Layers</a> - Centralizes business logic within a service layer to reduce
redundancy and promote consistency. - <a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_normalization">Service
Normalization</a> - Centralizes business logic within a service layer to
reduce redundancy and promote consistency.</p>
<ul>
<li>Logical Inventory Layer Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/entity_abstraction">Entity
Abstraction</a> - Abstracts data entities to simplify data access and
reduce coupling.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/process_abstraction">Process
Abstraction</a> - Abstracts processes to improve reusability and
maintainability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/utility_abstraction">Utility
Abstraction</a> - Abstracts common utilities to reduce duplication and
promote consistency.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/micro_task_abstraction">Micro
Task Abstraction</a> - Breaks down tasks into smaller, more granular
tasks for easier management.</li>
</ul></li>
<li>Inventory Centralization Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/policy_centralization">Policy
Centralization</a> - Centralizes policies to reduce duplication and
improve consistency.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/process_centralization">Process
Centralization</a> - Centralizes processes to improve reusability and
maintainability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/rules_centralization">Rules
Centralization</a> - Centralizes business rules to reduce duplication
and promote consistency.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/schema_centralization">Schema
Centralization</a> - Centralizes data schemas to reduce duplication and
improve consistency.</li>
</ul></li>
<li>Inventory Implementation Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/canonical_resources">Canonical
Resources</a> - Defines a standard set of resources for common
functionality across services.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/cross_domain_utility_layer">Cross-Domain
Utility Layer</a> - Uses multiple protocols for improved performance and
flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/dual_protocols">Dual
Protocols</a> - Defines a common utility layer across multiple
domains.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/inventory_endpoint">Inventory
Endpoint</a> - Defines a standard endpoint for accessing inventory
resources.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_grid">Service
Grid</a> - Provides a framework for managing and scaling services.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/state_repository">State
Repository</a> - Stores and manages service state information.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/stateful_services">Stateful
Services</a> - Maintains state information across service
invocations.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/augmented_protocols">Augmented
Protocols</a> - Enhances protocols with additional features.</li>
</ul></li>
<li>Inventory Governance Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/canonical_expression">Canonical
Expression</a> - Defines a standard expression language for inventory
data.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/canonical_versioning">Canonical
Versioning</a> - Defines a standard versioning scheme for inventory
resources.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/metadata_centralization">Metadata
Centralization</a> - Centralizes metadata to reduce duplication and
improve consistency.</li>
</ul></li>
<li>Foundational Service Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/agnostic_capability">Agnostic
Capability</a> - Abstracts service capabilities for improved
flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/agnostic_context">Agnostic
Context</a> - Abstracts service context for improved flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/functional_decomposition">Functional
Decomposition</a> - Breaks down services into smaller, more manageable
components.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/non_agnostic_context">Non-Agnostic
Context</a> - Breaks down services into smaller, more manageable
components.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_encapsulation">Service
Encapsulation</a> - Encapsulates service functionality for improved
maintainability.</li>
</ul></li>
<li>Service Implementation Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/partial_state_deferral">Partial
State Deferral</a> - Encapsulates service functionality for improved
maintainability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/partial_validation">Partial
Validation</a> - Validates only relevant data for improved
performance.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/redundant_implementation">Redundant
Implementation</a> - Implements multiple versions of a service for
improved flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_data_replication">Service
Data Replication</a> - Replicates data across multiple services for
improved performance.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_facade">Service
Façade</a> - Provides a simplified interface to a complex service for
improved usability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/ui_mediator">UI
Mediator</a> - Mediates between the user interface and underlying
services for improved usability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/reference_data_centralization">Reference
Data Centralization</a> - Centralizes reference data to reduce
duplication and improve consistency.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/microservice_deployment">Microservice
Deployment</a> - Deploys services as independent, autonomous units for
improved scalability and resilience.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/containerization">Containerization</a>
- How can an environment be provided with maximum support for services
with high-performance recovery and scalability requirements?</li>
</ul></li>
<li>Service Security Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/exception_shielding">Exception
Shielding</a> - Protects against security vulnerabilities through proper
handling of exceptions.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/message_screening">Message
Screening</a> - Screens messages for malicious content.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_perimeter_guard">Service
Perimeter Guard</a> - Guards the service perimeter to prevent
unauthorized access.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/trusted_subsystem">Trusted
Subsystem</a> - Establishes trust between subsystems for improved
security.</li>
</ul></li>
<li>Service Contract Design Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/concurrent_contracts">Concurrent
Contracts</a> - Allows multiple versions of a service contract to
coexist simultaneously.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/contract_centralization">Contract
Centralization</a> - Centralizes service contracts to improve
consistency and reduce duplication.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/contract_denormalization">Contract
Denormalization</a> - Centralizes service contracts to improve
consistency and reduce duplication.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/decoupled_contract">Decoupled
Contract</a> - Decouples service contracts from their implementation for
improved flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/validation_abstraction">Validation
Abstraction</a> - Abstracts validation logic to improve reusability and
maintainability.</li>
</ul></li>
<li>Legacy Encapsulation Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/file_gateway">File
Gateway</a> - Provides a gateway to access legacy file-based
systems.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/legacy_wrapper">Legacy
Wrapper</a> - Wraps legacy systems to expose them as services.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/multi_channel_endpoint">Multi-Channel
Endpoint</a> - Provides multiple communication channels to access legacy
systems.</li>
</ul></li>
<li>Service Governance Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/compatible_change">Compatible
Change</a> - Enables changes to a service without breaking existing
clients.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/decomposed_capability">Decomposed
Capability</a> - Breaks down a service capability into smaller, more
manageable pieces.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/distributed_capability">Distributed
Capability</a> - Breaks down a service capability into smaller, more
manageable pieces.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/proxy_capability">Proxy
Capability</a> - Provides a proxy to a remote service capability to
improve performance and reduce network overhead.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_decomposition">Service
Decomposition</a> - Breaks down a monolithic service into smaller, more
manageable pieces.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_refactoring">Service
Refactoring</a> - Refactors a service to improve its design and
performance.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/termination_notification">Termination
Notification</a> - Notifies clients of a services termination.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/version_identification">Version
Identification</a> - Identifies the version of a service.</li>
</ul></li>
<li>Capability Composition Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/capability_composition">Capability
Composition</a> - Combines multiple service capabilities to create a new
capability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/capability_recomposition">Capability
Recomposition</a> - Recombines existing service capabilities to create a
new capability.</li>
</ul></li>
<li>Service Messaging Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/asynchronous_queuing">Asynchronous
Queuing</a> - Uses a message queue to decouple services and improve
scalability and reliability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/event_driven_messaging">Event-Driven
Messaging</a> - Uses events to trigger service invocations and reduce
coupling.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/intermediate_routing">Intermediate
Routing</a> - Uses intermediate routing nodes to improve performance and
flexibility.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/messaging_metadata">Messaging
Metadata</a> - Uses metadata to describe and manage service
messages.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/reliable_messaging">Reliable
Messaging</a> - Ensures message delivery and reliability in a
distributed environment.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_agent">Service
Agent</a> - Acts as a proxy for a remote service to improve performance
and reduce network overhead.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_callback">Service
Callback</a> - Uses callbacks to communicate between services.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_instance_routing">Service
Instance Routing</a> - Routes messages based on the service instance to
improve performance and scalability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/service_messaging">Service
Messaging</a> - Describes the communication between services.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/state_messaging">State
Messaging</a> - Uses messages to manage state information in a
distributed environment.</li>
</ul></li>
<li>Composition Implementation Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/agnostic_sub_controller">Agnostic
Sub-Controller</a> - Separates sub-controllers from the main controller
to improve reusability and maintainability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/atomic_service_transaction">Atomic
Service Transaction</a> - Uses transactions to ensure atomicity and
consistency across multiple service invocations.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/compensating_service_transaction">Compensating
Service Transaction</a> - Reverses the effects of a failed
transaction.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/composition_autonomy">Composition
Autonomy</a> - Enables services to act autonomously within a
composition.</li>
</ul></li>
<li>Service Interaction Security Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/brokered_authentication">Brokered
Authentication</a> - Authenticates clients through a broker.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/data_confidentiality">Data
Confidentiality</a> - Ensures data confidentiality in a distributed
environment.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/data_origin_authentication">Data
Origin Authentication</a> - Authenticates the origin of a message.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/direct_authentication">Direct
Authentication</a> - Authenticates clients directly.</li>
</ul></li>
<li>Transformation Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/data_format_transformation">Data
Format Transformation</a> - Transforms data formats to enable
interoperability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/data_model_transformation">Data
Model Transformation</a> - Transforms data models to enable
interoperability.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/protocol_bridging">Protocol
Bridging</a> - Bridges between different protocols to enable
interoperability.</li>
</ul></li>
<li>REST-inspired Patterns
<ul>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/entity_linking">Entity
Linking</a> - Links related resources to enable navigation and
discovery.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/lightweight_endpoint">Lightweight
Endpoint</a> - Provides a lightweight endpoint for resource access.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/reusable_contract">Reusable
Contract</a> - Reuses common contracts to improve consistency and reduce
duplication.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/content_negotiation">Content
Negotiation</a> - Negotiates the content format between clients and
servers.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/endpoint_redirection">Endpoint
Redirection</a> - Redirects clients to alternative endpoints.</li>
<li><a
href="https://patterns.arcitura.com/soa-patterns/design_patterns/idempotent_capability">Idempotent
Capability</a> - Ensures that the same action can be performed multiple
times without changing the system state.</li>
</ul></li>
</ul>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ## Resources <em>Some useful specifications,
standards, articles and documentation.</em> ### API Specification - <a
href="https://github.com/apiaryio/api-blueprint">API Blueprint
(⭐8.6k)</a> - A powerful high-level language for designing and
documenting APIs that allows software engineers to easily collaborate
and create efficient APIs. - <a
href="https://github.com/asyncapi/spec">AsyncAPI (⭐4.6k)</a> - An
essential tool for developing Event-Driven Architectures (EDA) and
enables engineers to build a better tooling ecosystem. - <a
href="https://github.com/cloudevents/spec">CloudEvents (⭐5.4k)</a> - A
specification for describing event data in common formats to provide
interoperability across services, platforms and systems. - <a
href="https://github.com/graphql/graphql-spec">GraphQL (⭐14k)</a> - A
sophisticated query language and runtime for building efficient APIs
that empowers engineers to retrieve data from existing systems with
ease. - <a href="https://github.com/json-api/json-api">JSON:API
(⭐7.5k)</a> - A standardized specification for building APIs that
simplifies the representation of resources, relationships, and metadata,
making it easier for software engineers to create efficient APIs. - <a
href="https://github.com/OAI/OpenAPI-Specification">OpenAPI (ex.Swagger)
(⭐29k)</a> - A language-agnostic specification for creating RESTful
APIs that enables both humans and machines to understand the
capabilities of a service without the need for source code or
documentation. - <a href="https://github.com/raml-org/raml-spec">RAML
(⭐3.8k)</a> - A RESTful API Modeling Language that allows software
engineers to design and create efficient APIs by modeling resources,
endpoints, and interactions. - <a
href="https://github.com/standard-webhooks/standard-webhooks">Standard
Webhooks (⭐1.4k)</a> - Open source tools and guidelines for sending
webhooks easily, securely, and reliably. - <a
href="http://www.w3.org/TR/wsdl20">WSDL</a> - A powerful XML-based
interface description language for SOAP-based services that enables
software engineers to describe the functionality of a web service and
automate the creation of client code.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Articles - <a
href="https://github.com/shieldfy/API-Security-Checklist">API-Security-Checklist
(⭐22k)</a> - Best practices about REST API security. - <a
href="https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">Architectural
Styles and the Design of Network-based Software Architectures</a> - Roy
Fieldings dissertation defining REST. - <a
href="http://martinfowler.com/articles/enterpriseREST.html">Enterprise
Integration Using REST</a> - Discusses the constraints and flexibility
that you have with nonpublic APIs, and lessons learned from doing large
scale RESTful integration across multiple teams. - <a
href="http://martinfowler.com/articles/richardsonMaturityModel.html">Richardson
Maturity Model</a> - Explained by Martin Fowler, originally presented by
Leonard Richardson. - <a
href="https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf">Web
API Design: Crafting interfaces that developers love</a> - Creating Web
APIs that are consistent, intuitive, and user-friendly for
developers.</p>
<!--lint disable-->
<strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Certifications
<details>
<summary>
API Academy
</summary>
<ul>
<li><a
href="https://apiacademy.learnupon.com/lpaths/4147453/courses/262369/details">API
Designer</a> - Validate your understanding of API design basics and best
practices.</li>
<li><a
href="https://apiacademy.learnupon.com/lpaths/4147453/courses/262371/details">API
Product Manager</a> - Demonstrate your proficiency in managing APIs as
products.</li>
<li><a
href="https://apiacademy.learnupon.com/lpaths/4147453/courses/262370/details">API
Security Architect</a> - Validate your expertise in securing APIs using
modern architectures.</li>
</ul>
</details>
<details>
<summary>
APIsec University
</summary>
<ul>
<li><a
href="https://www.apisecuniversity.com/courses/api-documentation-best-practices">API
Documentation Best Practices</a> - The 2-hour course covers everything
you need to know to create, automate, and publish API documentation your
developers, partners and users will love. You wll also learn why API
documentation is the foundation for strong governance, effective API
security, and achieving your API business goals.</li>
<li><a
href="https://www.apisecuniversity.com/courses/api-penetration-testing">API
Penetration Testing</a> - The API Penetration Testing course covers all
the key topics to become an APIsec professional. This hands-on course
includes over 12 hours of live instruction and provides detailed labs on
API hacking techniques and how to uncover vulnerabilities.</li>
<li><a
href="https://www.apisecuniversity.com/courses/api-security-for-pci-compliance">API
Security for PCI Compliance</a> - This 60-minute course examines the new
PCI DSS 4.0 requirements and details the API security obligations for
compliance. DSS 4.0 introduces API security concerns for the time ever -
enroll to understand what the implications are for your
organization.</li>
<li><a
href="https://www.apisecuniversity.com/courses/api-security-fundamentals">API
Security Fundamentals</a> - The 90-minute course covers the core threats
to APIs and how to prevent breaches. Learn the OWASP API Security Top
10, examine real-world API attacks, and understand the 3 Pillars of API
Security.</li>
<li><a
href="https://www.apisecuniversity.com/courses/certified-api-security-analyst-exam">Certified
API Security Analyst</a> - The CASA exam is designed to test your
expertise in API security threats, risks, and best practices. Students
are expected to have completed the OWASP API Security and Beyond! course
before attempting to earn the CASA certification.</li>
<li><a
href="https://www.apisecuniversity.com/courses/owasp-api-security-top-10-and-beyond">OWASP
API Security Top 10</a> - The 90-minute course provides a deep-dive into
the 2023 edition of the OWASP API Security Top 10 - and covers key
concepts that didnt make it into the Top 10.</li>
<li><a
href="https://www.apisecuniversity.com/courses/securing-api-servers">Securing
API Servers</a> - Learn key concepts for keeping API servers secure -
from CORS to error handling to rate limiting and more.</li>
</ul>
</details>
<details>
<summary>
Apollo
</summary>
<ul>
<li><p><a
href="https://www.apollographql.com/tutorials/exams/apollo-graph-associate">Apollo
Graph Developer - Associate Certification</a> - Developers who obtain
this certification possess a solid foundational knowledge of GraphQL and
the Apollo tool suite to design a schema, run an Apollo Server 4, and
perform queries with Apollo Client 3 on the frontend.</p></li>
<li><p><a
href="https://www.apollographql.com/tutorials/certifications/apollo-graph-professional">Apollo
Graph Developer - Professional Certification</a> - Developers who obtain
this certification demonstrate strong familiarity with Apollo Federation
concepts. They can apply those concepts to build a federated supergraph
or move an existing monolithic graph to federation.</p></li>
</ul>
</details>
<details>
<summary>
Boomi
</summary>
<ul>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIKWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Associate
Administrator Certification</a> - Validates an individuals foundational
knowledge and skills in managing and administering the Boomi platform,
focusing on platform monitoring, troubleshooting, and security.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIeWAM&amp;ltui__urlRedirect=learning-plan-detail-standard">Associate
Developer Certification</a> - Demonstrates a candidates basic
understanding of building and deploying integration processes using the
Boomi platform, including design patterns, deployment, and error
handling.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIFWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Associate
EDI for X12 Certification</a> - Validates an individuals proficiency in
using Boomi to design, develop, and manage Electronic Data Interchange
(EDI) integrations with the X12 standard, covering essential concepts
like EDI document structure and trading partner management.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIZWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Associate
Flow Essentials Certification</a> - Showcases a candidates knowledge of
creating and managing business applications using Boomi Flow, with
emphasis on workflow design, user interfaces, and data integration.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIPWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Associate
Master Data Hub Certification</a> - Highlights a candidates
understanding of using the Boomi Master Data Hub to ensure data quality
and consistency across systems, focusing on data modeling, governance,
and synchronization.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OJOWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Development
and Application Architecture Certification</a> - Confirms an
individuals expertise in designing and implementing complex integration
solutions and application architectures on the Boomi platform, including
best practices and performance optimization.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OKzWAM&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
API Design Certification</a> - Demonstrates a candidates ability to
design, develop, and manage APIs using Boomi, including RESTful API
principles, API security, and versioning.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIyWAM&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
API Management Certification</a> - Validates an individuals expertise
in managing the full lifecycle of APIs using the Boomi platform,
including API deployment, monitoring, and analytics.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OJrWAM&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
Developer Certification</a> - Recognizes a candidates in-depth
knowledge and skills in developing, deploying, and managing integration
processes using Boomi, with emphasis on advanced data transformation and
error handling techniques.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIUWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
Flow Developer Certification</a> - Showcases an individuals advanced
capabilities in designing, developing, and managing business
applications using Boomi Flow, including complex workflow design, custom
UI components, and integration with external systems.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OI5WAM&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
Linux Operational Administrator Certification</a> - Confirms a
candidates proficiency in managing and administering Boomi on Linux
systems, covering topics such as system installation, configuration,
security, and performance optimization.</li>
<li><a
href="https://community.boomi.com/s/learning-plan-detail-standard?ltui__urlRecordId=aOM6S0000008OIAWA2&amp;ltui__urlRedirect=learning-plan-detail-standard">Professional
Windows Operational Administrator Certification</a> - Validates an
individuals expertise in managing and administering Boomi on Windows
systems, focusing on system installation, configuration, security, and
performance optimization.</li>
</ul>
</details>
<details>
<summary>
IBM
</summary>
<ul>
<li><a
href="https://www.ibm.com/training/certification/C0003107#exam">IBM
Certified Solution Developer App Connect Enterprise V11</a> - Validate
your intermediate-level knowledge and experience to develop, deploy,
tune, and support platform-independent message flow applications using
IBM App Connect V11.0.</li>
<li><a
href="https://www.ibm.com/training/certification/C0002604#exam">IBM
Certified Solution Implementer API Connect v10.0.3</a> - Demonstrate
your intermediate-level knowledge and skills to develop, publish,
configure, and manage APIs using IBM API Connect v10.0.3.</li>
</ul>
</details>
<details>
<summary>
Gravitee
</summary>
<ul>
<li><a
href="https://gravitee.getlearnworlds.com/course/gravitee-event-native-api-management-foundations">Event-native
API Management Foundations</a> - Basics of Event-native API
Management.</li>
<li><a
href="https://gravitee.getlearnworlds.com/course/gravitee-enap-certification">Event-native
API Management Professional</a> - Focuses on some more advanced API
Management concepts, plus foundational knowledge around how to use
Gravitee API Management.</li>
</ul>
</details>
<details>
<summary>
Kong
</summary>
<ul>
<li><a href="https://konghq.com/academy/exam-preparation">Kong Gateway
Certified Associate</a> - Validate your entry-level knowledge and skills
on Kong Gateway for developers, DevOps, and architects.</li>
</ul>
</details>
<details>
<summary>
Mulesoft
</summary>
<ul>
<li><a
href="https://training.mulesoft.com/certification/developer-mule4-level1">MuleSoft
Certified Developer - Level 1</a> - Validate your knowledge and skills
to design, build, test and debug, deploy, and manage basic APIs and
integrations using MuleSoft.</li>
<li><a
href="https://training.mulesoft.com/certification/developer-mule4-level2">MuleSoft
Certified Developer - Level 2</a> - Validate your ability to work on
production-ready Mule applications that address and balance critical
non-functional requirements including monitoring, performance,
maintainability, reliability, and security.</li>
<li><a
href="https://training.mulesoft.com/certification/architect-integration-level1">MuleSoft
Certified Integration Architect - Level 1</a> - Validate your knowledge
and skills to translate functional and non-functional requirements into
integration interfaces and implementations.</li>
<li><a
href="https://training.mulesoft.com/certification/architect-platform-level1">MuleSoft
Certified Platform Architect - Level 1</a> - Validate your knowledge and
skills to direct the emergence of an effective application network out
of individual integration solutions following API-led connectivity
across an organization using Anypoint Platform.</li>
</ul>
</details>
<details>
<summary>
Oracle
</summary>
<ul>
<li><a
href="https://education.oracle.com/oracle-business-process-management-suite-12c-essentials/pexam_1Z0-435">Oracle
Business Process Management Suite 12c Certified Implementation
Specialist</a> - Validate your expertise in implementing Oracle BPM
Suite 12c solution.</li>
<li><a
href="https://education.oracle.com/oracle-cloud-infrastructure-2024-application-integration-professional/pexam_1Z0-1042-25">Oracle
Cloud Platform Application Integration 2025 Certified Professional</a> -
Validate your understanding of Oracle Application Integration to
implement these Cloud services.</li>
<li><a
href="https://education.oracle.com/oracle-data-integrator-12c-certified-implementation-specialist/trackp_379">Oracle
Data Integrator 12c Certified Implementation Specialist</a> - Validate
your expertise in selling or implementing Oracle Data Integration 12c
solutions.</li>
<li><a
href="https://education.oracle.com/oracle-soa-suite-12c-essentials/pexam_1Z0-434">Oracle
SOA Suite 12c Certified Implementation Specialist</a> - Validate your
expertise in implementing solutions based on Oracle SOA Suite 12c.</li>
</ul>
</details>
<details>
<summary>
Red Hat
</summary>
<ul>
<li><a
href="https://www.redhat.com/en/services/certification/red-hat-certified-specialist-api-management">Red
Hat Certified Specialist in API Management</a> - Validates the ability
to create and maintain enterprise APIs using the Red Hat 3scale API
Management platform.</li>
<li><a
href="https://www.redhat.com/en/services/certification/rhcs-business-rules">Red
Hat Certified Specialist in Business Rules</a> - Checks the knowledge,
skills, and abilities needed to perform tasks involving the
implementation and management of business logic using the Red Hat JBoss
BRMS.</li>
<li><a
href="https://www.redhat.com/en/services/certification/rhcs-cloud-native-integration">Red
Hat Certified Specialist in Cloud-native Integration</a> - Validates the
ability to create and maintain enterprise integration services based on
Red Hat Fuse, Camel, and APIs.</li>
<li><a
href="https://www.redhat.com/en/services/certification/red-hat-certified-specialist-event-driven-development-kafka">Red
Hat Certified Specialist in Event-Driven Development with Kafka</a> -
Validates the ability to develop applications using Apache Kafka and
Apache Kafka Streams.</li>
</ul>
</details>
<details>
<summary>
SAP
</summary>
<ul>
<li><a
href="https://learning.sap.com/certifications/sap-certified-associate-integration-developer">SAP
Certified Associate - Integration Developer</a> - Validates that the
candidate possesses the fundamental and core knowledge required of the
SAP Integration Suite profile.</li>
</ul>
</details>
<details>
<summary>
SnapLogic
</summary>
<ul>
<li><a
href="https://learn.snaplogic.com/snaplogic-administrator-certification">SnapLogic
Administrator Certification</a> - Assesses your ability to handle
administrative tasks for SnapLogic instances.</li>
<li><a
href="https://learn.snaplogic.com/snaplogic-architect-certification">SnapLogic
Architect Certification</a> - Evaluates your knowledge of integration
reference architectures and key strategies for the SnapLogic platform,
covering topics like SnapLogic Architecture, Snaplex Requirements,
Pipeline Lifecycle Management, Advanced Data Transformations, API
Management, Resumable Pipelines, and Best Practices.</li>
<li><a
href="https://learn.snaplogic.com/snaplogic-developer-certification">SnapLogic
Developer Certification</a> - Testing your expertise in using the
SnapLogic SDK, implementing different parts of Snap functionality, and
building custom Snaps.</li>
<li><a
href="https://learn.snaplogic.com/snaplogic-accreditation">SnapLogic
Integrator Accreditation</a> - Its designed for those who want to
enhance their expertise on all core SnapLogic concepts for various
integration needs across industries and lines of business.</li>
<li><a
href="https://learn.snaplogic.com/snaplogic-integrator-certification-1">SnapLogic
Integrator Certification</a> - Focuses on topics such as beginner
training, ultra tasks, pipeline migration, and user assistance videos
covering various integration endpoints.</li>
</ul>
</details>
<details>
<summary>
TIBCO
</summary>
<ul>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-businessworks">TIBCO
BusinessWorks Associate</a> - Checks the understanding of Business
Studio and TIBCO Cloud Integration, designing application components
(modules, WSDL, REST API), developing integration applications, and
testing, deploying, and managing applications.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-businessworks">TIBCO
BusinessWorks Certified Professional</a> - Validates the ability to
design, develop, deploy, monitor, and manage TIBCO BusinessWorks
applications of average complexity with minimal supervision.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-businessworks-container-edition">TIBCO
BusinessWorks Container Edition Certified Professional</a> - Validates
the ability to develop, deploy, and manage TIBCO BusinessWorks Container
Edition applications of average complexity with minimal
supervision.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-bpm-enterprise">TIBCO
BPM Enterprise Associate</a> - Checks the understanding of TIBCO BPMs
features and capabilities, developing and managing business processes,
and deploying and testing process applications.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-bpm-enterprise">TIBCO
BPM Enterprise Certified Professional</a> - Validates the ability to
design, develop, deploy, and manage business processes using TIBCO BPM
Enterprise Suite.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-cloud">TIBCO
Cloud Associate Certification</a> - Validates the skills and knowledge
required to work with TIBCO Cloud, including its key components and
features.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-cloud-api-management">TIBCO
Cloud API Management Associate</a> - Covers topics such as API
definition creation and testing, API key authentication, and using the
Developer Portal and I/O docs.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-cloud-api-management">TIBCO
Cloud API Management Certified Professional</a> - Validates the ability
to implement TIBCO Cloud Mesh, OAuth-based security, and manage SOAP
services.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-cloud-integration">TIBCO
Cloud Integration Associate</a> - Validates the skills and knowledge
required to work with TIBCO Cloud Integration, including its Connect,
Develop, and Integrate capabilities.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-cloud-integration-connect">TIBCO
Cloud Integration - Connect Associate</a> - Checks the usage of Connect
capability of TIBCO Cloud Integration, installing On-Premise Agent,
creating connections and integration apps, and configuring flows.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-cloud-integration-connect">TIBCO
Cloud Integration - Connect Certified Professional</a> - Checks the
creation and management of connections, ensuring connection security,
and troubleshooting issues related to connections in TIBCO Cloud
Integration.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-cloud-integration">TIBCO
Cloud Integration Certified Professional</a> - Checks the knowledge
about capabilities and benefits, integrating, developing, and connecting
applications, creating APIs using the API Modeler and Mock
functionality, and more.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tca-tibco-messaging">TIBCO
Messaging Associate</a> - Covers topics such as TIBCO Enterprise Message
Service (EMS), TIBCO FTL, TIBCO eFTL, as well as other messaging
technologies such as Apache Kafka, Apache Pulsar, and Eclipse
Mosquitto.</li>
<li><a
href="https://www.credly.com/org/citrix/badge/tcp-tibco-messaging">TIBCO
Messaging Certified Professional</a> - Validates the skills and
knowledge required to work with TIBCO Messaging and its components,
including TIBCO Enterprise Message Service (EMS), TIBCO FTL, and TIBCO
eFTL.</li>
</ul>
</details>
<details>
<summary>
Workato
</summary>
<ul>
<li><a
href="https://academy.workato.com/enterprise-automation-i-exam">Workato
Automation Pro I</a> - Fundamentals of business automation
processes.</li>
<li><a
href="https://academy.workato.com/enterprise-automation-ii-exam">Workato
Automation Pro II</a> - Advanced and practical approaches to
automation.</li>
<li><a
href="https://academy.workato.com/automation-pro-iii-exam">Workato
Automation Pro III</a> - In-depth series of badged modules for
maximizing Workatos potential.</li>
</ul>
</details>
<details>
<summary>
WSO2
</summary>
<ul>
<li><a
href="https://wso2.com/training/certification/certified-api-manager-developer/">WSO2
Certified API Manager Developer - V3</a> - Assesses your expertise in
designing, developing, and publishing APIs using WSO2 API Manager V3,
including API lifecycle management, access control, and API
documentation.</li>
<li><a
href="https://wso2.com/training/certification/certified-api-manager-developer-v4-micro-integrator-profile/">WSO2
Certified API Manager Developer - V4 - Micro Integrator Profile</a> -
Validates your expertise in designing, developing, and publishing APIs
using the Micro Integrator profile of WSO2 API Manager V4. It covers API
lifecycle management, access control, and API documentation within the
Micro Integrator context.</li>
<li><a
href="https://wso2.com/training/certification/certified-api-manager-expert/">WSO2
Certified API Manager Expert - V3</a> - Confirms your advanced skills
and knowledge in using WSO2 API Manager V3 for API management, including
API creation, publishing, security, policy implementation, and
analytics.</li>
<li><a
href="https://wso2.com/training/certification/api-manager-expert-v4-api-management-profile/">WSO2
Certified API Manager Expert - V4 - API Management Profile</a> -
Demonstrates your proficiency in using WSO2 API Manager V4 for API
management tasks, such as creating, publishing, and securing APIs, as
well as implementing policies and analytics.</li>
<li><a
href="https://wso2.com/training/certification/certified-enterprise-integrator-developer-micro-integrator/">WSO2
Certified Enterprise Integrator Developer - V7 - Micro Integrator</a> -
Validates your knowledge and skills in using the Micro Integrator
profile of WSO2 Enterprise Integrator V7 to develop, deploy, and manage
integration solutions.</li>
<li><a
href="https://wso2.com/training/certification/certified-enterprise-integrator-developer-streaming-integrator/">WSO2
Certified Enterprise Integrator Developer - V7 - Streaming
Integrator</a> - Demonstrates your expertise in using the Streaming
Integrator profile of WSO2 Enterprise Integrator V7 to develop, deploy,
and manage real-time data integration and streaming analytics
solutions.</li>
<li><a
href="https://wso2.com/training/certification/certified-enterprise-integrator6-expert/">WSO2
Certified Enterprise Integrator Expert - V6</a> - Tests your in-depth
knowledge and skills in using WSO2 Enterprise Integrator V6 for complex
integration scenarios, including best practices, troubleshooting, and
performance tuning.</li>
<li><a
href="https://wso2.com/training/certification/certified-solutions-architect-associate/">WSO2
Certified Solutions Architect Associate</a> - Assesses your
understanding of the fundamental concepts and principles of WSO2 product
architecture, as well as your ability to design and implement solutions
using WSO2 technologies.</li>
</ul>
</details>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--></p>
<h3 id="connectors">Connectors</h3>
<ul>
<li><a href="https://projects.eclipse.org/projects/ee4j.jca">JCA</a> -
Defines a standard architecture for Jakarta EE application components to
connect to Enterprise Information Systems. Formerly Java EE Connector
Architecture and J2EE Connector Architecture.</li>
<li><a href="https://kafka.apache.org/documentation/#connect">Kafka
Connect</a> - A tool for scalably and reliably streaming data between
Apache Kafka and other systems.</li>
</ul>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Data Formats - <a
href="https://github.com/apache/avro">Apache Avro (⭐3.1k)</a> - Data
serialization system that provides compact, fast, and efficient
serialization of structured data. It supports schema evolution, allows
for efficient data compression, and is designed to work well with big
data processing frameworks. - <a href="https://bsonspec.org/">BSON</a> -
Binary-encoded serialization format for JSON-like documents that is
designed to be lightweight and efficient. It supports rich data types
and is widely used in NoSQL databases, such as MongoDB. - <a
href="https://datatracker.ietf.org/doc/html/rfc4180">CSV</a> - A simple
and widely used data format that stores tabular data in plain text. It
is easy to read and write, and can be processed by most programming
languages. - <a
href="https://datatracker.ietf.org/doc/html/rfc8259">JSON</a> - A
lightweight and easy-to-read data format that is widely used for data
exchange. It supports a wide range of data types and is compatible with
many programming languages. - <a
href="https://github.com/ndjson/ndjson-spec">NDJSON (⭐751)</a> - A
standard for delimiting JSON objects in stream protocols. It allows for
efficient processing of large JSON datasets and is widely used in big
data processing. - <a
href="https://github.com/protocolbuffers/protobuf">Protocol Buffers
(⭐67k)</a> - A language-neutral and platform-neutral serialization
mechanism that is designed to be highly efficient and extensible. It
supports rich data types and is widely used in distributed systems, such
as gRPC and Apache Kafka. - <a
href="https://www.w3.org/TR/xml11/">XML</a> - A flexible and widely used
markup language that is used for storing and exchanging structured data.
It supports rich data types and is compatible with many programming
languages. - <a href="https://github.com/yaml/yaml-spec">YAML
(⭐399)</a> - A human-friendly and easy-to-read data serialization
format that is widely used for configuration files and data exchange. It
supports rich data types and is compatible with most programming
languages.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Integration Styles - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/FileTransferIntegration.html">File
Transfer</a> - Data is exchanged through file exchange between
applications. - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/Messaging.html">Messaging</a>
- Applications exchange messages using a messaging infrastructure. - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/EncapsulatedSynchronousIntegration.html">Remote
Procedure Invocation</a> - Applications call functions or procedures on
a remote server over a network. - <a
href="https://www.enterpriseintegrationpatterns.com/patterns/messaging/SharedDataBaseIntegration.html">Shared
Database</a> - Multiple applications access and manipulate the same data
through a common database.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Market Analysis - API Management - <a
href="https://www.gartner.com/doc/code/468184">Gartner Critical
Capabilities for Full Life Cycle API Management</a> - <a
href="https://www.gartner.com/doc/code/464116">Gartner Magic Quadrant
for Full Life Cycle API Management</a> - <a
href="https://www.forrester.com/go?objectid=RES159081">The Forrester
Wave: API Management Solutions</a> - BPM - <a
href="https://www.gartner.com/doc/code/292486">Gartner Critical
Capabilities for Intelligent Business Process Management Suites</a> - <a
href="https://www.gartner.com/doc/code/345694">Gartner Magic Quadrant
for Intelligent Business Process Management Suites</a> - ETL - <a
href="https://www.gartner.com/doc/code/464068">Gartner Critical
Capabilities for Data Integration Tools</a> - <a
href="https://www.gartner.com/doc/code/450251">Gartner Magic Quadrant
for Data Integration Tools</a> - iPaaS - <a
href="https://www.gartner.com/doc/code/434187">Gartner Critical
Capabilities for Enterprise Integration Platform as a Service</a> - <a
href="https://www.gartner.com/doc/code/397953">Gartner Magic Quadrant
for Enterprise Integration Platform as a Service</a> - <a
href="https://www.forrester.com/report/the-forrester-wave-tm-enterprise-ipaas-q4-2021/RES176201">The
Forrester Wave: Enterprise iPaaS</a> - RPA - <a
href="https://www.gartner.com/doc/code/465756">Gartner Critical
Capabilities for Robotic Process Automation</a> - <a
href="https://www.gartner.com/doc/code/441474">Gartner Magic Quadrant
for Robotic Process Automation</a> - <a
href="https://www.forrester.com/go?objectid=RES161538">The Forrester
Wave: Robotic Process Automation</a></p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Protocols - <a
href="https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf">AMQP
0-9-1</a> - A message queuing protocol that enables the exchange of
messages between applications or systems. AMQP 0-9-1 provides
reliability, security, and flexibility to handle complex messaging
scenarios. - <a
href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html">AMQP
1.0</a> - A widely accepted message queuing protocol that provides
reliable, interoperable, and efficient messaging between systems. AMQP
1.0 supports a broad range of messaging scenarios and is ideal for
complex enterprise-level applications. - <a
href="http://coap.technology/">CoAP</a> - A specialized application
protocol designed for constrained devices in the Internet of Things
(IoT) ecosystem. CoAP offers a lightweight, low-overhead communication
mechanism to support resource-constrained devices. - <a
href="https://httpwg.org/specs/">HTTP</a> - A widely used protocol that
facilitates communication between web servers and clients. HTTP enables
the transfer of data over the internet, making it possible for web
applications to function seamlessly. - <a
href="https://www.jsonrpc.org/specification">JSON-RPC</a> - A simple and
lightweight remote procedure call protocol that enables communication
between systems using JSON data. JSON-RPC offers stateless communication
and is suitable for resource-constrained devices. - <a
href="https://mqtt.org/mqtt-specification/">MQTT</a> - A lightweight and
efficient publish-subscribe protocol that supports messaging between
devices. MQTT enables low-overhead communication and is ideal for IoT
and mobile applications. - <a
href="https://github.com/openmessaging/specification">OpenMessaging
(⭐290)</a> - A cloud native, vendor-neutral open specification for
distributed messaging. - <a href="https://www.w3.org/TR/soap/">SOAP</a>
- A messaging protocol that uses XML to enable communication between
systems. SOAP supports a wide range of messaging scenarios, including
distributed computing and enterprise applications. - <a
href="https://stomp.github.io/">STOMP</a> - A messaging protocol that
offers simple, text-oriented communication between systems. STOMP is
ideal for low-latency, high-performance messaging scenarios.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Standard APIs - <a
href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a>
- A Java-based API that provides universal data access to relational
databases. JDBC offers a consistent and efficient way to access and
manipulate data, making it a popular choice among developers. - <a
href="https://javaee.github.io/jms-spec/">JMS</a> - A messaging API that
enables Java applications to send and receive messages. JMS supports
reliable messaging and is widely used in enterprise-level applications.
- <a
href="https://docs.microsoft.com/en-us/sql/odbc/reference/odbc-overview">ODBC</a>
- A widely accepted API that provides a standardized way to access data
from various database management systems. ODBC offers a consistent
interface to access data, making it easy to develop database
applications. - <a href="https://www.odata.org/">OData</a> - An open
protocol that enables the creation and consumption of queryable and
interoperable REST APIs. OData simplifies the development of REST APIs
and offers a standardized way to access data.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ### Structure and Validation - <a
href="https://github.com/json-schema-org/json-schema-spec">JSON Schema
(⭐4.3k)</a> - A powerful tool for validating the structure of JSON
data. JSON Schema enables developers to ensure that JSON data conforms
to a specific structure, making it easier to process and manipulate. -
<a href="https://www.schematron.com">Schematron</a> - A rule-based
validation language that enables developers to define and validate
business rules, data reporting, quality control, and other validation
scenarios. Schematron offers a flexible way to validate XML documents. -
<a href="https://www.w3.org/TR/xmlschema11-1/">XML Schema</a> - A schema
language that offers facilities for describing the structure and
constraining the contents of XML documents. XML Schema enables
developers to ensure that XML data conforms to a specific structure,
making it easier to process and manipulate.</p>
<!--lint disable-->
<p><strong><a href="#contents">⬆ back to top</a></strong>
<!--lint enable--> ## Contributing Your contributions are always
welcome! Please take a look at the <a
href="https://github.com/stn1slv/awesome-integration/blob/main/CONTRIBUTING.md">contribution
guidelines</a> first.</p>
<p><a
href="https://github.com/stn1slv/awesome-integration">integration.md
Github</a></p>