2637 lines
144 KiB
HTML
2637 lines
144 KiB
HTML
<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
|
||
organization’s 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 & 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 Proxy–based 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">Maxwell’s 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 service’s 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
|
||
Fielding’s 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 didn’t 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&ltui__urlRedirect=learning-plan-detail-standard">Associate
|
||
Administrator Certification</a> - Validates an individual’s 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&ltui__urlRedirect=learning-plan-detail-standard">Associate
|
||
Developer Certification</a> - Demonstrates a candidate’s 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&ltui__urlRedirect=learning-plan-detail-standard">Associate
|
||
EDI for X12 Certification</a> - Validates an individual’s 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&ltui__urlRedirect=learning-plan-detail-standard">Associate
|
||
Flow Essentials Certification</a> - Showcases a candidate’s 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&ltui__urlRedirect=learning-plan-detail-standard">Associate
|
||
Master Data Hub Certification</a> - Highlights a candidate’s
|
||
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&ltui__urlRedirect=learning-plan-detail-standard">Development
|
||
and Application Architecture Certification</a> - Confirms an
|
||
individual’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
API Design Certification</a> - Demonstrates a candidate’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
API Management Certification</a> - Validates an individual’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
Developer Certification</a> - Recognizes a candidate’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
Flow Developer Certification</a> - Showcases an individual’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
Linux Operational Administrator Certification</a> - Confirms a
|
||
candidate’s 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&ltui__urlRedirect=learning-plan-detail-standard">Professional
|
||
Windows Operational Administrator Certification</a> - Validates an
|
||
individual’s 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> - It’s 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 BPM’s
|
||
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 Workato’s 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>
|