May 25, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

May 25, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

BizTalk360 Maintenance Mode with BizTalk Deployments via Azure DevOps

BizTalk360 Maintenance Mode with BizTalk Deployments via Azure DevOps

Author Credits: Martin Peters, Senior Consultant at Codit

During deployments of BizTalk application, it is common practice to put BizTalk360 in maintenance mode before the deployment and switch to normal mode again after the deployment.

This avoids alerts being sent to various people due to stopping and starting of BizTalk during the deployment. If you are using Azure DevOps to deploy BizTalk applications automatically, you do not want to have a manual process to put BizTalk360 in and out of maintenance mode.

The good news is that BizTalk360 provides a set of APIs which allow you to automate this.

An article from Senthil Palanisamy named BizTalk Application Deployment Using Azure Pipeline with BizTalk360 API’s inspired me to implement this for a customer. In Senthil’s blog, Powershell scripts are used to access the BizTalk360 APIs and turn the maintenance mode off and on. But, as more and more customers are using Azure DevOps and BizTalk360, you need a copy of the PowerShell scripts. The PowerShell scripts might change over time (changes, bug fixing), so the next step is to put the PowerShell scripts under version control and create a DevOps extension.

The DevOps extension is maintained on GitHub, and compatible changes are automatically distributed to all organizations using this extension.

Single Server Scenario

When your Test, Acceptance, and Production environment consist of a single server, you can create a task group and use this in the release pipeline. Note that in this example, the task group uses the BTDF extension, which is useful if you are using the BizTalk Deployment Framework for deployments.

The BizTalk360 tasks require the hostname of the server where BizTalk360 is installed and the Environment ID. You can find the Environment ID in http://<yourbiztalk360server>/BizTalk360/Settings#api.  

Note: You must have a license to use the BizTalk360 API.

If you do not have a license, please contact your BizTalk360 representative. The BizTalk360 API offers an extensive API that allows you to automate other tasks as well.

Single-Server-Scenario

Multi-Server Scenario

In a multi-server scenario, you want to put BizTalk360 in maintenance mode before deployment to the first server and out of maintenance mode after deployment to the last server. This case, your release pipeline might look like;

You can find the DevOps extension on the VisualStudio Marketplace.

The source code is available on GitHub. Please feel free to make any improvements, enhancements, etc.

The post BizTalk360 Maintenance Mode with BizTalk Deployments via Azure DevOps appeared first on BizTalk360.

Calling Function APP using URL and Function Key from Azure API Management

Calling Function APP using URL and Function Key from Azure API Management

In this post I will talk about how we can access function app from APIM using url & function key. There was a requirement were we don’t want to add function app as an Azure Resource into the APIM, instead access via URL and function key, storing and retrieving the key from Key Vault.

So what I did.

Created a Resource Deploy project to create and store function key in Key Vault.

azuredeploy.parameters.json

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"keyVaultName": {
"value": "#{KeyVaultName}"
},
"functionAppName": {
"value": "fapp-#{EnvironmentPrefix}-product-reference"
},
"functionAppResourceGroup": {
"value": "#{AzureDeploymentResourceGroup}"
}
}
}

azuredeploy.json

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "keyVaultName": {
      "type": "string"
    },
    "functionAppName": {
      "type": "string"
    },
    "functionAppResourceGroup": {
      "type": "string"
    }    
  },
  "variables": {
    "functionAppId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('functionAppResourceGroup'), '/providers/Microsoft.Web/sites/', parameters('functionAppName'))]",
    "KeyName": "[concat(parameters('functionAppName'),'-functionkey')]"
  },
  "resources": [
    {
      "type": "Microsoft.KeyVault/vaults/secrets",
      "name": "[concat(parameters('keyVaultName'),'/', variables('KeyName'))]",
      "apiVersion": "2015-06-01",
      "properties": {
        "contentType": "text/plain",
        "value": "[listkeys(concat(variables('functionAppId'), '/host/default/'),'2016-08-01').functionKeys.default]"
      },
      "dependsOn": []
    }

  ],
  "outputs": {
    "functionAppId": {
      "type": "string",
      "value": "[variables('functionAppId')]"
    }
  }
}


