2567 lines
142 KiB
HTML
2567 lines
142 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="#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="#managed-file-transfer">Managed File Transfer</a></li>
|
||
<li><a href="#master-data-management">Master Data Management</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> - A comprehensive platform that accelerates digital
|
||
transformation, manages the full API lifecycle, and ensures compliance
|
||
while deploying across multiple clouds. - <a
|
||
href="https://www.mulesoft.com/platform/api/manager">Anypoint
|
||
Platform</a> - A single, unified platform from Mulesoft that combines
|
||
API management and integration capabilities, allowing you to design,
|
||
build, and manage APIs with ease. - <a
|
||
href="https://aws.amazon.com/api-gateway/api-management/">Amazon API
|
||
Management</a> - A secure and scalable API management solution that
|
||
enables you to monitor and manage APIs in a flexible and efficient way.
|
||
- <a
|
||
href="https://www.axway.com/en/products/amplify-api-management-platform">Amplify
|
||
API Management Platform</a> - An open platform for API management from
|
||
Axway, which provides comprehensive API management capabilities and
|
||
allows you to build, run, and manage APIs with ease. - <a
|
||
href="https://cloud.google.com/apigee">Apigee</a> - A leading API
|
||
management solution from Google that provides comprehensive API
|
||
management capabilities and helps you create, secure, and scale APIs
|
||
with ease. - <a
|
||
href="https://azure.microsoft.com/en-us/services/api-management/">Azure
|
||
API Management</a> - A hybrid, multicloud management platform for APIs
|
||
across all environments, which enables you to manage APIs with ease,
|
||
secure them, and gain insights into their performance. - <a
|
||
href="https://www.torryharris.com/products/digitmarket-api-manager-for-api-management">DigitMarket
|
||
API Manager</a> - A complete package from Torry Harris that helps you
|
||
manage your APIs and turn them into tools that can drive your business
|
||
forward. - <a
|
||
href="https://github.com/gravitee-io/gravitee-api-management">Gravitee.io
|
||
API Management (⭐133)</a> - A flexible, lightweight, and open-source
|
||
API management solution that provides comprehensive API management
|
||
capabilities and helps you manage your APIs with ease. - <a
|
||
href="https://www.ibm.com/cloud/api-connect">IBM API Connect</a> - A
|
||
complete, intuitive, and scalable API platform that allows you to
|
||
create, expose, manage, and monetize APIs across clouds. - <a
|
||
href="https://konghq.com/products/kong-enterprise">Kong Enterprise</a> -
|
||
A comprehensive service connectivity platform that provides a range of
|
||
API management capabilities and allows you to manage APIs,
|
||
microservices, and service meshes with ease. - <a
|
||
href="https://www.broadcom.com/products/software/api-management">Layer7
|
||
API Management</a> - A continuous API management solution from Broadcom
|
||
that provides comprehensive API management capabilities and helps you
|
||
manage APIs throughout their lifecycle. - <a
|
||
href="https://www.redhat.com/en/technologies/jboss-middleware/3scale">Red
|
||
Hat 3scale API Management</a> - A cloud-native API management solution
|
||
that simplifies the development of APIs and makes them more flexible. -
|
||
<a href="https://www.sensedia.com/api-management-platform">Sensedia API
|
||
Management</a> - A full lifecycle API management platform that provides
|
||
comprehensive API management capabilities and helps you manage APIs
|
||
throughout their lifecycle. - <a
|
||
href="https://www.tibco.com/products/api-management">TIBCO Cloud
|
||
Mashery</a> - A cloud-native API platform from TIBCO that enables you to
|
||
deploy APIs anywhere and manage them from everywhere. - <a
|
||
href="https://tyk.io/api-lifecycle-management/">Tyk API Management</a> -
|
||
A powerful API management solution that allows you to connect, build,
|
||
and control APIs with ease. - <a
|
||
href="https://www.softwareag.cloud/site/product/webmethods-api.html">webMethods
|
||
API</a> - A comprehensive API management solution from Software AG that
|
||
provides full lifecycle API management capabilities and enables you to
|
||
manage APIs in both on-premises and cloud environments. - <a
|
||
href="https://github.com/wso2/product-apim">WSO2 API Manager (⭐801)</a>
|
||
- A fully open-source API management platform that provides
|
||
comprehensive API management capabilities and allows you to manage APIs
|
||
with ease.</p>
|
||
<!--lint disable-->
|
||
<p><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/apiaryio/dredd">Dredd (⭐4.1k)</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.3k)</a> -
|
||
Create and validate OpenAPI specs with ease using this intuitive
|
||
graphical user interface. - <a
|
||
href="https://github.com/OpenAPITools/openapi-diff">OpenAPI Diff
|
||
(⭐743)</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 (⭐19k)</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 (⭐194)</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.2k)</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
|
||
(⭐8.6k)</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 (⭐874)</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 (⭐392)</a>
|
||
- An open-source API documentation generator and server for
|
||
OpenAPI/Swagger specifications, with customizable documentation,
|
||
automated updates, and easy sharing. - <a
|
||
href="https://github.com/Rhosys/openapi-explorer">OpenAPI Explorer
|
||
(⭐281)</a> - A tool for generating user interfaces from OpenAPI
|
||
specifications, making it easier for software engineers to visualize and
|
||
interact with APIs. - <a
|
||
href="https://github.com/rapi-doc/RapiDoc">RapiDoc (⭐1.5k)</a> - A tool
|
||
that generates customizable, interactive API documentation from OpenAPI
|
||
Specification, with a range of design options. - <a
|
||
href="https://github.com/Redocly/redoc">Redoc (⭐22k)</a> - An
|
||
open-source tool for generating documentation from OpenAPI (fka Swagger)
|
||
definitions, with customizable themes, language support, and branding. -
|
||
<a href="https://github.com/slatedocs/slate">Slate (⭐35k)</a> - A
|
||
powerful tool that creates static API documentation from markdown, with
|
||
API reference docs and code samples. - <a
|
||
href="https://github.com/stoplightio/elements">Stoplight Elements
|
||
(⭐1.4k)</a> - Beautiful API documentation powered by OpenAPI and
|
||
Markdown. Use these UI components to create API reference documentation,
|
||
or more complete documentation with Markdown articles covering
|
||
tutorials, how-to guides, etc. - <a
|
||
href="https://swagger.io/tools/swaggerhub/">SwaggerHub</a> - An
|
||
integrated API design and documentation platform built for teams, with
|
||
versioning, testing automation, and integration with popular API tools.
|
||
- <a href="https://github.com/swagger-api/swagger-ui">Swagger UI
|
||
(⭐25k)</a> - An intuitive tool for exploring and interacting with APIs,
|
||
with API specification visualization, endpoint exploration, and built-in
|
||
interactive console. - <a
|
||
href="https://github.com/anvilco/spectaql">SpectaQL (⭐1k)</a> - A
|
||
Node.js library that generates static documentation for a GraphQL schema
|
||
from various sources, including live endpoint, query result, and SDL
|
||
files.</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/goku">Apinto
|
||
(⭐1.2k)</a> - A Golang-based microservice gateway that provides dynamic
|
||
routing, service orchestration, multi-tenancy management, and API access
|
||
control. - <a
|
||
href="https://www.getambassador.io/products/edge-stack/api-gateway/">Ambassador
|
||
Edge Stack</a> - A Kubernetes-native API Gateway that helps manage APIs
|
||
at scale with its customizable routing, authentication, and
|
||
rate-limiting features. - <a
|
||
href="https://github.com/apache/apisix">Apache APISIX (⭐13k)</a> - A
|
||
dynamic, real-time, and high-performance API Gateway that leverages
|
||
Apache plugins for enhanced functionality. - <a
|
||
href="https://github.com/solo-io/gloo">Gloo Edge (⭐3.9k)</a> - An Envoy
|
||
Proxy-based API Gateway that provides advanced traffic management,
|
||
security, and observability features for modern microservices
|
||
architectures. - <a href="https://github.com/Kong/kong">Kong API Gateway
|
||
(⭐37k)</a> - A cloud-native, platform-agnostic, and scalable API
|
||
Gateway that supports plugins for easy integration with third-party
|
||
services. - <a href="https://github.com/devopsfaith/krakend-ce">KrakenD
|
||
API Gateway (⭐1.7k)</a> - An ultra-high performance API Gateway that
|
||
leverages middlewares for fast and efficient API management. - <a
|
||
href="https://github.com/ThreeMammals/Ocelot">Ocelot (⭐8.1k)</a> - A
|
||
.NET API Gateway that provides a simple and elegant way to manage APIs
|
||
with its intuitive routing and middleware configuration. - <a
|
||
href="https://github.com/spring-cloud/spring-cloud-gateway">Spring Cloud
|
||
Gateway (⭐4.3k)</a> - An API Gateway built on top of the Spring
|
||
ecosystem, providing advanced routing and filtering features for Spring
|
||
applications. - <a href="https://github.com/traefik/traefik">Traefik
|
||
(⭐47k)</a> - A modern, open-source API Gateway that is designed to
|
||
handle dynamic container environments such as Kubernetes, Docker Swarm,
|
||
and Mesos. It provides load balancing, SSL/TLS termination, rate
|
||
limiting, circuit breaking, and more. - <a
|
||
href="https://github.com/TykTechnologies/tyk">Tyk API Gateway
|
||
(⭐9.2k)</a> - An open source Enterprise API Gateway that supports REST,
|
||
GraphQL, TCP, and gRPC protocols. It provides advanced API management
|
||
features such as rate limiting, access control, 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.3k)</a> - An open-source API tool designed for testing
|
||
and debugging RESTful web services. - <a
|
||
href="https://github.com/curl/curl">curl (⭐34k)</a> - Command-line tool
|
||
for transferring data with URLs over various protocols. - <a
|
||
href="https://github.com/rs/curlie">curlie (⭐2.6k)</a> - Frontend to
|
||
curl with the ease of use of httpie without compromising on performance
|
||
and features. - <a href="https://github.com/httpie/httpie">HTTPie
|
||
(⭐31k)</a> - User-friendly command-line HTTP client that simplifies
|
||
HTTP request/response inspection and manipulation. - <a
|
||
href="https://github.com/Kong/insomnia">Insomnia (⭐33k)</a> -
|
||
Cross-platform HTTP and GraphQL client designed to make API testing and
|
||
debugging easier. - <a
|
||
href="https://www.postman.com/product/api-client/">Postman</a> -
|
||
Comprehensive tool for simplifying API development and testing processes
|
||
with features such as making HTTP requests, generating mock servers, and
|
||
creating API documentation. - <a
|
||
href="https://github.com/micha/resty">resty (⭐2.6k)</a> - A Lua
|
||
framework for building HTTP clients that provides a shell interface for
|
||
interacting with REST services. - <a
|
||
href="https://github.com/SmartBear/soapui">SoapUI (⭐1.4k)</a> -
|
||
Open-source web service testing application designed for testing SOAP
|
||
and REST web services. - MQ clients - <a
|
||
href="https://github.com/jmstoolbox/jmstoolbox">JMSToolBox (⭐190)</a> -
|
||
Universal JMS client designed to interact with a wide range of JMS-based
|
||
message brokers. - <a href="https://github.com/edenhill/kcat">kcat
|
||
(⭐5.2k)</a> - Generic non-JVM producer and consumer for Apache Kafka,
|
||
functioning as a netcat for Kafka. - <a
|
||
href="https://github.com/thomasnordquist/MQTT-Explorer">MQTT Explorer
|
||
(⭐2.7k)</a> - All-round MQTT client with a structured topic overview,
|
||
suitable for debugging and testing MQTT-based systems. - <a
|
||
href="https://www.kafkatool.com">Offset Explorer</a> - GUI application
|
||
for managing and using Apache Kafka clusters, formerly known as Kafka
|
||
Tool. - <a
|
||
href="https://github.com/paolosalvatori/ServiceBusExplorer">Service Bus
|
||
Explorer (⭐1.9k)</a> - GUI app for Azure Service Bus, offering advanced
|
||
features like import/export functionality and the ability to test topic,
|
||
queues, subscriptions, relay services, notification hubs, and events
|
||
hubs. - Mocking tools - <a
|
||
href="https://github.com/outofcoffee/imposter">Imposter (⭐341)</a> -
|
||
Mock server for REST APIs, OpenAPI (and Swagger) specifications, SOAP
|
||
web services (and WSDL files), Salesforce and HBase APIs. - <a
|
||
href="https://github.com/microcks/microcks">Microcks (⭐1.1k)</a> -
|
||
Open-source Kubernetes-native tool for API mocking and testing,
|
||
supporting AsyncAPI, OpenAPI, Postman Collections, etc. - <a
|
||
href="https://www.mockable.io/">Mockable</a> - Simple configurable
|
||
service to mock out RESTful API or SOAP web-services. - <a
|
||
href="https://github.com/mockoon/mockoon">Mockoon (⭐5.8k)</a> -
|
||
Easy-to-use tool for designing and running mock REST APIs. - <a
|
||
href="https://github.com/mock-server/mockserver">MockServer (⭐4.4k)</a>
|
||
- Easy mocking of any system you integrate with via HTTP or HTTPS. - <a
|
||
href="https://github.com/MockyAbstract/Mocky">Mocky (⭐2k)</a> - Free
|
||
and unlimited online service for generating custom HTTP responses. - <a
|
||
href="https://github.com/stoplightio/prism">Prism (⭐3.9k)</a> -
|
||
Open-source HTTP mock server that can mimic your API’s behavior as if
|
||
you already built it. - <a
|
||
href="https://github.com/tomakehurst/wiremock">WireMock (⭐6k)</a> -
|
||
Mock your APIs for fast, robust, and comprehensive testing. - Testing
|
||
tools and frameworks - <a href="https://github.com/apache/jmeter">Apache
|
||
JMeter (⭐7.9k)</a> - Open-source Java-based load testing tool that can
|
||
be used to test the performance and scalability of web applications,
|
||
databases, and other network services. - <a
|
||
href="https://github.com/gatling/gatling">Gatling (⭐6.2k)</a> - An
|
||
open-source load testing tool that allows users to write and run load
|
||
tests as code, providing detailed performance reports to optimize system
|
||
performance. - <a href="https://github.com/intuit/karate">Karate
|
||
(⭐7.8k)</a> - Open-source tool that combines API test-automation,
|
||
mocks, performance-testing, and even UI automation into a single,
|
||
unified framework. - <a
|
||
href="https://github.com/svanoort/pyresttest">Pyresttest (⭐1.1k)</a> -
|
||
Java DSL for easy testing of REST services. - <a
|
||
href="https://github.com/rest-assured/rest-assured">REST Assured
|
||
(⭐6.7k)</a> - Java DSL for easy testing of REST services. - <a
|
||
href="https://github.com/schemathesis/schemathesis">Schemathesis
|
||
(⭐2k)</a> - Python library for property-based testing of API schemas. -
|
||
<a href="https://github.com/Blazemeter/taurus">Taurus (⭐1.9k)</a> - An
|
||
open-source framework for continuous testing that simplifies test
|
||
execution and management through a user-friendly interface and
|
||
integrates with various testing tools and frameworks.</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
|
||
(⭐5.6k)</a> - Open-source tool that supports Decision Model and
|
||
Notation (DMN) models at Conformance level 3 with an Eclipse IDE plugin
|
||
for core development. - <a
|
||
href="https://github.com/j-easy/easy-rules">Easy Rules (⭐4.7k)</a> -
|
||
Simple Java rules engine for straightforward rule processing. - <a
|
||
href="https://github.com/ddossot/NxBRE">NxBRE (⭐129)</a> - Open-source
|
||
rule engine specifically designed for the .NET platform. - <a
|
||
href="https://github.com/openl-tablets/openl-tablets">OpenL Tablets
|
||
(⭐143)</a> - Open-source business rules engine (BRE, BRMS) and decision
|
||
management system that allows users to define, manage, and execute
|
||
business rules and decision tables.</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> - A platform that combines low-code development with
|
||
process management, allowing both IT and citizen developers to construct
|
||
process-centric and case-centric applications. - <a
|
||
href="https://www.genpact.com/cora/sequence">Genpack Cora SeQuence</a> -
|
||
A tool for orchestrating business processes, driving business agility
|
||
and improving cost efficiency. - <a
|
||
href="https://www.ibm.com/products/business-automation-workflow">IBM
|
||
Business Automation Workflow</a> - A comprehensive business process
|
||
management platform for developing and administering business
|
||
applications. - <a
|
||
href="https://www.oracle.com/middleware/technologies/bpm.html">Oracle
|
||
BPM Suite</a> - An integrated environment for developing, administering,
|
||
and using business applications that are centered around business
|
||
processes. - <a href="https://www.pega.com/products/platform">Pega
|
||
Platform</a> - A platform for business process management and robotic
|
||
process automation (RPA) with advanced workforce analytics. - <a
|
||
href="https://www.redhat.com/en/technologies/jboss-middleware/process-automation-manager">Red
|
||
Hat Process Automation Manager</a> - Application development platform
|
||
that enables developers and business experts to create cloud-native
|
||
applications that automate business operations. - <a
|
||
href="https://www.sap.com/products/process-orchestration.html">SAP
|
||
Process Orchestration</a> - A business process management offering and
|
||
application infrastructure. - <a
|
||
href="https://www.tibco.com/products/business-process-management">TIBCO
|
||
BPM Enterprise</a> - Business process management platform that offers
|
||
capabilities for process automation, documentation, human capital
|
||
management, process patterns, and predictive operations analytics.</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://github.com/atlasmap/atlasmap">AltasMap
|
||
(⭐179)</a> - A web-based data mapping solution that simplifies
|
||
integration between Java, XML, CSV, and JSON data sources. Its
|
||
interactive user interface makes configuring integrations easy. - <a
|
||
href="https://www.altova.com/mapforce">Altova MapForce</a> - A graphical
|
||
data mapping tool that can handle any-to-any conversion and integration
|
||
tasks. It simplifies complex mapping tasks, enabling software engineers
|
||
to complete projects faster. - <a
|
||
href="https://github.com/bazaarvoice/jolt">JOLT (⭐1.4k)</a> - A
|
||
Java-based JSON-to-JSON transformation library that uses a JSON document
|
||
as the “specification” for the transform. JOLT provides a simple way for
|
||
software engineers to transform JSON data. - <a
|
||
href="https://github.com/schibsted/jslt">JSLT (⭐604)</a> - A complete
|
||
query and transformation language for JSON that is inspired by jq,
|
||
XPath, and XQuery. With JSLT, software engineers can quickly and easily
|
||
transform JSON data to meet their needs.</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> - A comprehensive API management and integration platform
|
||
that simplifies connecting applications from Mulesoft. - <a
|
||
href="https://servicemix.apache.org/">Apache ServiceMix</a> - An
|
||
open-source integration container that combines the functionality of
|
||
Apache ActiveMQ, Camel, CXF, and Karaf, providing a flexible solution. -
|
||
<a href="https://www.arcesb.com/integration/">ArcESB</a> - A versatile
|
||
integration platform that seamlessly synchronizes data across
|
||
applications, integrates with partners, and provides data accessibility.
|
||
- <a href="https://www.ibm.com/cloud/app-connect">IBM App Connect</a> -
|
||
An integration platform that can connect applications, irrespective of
|
||
the message formats or protocols they use, formerly known as IBM
|
||
Integration Bus. - <a
|
||
href="https://github.com/Particular/NServiceBus">NServiceBus (⭐2k)</a>
|
||
- A .NET-based service bus that offers an intuitive developer-friendly
|
||
environment. - <a
|
||
href="https://www.oracle.com/middleware/technologies/service-bus.html">Oracle
|
||
Service Bus</a> - An integration platform that connects, virtualizes,
|
||
and manages interactions between services and applications. - <a
|
||
href="https://www.oracle.com/middleware/technologies/soasuite.html">Oracle
|
||
SOA Suite</a> - A platform that enables system developers to set up and
|
||
manage services and to orchestrate them into composite applications and
|
||
business processes. - <a
|
||
href="https://developers.redhat.com/products/fuse/overview">Red Hat
|
||
Fuse</a> - A cloud-native integration platform that supports distributed
|
||
integration capabilities. - <a
|
||
href="https://www.softwareag.com/en_corporate/platform/integration-apis/webmethods-integration.html">Software
|
||
AG webMethods Integration Server</a> - An integration platform that
|
||
enables faster integration of any application. - <a
|
||
href="https://www.tibco.com/products/tibco-businessworks">TIBCO
|
||
BusinessWorks</a> - A platform that implements enterprise patterns for
|
||
hybrid integrations. - <a
|
||
href="https://www.adroitlogic.com/products/ultraesb/">UltraESB</a> - An
|
||
ESB that supports zero-copy proxying for extreme performance utilizing
|
||
Direct Memory Access and Non-Blocking IO. - <a
|
||
href="https://github.com/wso2/product-ei">WSO2 Enterprise Integrator
|
||
(⭐362)</a> - An API-centric, cloud-native, and distributed integration
|
||
platform designed to provide a robust solution for software
|
||
engineers.</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/nifi">Apache NiFi (⭐4.3k)</a> - An
|
||
automated data integration platform that efficiently moves data between
|
||
disparate systems. - <a href="http://www.cloveretl.com/">CloverETL</a> -
|
||
A comprehensive data integration software suite, ideal for data
|
||
migration, warehousing, and feeding data into BI and reporting apps. -
|
||
<a href="https://hevodata.com/">Hevo</a> - A fully automated, no-code
|
||
data pipeline platform supporting 150+ integrations across databases,
|
||
SaaS apps, cloud storage, SDKs, and streaming services. - <a
|
||
href="https://www.ibm.com/products/datastage">IBM DataStage</a> - A
|
||
powerful data integration platform that helps businesses understand,
|
||
cleanse, transform, and deliver trusted information. - <a
|
||
href="https://www.informatica.com/products/data-integration/powercenter.html">Informatica
|
||
PowerCenter</a> - A trusted enterprise data integration and management
|
||
software powering analytics for big data and cloud. - <a
|
||
href="https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services">Microsoft
|
||
SSIS</a> - A reliable platform for building enterprise-level data
|
||
integration and transformation solutions. - <a
|
||
href="https://www.oracle.com/middleware/technologies/data-integrator.html">Oracle
|
||
Data Integrator</a> - A comprehensive data integration platform that
|
||
covers all data integration requirements, including batch loads,
|
||
integration processes, and SOA-enabled data services. - <a
|
||
href="https://github.com/pentaho/pentaho-kettle">Pentaho Data
|
||
Integration (⭐7.3k)</a> - A user-friendly platform that enables users
|
||
to ingest, blend, cleanse, and prepare diverse data from any source with
|
||
visual tools, eliminating the need for coding and complexity. - <a
|
||
href="https://www.sas.com/en_us/software/data-management.html">SAS Data
|
||
Management</a> - A robust platform that helps transform, integrate,
|
||
govern, and secure data while improving its overall quality and
|
||
reliability. - <a href="https://www.stitchdata.com/">Stitch</a> - A
|
||
simple yet powerful ETL service that integrates data from dozens of
|
||
different sources, ideal for businesses of all sizes. - <a
|
||
href="https://www.talend.com/products/integrate-data/">Talend Data
|
||
Integration</a> - A versatile platform that brings data together from
|
||
multiple sources to power all your 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.3k)</a> - A
|
||
powerful integration framework that uses Enterprise Integration Patterns
|
||
to connect and unify different transport APIs. - <a
|
||
href="https://github.com/ballerina-platform/ballerina-lang">Ballerina
|
||
(⭐3.5k)</a> - An open-source programming language that simplifies the
|
||
creation, usage, and combination of network services. - <a
|
||
href="https://github.com/frankframework/frankframework">Frank!Framework
|
||
(⭐110)</a> - A Low-Code Java-based messaging framework to connect your
|
||
system and application data, that is completely configurable through XML
|
||
configurations. - <a
|
||
href="https://github.com/spring-projects/spring-integration">Spring
|
||
Integration (⭐1.5k)</a> - An extension of the Spring programming model
|
||
that supports Enterprise Integration Patterns, allowing for streamlined
|
||
integration of various systems.</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> - A powerful integration platform that combines API
|
||
management and integration capabilities in a single platform, enabling
|
||
software engineers to integrate various applications with ease. - <a
|
||
href="https://boomi.com/platform">Boomi AtomSphere</a> - A cloud-native,
|
||
unified, open, and intelligent platform that connects everything and
|
||
everyone, allowing software engineers to create and manage integrations
|
||
easily. - <a href="https://www.jitterbit.com/platform/ipaas">Jitterbit
|
||
Harmony</a> - A comprehensive integration platform that provides
|
||
pre-built templates and workflows to automate business processes. It
|
||
integrates thousands of applications and simplifies integration for
|
||
software engineers. - <a
|
||
href="https://www.ibm.com/cloud/integration">IBM Cloud Integration</a> -
|
||
A next-generation integration platform that uses AI to provide software
|
||
engineers with an innovative approach to integration. This platform
|
||
accelerates integration processes, making it faster and more scalable. -
|
||
<a
|
||
href="https://www.informatica.com/products/cloud-integration.html">Informatica
|
||
Intelligent Cloud Services</a> - A suite of cloud data management
|
||
products designed to accelerate productivity and improve speed and
|
||
scale. Software engineers can use this platform to manage data and
|
||
integrate applications efficiently. - <a
|
||
href="https://businessnetwork.opentext.com/enterprise-data-management/">OpenText
|
||
Alloy</a> - A powerful enterprise data management platform that empowers
|
||
organizations to move beyond basic integration and turn data into
|
||
insights and action. Software engineers can use this platform to manage
|
||
data and improve business outcomes. - <a
|
||
href="https://www.oracle.com/integration/application-integration/">Oracle
|
||
Integration Cloud Service</a> - A robust platform that accelerates time
|
||
to go live with pre-built connectivity to any SaaS or on-premises
|
||
application. Software engineers can use this platform to simplify
|
||
integration processes and streamline operations. - <a
|
||
href="https://www.snaplogic.com/products/intelligent-integration-platform">SnapLogic
|
||
Intelligent Integration Platform</a> - A comprehensive integration
|
||
platform that connects various applications and data landscapes.
|
||
Software engineers can use this platform to integrate data and
|
||
applications quickly and efficiently. - <a
|
||
href="https://www.softwareag.com/en_corporate/platform/integration-apis/application-integration.html">Software
|
||
AG webMethods Hybrid Integration Platform</a> - An all-in-one
|
||
integration platform that enables software engineers to integrate all
|
||
their applications in a single platform. This platform simplifies
|
||
integration processes and improves efficiency. - <a
|
||
href="https://www.tibco.com/products/cloud-integration">TIBCO Cloud
|
||
Integration</a> - A flexible platform that enables software engineers to
|
||
integrate anything with API-led and event-driven integration. This
|
||
platform empowers everyone to integrate anything, making integration
|
||
processes faster and more efficient. - <a
|
||
href="https://www.workato.com/">Workato</a> - A single platform for
|
||
integration and workflow automation across your organization, providing
|
||
software engineers with a powerful platform for simplifying integration
|
||
processes and streamlining operations.</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> - A fully managed
|
||
message broker service that supports Apache ActiveMQ and RabbitMQ. It
|
||
provides a reliable, secure, and scalable messaging infrastructure for
|
||
your applications. - <a href="https://aws.amazon.com/msk">Amazon MSK</a>
|
||
- A fully managed service for Apache Kafka that simplifies the setup,
|
||
scaling, and management of Kafka clusters. It provides a highly
|
||
available, durable, and performant messaging service for your data
|
||
streaming needs. - <a href="https://aws.amazon.com/sqs">Amazon SQS</a> -
|
||
A fully managed message queuing service that enables you to decouple and
|
||
scale microservices, distributed systems, and serverless applications.
|
||
It offers a reliable, secure, and highly available message storage and
|
||
delivery system. - <a href="https://aws.amazon.com/sns">Amazon SNS</a> -
|
||
A fully managed pub/sub messaging service that enables you to send and
|
||
receive messages between distributed systems, microservices, and
|
||
event-driven serverless applications. It offers a flexible, scalable,
|
||
and cost-effective way to notify subscribers of events and messages. -
|
||
<a href="https://www.alibabacloud.com/product/kafka">Alibaba Cloud
|
||
Message Queue for Apache Kafka</a> - A fully managed Apache Kafka
|
||
service that provides high-throughput, low-latency, and highly available
|
||
message streaming for your applications. It offers easy integration with
|
||
other Alibaba Cloud services and seamless data migration. - <a
|
||
href="https://www.alibabacloud.com/product/rabbitmq">Alibaba Cloud
|
||
Message Queue for RabbitMQ</a> - A distributed and fully managed
|
||
messaging service that provides high scalability, low latency, and high
|
||
throughput for your applications. It offers flexible deployment options,
|
||
easy management, and robust security features. - <a
|
||
href="https://www.alibabacloud.com/product/message-service">Alibaba
|
||
Cloud Message Service</a> - A distributed messaging and notification
|
||
service that enables concurrent operations and message transfer between
|
||
applications and decoupled systems. It offers high reliability,
|
||
scalability, and fault tolerance for your messaging needs. - <a
|
||
href="https://www.alibabacloud.com/product/mq">AlibabaMQ for Apache
|
||
RocketMQ</a> - A distributed message queue service that supports
|
||
reliable message-based asynchronous communication among microservices,
|
||
distributed systems, and serverless applications. It provides high
|
||
availability, scalability, and durability for your message streaming
|
||
needs. - <a
|
||
href="https://www.mulesoft.com/platform/anypoint-mq-message-queue">Anypoint
|
||
MQ</a> - An enterprise-class cloud messaging service that is fully
|
||
integrated with Anypoint Platform. It offers a flexible and reliable
|
||
messaging infrastructure that enables you to integrate and orchestrate
|
||
your applications and systems. - <a
|
||
href="https://azure.microsoft.com/en-us/services/service-bus/">Azure
|
||
Service Bus</a> - A reliable cloud messaging service that offers a
|
||
variety of messaging patterns, such as pub/sub and request/response, and
|
||
supports a range of protocols and standards. - <a
|
||
href="https://www.cloudamqp.com/">CloudAMQP</a> - A RabbitMQ as a
|
||
Service that provides a fully managed and scalable message broker
|
||
service for your applications. It offers a simple and easy-to-use
|
||
web-based management console, advanced monitoring and analytics, and
|
||
seamless integration with other cloud services. - <a
|
||
href="https://www.cloudkarafka.com/">CloudKarafka</a> - An affordable
|
||
and straightforward Kafka service that provides fully managed and
|
||
scalable Kafka clusters on AWS and Google Cloud. It offers a
|
||
user-friendly web-based dashboard, advanced security features, and
|
||
seamless integration with other cloud services. - <a
|
||
href="https://cloud.google.com/pubsub">Google Cloud Pub/Sub</a> - A
|
||
messaging and ingestion service that enables event-driven systems and
|
||
streaming analytics. It provides high throughput, low latency, and
|
||
reliable message delivery for your applications. It supports flexible
|
||
messaging patterns, such as pub/sub and push/pull, and integrates
|
||
seamlessly with other Google Cloud services. - <a
|
||
href="https://www.huaweicloud.com/intl/en-us/product/dms.html">Huawei
|
||
Cloud Distributed Message Service</a> - A fully managed and
|
||
high-performance message queuing service that enables reliable,
|
||
flexible, and asynchronous communication between distributed
|
||
applications. It offers high scalability, security, and durability, and
|
||
supports a variety of messaging patterns and protocols. - <a
|
||
href="https://www.huaweicloud.com/intl/en-us/product/dmskafka.html">Huawei
|
||
Cloud Distributed Message Service for Kafka</a> - A managed Apache Kafka
|
||
service that provides easy setup, scaling, and management of Kafka
|
||
clusters. It offers high availability, performance, and security, and
|
||
integrates seamlessly with other Huawei Cloud services. - <a
|
||
href="https://www.ibm.com/cloud/mq">IBM MQ on Cloud</a> - A cloud-based
|
||
messaging service that enables seamless data transfer across enterprise
|
||
applications, systems, and services with ease. - <a
|
||
href="https://www.iron.io/mq">IronMQ</a> - An elastic message queue
|
||
built specifically for the cloud, allowing for reliable and scalable
|
||
message processing. - <a
|
||
href="https://www.oracle.com/cloud/cloud-native/streaming/">Oracle Cloud
|
||
Streaming</a> - A serverless, real-time event streaming platform with
|
||
Apache Kafka compatibility, delivering highly performant and
|
||
cost-effective data processing. - <a
|
||
href="https://solace.com/products/platform/cloud/">Solace PubSub+
|
||
Cloud</a> - An all-in-one event streaming, management, and insights
|
||
platform, providing complete visibility and control over your data
|
||
pipeline. - <a
|
||
href="https://cloud.yandex.com/en/services/message-queue">Yandex Message
|
||
Queue</a> - A cloud messaging service with compatibility to Amazon SQS
|
||
HTTP API, making it easy to integrate with existing systems and
|
||
services. - <a
|
||
href="https://cloud.yandex.com/en/services/managed-kafka">Yandex Managed
|
||
Service for Apache Kafka</a> - A fully-managed Apache Kafka service with
|
||
automated scaling, monitoring, and maintenance, providing hassle-free
|
||
data streaming.</p>
|
||
<!--lint disable-->
|
||
<p><strong><a href="#contents">⬆ back to top</a></strong>
|
||
<!--lint enable--> ### Managed File Transfer <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> - A comprehensive solution for enterprises seeking to
|
||
streamline file transfer processes. Its user-friendly interface and
|
||
powerful capabilities provide an all-in-one MFT solution that can
|
||
efficiently handle file transfers. - <a
|
||
href="https://www.axway.com/en/products/managed-file-transfer">Axway
|
||
Managed File Transfer</a> - Designed to simplify file transfer services
|
||
for businesses, this MFT solution offers advanced features and security
|
||
measures to ensure secure and reliable data transfer. - <a
|
||
href="https://southrivertech.com/titan-mft-server/">Titan MFT Server</a>
|
||
- An enterprise-level MFT server solution with high availability and
|
||
failover capabilities, providing an efficient way to automate and manage
|
||
large-scale file transfers. - <a
|
||
href="https://www.ibm.com/products/secure-file-transfer">IBM Sterling
|
||
Secure File Transfer</a> - A fast and scalable file transfer platform
|
||
that offers advanced security features and flexible architecture. It is
|
||
ideal for businesses that require a reliable and secure MFT platform. -
|
||
<a
|
||
href="https://www.oracle.com/middleware/technologies/mft/managed-file-transfer.html">Oracle
|
||
Managed File Transfer</a> - A comprehensive MFT solution that enables
|
||
secure file exchange and management, providing a reliable and efficient
|
||
way for businesses to transfer data with ease. - <a
|
||
href="https://www.tibco.com/products/tibco-managed-file-transfer">TIBCO
|
||
Managed File Transfer</a> - A centrally managed MFT platform with
|
||
powerful automation capabilities and advanced security features, capable
|
||
of supporting all file transfer use cases. It is an ideal choice for
|
||
businesses that require a comprehensive MFT solution.</p>
|
||
<!--lint disable-->
|
||
<p><strong><a href="#contents">⬆ back to top</a></strong>
|
||
<!--lint enable--> ### Master Data Management <em>Master Data Management
|
||
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> - A comprehensive solution for
|
||
managing master data that provides a single source of truth across your
|
||
organization. - <a
|
||
href="https://www.informatica.com/products/master-data-management/multidomain-mdm.html">Informatica
|
||
Multidomain MDM</a> - An all-in-one solution that enables you to manage
|
||
and govern all your master data domains in one place. - <a
|
||
href="https://www.oracle.com/performance-management/enterprise-data-management/">Oracle
|
||
Enterprise Data Management</a> - Helps you adapt and respond to change
|
||
faster and more effectively by centralizing and managing your master
|
||
data. - <a
|
||
href="https://www.sap.com/products/master-data-governance.html">SAP
|
||
Master Data Governance</a> - Streamlines and improves the quality and
|
||
consistency of your data by consolidating and centrally governing your
|
||
master data lifecycle. - <a
|
||
href="https://support.sas.com/en/software/mdm-support.html">SAS MDM</a>
|
||
- Provides a unified view of your corporate data, integrating
|
||
information from various sources into one master record for greater
|
||
accuracy and consistency. - <a
|
||
href="https://www.softwareag.com/resources/Master-data-management">Software
|
||
AG OneData for MDM</a> - Ensures that only reliable, accurate, and
|
||
approved information flows through your systems, processes, and
|
||
applications, providing “one version of the truth.” - <a
|
||
href="https://www.teradata.co.uk/Products/Applications/Master-Data-Management">Teradata
|
||
MDM</a> - Establishes an accurate analytical data foundation by using
|
||
consistent reference data, driving significant ROI. - <a
|
||
href="https://www.tibco.com/products/tibco-ebx-software">TIBCO EBX</a> -
|
||
A single solution to govern, manage, and consume all shared data assets,
|
||
ensuring greater consistency and accuracy across your organization.</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.2k)</a> -
|
||
An open-source message broker that implements Java Message Service (JMS)
|
||
and allows for synchronous to asynchronous communication conversion.
|
||
Offers reliable messaging and supports multiple protocols and messaging
|
||
styles. - <a href="https://github.com/apache/kafka">Apache Kafka
|
||
(⭐27k)</a> - A distributed messaging system designed for
|
||
high-throughput and fault-tolerance. Enables real-time data processing
|
||
and stream processing applications with its distributed architecture and
|
||
efficient data storage. - <a
|
||
href="https://github.com/apache/pulsar">Apache Pulsar (⭐13k)</a> - A
|
||
distributed pub/sub-messaging system that supports both traditional
|
||
messaging and streaming use cases. Offers a scalable and flexible
|
||
architecture and supports multiple messaging protocols. - <a
|
||
href="https://github.com/apache/rocketmq">Apache RocketMQ (⭐20k)</a> -
|
||
A fast and reliable distributed messaging platform designed for high
|
||
volume and low latency messaging scenarios. Offers efficient message
|
||
storage and retrieval and supports various messaging patterns. - <a
|
||
href="https://github.com/apache/qpid-broker-j">Apache Qpid (⭐55)</a> -
|
||
A messaging tool that supports the Advanced Message Queuing Protocol
|
||
(AMQP) and multiple programming languages and platforms. Offers
|
||
enterprise-grade messaging capabilities with reliable and efficient
|
||
message delivery. - <a
|
||
href="https://github.com/bloomberg/blazingmq">BlazingMQ (⭐2.4k)</a> - A
|
||
distributed message queueing platform with a focus on efficiency,
|
||
reliability, and a rich feature set for modern-day workflows. - <a
|
||
href="https://github.com/centrifugal/centrifugo">Centrifugo (⭐7.8k)</a>
|
||
- An open-source, scalable real-time messaging server that allows you to
|
||
build interactive applications where events are delivered to online
|
||
users with minimal delay. - <a
|
||
href="https://github.com/eclipse/mosquitto">Eclipse Mosquitto
|
||
(⭐8.3k)</a> - A lightweight open-source message broker that implements
|
||
the MQTT protocol. Designed for low-power devices and supports message
|
||
encryption and authentication. - <a
|
||
href="https://github.com/emqx/emqx">EMQX (⭐13k)</a> - A
|
||
high-performance, scalable, and reliable open-source MQTT broker for
|
||
IoT, IIoT, and connected vehicles. - <a
|
||
href="https://www.ibm.com/products/mq">IBM MQ</a> - A robust
|
||
enterprise-grade messaging system that enables safe and efficient
|
||
communication between applications. Offers high availability and
|
||
disaster recovery capabilities and supports multiple messaging
|
||
protocols. - <a href="https://kubemq.io/">KubeMQ</a> - A
|
||
Kubernetes-based message broker and queue system designed for
|
||
scalability, high availability, and security. Offers seamless
|
||
integration with Kubernetes and supports various messaging patterns. -
|
||
<a href="https://github.com/nats-io/gnatsd">NATS (⭐14k)</a> - A
|
||
lightweight and high-performance messaging system designed for
|
||
microservices, IoT, and cloud-native systems. Offers efficient and
|
||
reliable message delivery and supports multiple messaging protocols. -
|
||
<a
|
||
href="https://www.oracle.com/database/technologies/advanced-queuing.html">Oracle
|
||
AQ</a> - A messaging system that provides enterprise message
|
||
functionality and is widely used within the Oracle database. Offers
|
||
reliable and efficient message delivery and supports multiple messaging
|
||
styles. - <a href="https://github.com/rabbitmq/rabbitmq-server">RabbitMQ
|
||
(⭐11k)</a> - An open-source message broker that implements AMQP and
|
||
supports multiple messaging protocols and patterns. Offers reliable and
|
||
efficient message delivery and supports clustering and high
|
||
availability. - <a
|
||
href="https://github.com/vectorizedio/redpanda">Redpanda (⭐8.7k)</a> -
|
||
A streaming platform that is Kafka-compatible and does not require
|
||
Zookeeper or JVM. Offers high-performance and low-latency messaging and
|
||
supports stream processing and analytics. - <a
|
||
href="https://www.redhat.com/en/technologies/jboss-middleware/amq">Red
|
||
Hat AMQ</a> - A messaging system based on open-source communities like
|
||
Apache ActiveMQ and Apache Kafka. Offers enterprise-grade messaging
|
||
capabilities with reliable and efficient message delivery. - <a
|
||
href="https://www.tibco.com/products/tibco-enterprise-message-service">TIBCO
|
||
Enterprise Message Service</a> - A standards-based JMS implementation
|
||
that allows for easy exchange of messages between applications. Offers
|
||
reliable and efficient message delivery and supports various messaging
|
||
protocols and patterns. - <a
|
||
href="https://github.com/vernemq/vernemq">VerneMQ (⭐3.1k)</a> - A
|
||
high-performance distributed MQTT message broker designed for
|
||
scalability and reliability. Offers efficient and reliable message
|
||
delivery and supports multiple messaging protocols and patterns.</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> - An
|
||
intelligent automation ecosystem that provides Robotic Process
|
||
Automation (RPA) solutions. This solution is designed to automate
|
||
business processes and improve operational efficiency while reducing
|
||
errors and costs. - <a
|
||
href="https://www.blueprism.com/products/intelligent-rpa-automation/">Blue
|
||
Prism</a> - A no-code automation RPA platform that offers intelligent
|
||
automation capabilities for businesses. This platform is designed to
|
||
reduce operational costs and improve productivity by automating
|
||
repetitive digital tasks. - <a
|
||
href="https://www.uipath.com/product">UiPath</a> - A platform that
|
||
provides RPA solutions for automating repetitive digital tasks typically
|
||
performed by people. This solution offers a comprehensive automation
|
||
platform that enables businesses to automate their processes and
|
||
increase efficiency. - <a
|
||
href="https://www.workfusion.com/platform/">WorkFusion</a> - An
|
||
automation platform for the enterprise that offers RPA solutions. This
|
||
platform is designed to automate manual tasks, reduce errors and improve
|
||
efficiency. It offers a comprehensive set of tools for automating
|
||
workflows and streamlining operations.</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> - A powerful self-service and
|
||
citizen integrator tool that enables users to create custom workflows by
|
||
connecting multiple web services with conditional statements, boosting
|
||
productivity with ease.</li>
|
||
<li><a href="https://powerautomate.microsoft.com">Microsoft Power
|
||
Automate</a> - This cloud-based service offers a user-friendly interface
|
||
to create automated workflows seamlessly, integrating different
|
||
applications and services with ease, simplifying complex tasks.</li>
|
||
<li><a
|
||
href="https://docs.oracle.com/en/cloud/paas/self-service-integration-cloud/index.html">Oracle
|
||
Self-Service Integration</a> - Automate tasks between various cloud
|
||
applications with ease using Oracle’s Self-Service Integration tool,
|
||
providing a seamless and efficient integration process.</li>
|
||
<li><a href="https://zapier.com/">Zapier</a> - An intuitive automation
|
||
tool that connects hundreds of web services to create automations
|
||
between processes with ease, streamlining tasks, and enhancing overall
|
||
productivity.</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 (⭐9.8k)</a> - A
|
||
lightweight and Java-centric open-source engine for executing BPMN
|
||
(Business Process Model and Notation) workflows. - <a
|
||
href="https://github.com/apache/airflow">Apache Airflow (⭐34k)</a> - A
|
||
platform that allows you to create, schedule, and monitor workflows
|
||
programmatically, making it easier to manage and automate complex data
|
||
pipelines. - <a href="https://github.com/argoproj/argo-workflows">Argo
|
||
Workflows (⭐14k)</a> - An open-source, container-native workflow engine
|
||
designed to orchestrate parallel jobs on Kubernetes, making it easier to
|
||
manage and automate complex workflows in a cloud-native environment. -
|
||
<a href="https://github.com/azkaban/azkaban">Azkaban (⭐4.3k)</a> - A
|
||
distributed workflow manager that helps solve the problem of Hadoop job
|
||
dependencies, making it easier to schedule and manage workflows in
|
||
large-scale data processing environments. - <a
|
||
href="https://github.com/bonitasoft/bonita-engine">Bonita (⭐145)</a> -
|
||
An open-source BPMN engine that comes with a designer and optional
|
||
development environment, making it easier to build and automate complex
|
||
business processes. - <a href="https://github.com/uber/cadence">Cadence
|
||
(⭐7.7k)</a> - A fault-tolerant, stateful code platform that makes it
|
||
easier to build and manage complex, long-running applications. - <a
|
||
href="https://github.com/camunda/camunda-bpm-platform">Camunda
|
||
(⭐3.9k)</a> - An open-source workflow and decision automation platform
|
||
that helps you automate business processes and decisions in a flexible
|
||
and scalable way. - <a
|
||
href="https://github.com/Netflix/conductor">Conductor (⭐12k)</a> - A
|
||
cloud-based orchestration engine designed to run and manage workflows in
|
||
a microservices architecture. - <a
|
||
href="https://github.com/elsa-workflows/elsa-core">Elsa Core
|
||
(⭐5.7k)</a> - A library that enables workflow execution in any .NET
|
||
Core application, making it easier to automate business processes in
|
||
.NET environments. - <a
|
||
href="https://github.com/flowable/flowable-engine">Flowable (⭐7.3k)</a>
|
||
- A set of open-source business process engines that are compact and
|
||
efficient, making it easier to automate business processes in a scalable
|
||
and reliable way. - <a href="https://github.com/kiegroup/jbpm">jBPM
|
||
(⭐1.5k)</a> - A toolkit for building business applications that helps
|
||
you automate business processes and decisions, making it easier to
|
||
manage complex workflows. - <a
|
||
href="https://github.com/StackStorm/st2">StackStorm (⭐5.8k)</a> - A
|
||
robust automation engine that provides sensors, triggers, rules,
|
||
workflows, and actions to help you automate and orchestrate complex
|
||
workflows and applications. - <a
|
||
href="https://github.com/temporalio/temporal">Temporal (⭐9.7k)</a> - An
|
||
open-source platform that uses a workflow-as-code approach to make your
|
||
applications more reliable and scalable.</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 (⭐3.8k)</a> - An
|
||
essential tool for developing Event-Driven Architectures (EDA) and
|
||
enables engineers to build a better tooling ecosystem. - <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.3k)</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)
|
||
(⭐28k)</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="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
|
||
(⭐21k)</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/">API Designer</a> -
|
||
Validate your understanding of API design basics and best
|
||
practices.</li>
|
||
<li><a
|
||
href="https://apiacademy.co/2020/05/virtual-api-academy-workshop/">API
|
||
Product Manager</a> - Demonstrate your proficiency in managing APIs as
|
||
products.</li>
|
||
<li><a href="https://apiacademy.co/api-certification/">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>
|
||
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-platform-application-integration-2022-certified-professional/trackp_OCPAI2022CP">Oracle
|
||
Cloud Platform Application Integration 2022 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://training.sap.com/certification/c_cpi_15-sap-certified-development-associate---sap-integration-suite-g/">SAP
|
||
Certified Development Associate - SAP Integration Suite</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-certified-automation-professional">SnapLogic
|
||
Certified Enterprise Automation Professional</a> - An advanced
|
||
certification covering topics like SnapLogic platform, asset management,
|
||
workflows, expression language, tasks, pipeline modularization,
|
||
migration, and user assistance videos for various endpoints.</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-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.tibco.com/services/education/certification/tibco-businessworks-associate-certification-exam">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.tibco.com/services/education/certification/tibco-businessworks-6-certification-exam">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.tibco.com/services/education/certification/tibco-businessworks-container-edition-certification-exam">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.tibco.com/services/education/certification/tibco-bpm-enterprise-associate-certification-exam">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.tibco.com/services/education/certification/tibco-bpm-enterprise-5-certification-exam">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.tibco.com/services/education/certification/tibco-cloud-associate-certification-exam">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.tibco.com/services/education/certification/tibco-mashery-associate-certification-exam">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.tibco.com/services/education/certification/tibco-cloud-api-management-professional-certification-exam">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.tibco.com/services/education/certification/tibco-cloud-integration-associate-certification-exam">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.tibco.com/services/education/certification/tibco-cloud-integration-connect-associate-certification-exam">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.tibco.com/services/education/certification/tibco-cloud-integration-connect-certified-professional-exam">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.tibco.com/services/education/certification/tibco-cloud-integration-certified-professional-exam">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.tibco.com/services/education/certification/tibco-messaging-associate-certification-exam">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.tibco.com/services/education/certification/tibco-messaging-certified-professional-exam">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-integrator6-developer/">WSO2
|
||
Certified Enterprise Integrator Developer - V6</a> - Validates your
|
||
ability to develop, deploy, and manage integration solutions using WSO2
|
||
Enterprise Integrator V6, including knowledge of its components, such as
|
||
the ESB profile, Message Broker, and Business Process Server.</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 (⭐2.7k)</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 (⭐632)</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
|
||
(⭐63k)</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
|
||
(⭐309)</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
|
||
(⭐286)</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. - <a
|
||
href="https://github.com/standard-webhooks/standard-webhooks">Standard
|
||
Webhooks (⭐1k)</a> - Open source tools and guidelines for sending
|
||
webhooks easily, securely, and reliably.</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
|
||
(⭐3.1k)</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>
|