<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ProstDev Blog</title><description>ProstDev — where MuleSoft mastery meets fun. Easy-to-follow video tutorials, AI experiments, and deep-dive articles on MuleSoft, DataWeave, Anypoint Code Builder, and integration.</description><link>https://prostdev.com/</link><item><title>Claude Code vs CurieTech AI: Which Writes Better DataWeave?</title><link>https://prostdev.com/post/claude-code-vs-curietech-dataweave/</link><guid isPermaLink="true">https://prostdev.com/post/claude-code-vs-curietech-dataweave/</guid><description>Kicking off AI Showdown: MuleSoft Edition (2026) by pitting Claude Code against CurieTech AI on Advent of Code 2025 — same inputs, benchmarked in the DataWeave Playground. Who writes cleaner, faster MuleSoft transformations?</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Visual Studio Code</category><category>AI</category><category>CurieTech AI</category><category>Claude Code</category></item><item><title>How I Use ChatGPT to Brainstorm Newsletter Topics</title><link>https://prostdev.com/post/how-i-use-chatgpt-to-brainstorm-newsletter-topics/</link><guid isPermaLink="true">https://prostdev.com/post/how-i-use-chatgpt-to-brainstorm-newsletter-topics/</guid><description>Every week I need a fresh, relevant topic for my newsletter. Here&apos;s the exact workflow I use with ChatGPT as a brainstorming partner — and where the human touch still matters most.</description><pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate><category>Content Creation</category><category>AI</category></item><item><title>How I Use ChatGPT for Writing Without Losing My Voice</title><link>https://prostdev.com/post/how-i-use-chatgpt-to-create-articles/</link><guid isPermaLink="true">https://prostdev.com/post/how-i-use-chatgpt-to-create-articles/</guid><description>Learn how to use ChatGPT to create authentic content faster. See how I write my LinkedIn newsletter with AI while keeping my voice and accuracy.</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate><category>Content Creation</category><category>AI</category></item><item><title>Implement MySQL with Docker in Anypoint Code Builder (ACB)</title><link>https://prostdev.com/post/connect-mysql-docker-to-mulesoft-acb-vs-code/</link><guid isPermaLink="true">https://prostdev.com/post/connect-mysql-docker-to-mulesoft-acb-vs-code/</guid><description>Learn how to connect MySQL in Docker to your MuleSoft project in Anypoint Code Builder using VS Code. Build dynamic queries with DataWeave.</description><pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Anypoint Code Builder</category><category>Docker</category><category>MySQL</category></item><item><title>Scaffold an API Spec in ACB + VS Code Tips for Beginners</title><link>https://prostdev.com/post/scaffold-api-spec-anypoint-code-builder-vscode-tips/</link><guid isPermaLink="true">https://prostdev.com/post/scaffold-api-spec-anypoint-code-builder-vscode-tips/</guid><description>Scaffold an API spec in Anypoint Code Builder and explore key ACB + VS Code tips like running flows, customizing views, and using Git effectively.</description><pubDate>Mon, 21 Jul 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Visual Studio Code</category></item><item><title>Design a REST API in Anypoint Code Builder (OpenAPI + VS Code)</title><link>https://prostdev.com/post/how-to-design-a-rest-api-in-anypoint-code-builder-openapi-vs-code-exchange/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-design-a-rest-api-in-anypoint-code-builder-openapi-vs-code-exchange/</guid><description>Learn how to design a complete REST API in Anypoint Code Builder using OpenAPI 3.0 in VS Code. Mock, test, and publish your API to Anypoint Exchange—no XML needed.</description><pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Visual Studio Code</category></item><item><title>Getting Started with Anypoint Code Builder in VS Code (Beginner Guide)</title><link>https://prostdev.com/post/getting-started-with-anypoint-code-builder-in-vs-code-beginner-guide/</link><guid isPermaLink="true">https://prostdev.com/post/getting-started-with-anypoint-code-builder-in-vs-code-beginner-guide/</guid><description>Install MuleSoft Anypoint Code Builder (ACB) in VS Code and build your first &quot;Hello World&quot; Mule app from scratch — the modern, code-first way to develop APIs.</description><pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Visual Studio Code</category></item><item><title>Building a YouTube MCP Server with MuleSoft and CurieTech AI in 10 Minutes</title><link>https://prostdev.com/post/building-a-youtube-mcp-server-with-mulesoft-and-curietech-ai-in-10-minutes/</link><guid isPermaLink="true">https://prostdev.com/post/building-a-youtube-mcp-server-with-mulesoft-and-curietech-ai-in-10-minutes/</guid><description>Learn how to build a YouTube Data API MCP server using MuleSoft and CurieTech AI in 10 minutes. Full setup, testing, and Claude integration tutorial included.</description><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>CurieTech AI</category><category>AI</category><category>Anypoint Code Builder</category><category>GitHub</category></item><item><title>Why is my Array&lt;String&gt; not filtering correctly? It may be an Array&lt;String | Key&gt; instead</title><link>https://prostdev.com/post/array-string-key-dataweave/</link><guid isPermaLink="true">https://prostdev.com/post/array-string-key-dataweave/</guid><description>A subtle DataWeave gotcha: when you read keys from an object, you don&apos;t always get an Array&lt;String&gt; — you may get an Array&lt;String | Key&gt;, and that breaks equality checks. Here&apos;s why, and how to fix it.</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to connect your local Ollama AI using the MuleSoft AI Chain (MAC) project and Anypoint Code Builder (ACB)</title><link>https://prostdev.com/post/mac-project-ollama-ai/</link><guid isPermaLink="true">https://prostdev.com/post/mac-project-ollama-ai/</guid><description>Learn how to create and deploy an AI-powered API with Ollama and MuleSoft. Step-by-step guide from setup to CloudHub deployment for developers.</description><pubDate>Wed, 20 Nov 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Ollama</category><category>AI</category><category>CloudHub</category></item><item><title>How to develop AsyncAPIs on Anypoint Code Builder with Solace PubSub+ locally (Docker)</title><link>https://prostdev.com/post/how-to-develop-asyncapis-on-anypoint-code-builder-with-solace-pubsub-locally-docker/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-develop-asyncapis-on-anypoint-code-builder-with-solace-pubsub-locally-docker/</guid><description>Learn how to run Solace PubSub+ locally using Docker and to connect it to a MuleSoft AsyncAPI spec/app. Useful for Java/Springboot apps.</description><pubDate>Thu, 07 Nov 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Docker</category><category>Solace</category><category>AsyncAPI</category></item><item><title>How to upsert fields from an object in an array with the update operator in DataWeave</title><link>https://prostdev.com/post/upsert-object-from-array/</link><guid isPermaLink="true">https://prostdev.com/post/upsert-object-from-array/</guid><description>In this post, we&apos;ll learn how to use the update operator along with the upsert and conditional options. We&apos;ll also learn different ways of handling null values for our fields.</description><pubDate>Mon, 16 Sep 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 5: Data Cloud + MuleSoft integration - Insert data with the BULK operations</title><link>https://prostdev.com/post/part-5-data-cloud-mulesoft-integration/</link><guid isPermaLink="true">https://prostdev.com/post/part-5-data-cloud-mulesoft-integration/</guid><description>New version of this MuleSoft + Data Cloud integration app now handles bulk operations to retrieve info, upsert, and delete jobs. The application handles the Create, Upload, and Close of each job so you can focus on what&apos;s really important.</description><pubDate>Tue, 30 Jul 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Data Cloud</category></item><item><title>Part 6: CI/CD pipeline with MuleSoft and GitHub Actions - Deploying to CloudHub 2.0</title><link>https://prostdev.com/post/part-6-ci-cd-pipeline-with-mulesoft-and-github-actions-deploying-to-cloudhub-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/part-6-ci-cd-pipeline-with-mulesoft-and-github-actions-deploying-to-cloudhub-2-0/</guid><description>Learn the basics of setting up our GitHub Actions pipeline to deploy a Mule application to CloudHub 2.0. Once more, using a Connected App.</description><pubDate>Tue, 07 May 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>CloudHub</category><category>CI/CD</category></item><item><title>New MuleSoft Community Theme for Visual Studio Code!</title><link>https://prostdev.com/post/new-mulesoft-community-theme-for-visual-studio-code/</link><guid isPermaLink="true">https://prostdev.com/post/new-mulesoft-community-theme-for-visual-studio-code/</guid><description>I created a theme for Visual Studio Code inspired by MuleSoft!</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Visual Studio Code</category></item><item><title>Interactive tutorial - MuleSoft Anypoint Platform API Catalog by Rolando Carrasco</title><link>https://prostdev.com/post/interactive-tutorial-mulesoft-anypoint-platform-api-catalog-by-rolando-carrasco/</link><guid isPermaLink="true">https://prostdev.com/post/interactive-tutorial-mulesoft-anypoint-platform-api-catalog-by-rolando-carrasco/</guid><description>Have you ever wanted to do some interactive tutorials while learning MuleSoft? There are not a lot of options out there for this purpose. However, MuleSoft Ambassador Rolando Carrasco took the time to create one for us!</description><pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>Killercoda</category></item><item><title>Exposing DataWeave: Map+Filter vs. Reduce - which is faster?</title><link>https://prostdev.com/post/exposing-dataweave-map-filter-vs-reduce-which-is-faster/</link><guid isPermaLink="true">https://prostdev.com/post/exposing-dataweave-map-filter-vs-reduce-which-is-faster/</guid><description>I was working on some code that was using both map and filter together and I started thinking if there was a better way to refactor this code to make it more performant.</description><pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 4: Data Cloud + MuleSoft integration - Secure your API with basic authentication in API Manager</title><link>https://prostdev.com/post/part-4-data-cloud-mulesoft-integration/</link><guid isPermaLink="true">https://prostdev.com/post/part-4-data-cloud-mulesoft-integration/</guid><description>Learn to connect your Mule app to API Manager and add basic authentication, using clicks, not code.</description><pubDate>Wed, 28 Feb 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Data Cloud</category><category>API</category><category>Postman</category></item><item><title>Part 3: Data Cloud + MuleSoft integration - Call your integration with Postman</title><link>https://prostdev.com/post/part-3-data-cloud-mulesoft-integration/</link><guid isPermaLink="true">https://prostdev.com/post/part-3-data-cloud-mulesoft-integration/</guid><description>In this third part, we&apos;ll learn how to use our integration. We&apos;ll use Postman for this article, but you can use any other REST client like Thunder Client or cURL.</description><pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Data Cloud</category><category>Postman</category></item><item><title>Part 2: Data Cloud + MuleSoft integration - Deploy your own Mule app on Anypoint Platform (CloudHub)</title><link>https://prostdev.com/post/part-2-data-cloud-mulesoft-integration/</link><guid isPermaLink="true">https://prostdev.com/post/part-2-data-cloud-mulesoft-integration/</guid><description>In this second part, we&apos;ll go through the MuleSoft side of the integration and you&apos;ll deploy your own Mule app to CloudHub.</description><pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Data Cloud</category><category>CloudHub</category><category>Anypoint Platform</category></item><item><title>Part 1: Data Cloud + MuleSoft integration - Connected App, Ingestion API &amp; Data Stream settings in Salesforce</title><link>https://prostdev.com/post/part-1-data-cloud-mulesoft-integration/</link><guid isPermaLink="true">https://prostdev.com/post/part-1-data-cloud-mulesoft-integration/</guid><description>In this first part, we&apos;ll just go through the Salesforce/Data Cloud settings that we need to set up before even calling Data Cloud through the Mule app.</description><pubDate>Wed, 07 Feb 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Data Cloud</category><category>Anypoint Platform</category></item><item><title>How to add JVM/Command-line arguments to the Mule 4 Runtime in Anypoint Code Builder (ACB)</title><link>https://prostdev.com/post/how-to-add-jvm-command-line-arguments-to-the-mule-4-runtime-in-anypoint-code-builder-acb/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-add-jvm-command-line-arguments-to-the-mule-4-runtime-in-anypoint-code-builder-acb/</guid><description>Adding arguments to your Mule Runtime is useful when you&apos;re using properties files that are separated by environment. It is also useful to pass a secure/encryption key to your Mule application when you have secured properties.</description><pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Visual Studio Code</category></item><item><title>How to RE-scaffold Mule flows from an Exchange API specification in Anypoint Studio</title><link>https://prostdev.com/post/re-scaffold-mule-flows-exchange-api-spec-studio/</link><guid isPermaLink="true">https://prostdev.com/post/re-scaffold-mule-flows-exchange-api-spec-studio/</guid><description>What happens when there is a change to a published API in Anypoint Exchange? How can we get these changes re-scaffolded to our API implementation once we have already done the scaffolding? In this post, we&apos;ll learn how to re-scaffold our Mule project based on new changes done to the published API Specification in Exchange.</description><pubDate>Tue, 12 Dec 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category></item><item><title>How to scaffold Mule flows from a published API spec in Anypoint Code Builder (ACB)</title><link>https://prostdev.com/post/scaffold-mule-flows-from-published-api-spec-acb/</link><guid isPermaLink="true">https://prostdev.com/post/scaffold-mule-flows-from-published-api-spec-acb/</guid><description>Why would you want to scaffold Mule flows from an API specification? This way you will be able to get started on your Mule application with a base project that is created upon your specification, instead of starting the Mule project and Mule flows from scratch.</description><pubDate>Thu, 07 Dec 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Code Builder</category><category>Anypoint Exchange</category><category>Visual Studio Code</category></item><item><title>How to scaffold Mule flows from a published API spec in Anypoint Studio</title><link>https://prostdev.com/post/scaffold-mule-flows-from-published-api-specification/</link><guid isPermaLink="true">https://prostdev.com/post/scaffold-mule-flows-from-published-api-specification/</guid><description>In this post, I am going to show you how to scaffold your flows in Anypoint Studio from a published API specification.</description><pubDate>Wed, 29 Nov 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category><category>DataWeave</category></item><item><title>#Codetober 2023 ~ 31 MuleSoft-related videos under 10min each!</title><link>https://prostdev.com/post/codetober-2023/</link><guid isPermaLink="true">https://prostdev.com/post/codetober-2023/</guid><description>Every October we create this series of 31 videos ranging from various tech topics. This year they&apos;re MuleSoft-related! Don&apos;t miss them.</description><pubDate>Tue, 03 Oct 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Anypoint Code Builder</category></item><item><title>How to use MuleSoft&apos;s visual API Designer to create a To-Do API specification using clicks, not code</title><link>https://prostdev.com/post/how-to-use-mulesoft-s-visual-api-designer-to-create-a-to-do-api-specification-using-clicks-not-code/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-use-mulesoft-s-visual-api-designer-to-create-a-to-do-api-specification-using-clicks-not-code/</guid><description>Did you know MuleSoft provides this neat Graphical User Interface (GUI) where you can configure your own API specification with just clicks? Let&apos;s create a To-Do API specification to see how this visual tool works.</description><pubDate>Tue, 26 Sep 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>API</category><category>RAML</category></item><item><title>DataWeave scripts to clean your XML/HTML code snippets for a WordPress blog post</title><link>https://prostdev.com/post/dataweave-scripts-to-clean-your-xml-html-code-snippets-for-a-wordpress-blog-post/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-scripts-to-clean-your-xml-html-code-snippets-for-a-wordpress-blog-post/</guid><description>Learn how to clean an XML or HTML code snippet to publish in a WordPress article with these DataWeave scripts.</description><pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Down the Rabbit Hole vol.2 - GUIs in MuleSoft</title><link>https://prostdev.com/post/down-the-rabbit-hole-vol-2-guis-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/down-the-rabbit-hole-vol-2-guis-in-mulesoft/</guid><description>We&apos;ll discuss those edge cases where a GUI might solve your problems.</description><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>APIKit</category></item><item><title>DataWeave programming challenge #8: Sum all digits to get a 1-digit number</title><link>https://prostdev.com/post/dataweave-programming-challenge-8/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-8/</guid><description>Create a DataWeave script to sum all the digits from the input payload until there&apos;s only one digit left.</description><pubDate>Tue, 11 Jul 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>We are now accepting guest writers!</title><link>https://prostdev.com/post/we-are-now-accepting-guest-writers/</link><guid isPermaLink="true">https://prostdev.com/post/we-are-now-accepting-guest-writers/</guid><description>We are delighted to announce an exciting update to our blog&apos;s article submission process!</description><pubDate>Wed, 28 Jun 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>DataWeave programming challenge #7: Modify certain values from a JSON structure</title><link>https://prostdev.com/post/dataweave-programming-challenge-7/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-7/</guid><description>Create a DataWeave script that will update all the values to uppercase, except the ones in which the field equals thisname.</description><pubDate>Tue, 13 Jun 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 5: CI/CD pipeline with MuleSoft and GitHub Actions - Enabling MFA through a Connected App</title><link>https://prostdev.com/post/part-5-ci-cd-pipeline-with-mulesoft-and-github-actions-enabling-mfa-through-a-connected-app/</link><guid isPermaLink="true">https://prostdev.com/post/part-5-ci-cd-pipeline-with-mulesoft-and-github-actions-enabling-mfa-through-a-connected-app/</guid><description>Learn how to set up our pipeline with a connected app, which is useful when you have multi-factor authentication activated in Anypoint Platform.</description><pubDate>Tue, 16 May 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>CloudHub</category><category>CI/CD</category></item><item><title>DataWeave programming challenge #6: Using tail-recursion to get the factorial of a number</title><link>https://prostdev.com/post/dataweave-programming-challenge-6/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-6/</guid><description>Create a tail-recursive function to get the factorial of each positive number from the payload.</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 4: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit minimum coverage percentage</title><link>https://prostdev.com/post/part-4-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-minimum-coverage-percentage/</link><guid isPermaLink="true">https://prostdev.com/post/part-4-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-minimum-coverage-percentage/</guid><description>In this post, we&apos;ll see the steps to add the minimum coverage percentage for the MUnit tests in order to pass the pipeline.</description><pubDate>Tue, 02 May 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>MUnit</category><category>CI/CD</category></item><item><title>Down the Rabbit Hole vol.1 - Using GPUs in MuleSoft</title><link>https://prostdev.com/post/down-the-rabbit-hole-vol-1-using-gpus-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/down-the-rabbit-hole-vol-1-using-gpus-in-mulesoft/</guid><description>I&apos;ve written a Mule plugin that has the ability to use Cuda cores for parallel asynchronous processing.</description><pubDate>Tue, 25 Apr 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Java</category></item><item><title>5 tips to have a better setup when you&apos;re live streaming from a MacOS computer</title><link>https://prostdev.com/post/5-tips-to-have-a-better-setup-when-you-re-live-streaming-from-a-macos-computer/</link><guid isPermaLink="true">https://prostdev.com/post/5-tips-to-have-a-better-setup-when-you-re-live-streaming-from-a-macos-computer/</guid><description>I&apos;ve been doing a lot of live streaming lately. Either alone or with guests. And I noticed some things that could be improved (from a streamer perspective) to create a better experience for the people watching our screen. Here are some MacOS-specific tools to help.</description><pubDate>Wed, 19 Apr 2023 00:00:00 GMT</pubDate><category>Content Creation</category><category>macOS</category></item><item><title>DataWeave programming challenge #5: Reverse a phrase&apos;s words, but keep the punctuation</title><link>https://prostdev.com/post/dataweave-programming-challenge-5/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-5/</guid><description>Reverse the order of the words in the given phrases. However, the punctuation signs stay in the same place.</description><pubDate>Tue, 18 Apr 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>DataWeave programming challenge #4: Solve the Tower of Hanoi mathematical puzzle</title><link>https://prostdev.com/post/dataweave-programming-challenge-4/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-4/</guid><description>Move the disks, one disk at a time, from tower A to tower C following the Tower of Hanoi puzzle rules.</description><pubDate>Tue, 21 Mar 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 3: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit testing</title><link>https://prostdev.com/post/part-3-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-testing/</link><guid isPermaLink="true">https://prostdev.com/post/part-3-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-testing/</guid><description>In this post, we&apos;ll see the steps to create a pipeline with GitHub Actions that will run the MUnit tests from your project.</description><pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>MUnit</category><category>CI/CD</category></item><item><title>DataWeave programming challenge #3: Count palindrome phrases using the Strings module</title><link>https://prostdev.com/post/dataweave-programming-challenge-3/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-3/</guid><description>Review each of the input phrases and find those that are palindromes. Then, retrieve the character count and sum the total characters.</description><pubDate>Tue, 07 Mar 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 2: CI/CD pipeline with MuleSoft and GitHub Actions - secured/encrypted properties</title><link>https://prostdev.com/post/part-2-ci-cd-pipeline-with-mulesoft-and-github-actions-secured-encrypted-properties/</link><guid isPermaLink="true">https://prostdev.com/post/part-2-ci-cd-pipeline-with-mulesoft-and-github-actions-secured-encrypted-properties/</guid><description>In this post, we&apos;ll see the steps to create a pipeline with GitHub Actions that will decrypt your secured properties in your Mule app.</description><pubDate>Thu, 02 Mar 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>CloudHub</category><category>CI/CD</category></item><item><title>DataWeave programming challenge #2: Rock Paper Scissors game score system</title><link>https://prostdev.com/post/dataweave-programming-challenge-2/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-2/</guid><description>Create a script to keep your score on a series of Rock Paper Scissors games. 0 if you lose, 3 if it&apos;s a draw, and 6 if you win.</description><pubDate>Tue, 28 Feb 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to develop a Battlesnake using a MuleSoft API and the DataWeave language</title><link>https://prostdev.com/post/how-to-develop-a-battlesnake-using-a-mulesoft-api-and-the-dataweave-language/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-develop-a-battlesnake-using-a-mulesoft-api-and-the-dataweave-language/</guid><description>In this post, I&apos;m going to guide you through all the steps to generate your own MuleSoft starter project in GitHub to play Battlesnake.</description><pubDate>Wed, 22 Feb 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>GitHub</category><category>CloudHub</category></item><item><title>DataWeave programming challenge #1: Add numbers separated by paragraphs and get the max number</title><link>https://prostdev.com/post/dataweave-programming-challenge-1/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-programming-challenge-1/</guid><description>Create a DataWeave script to add all the numbers separated by a paragraph. Then, retrieve the highest number.</description><pubDate>Tue, 21 Feb 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>DataWeave 2.0 scopes for local variables: &apos;using&apos; vs. &apos;do&apos; operators</title><link>https://prostdev.com/post/dataweave-2-0-scopes-for-local-variables-using-vs-do-operators/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-2-0-scopes-for-local-variables-using-vs-do-operators/</guid><description>In this post, I&apos;ll go through some of the main differences between these two operators so you decide which one to use in your scripts!</description><pubDate>Tue, 14 Feb 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to generate shareable link examples from GitHub to open in the DataWeave Playground</title><link>https://prostdev.com/post/how-to-generate-shareable-link-examples-from-github-to-open-in-the-dataweave-playground/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-generate-shareable-link-examples-from-github-to-open-in-the-dataweave-playground/</guid><description>Learn how to create shareable links from a GitHub repository to open directly in the online DataWeave Playground.</description><pubDate>Tue, 07 Feb 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>GitHub</category></item><item><title>Simplified try-catch strategy in DataWeave with the default keyword (instead of try/orElse)</title><link>https://prostdev.com/post/simplified-try-catch-strategy-in-dataweave-with-the-default-keyword-instead-of-try-orelse/</link><guid isPermaLink="true">https://prostdev.com/post/simplified-try-catch-strategy-in-dataweave-with-the-default-keyword-instead-of-try-orelse/</guid><description>The other day I was reading some StackOverflow DataWeave questions and I got to this very interesting thread.</description><pubDate>Tue, 31 Jan 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Part 1: How to set up a CI/CD pipeline to deploy your MuleSoft apps to CloudHub using GitHub Actions</title><link>https://prostdev.com/post/how-to-set-up-a-ci-cd-pipeline-to-deploy-your-mulesoft-apps-to-cloudhub-using-github-actions/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-set-up-a-ci-cd-pipeline-to-deploy-your-mulesoft-apps-to-cloudhub-using-github-actions/</guid><description>In this post, we&apos;ll learn how to create a simple CI/CD pipeline to deploy Mule applications from GitHub to CloudHub using GitHub Actions.</description><pubDate>Tue, 24 Jan 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>GitHub Actions</category><category>CloudHub</category><category>CI/CD</category></item><item><title>How to move your code from the DataWeave Playground to Visual Studio Code</title><link>https://prostdev.com/post/how-to-move-your-code-from-the-dataweave-playground-to-visual-studio-code/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-move-your-code-from-the-dataweave-playground-to-visual-studio-code/</guid><description>If you will be working on bigger payloads or simply want to work locally, it&apos;s recommended to use Visual Studio Code.</description><pubDate>Tue, 17 Jan 2023 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Visual Studio Code</category></item><item><title>MuleSoft&apos;s Anypoint Flex Gateway logs integration with Grafana Loki</title><link>https://prostdev.com/post/mulesoft-s-anypoint-flex-gateway-logs-integration-with-grafana-loki/</link><guid isPermaLink="true">https://prostdev.com/post/mulesoft-s-anypoint-flex-gateway-logs-integration-with-grafana-loki/</guid><description>Learn how to send the Flex Gateway agent logs into Grafana Loki. And how to analyze, search, and explore them from the Grafana console.</description><pubDate>Tue, 30 Aug 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Flex Gateway</category><category>Grafana</category><category>Docker</category></item><item><title>Spring Module Integration in a Mule Application (Mule 4)</title><link>https://prostdev.com/post/spring-module-integration-in-a-mule-application-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/spring-module-integration-in-a-mule-application-mule-4/</guid><description>In this article, we will use a database datasource that is created by spring beans. Also, we will invoke one bean&apos;s method from mule flow.</description><pubDate>Tue, 26 Jul 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Spring</category><category>Anypoint Studio</category><category>PostgreSQL</category><category>Java</category></item><item><title>JWT token creation using DataWeave</title><link>https://prostdev.com/post/jwt-token-creation-using-dataweave/</link><guid isPermaLink="true">https://prostdev.com/post/jwt-token-creation-using-dataweave/</guid><description>Security implementations have been revolutionary through OAuth 2.0, OpenID Connect, SAML, etc. OAuth 2.0 and OpenID connect mostly use JWT as a token format. Here&apos;s how to create a JWT token using Java and DataWeave.</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>JWT</category></item><item><title>How to Integrate AWS Lambda with MuleSoft</title><link>https://prostdev.com/post/how-to-integrate-aws-lambda-with-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-integrate-aws-lambda-with-mulesoft/</guid><description>In this blog post, I will demonstrate how to Integrate AWS Lambda with MuleSoft.</description><pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>AWS</category><category>Anypoint Studio</category></item><item><title>Tracing Module in Mule 4</title><link>https://prostdev.com/post/tracing-module-in-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/tracing-module-in-mule-4/</guid><description>The tracing module enables you to enhance your logs by adding, removing, and clearing all variables from the logging context for a given Mule event. It also enables you to modify the correlation ID during flow execution.</description><pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category><category>Logging</category></item><item><title>How to Invert a Binary Tree with DataWeave</title><link>https://prostdev.com/post/how-to-invert-a-binary-tree-with-dataweave/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-invert-a-binary-tree-with-dataweave/</guid><description>The DataWeave Language is a simple, powerful tool used to query and transform data inside of Mule. You can also use it to solve an algorithmic problem. Invert a Binary Tree is a popular Coding Question to test your coding skills. Let&apos;s try to solve this with DataWeave.</description><pubDate>Tue, 07 Jun 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Universal API Management, Anypoint Flex Gateway, and API Governance</title><link>https://prostdev.com/post/universal-api-management-anypoint-flex-gateway-and-api-governance/</link><guid isPermaLink="true">https://prostdev.com/post/universal-api-management-anypoint-flex-gateway-and-api-governance/</guid><description>As you are aware that recently MuleSoft has introduced Universal API Management capabilities via Flex Gateway and API Governance components as part of Anypoint Platform. These two components are very important as a part of API lifecycle management and those will help to manage any APIs using a single platform and ensure that whatever API specs that you are designing are with best practices and all security aspects have been taken care of during API design.</description><pubDate>Tue, 31 May 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>Flex Gateway</category><category>API</category><category>Docker</category></item><item><title>3 scenarios to consume an Apache Kafka Topic with MuleSoft</title><link>https://prostdev.com/post/3-scenarios-to-consume-an-apache-kafka-topic-with-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/3-scenarios-to-consume-an-apache-kafka-topic-with-mulesoft/</guid><description>This article is going to explain the mechanisms that you can use within a MuleSoft application to read messages from a Topic and partitions, and which are the expected behaviors and consequences.</description><pubDate>Tue, 10 May 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Kafka</category><category>Anypoint Studio</category></item><item><title>Amazon DynamoDB Connector Operations in Mule 4 (Part 1)</title><link>https://prostdev.com/post/amazon-dynamodb-connector-operations-in-mule-4-part-1/</link><guid isPermaLink="true">https://prostdev.com/post/amazon-dynamodb-connector-operations-in-mule-4-part-1/</guid><description>This blog post provides quick examples of how to use the Amazon DynamoDB Connector in Mule 4 using Anypoint Studio. Operations: create table, describe table, list tables, put item, batch put item (single and multiple tables), get item, batch get item, update item, query, scan, delete item, batch delete item.</description><pubDate>Tue, 29 Mar 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>AWS</category><category>Anypoint Studio</category></item><item><title>Guidelines to submit your content in ProstDev</title><link>https://prostdev.com/post/guidelines-to-submit-your-content-in-prostdev/</link><guid isPermaLink="true">https://prostdev.com/post/guidelines-to-submit-your-content-in-prostdev/</guid><description>Please take care of the following guidelines before submitting your application to contribute.</description><pubDate>Tue, 22 Mar 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Anypoint Platform Single Sign-on (SSO) SAML Configuration with Oracle IDCS - PART 2</title><link>https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-2/</link><guid isPermaLink="true">https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-2/</guid><description>Our last article was about how to integrate MuleSoft Anypoint Platform with Oracle Identity Cloud Services. With this, you can use Oracle IDCS as your Identity Provider. This is very useful for Single Sign-On purposes, and if you already have Oracle Cloud Infrastructure and you are using MuleSoft to integrate it with Oracle SaaS apps, this alternative for SSO should be a good fit for you.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>SSO</category><category>SAML</category><category>Oracle</category></item><item><title>Basic Google Big Query operations with a Salesforce sync demo in Mule 4</title><link>https://prostdev.com/post/basic-google-big-query-operations-with-a-salesforce-sync-demo-in-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/basic-google-big-query-operations-with-a-salesforce-sync-demo-in-mule-4/</guid><description>In this post, I would like to demonstrate in a few steps how we can make a sync job that allows us to describe a Salesforce instance and use a few objects to create a full schema of those objects (tables) into a Google Big Query Dataset. Then with the schema created we should be able to push some data into BigQuery from Salesforce and see it in our Google Cloud Console project.</description><pubDate>Tue, 01 Mar 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Salesforce</category><category>Google BigQuery</category><category>Anypoint Studio</category></item><item><title>Oracle database Stored Procedure does not time out as expected in MuleSoft</title><link>https://prostdev.com/post/oracle-database-stored-procedure-does-not-time-out-as-expected-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/oracle-database-stored-procedure-does-not-time-out-as-expected-in-mulesoft/</guid><description>In a recent MuleSoft project, I noticed a problem when trying to run an Oracle stored procedure that took a fair amount of time to complete.</description><pubDate>Tue, 15 Feb 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Oracle</category><category>Docker</category></item><item><title>Anypoint Platform Single Sign-on (SSO) SAML Configuration with Oracle IDCS – PART 1</title><link>https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-1/</link><guid isPermaLink="true">https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-1/</guid><description>In this post, we talk about how to do SSO in Anypoint Platform using Oracle Identity Cloud Services (IDCS). Useful for MuleSoft+Oracle SaaS.</description><pubDate>Tue, 01 Feb 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>SSO</category><category>SAML</category><category>Oracle</category></item><item><title>How to check if a key is present in a JSON payload in DataWeave with these 3 examples</title><link>https://prostdev.com/post/how-to-check-if-a-key-is-present-in-a-json-payload-in-dataweave-with-these-3-examples/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-check-if-a-key-is-present-in-a-json-payload-in-dataweave-with-these-3-examples/</guid><description>Here are 3 examples where you can see how to check if a key in the input JSON payload is present or not.</description><pubDate>Tue, 18 Jan 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>MuleSoft Connected with Oracle Streaming Service using the Kafka Connector</title><link>https://prostdev.com/post/mulesoft-connected-with-oracle-streaming-service-using-the-kafka-connector/</link><guid isPermaLink="true">https://prostdev.com/post/mulesoft-connected-with-oracle-streaming-service-using-the-kafka-connector/</guid><description>This article is focused on highlighting MuleSoft&apos;s Kafka connector, to be used with OCI Streaming Services.</description><pubDate>Tue, 04 Jan 2022 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Kafka</category><category>Oracle</category><category>Anypoint Studio</category></item><item><title>CVE-2021-44228: Critical zero-day Log4j vulnerability (Log4Shell) discovered and MuleSoft’s solution</title><link>https://prostdev.com/post/cve-2021-44228-critical-zero-day-log4j-vulnerability-log4shell-discovered-and-mulesoft-s-solution/</link><guid isPermaLink="true">https://prostdev.com/post/cve-2021-44228-critical-zero-day-log4j-vulnerability-log4shell-discovered-and-mulesoft-s-solution/</guid><description>Over December 2021, a critical vulnerability has been unraveled pertinent to Apache’s Log4j library. Let&apos;s understand what happened.</description><pubDate>Wed, 15 Dec 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>CloudHub</category><category>Anypoint Studio</category><category>Maven</category><category>Security</category></item><item><title>Anypoint Studio 7.11.0: New features overview</title><link>https://prostdev.com/post/anypoint-studio-7-11-0-new-features-overview/</link><guid isPermaLink="true">https://prostdev.com/post/anypoint-studio-7-11-0-new-features-overview/</guid><description>Are you already using the newest version of Anypoint Studio? Let me guide you through the coolest features it has. Studio includes 3 new features that you will enjoy: Support for Mule Runtime 4.4, DataWeave 2.4, and the new &quot;Referenced by&quot; function.</description><pubDate>Tue, 14 Dec 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Anypoint Studio</category></item><item><title>Retry and Reprocess flow design with Anypoint MQ</title><link>https://prostdev.com/post/retry-and-reprocess-flow-design-with-anypoint-mq/</link><guid isPermaLink="true">https://prostdev.com/post/retry-and-reprocess-flow-design-with-anypoint-mq/</guid><description>In any MuleSoft project, when Anypoint MQ comes into the picture there is always a requirement of retry and reprocess mechanism. Based on my experience I have prepared this blog to show how easily we can design retry and reprocess mechanisms.</description><pubDate>Tue, 16 Nov 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint MQ</category><category>Anypoint Studio</category><category>Spring</category></item><item><title>How to configure Solace DMQ (Dead Message Queue) through the Mule JMS connector</title><link>https://prostdev.com/post/how-to-configure-solace-dmq-dead-message-queue-through-the-mule-jms-connector/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-configure-solace-dmq-dead-message-queue-through-the-mule-jms-connector/</guid><description>In this post, I will be explaining how to configure Solace DMQ through the Mule JMS Connector. There can be many business scenarios where the processing of the message will be delayed by a predefined amount of time. In such scenarios, we can make use of the concept of the TTL property and the DMQ.</description><pubDate>Tue, 09 Nov 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Solace</category><category>JMS</category></item><item><title>How to Handle Single and XA (Extended Architecture) Transactions in MuleSoft</title><link>https://prostdev.com/post/how-to-handle-single-and-xa-extended-architecture-transactions-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-handle-single-and-xa-extended-architecture-transactions-in-mulesoft/</guid><description>A transaction is a group of operations where all the steps are needed to be successful to commit a result. If any one of the intermediate steps fail, the whole chain of steps fails collectively. In this post, we&apos;ll learn how to implement Single and XA transactions using MuleSoft.</description><pubDate>Tue, 12 Oct 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category><category>JMS</category></item><item><title>How to create a README file for your GitHub profile, part 2: Markdown basics</title><link>https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-2-markdown-basics/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-2-markdown-basics/</guid><description>In this series of posts, I&apos;ll show you how to create a striking README.md file to attach to your GitHub profile.</description><pubDate>Tue, 28 Sep 2021 00:00:00 GMT</pubDate><category>GitHub</category><category>Markdown</category></item><item><title>MuleSoft Runtime Fabric Deployed on Oracle Cloud Infrastructure (OCI) - Part 2: Mgmt &amp; Operations</title><link>https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-2-mgmt-operations/</link><guid isPermaLink="true">https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-2-mgmt-operations/</guid><description>This is the second part of a series of articles focused on MuleSoft Runtime Fabric. It&apos;s time to learn some mechanisms to manage a cluster.</description><pubDate>Tue, 21 Sep 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Runtime Fabric</category><category>Oracle</category><category>Kubernetes</category><category>Anypoint Platform</category></item><item><title>How to create a README file for your GitHub profile, part 1: Intro to Git, GitHub, and README files</title><link>https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-1-intro-to-git-github-and-readme-files/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-1-intro-to-git-github-and-readme-files/</guid><description>In this series of posts, I’ll show you how to create a striking README.md file to attach to your GitHub profile.</description><pubDate>Tue, 14 Sep 2021 00:00:00 GMT</pubDate><category>GitHub</category><category>Markdown</category></item><item><title>Notification center for new versions of connectors/modules in Anypoint Studio 7.10.0</title><link>https://prostdev.com/post/notification-center-for-new-versions-of-connectors-modules/</link><guid isPermaLink="true">https://prostdev.com/post/notification-center-for-new-versions-of-connectors-modules/</guid><description>This post is about the new Anypoint Studio 7.10.0 version released July 29th, 2021. Here is a summary of the new changes introduced in this version, with a closer look at the Notification Center for new versions of connectors.</description><pubDate>Tue, 31 Aug 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category></item><item><title>Recommendation: Logitech MX Ergo Advanced (Plus) Wireless Trackball Mouse</title><link>https://prostdev.com/post/recommendation-logitech-mx-ergo-advanced-plus-wireless-trackball-mouse/</link><guid isPermaLink="true">https://prostdev.com/post/recommendation-logitech-mx-ergo-advanced-plus-wireless-trackball-mouse/</guid><description>I bought this mouse less than 24 hours ago, and I&apos;m already completely in love with it.</description><pubDate>Tue, 10 Aug 2021 00:00:00 GMT</pubDate><category>Hardware</category><category>macOS</category></item><item><title>MuleSoft Runtime Fabric Deployed on Oracle Cloud Infrastructure (OCI) - Part 1</title><link>https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-1/</link><guid isPermaLink="true">https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-1/</guid><description>MuleSoft offers on-premise deployments such as Standalone, Runtime Fabric, and Private Cloud Edition. Runtime Fabric (RTF) is a hybrid deployment model. You still have the Control Plane in the cloud but the workloads (Runtime Plane) are running at the customer end. I am going to use Oracle Cloud Infrastructure to explain the pre-requisites and part of the installation process.</description><pubDate>Tue, 03 Aug 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Runtime Fabric</category><category>Oracle</category><category>Kubernetes</category><category>Docker</category></item><item><title>DataWeave Parsing Date Modes: SMART, STRICT, and LENIENT</title><link>https://prostdev.com/post/dataweave-parsing-date-modes-smart-strict-and-lenient/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-parsing-date-modes-smart-strict-and-lenient/</guid><description>We know that in DataWeave the types can be coerced from one type to another. For that we use the as operator. There is a property called mode that we can use when we are parsing date and time values. The mode parameter has three different valid values: SMART, STRICT, and LENIENT. The default mode when you are parsing dates is SMART.</description><pubDate>Tue, 13 Jul 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Encryption in DataWeave: HMACBinary and toBase64 functions</title><link>https://prostdev.com/post/encryption-in-dataweave-hmacbinary-and-tobase64-functions/</link><guid isPermaLink="true">https://prostdev.com/post/encryption-in-dataweave-hmacbinary-and-tobase64-functions/</guid><description>The main objective of this post is to show how we can implement a field level encryption for a JSON payload in MuleSoft using DataWeave, using the Crypto module and the toBase64 function.</description><pubDate>Tue, 29 Jun 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to retrieve the number of years, months, or days between two dates in DataWeave 2.0</title><link>https://prostdev.com/post/how-to-retrieve-the-number-of-years-months-or-days-between-two-dates-in-dataweave-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-retrieve-the-number-of-years-months-or-days-between-two-dates-in-dataweave-2-0/</guid><description>I needed to get a person&apos;s age. I started using &quot;daysBetween&quot; but this was a wrong way. In this post, I&apos;ll show you how to use the &quot;between&quot; function from the Periods module to retrieve the number of years, months, or days between two dates.</description><pubDate>Tue, 15 Jun 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Dynamic Variable in MuleSoft</title><link>https://prostdev.com/post/dynamic-variable-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/dynamic-variable-in-mulesoft/</guid><description>On one of my assignments, I was presented with a rather peculiar demand: to write the records belonging to a unique identifier in a variable. The catch was, we do not know how many such unique identifiers are going to come in a particular batch. The flow will read an excel file and, based on the query string, we&apos;ll segregate the records -using a foreach component- and send an email with the final payload.</description><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Anypoint Studio</category></item><item><title>My top 5 DataWeave tips to make your life easier</title><link>https://prostdev.com/post/my-top-5-dataweave-tips-to-make-your-life-easier/</link><guid isPermaLink="true">https://prostdev.com/post/my-top-5-dataweave-tips-to-make-your-life-easier/</guid><description>It took me some time to find and fully understand how to use these hacks. Trust me; they&apos;re truly worth it: the DataWeave Playground, the dw output, the log function, the do statement, and assigning types to variables and functions (with Function Overloading when needed).</description><pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Easiest way to integrate automatic code review of MuleSoft apps using SonarQube and Docker Container</title><link>https://prostdev.com/post/easiest-way-to-integrate-automatic-code-review-of-mulesoft-apps-using-sonarqube-and-docker-container/</link><guid isPermaLink="true">https://prostdev.com/post/easiest-way-to-integrate-automatic-code-review-of-mulesoft-apps-using-sonarqube-and-docker-container/</guid><description>SonarQube is a platform for continuous inspection of code quality to perform automatic reviews with static analysis of code. The quickest way to have an installation of SonarQube up and running is using a Docker container. Let&apos;s use Docker Hub (the world&apos;s largest library and community for container images) to find a SonarQube Docker container to perform our MuleSoft applications code reviews.</description><pubDate>Tue, 25 May 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Docker</category><category>SonarQube</category><category>Maven</category><category>CI/CD</category></item><item><title>Trigger Events in Salesforce; Receive Them in MuleSoft</title><link>https://prostdev.com/post/trigger-events-in-salesforce-receive-them-in-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/trigger-events-in-salesforce-receive-them-in-mulesoft/</guid><description>In this post I am going to show you how we can create a MuleSoft Flow that can react to three different events generated by Salesforce: On Create Event, On Modify Event, and On Delete Event. We will use Lead as the entity in Salesforce. We are interested to know if a Lead was created, updated, or deleted.</description><pubDate>Tue, 18 May 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>Anypoint Studio</category></item><item><title>Mule 4 Unsplash Connector</title><link>https://prostdev.com/post/mule-4-unsplash-connector/</link><guid isPermaLink="true">https://prostdev.com/post/mule-4-unsplash-connector/</guid><description>Unsplash has a REST API that provides a bunch of nice features like image search, photo actions, collections, topics and users. This time I have created a new custom connector for Mule 4 to use a couple operations (Get Random Photo and Search Photos).</description><pubDate>Tue, 11 May 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category><category>REST</category></item><item><title>ProstDev&apos;s New Blog Post Template</title><link>https://prostdev.com/post/prostdev-s-new-blog-post-template/</link><guid isPermaLink="true">https://prostdev.com/post/prostdev-s-new-blog-post-template/</guid><description>A step-by-step guide for new writers on how to create a blog post with ProstDev, covering the Google Doc template, word count, title, excerpt, SEO description, article formatting, and the review process.</description><pubDate>Tue, 04 May 2021 00:00:00 GMT</pubDate><category>Content Creation</category></item><item><title>The Power of cURL - Part II</title><link>https://prostdev.com/post/the-power-of-curl-part-ii/</link><guid isPermaLink="true">https://prostdev.com/post/the-power-of-curl-part-ii/</guid><description>Overview of cURL and how to invoke HTTP methods from the command line. I go into detail on how to invoke APIs using HTTP GET and POST requests, as well as how to pass query parameters, URI parameters and headers. This post will explain how to invoke APIs using HTTPS via cURL.</description><pubDate>Tue, 27 Apr 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>cURL</category><category>API</category></item><item><title>3 ways to import a function/module in DataWeave 2.0</title><link>https://prostdev.com/post/3-ways-to-import-a-function-module-in-dataweave-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/3-ways-to-import-a-function-module-in-dataweave-2-0/</guid><description>There are different ways to import a module in DataWeave for functions that aren&apos;t part of the core: import the module directly, import all functions from a module, or import one or more specific functions from a module.</description><pubDate>Tue, 20 Apr 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to integrate Solace PubSub+ Cloud with MuleSoft - Negative Scenario (Error Handling)</title><link>https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft-negative-scenario-error-handling/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft-negative-scenario-error-handling/</guid><description>Even though the error handling logic varies depending on use cases, business requirements, organizational processes, etc. I believe the core approach to error handling for message-based integrations would more or less remain the same for different applications. The most common approach consists of the following steps.</description><pubDate>Tue, 13 Apr 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Solace</category><category>JMS</category><category>Salesforce</category></item><item><title>How to integrate Solace PubSub+ Cloud with MuleSoft</title><link>https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft/</guid><description>In this article, I will demonstrate how to integrate Solace PubSub+ with MuleSoft to publish and consume the messages.</description><pubDate>Tue, 06 Apr 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Solace</category><category>JMS</category><category>Salesforce</category><category>Anypoint Studio</category></item><item><title>The Power of cURL</title><link>https://prostdev.com/post/the-power-of-curl/</link><guid isPermaLink="true">https://prostdev.com/post/the-power-of-curl/</guid><description>cURL is a command-line tool used to transfer files and invoke APIs over protocols like HTTP, HTTPS, and FTP. Learn how to send GET, query params, URI params, headers, and POST requests, plus how to print output.</description><pubDate>Tue, 30 Mar 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>API</category><category>cURL</category></item><item><title>How to check for empty values in an array in DataWeave | Part 4: Arrays Module</title><link>https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-4-arrays-module/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-4-arrays-module/</guid><description>I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve almost the same output using DataWeave. Part 4: Using the Arrays Module, Pattern Matching, and Function Overloading.</description><pubDate>Tue, 23 Feb 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to check for empty values in an array in DataWeave | Part 3: isEmpty, filter</title><link>https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-3-isempty-filter/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-3-isempty-filter/</guid><description>I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 3: Using isEmpty and filter.</description><pubDate>Tue, 16 Feb 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to check for empty values in an array in DataWeave | Part 2: sizeOf, filter, isEmpty, default</title><link>https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-2-sizeof-filter-isempty-default/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-2-sizeof-filter-isempty-default/</guid><description>I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 2: Using sizeOf, filter, isEmpty, and default.</description><pubDate>Tue, 09 Feb 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>How to check for empty values in an array in DataWeave | Part 1: sizeOf, groupBy, isEmpty, default</title><link>https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-1-sizeof-groupby-isempty-default/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-1-sizeof-groupby-isempty-default/</guid><description>I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 1: Using sizeOf, groupBy, isEmpty, and default.</description><pubDate>Tue, 02 Feb 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Using Salesforce Search in Mule 4</title><link>https://prostdev.com/post/using-salesforce-search-in-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/using-salesforce-search-in-mule-4/</guid><description>One of the most used actions when we work with Salesforce integrations is the use of query. But there&apos;s one action we don&apos;t use very often: the Salesforce Object Search Language (SOSL). In this post we walk through a Mule 4 application that uses SOSL to validate Contacts and Leads and decide whether to update or create records.</description><pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Salesforce</category><category>DataWeave</category></item><item><title>DataWeave 2.0 core functions cheatsheet</title><link>https://prostdev.com/post/dataweave-2-0-core-functions-cheatsheet/</link><guid isPermaLink="true">https://prostdev.com/post/dataweave-2-0-core-functions-cheatsheet/</guid><description>A compilation of all the core functions that can be used in DataWeave 2.0 according to MuleSoft&apos;s official documentation, separated by input and output, with a link to each function&apos;s official documentation page.</description><pubDate>Tue, 19 Jan 2021 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Understanding APIs (Part 6): What are HTTP Status Codes?</title><link>https://prostdev.com/post/understanding-apis-part-6-what-are-http-status-codes/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-6-what-are-http-status-codes/</guid><description>There are a lot of Status Codes reserved for certain API Responses, but we will be looking at the most popular ones: 200, 201, 202, 204, 400, 401, 403, 404, and 500.</description><pubDate>Tue, 12 Jan 2021 00:00:00 GMT</pubDate><category>API</category><category>Postman</category><category>HTTP</category></item><item><title>Why should an editor review your blog posts?</title><link>https://prostdev.com/post/why-should-an-editor-review-your-blog-posts/</link><guid isPermaLink="true">https://prostdev.com/post/why-should-an-editor-review-your-blog-posts/</guid><description>Grammar tools aren&apos;t foolproof. Here&apos;s my perspective on why having a professional editor review your content is the best way to bullet-proof your articles from misunderstandings.</description><pubDate>Tue, 05 Jan 2021 00:00:00 GMT</pubDate><category>Content Creation</category></item><item><title>Implementing Pagination with MuleSoft</title><link>https://prostdev.com/post/implementing-pagination-with-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/implementing-pagination-with-mulesoft/</guid><description>How to process n number of pages from a backend API and return the combined response back to the calling client, demonstrated with the GitHub REST API and asynchronous processing.</description><pubDate>Tue, 15 Dec 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>GitHub</category></item><item><title>Understanding APIs (Part 5): Intro to Postman and Query Parameters</title><link>https://prostdev.com/post/understanding-apis-part-5-intro-to-postman-and-query-parameters/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-5-intro-to-postman-and-query-parameters/</guid><description>Continuing with the last topic, URIs, we will now get started using Postman and learning what Query Parameters are, plus how HTML URL encoding works in a real-life Expedia example.</description><pubDate>Tue, 08 Dec 2020 00:00:00 GMT</pubDate><category>API</category><category>Postman</category></item><item><title>Anypoint Platform Chrome Extension</title><link>https://prostdev.com/post/anypoint-platform-chrome-extension/</link><guid isPermaLink="true">https://prostdev.com/post/anypoint-platform-chrome-extension/</guid><description>A walkthrough of the features available so far in the Anypoint Platform Chrome Extension: see your Organization name, Organization id and Environment id, inspect Runtime Manager applications, view schedulers, and check alerts.</description><pubDate>Tue, 01 Dec 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category></item><item><title>Understanding APIs (Part 4): What is a URI?</title><link>https://prostdev.com/post/understanding-apis-part-4-what-is-a-uri/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-4-what-is-a-uri/</guid><description>Learn what a URL and a URI really are and how they fit into our previously defined API diagram, using the public Joke API as a hands-on example.</description><pubDate>Tue, 24 Nov 2020 00:00:00 GMT</pubDate><category>API</category><category>REST</category><category>HTTP</category></item><item><title>Understanding APIs (Part 3): What are HTTP Methods?</title><link>https://prostdev.com/post/understanding-apis-part-3-what-are-http-methods/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-3-what-are-http-methods/</guid><description>The most popular HTTP methods are GET, POST, PUT, PATCH, and DELETE. GET retrieves data, POST creates new data, PUT updates or replaces data, PATCH updates parts of existing data, and DELETE removes data — and how each fits into the API Request and Operation.</description><pubDate>Tue, 03 Nov 2020 00:00:00 GMT</pubDate><category>API</category><category>REST</category></item><item><title>How to connect your Philips Hue Smart Lights with Google Calendar</title><link>https://prostdev.com/post/how-to-connect-your-philips-hue-smart-lights-with-google-calendar/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-connect-your-philips-hue-smart-lights-with-google-calendar/</guid><description>Synchronize your Philips Hue Smart Lights with your Google Calendar using IFTTT so your lights turn red when you&apos;re in a meeting.</description><pubDate>Tue, 27 Oct 2020 00:00:00 GMT</pubDate><category>Smart Home</category></item><item><title>Things to consider before buying a Philips Hue Smart Light</title><link>https://prostdev.com/post/things-to-consider-before-buying-a-philips-hue-smart-light/</link><guid isPermaLink="true">https://prostdev.com/post/things-to-consider-before-buying-a-philips-hue-smart-light/</guid><description>If you own an Amazon Alexa or Google Assistant device for your smart home, you may be looking into smart lights too. Here are the pros and cons of using Philips Hue.</description><pubDate>Thu, 22 Oct 2020 00:00:00 GMT</pubDate><category>Hardware</category><category>Smart Home</category></item><item><title>3 Simple Steps to Convert a Flat File into JSON / CSV / XML</title><link>https://prostdev.com/post/3-simple-steps-to-convert-a-flat-file-into-json-csv-xml/</link><guid isPermaLink="true">https://prostdev.com/post/3-simple-steps-to-convert-a-flat-file-into-json-csv-xml/</guid><description>How to convert a Flat File into JSON, CSV, or XML using DataWeave 2.0, with Anypoint Studio 7.4 and Mule Runtime 4.2.2 — from creating the copybook to the final transformation.</description><pubDate>Tue, 20 Oct 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>7 tips to start writing your technical blog post</title><link>https://prostdev.com/post/7-tips-to-start-writing-your-technical-blog-post/</link><guid isPermaLink="true">https://prostdev.com/post/7-tips-to-start-writing-your-technical-blog-post/</guid><description>We already chose our topic and visualized our target audience. Now it&apos;s time to actually start writing! Follow these 7 simple steps to get your technical blog post going.</description><pubDate>Tue, 13 Oct 2020 00:00:00 GMT</pubDate><category>Content Creation</category></item><item><title>Implementing NetSuite Saved Search with MuleSoft</title><link>https://prostdev.com/post/implementing-netsuite-saved-search-with-mulesoft/</link><guid isPermaLink="true">https://prostdev.com/post/implementing-netsuite-saved-search-with-mulesoft/</guid><description>NetSuite is a SaaS-based ERP which allows companies to manage important business using a single tool. MuleSoft provides a NetSuite connector, which enables to automate the business process and synchronize the data between NetSuite and third-party tools.</description><pubDate>Tue, 06 Oct 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>What is CIDR (Classless Inter-Domain Routing) in MuleSoft VPC</title><link>https://prostdev.com/post/what-is-cidr-classless-inter-domain-routing-in-mulesoft-vpc/</link><guid isPermaLink="true">https://prostdev.com/post/what-is-cidr-classless-inter-domain-routing-in-mulesoft-vpc/</guid><description>CIDR stands for Classless Inter-Domain Routing and it&apos;s a way of allocating IP addresses or hosts in a more efficient manner. It replaces the old way of allocating IP addresses based on the class system and avoids the waste of IP Addresses.</description><pubDate>Tue, 29 Sep 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>CloudHub</category><category>Networking</category></item><item><title>Mule 4 Continuous Integration using Azure DevOps</title><link>https://prostdev.com/post/mule-4-continuous-integration-using-azure-devops/</link><guid isPermaLink="true">https://prostdev.com/post/mule-4-continuous-integration-using-azure-devops/</guid><description>How to create Continuous Integration (CI) to automatically deploy a MuleSoft application into CloudHub (CH) or On-Premise (On-prem) server. Creating a new project in Azure, setting up the RAML to generate the Mule flows, adding properties, generating a personal access token, preparing the settings.xml and pom.xml files</description><pubDate>Thu, 24 Sep 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Azure DevOps</category><category>CloudHub</category><category>CI/CD</category><category>RAML</category></item><item><title>Implementing Mapping Rules With MuleSoft Dedicated Load Balancer</title><link>https://prostdev.com/post/implementing-mapping-rules-with-mulesoft-dedicated-load-balancer/</link><guid isPermaLink="true">https://prostdev.com/post/implementing-mapping-rules-with-mulesoft-dedicated-load-balancer/</guid><description>Dedicated Load Balancer is an optional component within the Anypoint Platform used to route HTTP and HTTPS traffic to multiple applications deployed to CloudHub workers in the VPC. Learn how to apply mapping rules on a dedicated load balancer (DLB) to redirect requests to CloudHub apps.</description><pubDate>Tue, 22 Sep 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Platform</category><category>CloudHub</category></item><item><title>Securing APIs: Two ways to apply policies for CloudHub applications</title><link>https://prostdev.com/post/securing-apis-two-ways-to-apply-policies-for-cloudhub-applications/</link><guid isPermaLink="true">https://prostdev.com/post/securing-apis-two-ways-to-apply-policies-for-cloudhub-applications/</guid><description>Apply policies via Anypoint Platform&apos;s API Manager in two different ways: creating Proxy APIs, or without creating Proxy APIs. The main difference is either using the API ID in Auto-Discovery, or letting Mule create a proxy on top of your app.</description><pubDate>Tue, 15 Sep 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>API</category><category>Anypoint Platform</category><category>CloudHub</category><category>RAML</category></item><item><title>Things to consider before writing a technical blog post</title><link>https://prostdev.com/post/things-to-consider-before-writing-a-technical-blog-post/</link><guid isPermaLink="true">https://prostdev.com/post/things-to-consider-before-writing-a-technical-blog-post/</guid><description>Thinking about writing your first technical article but not sure where to start? Here are some tips on choosing what to write about and defining your target audience so you can get your first post out.</description><pubDate>Tue, 08 Sep 2020 00:00:00 GMT</pubDate><category>Content Creation</category></item><item><title>Understanding APIs (Part 2): API Analogies and Examples</title><link>https://prostdev.com/post/understanding-apis-part-2-api-analogies-and-examples/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-2-api-analogies-and-examples/</guid><description>Learn about some analogies and real-life examples of APIs to understand them better, including a restaurant, a calculator, and a Human Resources (HR) API using CSV and JSON data types.</description><pubDate>Thu, 03 Sep 2020 00:00:00 GMT</pubDate><category>API</category><category>REST</category></item><item><title>Creating a connector and consuming it from a Mule Application</title><link>https://prostdev.com/post/creating-a-connector-and-consuming-it-from-a-mule-application/</link><guid isPermaLink="true">https://prostdev.com/post/creating-a-connector-and-consuming-it-from-a-mule-application/</guid><description>Learn what an Anypoint Connector is, why you might need a custom connector, and how to create one with Maven, configure the POM, publish it to Anypoint Exchange, and consume it from a Mule application.</description><pubDate>Tue, 01 Sep 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Exchange</category><category>Maven</category><category>Java</category><category>Anypoint Platform</category></item><item><title>Understanding APIs (Part 1): What is an API?</title><link>https://prostdev.com/post/understanding-apis-part-1-what-is-an-api/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-apis-part-1-what-is-an-api/</guid><description>The concept of an API can be hard to grasp. This post gives a simple explanation of what an API is, its 4 aspects (Inputs, Operations, Outputs, Data Types), and how Requests and Responses fit together — plus a diagram to refer back to.</description><pubDate>Thu, 27 Aug 2020 00:00:00 GMT</pubDate><category>API</category><category>REST</category></item><item><title>Reviewing Sorting Algorithms: Merge Sort</title><link>https://prostdev.com/post/reviewing-sorting-algorithms-merge-sort/</link><guid isPermaLink="true">https://prostdev.com/post/reviewing-sorting-algorithms-merge-sort/</guid><description>Learn how to implement a Merge Sort sorting algorithm using Python. Merge Sort&apos;s time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages.</description><pubDate>Tue, 25 Aug 2020 00:00:00 GMT</pubDate><category>Python</category><category>Algorithms</category></item><item><title>IoT with MuleSoft: Implementing a Temperature Sensor using LED lights, Twilio, and a Raspberry PI</title><link>https://prostdev.com/post/iot-with-mulesoft-implementing-a-temperature-sensor-using-led-lights-twilio-and-a-raspberry-pi/</link><guid isPermaLink="true">https://prostdev.com/post/iot-with-mulesoft-implementing-a-temperature-sensor-using-led-lights-twilio-and-a-raspberry-pi/</guid><description>How to implement Internet of Things (IoT) with MuleSoft: a use case that senses temperature with a Raspberry PI, sends it via Twilio, and blinks a green or red LED depending on the result.</description><pubDate>Thu, 20 Aug 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Smart Home</category><category>Twilio</category><category>DataWeave</category><category>Python</category><category>Groovy</category></item><item><title>Cryptography Module Mule 4 - Part 1 (PGP Encryption/Decryption)</title><link>https://prostdev.com/post/cryptography-module-mule-4-part-1-pgp-encryption-decryption/</link><guid isPermaLink="true">https://prostdev.com/post/cryptography-module-mule-4-part-1-pgp-encryption-decryption/</guid><description>Mule 4 has a Cryptography module which includes PGP, XML, and JCE. In this article, we will see the PGP technique — a cryptographic way that allows secure communication between two entities using public and private keys.</description><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category><category>DataWeave</category></item><item><title>3 simple rules &amp; 5 examples to understand the Error Handling in Mule 4</title><link>https://prostdev.com/post/3-simple-rules-5-examples-to-understand-the-error-handling-in-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/3-simple-rules-5-examples-to-understand-the-error-handling-in-mule-4/</guid><description>This article on Error Handling in Mule 4 will help you understand the core concept of On-Error Propagate and On-Error Continue, with three simple rules and five examples.</description><pubDate>Thu, 13 Aug 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Error Handling</category><category>Anypoint Studio</category></item><item><title>How to run locally the DataWeave Playground Docker Image</title><link>https://prostdev.com/post/how-to-run-locally-the-dataweave-playground-docker-image/</link><guid isPermaLink="true">https://prostdev.com/post/how-to-run-locally-the-dataweave-playground-docker-image/</guid><description>You may already know about the DataWeave (DW) Playground that can be used for both versions of DW: 1.0 and 2.0. I will explain how to get this Docker Image running on your laptop (even if you don&apos;t know how to use Docker).</description><pubDate>Tue, 11 Aug 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Docker</category></item><item><title>Parallel For-Each Scope (Mule 4)</title><link>https://prostdev.com/post/parallel-for-each-scope-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/parallel-for-each-scope-mule-4/</guid><description>Learn how to implement the new ForEach MuleSoft component that was released in Mule 4. Read this post for information about this integration technique: how does it work, how can you implement it, how to install in your Mule palette, and how to configure Error Handling for this scope.</description><pubDate>Thu, 06 Aug 2020 00:00:00 GMT</pubDate><category>MuleSoft</category></item><item><title>Reviewing Sorting Algorithms: Insertion Sort</title><link>https://prostdev.com/post/reviewing-sorting-algorithms-insertion-sort/</link><guid isPermaLink="true">https://prostdev.com/post/reviewing-sorting-algorithms-insertion-sort/</guid><description>Learn how to implement an Insertion Sort sorting algorithm using Python. Insertion Sort&apos;s time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages.</description><pubDate>Tue, 04 Aug 2020 00:00:00 GMT</pubDate><category>Python</category><category>Algorithms</category></item><item><title>Dell Boomi Integrations: Using the Atom Queue Connector</title><link>https://prostdev.com/post/dell-boomi-integrations-using-the-atom-queue-connector/</link><guid isPermaLink="true">https://prostdev.com/post/dell-boomi-integrations-using-the-atom-queue-connector/</guid><description>The Atom Queue connector is used to send and receive messages to and from Dell Boomi Integration Atom message queues. The connector supports both Point-to-Point and Publish/Subscribe messaging. For a better understanding of how Atom Queue works, I did a proof of concept.</description><pubDate>Tue, 28 Jul 2020 00:00:00 GMT</pubDate><category>Dell Boomi</category><category>Anypoint MQ</category></item><item><title>Understanding the &quot;illegal base64 character&quot; error (Java, Groovy and Mule 4 - DW 2.0)</title><link>https://prostdev.com/post/understanding-the-illegal-base64-character-error-java-groovy-and-mule-4-dw-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/understanding-the-illegal-base64-character-error-java-groovy-and-mule-4-dw-2-0/</guid><description>Are you familiar with the fromBase64 or the toBase64 functions from DataWeave 2.0? What about the getUrlEncoder or the getEncoder functions from Java? Do you know the differences between the &quot;basic&quot; Base 64 encoding and the &quot;URL and Filename safe&quot; Base 64 encoding? Maybe you&apos;re here because you keep getting this error.</description><pubDate>Tue, 21 Jul 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category><category>Java</category><category>Groovy</category></item><item><title>Custom Modules in Mule 4 - DataWeave 2.0</title><link>https://prostdev.com/post/custom-modules-in-mule-4-dataweave-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/custom-modules-in-mule-4-dataweave-2-0/</guid><description>Some days ago, I started using this great functionality in DataWeave (DW) 2.0 - Mule 4, and I faced some challenges while creating the code. I&apos;ll explain what a custom module is, why you would want to use it, some examples on how you can use it, and finally, how to load properties into this module.</description><pubDate>Thu, 16 Jul 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>Reviewing Sorting Algorithms: Selection Sort</title><link>https://prostdev.com/post/reviewing-sorting-algorithms-selection-sort/</link><guid isPermaLink="true">https://prostdev.com/post/reviewing-sorting-algorithms-selection-sort/</guid><description>Learn how to implement a Selection Sort sorting algorithm using Python. Selection Sort&apos;s time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages.</description><pubDate>Tue, 14 Jul 2020 00:00:00 GMT</pubDate><category>Python</category><category>Algorithms</category></item><item><title>Software Quality is not cheap, but would you risk your company&apos;s future for the lack of it?</title><link>https://prostdev.com/post/software-quality-is-not-cheap-but-would-you-risk-your-company-s-future-for-the-lack-of-it/</link><guid isPermaLink="true">https://prostdev.com/post/software-quality-is-not-cheap-but-would-you-risk-your-company-s-future-for-the-lack-of-it/</guid><description>Learn about what is software quality, what is a quality assurance resource (QA), best practices when coding, what is the importance of testing, some software quality types and objectives: unit testing, integration testing, system testing. Functional vs. Non-functional testing. How to ensure your customer&apos;s satisfaction</description><pubDate>Thu, 09 Jul 2020 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Scatter-Gather Integration Pattern (Mule 4) Part 2</title><link>https://prostdev.com/post/scatter-gather-integration-pattern-mule-4-part-2/</link><guid isPermaLink="true">https://prostdev.com/post/scatter-gather-integration-pattern-mule-4-part-2/</guid><description>Learn about the scatter-gather integration pattern and how to implement it in MuleSoft (Mule 4). How the input message gets processed, how to code error handling scope with this component, and how to test it using Postman. What happens if you have multiple services calls, and the configuration XML file for you to try.</description><pubDate>Tue, 07 Jul 2020 00:00:00 GMT</pubDate><category>MuleSoft</category></item><item><title>Reviewing Sorting Algorithms: Bubble Sort</title><link>https://prostdev.com/post/reviewing-sorting-algorithms-bubble-sort/</link><guid isPermaLink="true">https://prostdev.com/post/reviewing-sorting-algorithms-bubble-sort/</guid><description>Learn how to implement a Bubble Sort sorting algorithm using Python. Bubble Sort&apos;s time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages.</description><pubDate>Tue, 30 Jun 2020 00:00:00 GMT</pubDate><category>Python</category><category>Algorithms</category></item><item><title>5 reasons why you need an IDE (and how it can save you so much time)</title><link>https://prostdev.com/post/5-reasons-why-you-need-an-ide/</link><guid isPermaLink="true">https://prostdev.com/post/5-reasons-why-you-need-an-ide/</guid><description>What is an IDE? This post explains the concept and walks through five reasons you need one: syntax highlighting, text autocompletion, refactoring options, importing libraries, and build/compile/run — plus favorite IDE examples for different languages.</description><pubDate>Thu, 25 Jun 2020 00:00:00 GMT</pubDate><category>Visual Studio Code</category></item><item><title>Intro to Scatter-Gather Integration Pattern</title><link>https://prostdev.com/post/intro-to-scatter-gather-integration-pattern/</link><guid isPermaLink="true">https://prostdev.com/post/intro-to-scatter-gather-integration-pattern/</guid><description>What is the Scatter-Gather integration pattern? Enterprise Integration Patterns definition. Learn about how this component processes messages in MuleSoft (Mule 3 or Mule 4), when you should use scatter-gather and how does it work, why you should be using it and how to implement it and test it with Postman.</description><pubDate>Tue, 23 Jun 2020 00:00:00 GMT</pubDate><category>MuleSoft</category></item><item><title>JSON Module Component in Mule 4</title><link>https://prostdev.com/post/json-module-component-in-mule-4/</link><guid isPermaLink="true">https://prostdev.com/post/json-module-component-in-mule-4/</guid><description>The JSON Module Connector is used to validate a JSON Payload against the predefined JSON Schema of your choice. Since schema validation falls outside the scope of DataWeave Functionality, the JSON Module can be used in MuleSoft. Learn about the possible exceptions you can get when using this component.</description><pubDate>Tue, 16 Jun 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>JSON</category><category>Anypoint Studio</category></item><item><title>Intro to Regression Testing with Postman</title><link>https://prostdev.com/post/intro-to-regression-testing-with-postman/</link><guid isPermaLink="true">https://prostdev.com/post/intro-to-regression-testing-with-postman/</guid><description>What is Regression Testing, and how can you create basic tests for your API using Postman? We cover the concept with a simple metaphor and then build successful and negative-scenario tests for the Slack API.</description><pubDate>Mon, 08 Jun 2020 00:00:00 GMT</pubDate><category>API</category><category>Postman</category></item><item><title>Combining Objects: Concatenation in DW 2.0</title><link>https://prostdev.com/post/combining-objects-concatenation-in-dw-2-0/</link><guid isPermaLink="true">https://prostdev.com/post/combining-objects-concatenation-in-dw-2-0/</guid><description>What is object concatenation and how to use it in Mule 4 - DataWeave (DW) 2.0. Similar to concat or + functions in other languages, in DW you can use ++ (plus plus), using {( )} and {([ ])} parentheses object destructors with or without arrays. Learn more about MuleSoft here!</description><pubDate>Thu, 28 May 2020 00:00:00 GMT</pubDate><category>MuleSoft</category><category>DataWeave</category></item><item><title>MuleSoft Training and Certification</title><link>https://prostdev.com/post/mulesoft-training-and-certification/</link><guid isPermaLink="true">https://prostdev.com/post/mulesoft-training-and-certification/</guid><description>An intro to what MuleSoft is, what the company and its products do, and how you can get certified for free through their online fundamentals training.</description><pubDate>Thu, 25 May 2017 00:00:00 GMT</pubDate><category>MuleSoft</category><category>Anypoint Studio</category></item><item><title>Less time, less cost, less resources, more apps!</title><link>https://prostdev.com/post/less-time-less-cost-less-resources-more-apps/</link><guid isPermaLink="true">https://prostdev.com/post/less-time-less-cost-less-resources-more-apps/</guid><description>Mobile apps are as important as having an official site for your company, and creating them gets easier and easier. Here&apos;s a look at Ionic, a framework that lets you build cross-platform mobile apps without working twice.</description><pubDate>Tue, 23 Aug 2016 00:00:00 GMT</pubDate><category>Mobile</category></item></channel></rss>