Now created Resource deploy Project for APIM .

azuredeploy.parameters.json

"FunctionKey": {
  "reference": {
    "keyVault": {
      "id": "#{AzureKeyVaultID}"
    },
    "secretName": "fapp-#{EnvironmentPrefix}-product-paymentreference-functionkey"
  }
},
"FunctionKeyDR": {
  "reference": {
    "keyVault": {
      "id": "#{AzureKeyVaultID}"
    },
    "secretName": "fapp-#{SecondaryEnvironmentPrefixFapp}-product-paymentreference-functionkey"
  }

Below is what we need to add as a back-end service in the azuredeploy.json

 {
      "type": "Microsoft.ApiManagement/service/backends",
      "apiVersion": "2019-01-01",
      "name": "[concat(parameters('ApimServiceName'), '/', variables('nVKeyPrimaryHostnameCreate'))]",
      "dependsOn": [
        "[resourceId('Microsoft.ApiManagement/service/apis', parameters('ApimServiceName'), parameters('apiname'))]"
      ],
      "properties": {
        "url": "[variables('nVValuePrimaryHostnameCreate')]",
        "protocol": "http",
        "resourceId": "[concat('https://management.azure.com/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Web/sites/', parameters('backendid'))]",
        "credentials": {
          "header": {
            "x-functions-key": [
              "[parameters('FunctionKey')]"
            ]
          }
        }
      }
    },
{
      "type": "Microsoft.ApiManagement/service/backends",
      "apiVersion": "2019-01-01",
      "name": "[concat(parameters('ApimServiceName'), '/', variables('nVKeySecondaryHostnameValidatePRN'))]",
      "dependsOn": [
        "[resourceId('Microsoft.ApiManagement/service/apis', parameters('ApimServiceName'), parameters('apiname'))]"
      ],
      "properties": {
        "url": "[variables('nVValueSecondaryHostnameCreate')]",
        "protocol": "http",
        "resourceId": "[concat('https://management.azure.com/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Web/sites/', parameters('backendid'))]",
        "credentials": {
          "header": {
            "x-functions-key": [
              "[parameters('FunctionKeyDR')]"
            ]
          }
        }
      }
    },
Integrate 2020 Remote Session Spoiler – Building Event-Driven Integration Architectures

Integrate 2020 Remote Session Spoiler – Building Event-Driven Integration Architectures

As the title of this session suggests, you will learn about the benefits of event-based integration and how it can help modernize your applications to be reactive, scalable, and extensible. The star of the show here is Event Grid, a lynchpin capability offered as part of Azure Integration Services.

Event Grid offers a single point for managing events sourced from within and without Azure, intelligently routing them to any number of interested subscribers. It not only supports 1st class integration with a large number of built-in Azure services but also supports custom event sources and routing to any accessible webhook. On top of that, it boasts low-latency, massive scalability, and exceptional resiliency. It even supports the Cloud Events specification for describing events, as well as your own custom schemas.

My talk will feature a demo showing how Event Grid easily enables real-time monitoring of Azure resources – but this is only one of many possible scenarios that are supported.

Why I should attend INTEGRATE 2020 Remote?

With INTEGRATE 2020 Remote, we are consolidating all Microsoft Integration focused content in a single place covering on-premise (BizTalk Server), cloud (Azure Logic Apps, Functions, API Management, Service Bus, Event Grid, Event Hub, Power Platform), and Hybrid in an intense 3 days conference, with its own keynote.

If you are a Microsoft Integration professional, even if you attend part of the conference here and there, you’ll still see significant value educating and preparing yourself for the future. Please go ahead and register now.

The post Integrate 2020 Remote Session Spoiler – Building Event-Driven Integration Architectures appeared first on BizTalk360.

Sneak Peak: My Integrate 2020 Remote Presentation on Azure Event Grid

Sneak Peak: My Integrate 2020 Remote Presentation on Azure Event Grid

I feel very privileged to be a speaker at INTEGRATE for the 4th year in a row. Many thanks to Saravana Kumar and Kovai for the privilege & opportunity! Of course, thanks to COVID-19 this year will be a bit different… no jet lag, no expensive bar tabs, and (sadly) no catching up with my good friends & colleagues from around the world (at least not in person anyway). But on the plus side, an online event does have the potential to reach a limitless number of integration enthusiasts. And if you think that you might be one of them, here’s a discount code for you to use!

So what will my talk be about? Well as the title suggests, you will learn about the benefits of event-based integration and how it can help modernise your applications to be reactive, scalable, and extensible. The star of the show here is Event Grid, a lynchpin capability offered as part of Azure Integration Services.

image

Event Grid offers a single point for managing events sourced from within and without Azure, intelligently routing them to any number of interested subscribers. It not only supports 1st class integration with a large number of built-in Azure services, but also supports custom event sources and routing to any accessible webhook. On top of that, it boasts low-latency, massive scalability, and exceptional resiliency. It even supports the Cloud Events specification for describing events, as well as your own custom schemas.

My talk will feature a demo showing how Event Grid easily enables real-time monitoring of Azure resources – but this is only one of many possible scenarios that are supported. Register for Integrate 2020 Remote so you can not only attend this session but also 40 other topics presented by 30+ integration experts from around the world! Use the discount code INT2020-SPEAKER-DAN to get 15% off any ticket price.

Webinar Spoiler: Monitor your BizTalk environment effortlessly with BizTalk360

Webinar Spoiler: Monitor your BizTalk environment effortlessly with BizTalk360

Continuing our series of webinars around BizTalk360, Atomic Scope, and BizTalk Server, this time we will explain how you can use BizTalk360 to monitor your BizTalk environment effortlessly!

One of the main goals of using BizTalk360 is probably that you want to have peace of mind that your BizTalk environment is healthy, while you are doing smarter things than constantly checking the BizTalk Server Administration console and all kind of other relevant consoles. In this webinar, we will show you several different ways how you can achieve that peace of mind. Among other things, the following topics are discussed.

Organize your Alarms

BizTalk360 gives you a lot of freedom around alarm creation, but this might leave you uncertain around how to approach setting up monitoring. That is why, besides explaining the basics around the different monitoring types and setting up monitoring in BizTalk360, in this webinar, we will be explaining different approaches to organize your alarms.

Inform your Business Users

In general, we see that BizTalk360 notifications are mainly being transmitted to the BizTalk administrators. However, not just BizTalk administrators, and other IT roles, are involved in operating the BizTalk environment. Also, your business users play a role in it.

BizTalk360 has multiple capabilities to support your business users in such a way that they can help themselves. This way they do not need to create support tickets or pick up the phone, they can check their relevant information themselves via BizTalk360!

Return of Investment in BizTalk and BizTalk360

Your organization has heavily invested in a BizTalk platform and have developed all kind of interfaces which are deployed in that platform. By making the best of your investment in BizTalk360, you do not only get ROI in BizTalk360 but also in BizTalk Server. Using a couple of examples, we show you how that happens.

Note: As you know, in early June we will run our annual Integrate event, which will take place remotely this year. In case, you did not register to join us in this event, join this webinar, as we will have something interesting for you!

External Guest

As we have done a couple of times meanwhile, also for this webinar we have an external guest. During this webinar, we are joined by Frédéric Gobert, who is an Integration analyst at ArcelorMittal, which is the biggest producer of steel in the world. Among other things, Frédéric will explain how BizTalk360 is used beside SCOM and Dynatrace and how BizTalk360 has been a lifesaver in multiple scenarios!

BizTalk360 v9.1 has been Released!

Following our pattern of bringing a new release every 3 to 4 months, we have just released v9.1. During the webinar, we will show you what’s new in that release. Are you already interested in knowing more about this release? You can check the Release Notes here.

Conclusion

In summary, do you identify yourself in one or more of the following situations?

  • you want to be aware of any issues earlier than your IT colleagues or business users
  • you want to be able to monitor pro-actively
  • you want to do smarter things than constantly perform manual checks
  • you want to take more benefit in your investment in BizTalk Server (and BizTalk360)
  • you want higher availability of your interfaces

Then, this webinar is for you! It will take place on May 28th, 10 AM (BST). Just click here to register and leave your details. Shortly we will send you the confirmation mail.

Also, if you think you cannot attend the webinar at the specified time, no worries! Go ahead and register, our team will make sure to send you the webinar recording.

We are looking forward to meeting you there!

The post Webinar Spoiler: Monitor your BizTalk environment effortlessly with BizTalk360 appeared first on BizTalk360.

May 18, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

May 18, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file

Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file

After several days migrating BizTalk open-source contributions like BizTalk Mapper Extensions UtilityPack, BizTalk Pipeline Components Extensions Utility Pack, BizTalk MapperExtensions Functoid Project Template, BizTalk MapperExtensions Functoid Wizard and several tools like BizTalk Filter Finder Tool, BizTalk Bindings Exporter Tool, or BizTalk Port Multiplier Tool for BizTalk Server 2020. It is time to get back to one of my favorite topics error and warnings, cause, and solutions blog post. This time on a small development issue that I got recently while I was trying to Consume Adapter Service to generate the Oracle schemas inside Visual Studio.

I have done these thousands of times and it is a very straightforward task once you know how to communicate with Oracle system but this time I got the following error:

Error occurred while creating the BizTalk port configuration file. Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Consume Adapter Service Schema Generator BizTalk port configuration error

A curiosity is that the Wizard was able to successfully generate the Oracle Schemas. The problem occurred while it was trying to generate the Binding file.

Cause

Unfortunately, I don’t know exactly the cause reason for this error. In my view, the same occurred due to some special character coming from the Oracle resources that are being consumed or incompatibilities between Oracle data types and .NET data types and that are used to generate the Binding file.

Nevertheless, this is not a stopping issue. You still have all the necessary BizTalk resources generated by the wizard: the Oracle schemas. The only thing that is not generated is the binding file, which is extremely useful to create the receive or send port in the BizTalk Server Administration Console. However, despite this constraint, you are still able to manually create the port without requiring the binding file.

Solution

Well, you know me, it is possible to manually create the ports without requiring the binding files, however, this is an accelerator that I prefer not to lose. So, I had to investigate and solve this problem, before it appears more often.

And in fact, the solution is quite easy:

  • On the Consume Adapter Service Schema Generator Wizard, while you are configuring the connection string to Oracle, configure the URI, select the Binding Properties tab.
Consume Adapter Service Schema Generator BizTalk port configuration solution
  • On the Binding Properties tab, scroll down to the Metadata section. There you will find a property called: EnableSafeTyping.
    • This feature controls how the adapter surfaces certain Oracle data types and by default this value is false.
  • To solve this issue you need to change the EnableSafeTyping value to true.
Consume Adapter Service Schema Generator BizTalk port configuration solution

Since not all .NET and Oracle types are created equally, we occasionally need to set the value true for this property to handle some constraints around data types.

This is not a unique Oracle issue, this same error may happen when you are trying to generate schemas from SAP also.

The post Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file appeared first on SANDRO PEREIRA BIZTALK BLOG.

Integrate 2020 Remote Session Spoiler – Messaging Patterns with Azure AIS

Integrate 2020 Remote Session Spoiler – Messaging Patterns with Azure AIS

Messaging and eventing activities are at the core of most integration solutions. Although conceptually those two architectures differ on how they deal with the information they need to deliver to end systems, they share a number of patterns – and mastering those patterns, knowing when to apply them and having easy “recipes” for implementation can accelerate lots of integration projects.

Azure Integration Services (AIS) provides all the components required to create robust integration solutions, including not only messaging and eventing components – Azure Service Bus and Event Grid Topics – but also components to support orchestration and API mediation – Azure Logic Apps and API Management. Usually, clients understand the components, but sometimes struggle to translate the knowledge from years of using an integrated service, like BizTalk Server, into more streamlined components.

In this talk, I will be selecting 3 of the most widely used messaging and show how to implement those patterns using AIS components. And, since some of those patterns can also be implementing on an event-based solution, how can you implement the same pattern using those components.

I am looking forward to sharing this session with you and have some good conversation of how you solve those problems in your organization.

So, come and join me on Integrate 2020 Remote in June!

Why I should attend INTEGRATE 2020 Remote?

With INTEGRATE 2020 Remote, we are consolidating all Microsoft Integration focused content in a single place covering on-premise (BizTalk Server), cloud (Azure Logic Apps, Functions, API Management, Service Bus, Event Grid, Event Hub, Power Platform), and Hybrid in an intense 3 days conference, with its own keynote.

If you are a Microsoft Integration professional, even if you attend part of the conference here and there, you’ll still see significant value educating and preparing yourself for the future. Please go ahead and register now.

The post Integrate 2020 Remote Session Spoiler – Messaging Patterns with Azure AIS appeared first on BizTalk360.

Microsoft Power Platform: Power BI + PowerApps + Power Automate + Office 365  video and slides are available at Integration Monday

Microsoft Power Platform: Power BI + PowerApps + Power Automate + Office 365 video and slides are available at Integration Monday

I am a regular speaker at the Integration User Group community, however this time on May 4th, celebration mode, I invited two of my DevScope Power Platform Jedi masters to join me in this session.

And as you would expect, fighting on the light side of the force, Ricardo Calejo, Rui Romano, and me, we showed in the Microsoft Power Platform: Microsoft Power BI + PowerApps + Power Automate + Office 365 session how companies can take advantage of features included in their Office Subscription 365 that they may not be using.

COVID-19 Contigência: Real Case Scenario

We will also present a real case scenario wherein less than two days, where we implemented a Power App for Centro Hospitalar Gaia Espinho to help fight the battle against the current COVID-19 pandemic. Starting with the diagnosis phase, where health professionals can track patients in the Covid-19 tent. In addition to the patient record, clinical values, symptoms, and other relevant information are sent to the hospital so that their admission is carried out with the greatest possible security for everyone.

All these COVID-19 patient data, with complete anonymity (GDPR compliant), are later analyzed in a Microsoft Power BI report to give healthcare professionals a clear view of the problem at hand.

Power App COVID-19 Power Bi

About the session

Session Name: Microsoft Power Platform: Power BI + PowerApps + Power Automate + Office 365

Session Overview: The Power Platform (Power BI, Power Apps, Power Automate, Power Virtual Agents) alongside with Office365 (Forms, SharePoint Online, …) is probably the best ecosystem in the world for a complete digital transformation in your company, and maybe you are already paying for them without any usage. JIn this session you can learn how to leverage all these tools with a focus on Power BI integration!

You can watch the video recording and slides of this session here: Microsoft Power Platform: Microsoft Power BI + PowerApps + Power Automate + Office 365.

About Integration Monday

Integration Monday is full of great sessions that you can watch and I will also take this opportunity to invite you all to join us next Monday.

The post Microsoft Power Platform: Power BI + PowerApps + Power Automate + Office 365 video and slides are available at Integration Monday appeared first on SANDRO PEREIRA BIZTALK BLOG.