Integration Digest: May 2024
Tags: api, ia, kafka, async
Published: 2024-06-07 08:19:05

## Articles

🔍 [10 Optical Character Recognition (OCR) APIs](https://nordicapis.com/10-optical-character-recognition-ocr-apis/)

_The article introduces ten OCR (Optical Character Recognition) APIs that leverage artificial intelligence and machine learning to digitize text from media and create structured data. These APIs cater to various needs, from receipt scanning to handling non-Western languages and ensuring legal compliance._

🔍 [5 AI Assistants for API Developers](https://nordicapis.com/5-ai-assistants-for-api-developers/)

_The article explores the integration of artificial intelligence (AI) in API development, highlighting five AI tools designed to enhance various aspects of API management and development. These tools aim to automate tasks such as testing, linting, generating specifications, and more, making API development more efficient and less error-prone._

🔍 [5 Improvements to OpenAPI Operation Documentation](https://bump.sh/blog/5-improvements-to-openapi-operation-documentation)

_The article suggests five ways to improve OpenAPI operation documentation: expanding operation descriptions to provide more details; adding examples to API operations and schema for better understanding; documenting common response codes to guide users on error formats; organizing and tagging API operations for easier navigation; and improving consistency in operation naming conventions to reduce confusion. The author also recommends involving technical writers early in the API design process to enhance the developer experience._

🔍 [API Documentation Checklist](https://bump.sh/blog/api-documentation-checklist)

_The article provides a comprehensive checklist for creating effective API documentation, which includes an overview and introduction, authentication and authorization guide, getting started guide, reference documentation, error handling, rate limiting and quotas, versioning and deprecation policy, support and community, feedback and contribution, and legal and compliance. It also suggests post-launch improvements such as updating community events, SDKs and libraries, examples and tutorials, reference applications, and industry use cases. The author emphasizes the importance of regular updates and improvements to keep the documentation relevant and user-friendly._

🔍 [API catalog vs. API developer portal: main differences](https://www.getport.io/blog/api-catalog-vs-api-developer)

_The article differentiates between API catalogs and API developer portals. API catalogs serve as a central repository for all APIs, aiding developers in discovering and understanding APIs. API developer portals, however, offer a platform for managing the entire API lifecycle and integrate with API management tools for added functionalities._

🔍 [AsyncAPI gets a new version 3.0 and new operations](https://medium.com/google-cloud/asyncapi-gets-a-new-version-3-0-and-new-operations-013dd1d6265b)

_The article announces the release of AsyncAPI 3.0, a new version of the open-source specification that standardizes asynchronous API documentation. The update introduces new operations, including 'connect', 'disconnect', 'bind', and 'unbind', expanding its use beyond just messaging APIs to cover other asynchronous interactions._

🔍 [Improving Schema Component Documentation in OpenAPI Documents](https://bump.sh/blog/improving-schema-component-documentation-in-openapi-documents)

_The article provides tips for improving schema component documentation in OpenAPI documents, which can enhance usability and reduce integration times. Suggestions include including examples in schema components, documenting formats not covered by OpenAPI specification, clarifying required and optional fields, documenting mutually exclusive fields and discriminator fields, using the 'oneOf' schema descriptor for legacy APIs, leveraging the 'allOf' schema descriptor for mixed responses, and providing comprehensive details such as minimum and maximum values for numeric fields, length constraints for strings, and enumerations that list possible values for a field._

🔍 [Introducing new Proxy features in Microcks 1.9.1](https://microcks.io/blog/new-proxy-features-1.9.1/)

_The blog post introduces new proxy features in Microcks 1.9.1, an open-source tool for software development. The new features include two dispatchers, PROXY and PROXY_FALLBACK, which provide simple and advanced proxy logic for REST, SOAP, and GraphQL protocols. The PROXY dispatcher changes the base URL of Microcks to call the real backend service, while the PROXY_FALLBACK dispatcher changes the base URL to call the real service when no matching response is found within Microcks' dataset. These features allow for a mix of different behaviours in the same Microcks API endpoints._

🔍 [Gen AI, APIs, and the Future of Development](https://nordicapis.com/gen-ai-apis-and-the-future-of-development/)

_The article discusses the rise of AI-generated code and its implications for API development. It highlights that while AI can write code and often outperform humans, the quality and functionality of AI-generated code can be inconsistent. The author suggests that developers may become stewards of AI-generated content, assessing its quality and approving its use. The article also predicts that AI tools will become significant API consumers, necessitating consideration of AI as a user persona when building and documenting APIs._

🔍 [Problem Details (RFC9457): Doing API Errors Well​](https://swagger.io/blog/problem-details-rfc9457-doing-api-errors-well/)

_The article discusses the importance of effective error communication in HTTP APIs and introduces the Internet Engineering Task Force's (IETF) RFC 9457, a standard for expressing errors in a structured and helpful way. The author highlights common API error handling anti-patterns and emphasizes that adopting standardized practices like RFC 9457 can lead to a more reliable, secure, and user-friendly API ecosystem._

🔍 [Problem Details (RFC 9457): Getting Hands-On with API Error Handling](https://swagger.io/blog/problem-details-rfc9457-api-error-handling/)

_The article discusses the importance of effective error handling in HTTP APIs and provides practical guidance on implementing the Internet Engineering Task Force's (IETF) RFC 9457, a standard for expressing errors in a structured and helpful way. The author provides examples of how to use the standard in API development, and highlights resources and tools that can help developers implement the standard more effectively. The article emphasizes that adopting such standardized practices can lead to a more reliable, secure, and user-friendly API ecosystem._

🔍 [Prototype-First API Design](https://nordicapis.com/prototype-first-api-design/)

_The article introduces the "prototype-first" approach in API design, which combines the benefits of code-first and design-first methods. The author suggests that prototyping with API mocking allows for immediate feedback and usage, making it a practical solution for API development. Maintaining API mocks can provide long-term value by enabling fast, continuous testing. The article concludes that prototype-first design with API mocking offers a balance of time-to-market, productivity, and quality._

🔍 [RabbitMQ 3.13 Feature Highlights](https://www.cloudamqp.com/blog/rabbitmq-313-feature-highlights.html)

_The article announces the release of RabbitMQ 3.13.2 on CloudAMQP and highlights three key features: the introduction of Khepri, a new metadata store set to replace Mnesia in RabbitMQ 4.0; stream filtering, which allows for initial filtering of data on the broker side before delivering messages to consumers; and support for MQTT 5. The author also mentions other notable features in the release, such as significant performance and stability improvements to classic queues, and message containers for smoother interoperability between different protocols. The article concludes with notes for CloudAMQP customers regarding the enabling of Khepri and changes to plans._

🔍 [The Vary HTTP header](https://blog.frankel.ch/vary-http-header/)

_The article discusses the use of the Vary HTTP header in web resource caching. The Vary header allows for a configurable multi-dimension cache key, which can prevent issues such as receiving a cached JSON resource when an XML resource was requested. By listing all dimensions of the cache key in the Vary header, it ensures that there is a separate cache entry for each MIME type/URL combination. The author concludes that the Vary response header should be considered whenever configuring caching to account for possible cache keys._

🔍 [What are the technical disadvantages of Backstage?](https://www.getport.io/blog/what-are-the-technical-disadvantages-of-backstage)

_The article discusses the technical disadvantages of Spotify's Backstage, an open-source platform for building developer portals. The author identifies four main issues: a fixed data model that limits the ability to represent additional types of entities and relationships; manual data ingestion that can lead to outdated information and maintainability issues; plugins that are often not as functional or flexible as needed; and software templates that have limited utility for executing a range of self-service actions. The author suggests that these issues can lead to inefficiencies and unnecessary complexities in API development and maintenance._

### Apache Kafka

🔍 [Contributing to Apache Kafka: How to Write a KIP](https://www.confluent.io/blog/how-to-write-KIPs-for-apache-kafka/)

_The article provides insights into the process of writing Kafka Improvement Proposals (KIPs) for Apache Kafka, an open-source distributed event streaming platform. The author shares his experiences with writing two KIPs and highlights the importance of considering the end user when proposing changes. The article discusses the structure of a KIP, which includes sections on the status, motivation, public interfaces, proposed changes, compatibility, deprecation and migration plan, test plan, and rejected alternatives. The author also emphasizes the supportive nature of the Kafka open-source community and encourages others to contribute to Apache Kafka._

### Gravitee

🔍 [Product Shorts: GraphQL Rate Limiting, Schemas, and more](https://www.gravitee.io/blog/product-shorts-graphql)

_The article provides an introduction to GraphQL and its implementation in Gravitee's GraphQL Rate Limiting policy. GraphQL, a query language for APIs, allows clients to request specific data from a single endpoint, reducing data transfer inefficiencies. The author explains the structure of a GraphQL schema and the use of queries, mutations, and subscriptions. The advantages of GraphQL, including efficient data transfer, a single endpoint, and improved developer experience, are highlighted. Gravitee's GraphQL Rate Limiting policy, which limits API calls based on query complexity, is also briefly discussed._

### Microsoft

🔍 [Azure Messaging and Streaming update - May 2024](https://techcommunity.microsoft.com/t5/messaging-on-azure-blog/azure-messaging-and-streaming-update-may-2024/ba-p/4146858)

_The article announces new features for Azure Service Bus, Azure Event Hubs, and Azure Event Grid services. Azure Event Hubs updates include the Event Hubs Emulator, support for larger message sizes, Kafka Compression, and Schema Registry updates. Azure Service Bus now supports Batch Delete for easier queue management. Azure Event Grid has added features for MQTT compliance, simplified security for IoT solutions, and facilitated seamless integrations, including MQTT Last Will and Testament, OAuth 2.0 authentication for MQTT clients, and push delivery to Azure Event Hubs and Webhooks._

### Mulesoft

🔍 [Best Practices to create Highly Observable Applications in Mule 4](https://medium.com/another-integration-blog/best-practices-to-create-highly-observable-applications-in-mule-4-bcfa2734bb3f)

_The blog post discusses best practices for creating highly observable applications in Mule 4, excluding CloudHub2.0 deployment. The author explains the concept of observability and its three key data types: logs, metrics, and traces. The post then provides detailed steps on how to implement various aspects of application observability, including logging, structured logging, log levels, log rotation and retention, version information in logs, and integration with external application performance management tools._

🔍 [Introducing MuleSoft Intelligent Document Processing](https://blogs.mulesoft.com/news/mulesoft-intelligent-document-processing/)

_The article announces the general availability of MuleSoft Intelligent Document Processing (IDP), an AI-powered platform that automatically extracts and organizes data from unstructured documents. MuleSoft IDP integrates with Salesforce Flow, MuleSoft Anypoint Platform, or MuleSoft Robotic Process Automation (RPA) to facilitate end-to-end process automation. The platform includes preconfigured templates for common documents and allows for human-in-the-loop reviews. The upcoming release of MuleSoft IDP powered by Einstein will further enhance the platform's capabilities by unlocking insights from documents using natural language prompts._

🔍 [Handling Server Sent Events (SSE) in MuleSoft](https://blogs.mulesoft.com/dev-guides/server-sent-events-in-mulesoft/)

_The article discusses how to use Server Sent Events (SSE) in MuleSoft. SSE allows a server to send data to a client while keeping a connection open. The author provides guidelines for using SSE in Mule and a guide on building a Mule Flow with SSE. The article concludes with a recommendation to review the streaming documentation for DataWeave and Mule Flows for those interested in using this connector._

## Acquisitions

🤝 [Boomi announced two acquisitions - APIIDA's federated API management and TIBCO’s Mashery API management](https://boomi.com/blog/federated-apim-enterprise-scale/)

_Boomi has announced the acquisition of the federated API management business from APIIDA AG and API management assets from Cloud Software Group. These acquisitions aim to enhance the Boomi Enterprise Platform's API management capabilities. The new additions will help tackle issues such as API sprawl and provide a more comprehensive API management solution, reinforcing Boomi’s commitment to lead in the API management space._

## Releases

🚀 [Apache Camel 4.6](https://camel.apache.org/blog/2024/05/camel46-whatsnew/)

_Key updates include fixes for Camel JBang on Windows, support for running with Spring Boot or Quarkus, and configurable logging levels. The XML and YAML DSL now allow defining beans in both routes and kamelets uniformly. The Rest DSL has been improved with a contract-first approach using OpenAPI specification. The release also includes the addition of two new components: camel-google-pubsub-lite and camel-pinecone. Users are advised to read the upgrade guide when upgrading from a previous Camel version._

🚀 [Microcks 1.9.1](https://microcks.io/blog/microcks-1.9.1-release/)

_The new version introduces proxy behavior and other enhancements such as the ability to specify response header values using Microcks specific template notation, the use of JSON pointers to reference arrays or array elements in mock responses, and support for serializing an object’s properties as request parameters._