Microsoft Integration Weekly Update: Feb 18, 2019

Microsoft Integration Weekly Update: Feb 18, 2019

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

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.

If you want to receive these updates weekly, then don’t forget to Subscribe!

Feedback

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

Advertisements

Late Valentine Day Gift: Version 4.0.0 of Microsoft Integration and Azure Stencils Pack (BAPI, AI, Office 365 and much more) for Visio is now available on GitHub

Late Valentine Day Gift: Version 4.0.0 of Microsoft Integration and Azure Stencils Pack (BAPI, AI, Office 365 and much more) for Visio is now available on GitHub

Microsoft Integration, Azure, BAPI, Office 365 and much more Stencils Pack it’s a Visio package that contains fully resizable Visio shapes (symbols/icons) that will help you to visually represent On-premise, Cloud or Hybrid Integration and Enterprise architectures scenarios (BizTalk Server, API Management, Logic Apps, Service Bus, Event Hub…), solutions diagrams and features or systems that use Microsoft Azure and related cloud and on-premises technologies in Visio 2016/2013:

  • BizTalk Server
  • Microsoft Azure
    • Azure App Service (API Apps, Web Apps, Mobile Apps, and Logic Apps)
    • Event Hubs, Event Grid, Service Bus, …
    • API Management, IoT, and Docker
    • Machine Learning, Stream Analytics, Data Factory, Data Pipelines
    • and so on
  • Microsoft Flow
  • PowerApps
  • Power BI
  • PowerShell
  • Infrastructure, IaaS
  • Office 365
  • And many more…
  • … and now non-related Microsoft technologies like:
    • SAP Stencils

Visio: Microsoft Integration and Azure Stencils Pack

What’s new in this version?

  • New shapes: new shapes were added to existing modules like Generic, Azure, AI, Developer, Files or Users. But in particular a new module was born:
    • MIS SAP Stencils contains stencils that will represent some SAP services

Visio: Microsoft Integration and Azure Stencils Pack v4.0.0

You can download Microsoft Integration, Azure, BAPI, Office 365 and much more Stencils Pack for Visio from:
Microsoft Integration Azure Stencils Pack VisioMicrosoft Integration, Azure, BAPI, Office 365 and much more Stencils Pack for Visio (18,6 MB)
GitHub

Or from:
Microsoft Integration Azure Stencils Pack VisioMicrosoft Integration and Azure Stencils Pack for Visio 2016/2013 v3.1.0 (18,6 MB)
Microsoft | TechNet Gallery

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Comparing BizTalk360 to DynaTrace

Comparing BizTalk360 to DynaTrace

Introduction

From time to time we hear that organisations are using DynaTrace for operating and monitoring their BizTalk environments. When we talk to such organisations, they ask us about the benefit of using BizTalk360 over Dynatrace for administering their BizTalk environments. In this blog post we try to give a fair comparison between both products.

BizTalk360 and Dynatrace in short

BizTalk360 is a comprehensive product for operations, monitoring and application performance management (APM) of BizTalk Server environments. Unlike other APM products, BizTalk360 is an agent less, non-intrusive software which requires zero configuration on BizTalk servers. This makes it an easy to use and operations-friendly tool. Customers have a lot of influence in the roadmap and the vendor is very receptive to feedback via http://feedback.biztalk360.com. Furthermore, Support is very responsive. This means the product is always up to date to support the latest releases of BizTalk Server.

BizTalk360 is a market leader in BizTalk Server space, has a large customer base and healthy partner ecosystem. The company understands that supporting BizTalk Server applications for business continuity and efficient operations requires a tool which can go beyond being a traditional application performance management tool. Therefore, the product provides BizTalk specific capabilities such as managing BizTalk Applications, proactive monitoring of throttling conditions, role-based user access policies, audit logs, data monitoring etc. In some instances, BizTalk360 has helped customers to meet SOX compliance.

DynaTrace, on the other hand, is a typical Application Performance Management tool with generic capabilities to monitor operating systems, services, network protocols, system metrics, network infrastructure, services, applications etc. There is no out of the box DynaTrace plugin or agent for BizTalk Server. Either the customer needs to create one of their own or use an open source plugin Fastpack. This plugin must be installed on all the BizTalk Servers and some configuration changes must be made to the BizTalk host instance’s configuration file (btsntsvc.exe.config). With an agent it brings the ability to analyse and monitor the performance counters for BizTalk host instances, databases, orchestrations, pipelines etc. The Fastpack plugin seems to have been updated a couple of years back and might not be up to date with the latest BizTalk releases; this is a typical challenge with using open source plugins from individual contributors.

Typical requirements

In this section we will compare the 2 products, BizTalk360 and DynaTrace, for capabilities in achieving BizTalk Server monitoring requirements.

Getting a proactive alarm to warn before a problem occurs

In the BizTalk environment problems can occur in the following situations:

  • Important artefacts such as receive locations, send ports, orchestrations, host instances etc get disabled or stopped, either due to errors or due to unintentionally performed tasks. This leads to outages and stops the flow of mission critical messages.
  • If the SQL Server jobs are stopped, the size of databases increases over time and impacts the messaging performance.
  • Due to several reasons BizTalk can start throttling messages leading to an impact on performance.
  • If suspended messages are not cleaned up, the size of the message box increases resulting in performance issues.

BizTalk360 has features to monitor state-based artefacts, which ensures that all BizTalk application artefacts such as receive locations and orchestrations are up and running and generate notifications in case of aberrations. State based monitoring also ensures that essential SQL jobs and Windows services are running as expected. Features like suspended queue monitoring and throttling monitoring ensure that the BizTalk Server is running in a healthy state.

DynaTrace has no out-of-the box support for BizTalk Server. The Open Source plug-in does not have features such as state-based monitoring, throttling monitoring and suspended queue monitoring. However, it does have monitoring capabilities based on some BizTalk and SQL performance counters. In conclusion, it lags behind BizTalk360 in proactively warning of potential issues.

Problem-solving actions

In some situations, issues do occur and the operations team needs easy to use tooling to correct the faults. For example, if receive locations get disabled, they will have to be re-enabled. If messages get suspended, they will have to be terminated or resumed. If we have a software which auto-corrects these faults and automates the operational tasks then it is a big bonus as it brings the down time to its minimum levels and ensures operational efficiency.

BizTalk360 has a powerful feature called Auto Healing, which allows the users to define the expected state of an artefact and in case there is an aberration, arestores the expected state without any human intervention. With another feature Operational Automation, the day to day monotonous tasks such as resuming/terminating suspended messages can be automated.

DynaTrace on the other hand has no operational capabilities. Auto-healing and Operational Automation are not features you can expect from a typical Application Performance Management system. Hence, DynaTrace will not be the right tool to be used for BizTalk related problem solving actions.

Access to the BizTalk servers

BizTalk Server has a very limited number of user groups. The BizTalk Administrators group has the highest level of privileges and the BizTalk Application Operators group has highly restricted access. There are no access levels to give intermediate level access to BizTalk applications and artefacts. Many customers have ended up providing their users with the unrestricted access to production boxes. It is typical of organisations to provide all the users the access to production servers for business continuity.

One of the widely used features of BizTalk360 is Granular User Access Control. With this feature, user access can be controlled at a very granular level. Users do not need to RDP to production boxes to support BizTalk applications. BizTalk360’s web portal allows them access to all the features without the need for them to log on to production boxes unless they are doing deployments.

Again, access control is the feature which can be expected from an Application Performance Management tool. Hence, DynaTrace clearly has no capabilities which to help to restrict access to BizTalk Servers.

One tool for operations, monitoring and analytics

If a support professional needs to use multiple tools daily, operational efficiency takes a big hit due to all the context switching he must do between the tools. This is one of the main challenges in supporting BizTalk Server applications. Every operations team needs a single tool to perform operations, monitoring and analytics.

BizTalk360 brings all the capabilities of operations, monitoring and analytics into a single web portal. Apart from this, it allows the users to access BAM data, ESB data, EDI reports from the same web portal. This means users do not have to switch to different tools.

DynaTrace being an Application Performance tool, does have the ability to monitor performance counters and detect some anomalies. However, the user will be required to switch to different tools such as admin console, event log, ESB portal, BAM portal etc. to perform various other tasks. In a true sense, it adds another tool to the list.

Tracking

Depending on the performance needs, organisations enable or disable BizTalk tracking. Some organisations enable only event tracking and disable message body and property tracking. Hence each organisation has different tracking needs. Regardless, it is important to have good control to manage the tracking options at various artefacts.

BizTalk360 has a feature called Tracking Manager, which brings great control to manage tracking options at various artefacts. This helps customers to ensure they are following the tracking standards set at the organisation. BizTalk360 also has a feature called Graphical Flow, which is an analytics feature providing a visualisation of message flow across various artefacts such as receive ports, orchestrations and send ports. Enabling pipeline tracking is a minimum requirement for the feature. Not many of our customers use it due to performance requirements. This is the only feature which is dependent on tracking. Most of the earlier discussed features of BizTalk360 are not dependent on the tracking.

DynaTrace, like BizTalk360, will not be able to provide analytics related to ports and orchestrations if the tracking is not enabled. It surely is not a tracking management tool either.

Summary

Comparing the capabilities of BizTalk360 and Dynatrace against the day-to-day requirements necessary to work with BizTalk Server, BizTalk360 comes out as a clear winner. Dynatrace is a generic APM tool and will not match most of the capabilities of BizTalk360. The features such as State-Based Monitoring, Auto Healing, Operational Automation, Throttling Monitoring etc. are essential to bring the operational efficiency and ensure the health of BizTalk environments and applications.

Why not give BizTalk360 a try! A trial version of BizTalk360 can be requested here.

Author: Lex Hegt

Lex Hegt works in the IT sector for more than 25 years, mainly in roles as developer and administrator. He works with BizTalk since BizTalk Server 2004. Currently he is a Technical Lead at BizTalk360.

Integration Down Under | February 14, 2019 | How we are using Microsoft Integration features and related Azure technologies to improve our processes

Integration Down Under | February 14, 2019 | How we are using Microsoft Integration features and related Azure technologies to improve our processes

Finally, I will be in Australia and New Zealand but unfortunately not in person, maybe next time, but instead remotely. Nevertheless, it will be a pleasure to present in this amazing community for the first time and it’s tomorrow already on a session about How we at DevScope are using Microsoft Integration features and related Azure technologies to improve our processes and by doing so engaging customers to also adopt some of these Microsoft Integration features.

Integration Down Under Sandro Pereira: Microsoft Integration features Azure

Session Name: “How we are using Microsoft Integration features and related Azure technologies to improve our processes

Session Overview: In this session, I will show you real live scenarios on how we at DevScope are using Microsoft Integration features (Logic Apps, API Management, API’s) and related Azure technologies like PowerApps, Flows and Power BI to:

  • First, improve our internal processes like expenses reports, time reports and so on;
  • And, secondly, how the first step helps us out to extend our product and our business by exporting these same approaches and concepts to our clients

This will be a lightweight talk addressing some real scenarios and show them in action.

I invite you all to join us tomorrow morning or in the afternoon depending on where you are from. Grab your “seat” by registering in this session here.

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Interesting support cases 2018

Interesting support cases 2018

The year 2018 passed away just like few months have passed phew…! As a support engineer, we receive different cases on daily basis. Every support case is unique because the problem will be faced by different customers in different environment architecture. But some of the support cases will be interesting by the root cause of the problem and the way of troubleshooting the case.

We have already written a series of blogs about the interesting support tickets we often receive.

In a similar way, this blog post highlights 5 interesting cases we have received and solved in the past year. We are sure this consolidated blog will be useful for our customers if they come across any of them in the near future.

Case 1: Custom port number

A customer tried to upgrade BizTalk360 to the latest version 8.9.3153.0310. The installer ran the upgrade process till the end, however, for some reason, it failed without a failure warning or exception message shown in the installer.

Troubleshooting

During the troubleshooting, the customer informed that while installing the BizTalk360 default URL has been used.

Say for example:

http://localhost/biztalk360

Later they have changed the URL from HTTP (80) to HTTPS (443). Once after changing to the new URL, they have deleted the default port (HTTP: 80) in IIS.

In the log file, we found that the installer is still trying to find the default port.

Solution

Most of the customers will not delete or remove the default port from IIS. During the upgrade process, the installer will look for the registry values for the default port information. If there is any mismatch in the stored port information and available in IIS, the installer will be forcefully stopped, which leads to unsuccessful installation.

As a best practice, we recommend before deleting the default port, the new values (Custom Port number) required to be updated in the registry to experience a seamless installation.

Case 2: Unable to view the BizTalk360 API documentation section

Web APIs are becoming increasingly vital to the organization across all sectors. We exposed our APIs specifically to facilitate the creation of their own scripts to ease the use of BizTalk Server integration space much better. To access the BizTalk360 API documentation you must contact license@biztalk360.com as we are providing this feature as an Add-on pack.

In this case, a customer can access all the features except the API documentation menu, though they have a valid license to access it.  After the investigation, we have observed an error “Access is denied” in Internet Explorer browser.

Troubleshooting

Most of the customers wanted to access the BizTalk360 application in a secure way (HTTPS) based on their Organisation policy. As we progressed on our investigation, we had identified the root cause is because of deleted/removed the default port configuration in the IIS.

We suggested them to add the HTTP port into IIS and check the API. Yes, it helped after adding the HTTP and they were able to access the API documentation.

Solution

The interesting part was the fix to the problem. We are using Swagger for the API documentation. Since they removed the HTTP, Swagger kept on checking the HTTP as per mentioned in the configuration in the schemes. As a workaround, we recommended them to change the schemes upside down, it helped them to access the API documentation. Later we handled the part in the code for the permanent fix.

It took few months to solve this case because of the restricted access at a client side, we would like to appreciate the customer for their patience in this case as it took a long time to identify the root cause.

Case 3: Widgets moving around in the Dashboard

Sometimes we don’t believe our own eyes as the support ticket makes us think beyond the limit. One such interesting support case we have received is about the Analytics section. A customer added few widgets in the dashboard, but the changes were not persisted when they moved them around to different places and removed a few of the widgets.  We suspect it’s a ghost activity, absolutely it’s an old joke, have a smile! 😛

Troubleshooting

As it is difficult to identify the root cause, we went for a web sharing session and found that a few widgets don’t have any data. We presumed that the issue is related to “Event Log data count” widget.

There were 4 Event log data count widgets added with different server names, out of that 2 were with data and 2 were empty.

In the generated widget, we were able to see two problems.

  • Related to permission
  • And with custom sources

Solution

The Event Log widget will collect information from all the servers (if permission is provided). When we check for the permissions in all the enabled servers, we were able to see some server hadn’t had local admin permission. After providing the necessary permission, they were able to remove the event log data count widget from the dashboard.
The second widget is with custom sources, this was identified as an issue at our code and we provided the fix in the related stored procedure to resolve the issue.

Case 4: NT Service monitoring

Monitoring few NT services leads to an exception “no longer exist in the server” in the alert email.

Troubleshooting

We monitor the NT services by using the service name. Every time while logging off the user, the monitored services were removed from the server and when logging in to the machine or once after a reboot, a new NT service was created with the addition of some random number (at prefix for both service name and display name).

This led to the “Orphaned” status as the originally mapped service was not found by the BizTalk360 monitoring service in the actual server

Example: If the service name is CDPUserSvc_159f93a17 once after the logout and login or after a reboot, the name will be changed to CDPUserSvc_29174f

We investigated the usage of the services where those services are structured with user data like contact info, calendars, messages, and other content in Windows 10 and Windows Server 2016.

Solution

The Fix is available in our latest version, where it handles the new services created with random numbers.

Case 5: Cross-domain file monitoring

An issue is that file monitoring is getting Orphaned once after configuring it with an alarm.

Troubleshooting

We started with the basic troubleshooting steps and understood that the configured File path in BizTalk Server is present in a different domain configuration than the domain of the actual BizTalk server. Technically, BizTalk360 will monitor the specific file location without any issues because BizTalk360’s monitoring service account is being used to fetch the configuration information by providing the necessary permissions

Solution

To find the exact root cause of the issue, we have developed a console application (with logs enabled) and provided it to the customer. At last, we have found that it is an issue with authentication for the service account in cross-domain architecture. We have found this as an issue at our end and fixed the same in our latest version.

This case helps me to explore more in cross-domain architecture.

For more details on this case, please refer here.

Conclusion

Above are 5 interesting cases of 2018 which helped me to learn and explore new areas and technically learn new concepts. Wait for another blog post series where I would like to share another 5 more interesting cases.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Microsoft Integration Weekly Update: Feb 11, 2019

Microsoft Integration Weekly Update: Feb 11, 2019

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

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.

If you want to receive these updates weekly, then don’t forget to Subscribe!

Feedback

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

Advertisements

How I’m automating my Porto Airbnb host with Microsoft Forms and Microsoft Flow

How I’m automating my Porto Airbnb host with Microsoft Forms and Microsoft Flow

Yes, if you want to visit Porto, my city and a destination that has been fashionable due to the various awards, nominations, and mentions all across the world like:

  • Elected as the most romantic city in the world;
  • Elected the best destination in the world;
  • I think 3 years in a row as best European destination;
  • Many travelers believe the most beautiful McDonald’s in the world is in Porto;
  • One of the most beautiful libraries in the world;
  • and many other crazy nominations…

Personally, I believe that today we living in a fanatical environment of everyone or everything wanting to be the best in the world, the honest reality is that Porto is a beautiful place like many others in the world and I recommend you to visit… and I have just a perfect romantic and traditional place for you!

Casa Sr. José (Mr. Joseph’s house) is my AIRBNB host, as traditional and recently renovated house that is at a walking distance from the Douro River (1 min – 78 m) in the beautiful and typical Porto civil parish of Massarelos. Located in the heart of Porto, next to the Douro River, is a perfect spot that is near to almost everything: Porto´s Unesco World Heritage historical center (10 mins); Foz do Douro (10 min) were Douro river and the Atlantic Ocean meet (beach); and near of 1 most well-known landmarks of Porto: the Clérigos Tower (10 min) and it is available for all you that once again, want to visit Porto.

Casa do Sr- José: The perfect AIRBNB house in Porto

This is my non-technology pet project and I love it but it also gives me some challenges, challenges that I’m trying to solve with technology.

One of these challenges is that in Portugal, as well as in most European countries, all paid accommodation establishments need to record the stay and collect identification details from all foreign citizens, whether they are from the Member States of the European Union or Third Country Nationals, in order to communicate them within three days to the Immigration and Borders Service. At the moment, I have a very rudimentary process in place:

  • A form paper (Ficha de hóspede / Guest card / Carte d’invité) that the guests need to fill once they arrive;
  • I have to go to the house to get the form;
    • The guests don’t need to be there if they allow me to enter the house to grab the form;
    • Otherwise, I need to arrange a date hour with them to grab the form;
  • I then need to access to the SEF (Serviço de Estrangeiros e Fronteiras – Foreign Service and borders) online portal, authenticate with my account and manually fill an online form (SIBA – Sistema de Informação de Boletins de Alojamento – Accommodation Bulletin) with the information of all guests like:
    • Full name
    • Date of birth
    • Nationality
    • Country of residence
    • And so on
  • and submit the accommodation bulletin to SEF.

This is a very time-consuming task and inconvenient for both me and the guests:

  • I need to “annoy” the guests to access “their house for a week” or arrange a date/hour for them to meet with me to give me the form;
  • I then need to understand the hand write and type everything to an only form;
  • And so on

Again all of these are time-consuming tasks.

This week, and I’m being an integration guy, my mind automatically started to think:

  • How can I easily automate these tasks?
  • But it needs to be user-friendly to my guests;
  • And it needs to be easier for my wife to understand, to share with the guest and to control and… she is not a technical person;
    • If I started to speak in terms of Flow, Azure or anything else… she will say no! I don’t know what you are talking about.

In the end, I elaborated a process with two parts:

  • Part 1: the first approach to address and expedite our interaction with our guests;
  • Part 2: my end goal, fully integrated;

In this post, I will address Part 1, the one that is at the moment in-place.

How Microsoft Forms and Microsoft Flow allows me to better interact and automate my Porto Airbnb host processes?

The first thing I decide to do was an Online Form for the guest to fill, instead of using a paper. This could be done with several options online: Google Spreadsheet and Form; Formstack; Cognito Forms and so on. I choose to use Microsoft Forms, to do that you need to

  • Access in your web browser to forms.office.com.
  • Sign in with your Office 365 school credentials, Office 365 work credentials, or Microsoft account (Hotmail, Live, or Outlook.com).
  • Under “My Forms”, click “New Form” to begin creating your form.

Microsoft Form: Create New Form

  • You should enter a name for your form, and you can also enter an optional subtitle and picture.
    • I decide to call my form name: “Ficha de hóspede / Guest card / Carte d’invité”
    • Add a picture and a subtitle with an explanation of why guest need to fill this form

Microsoft Form: Header

Then, you need to start creating your questions. To do that you need:

  • Click “Add Question” to add a new question to the form.

Microsoft Form: add question

  • By default you have the options “Choice”, “Text”, “Rating”, or “Date” questions, but you can always click to see more option under “…” button, and you can select from “Ranking”, “Likert”, or “Net Promoter Score®” questions.

Microsoft Form: add question types

  • In my case I added:
    • Two Date questions:
      • “Data de entrada / Check-in date / Date d’arrivée”
      • “Data de saída / Check-out date / Date de départ”

Microsoft Form: add date questions

    • 8 text questions:
      • “Nome completo /Full name / Nom complet (Person 1)”
      • “Data de Nascimento / Date of Birth / Date de Naissance (Person 1): dd/MM/yyyy”
      • “Nacionalidade / Nacionality / Nationalité (Person 1)”
      • “Local de Nascimento / Birthplace / Lieu de résidence (Person 1)”
      • “Local de Residência / Country of residence / Pays de résidence (Person 1)”
      • “País de residência / Country of residence / Pays de résidence (Person 1)”
      • “Numero de documento / Document number / Numéro de document (Person 1)”
      • “País emissor do documento / Country issuing the document / Pays délivrant le document (Person 1)”

Microsoft Form: add Text questions

    • 1 choose question
      • “Tipo de documento / Document type (Person 1)”

Microsoft Form: add choose question

    • And finally, a true/false question, that is basically another optional question
      • “Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?”

Microsoft Form: add yes or no question

And here is where the fun begins. Why this last question?

The first reason is that I need to deliver to SEF the information of all the guests and my house can host a maximum of 6 guests. But there is more… Because my house can host a maximum of 6 guests, I have to duplicate these questions 6 times, with the exception of the first two:

  • “Data de entrada / Check-in date / Date d’arrivée”
  • “Data de saída / Check-out date / Date de départ”

Because all of them are from the same booking. That’s why in my final form you will see the same question duplicated with the suffix: Person 2, Person 3… Person 6

Microsoft Form: add guest 2Microsoft Form: add guest 3

But my first form draft didn’t have this last question. I add it becaus, without this question, the guests had to scroll until the bottom of the form to submit it, for example, if I was hosting a couple, they had to fill Person 1 and Person 2 information but them they had to scroll down passing all questions of person 3, 4, 5 and 6 to finally submit the form.

Again, to improve and provide the best user experience to my guest I decide to create this question and apply some logic inside allowing me to create like an array of guest information data – this doesn’t exist in Microsoft Forms by the way.

To accomplish that at the end of this list of questions for each guest I’m adding this last question:

  • “Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?”

And add a branching logic to my form so that it changes according to the responses to that question. This way, If the guest says:

  • “Sim / Yes” it will show the list of questions for the second guest… and so on.
  • If “Não / No”, it will hide the rest of the questions and “go” directly to the end – “Submit”

Here is how the experience will look like if you say “No” or the default behavior:

Microsoft Form: branching experience

And here is the behavior if you select or change to “Yes”:

Microsoft Form: branching experience

For example, despite all questions in the form are mandatory, if I select or refer that I only have two guests, the form is smart to know that this is an optional pack of questions:

  • If you select that have a new guest you need to fill the questions for that specific guest, otherwise, it allows you to submit the previous questions, without having to fill dummy information for guests 3 to 6 for example.

This improved a lot the Form user experience with the guests.

To accomplish this, you need to:

  • Click the ellipses button (…) on the main menu, and then select Branching.

Microsoft Form: add branching

  • On the Branching options page, there are dropdown menus that appear with each answer under every question. Click the arrow to see a dropdown menu.

Microsoft Form: Branching rules

    • In this case, if I select the “Sim / Yes” option this should “Go” to question 13 that is the beginning of a new guest form
      • Basically, it shows the “second part” of the form
    • If you select “Não / No” it should go to the end of the form
      • Basically, it hides the rest of the form

And of course, I can share the form thru a URL, QR Code, thru an iframe on a webpage and by email.

Microsoft Form: Share

Being the Microsoft Form

Microsoft Form is great to help to improve the interaction with my guests, but it allows me to go to a certain point but not solve all my problems/concerns.

Now that I have retrieved the data from my guests, the question is how I can automate my process my SEF and how can I notify the persons that are managing the house (me, my wife, my brother-in-law, and sister-in-law).

For that, I choose to use a Microsoft Flow that is triggered each time a new form Is submitted and automated these tasks. Unfortunately, do some restrictions I still cannot integrate directly to SEF thru API. I had to request access and I’m still waiting for their approval.

That is the reason why this is PART 1… end goal is to be fully automated without any manual process (PART 2).

So, to minimize the manual work, I decide that is this phase the Flow will go thru each question and notify us by email that a new form was submitted but also give us on the body email all the information submitted for us to be better to copy that information and fill the online SEF form and submit them – basically it would be a copy and past operation, instead of adding to manually type all the data which can lead to many mistakes. This way we are:

  • Minimizing mistakes and misspellings;
  • Minimize the time I need to fill these SEF forms;

To accomplish that you need to:

  • Access the Flow portal: https://flow.microsoft.com/ and sign in with your account
  • In flow.microsoft.com, select “My flows” in the top navigation bar, and then select “+ Create from blank” to create a Flow from scratch.
  • On the “Create a flow from blank”, select “Create from blank” to start the process of creating an empty Flow
  • On the Flow designer, on the Trigger event enter “Microsoft Forms” and select the option “When a new response is submitted” and pick the form you like from the dropdown list

Microsoft Flow: When a new response is submitted

  • Add the next step by clicking the “+New step” button and then choose the “Add an action” option
  • On the “Choose an action” window, enter “Variables” and select the action “Variables – Initialize variable”
    • On the Variable action configuration:
      • On the “Name” property, type “EmailBody”
      • On the “Type” property, specify the type as “String”
      • On the “Value” property leave it blank

Microsoft Flow: Initialize variable

  • Add the next step by clicking the “+New step” button and then choose the “Add an action” option
  • On the “Choose an action” window, enter “Control” and select the action “Apply to each”
    • On the Apply to each action configuration:
      • On the “Select an output from previous step” property, select from the list of tokens the “Key” token “List of response notifications” from the “When a new response is submitted” trigger

Microsoft Flow: for each form response

  • Inside the loop, add the next step by clicking the “+New step” button and then choose the “Add an action” option
  • On the “Choose an action” window, enter “Microsoft Forms” and select the action “Get response details”

Microsoft Flow: Get response details

    • On the action configuration:
      • On the “Form Id” property, pick once again the Form from the dropdown list
      • On the “Response Id” property, type the following expression
@{items('Apply_to_each')['resourceData']['responseId']}

Microsoft Flow: for each form response

  • Add the next step by clicking the “+New step” button and then choose the “Add an action” option
  • On the “Choose an action” window, enter “Variables” and select the action “Variables – Append to string variable”
    • On the Variable action configuration:
      • On the “Name” property, select “EmailBody” variable
      • On the “Type” property leave it blank
Ficha de hóspedes: 

<b>Data de entrada: </b> @{body('Get_response_details')['rfb0478a71c77463eb855db4a6617b596']}
<b>Data de saída: </b> @{body('Get_response_details')['rbad828de65664088a332fbbad18ba4c3']}


Hóspede 1:
<b>Nome completo: </b> @{body('Get_response_details')['r9bde314fe5ea4c74883f46750183bd0f']}

<b>Data de nascimento: </b>@{body('Get_response_details')['rf3e762220a604c578cca006c83d98756']}
<b>Nacionalidade: </b>@{body('Get_response_details')['r8b7428bfbda94eb684c0e43edbff0a87']}

<b>Local de nascimento: </b>@{body('Get_response_details')['r2c926c630529444e86ba53359b6adaf4']}

<b>Local de residência: </b>@{body('Get_response_details')['rddbf3f41f16e402b9dba65f49631c27c']}
<b>País de residência: </b>@{body('Get_response_details')['r52c69618890540e392dca6fd4f8f5fc0']}
<b>N. documento: </b>@{body('Get_response_details')['r9b9ee64cf84d42c89bd7770389ea94d9']}
<b>Tipo documento: </b>@{body('Get_response_details')['r48f5e4ecf66a48328269b656b034ddd1']}

<b>País emissor: </b>@{body('Get_response_details')['raa2bcdec2c6b4b5d8b3d17cd6f946a8a']}

Basically, all the tokens were added from the tokens list

Microsoft Flow: First Guest info extracted

And what we are doing is creating a string, king of a string builder, with the HTML email body with the guest information

Then we need to check if another guest was added and append that information by:

  • And then add a new condition by selecting “Add new action”, enter “Control” and select the action “Condition”
    • On the “Condition” configuration add the following condition:
      • If the first “Têm mais hóspedes? / Do you have more guests? / Avez-vous plus d’invités?” question value is equal to “Sim / Yes”

Microsoft Flow: Second Guest check condition

  • On the “If yes” branch
    • Choose the “Add an action” option and on the “Choose an action” window, enter “Variables” and select the trigger “Variables – Append to string variable”
    • And add the same previous code but this time with the data of the second guest

Microsoft Flow: Second Guest check condition, yes branch

  • On the “If no” branch
    • Leave it without any action

Now we just need to do the same for the other 6 guests:

Microsoft Flow: all guest conditions

Finally, on the end send an email with that data to our host email address, to do that we need to:

  • Add the next step by clicking the “+New step” button and then choose the “Add an action” option
  • On the “Choose an action” window, enter “Mail” and select the action “Send an email notification”
    • On the action configuration:
      • On the “to” property, type your email
      • On the “Subject” property, type “Guest notification”
      • On the “Email Body” property, select from the list of tokens the “Key” token variable “EmailBody”

Microsoft Flow: Email notification

Give a proper name to the flow and save it

The end result

Each time a guest submits an Accommodation Bulletin I will be receiving an email with this format:

Microsoft Flow: Email notification result

That will help my task to manually fulfill the SEF online form…. Until I completely automate this task.

And by the way… if you planning to visit Porto, have a chat with me, stay in our house and I may get you a discount: https://www.airbnb.pt/rooms/18272087?guests=1&adults=1

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Introducing Send Port Groups management and Reset Functionality in BizTalk360 Monitoring

Introducing Send Port Groups management and Reset Functionality in BizTalk360 Monitoring

BizTalk360 v8.9.5 has been released for the public with lots of exciting new features. Many of our customers have already ugraded to the latest version and started experiencing the new features. As you know, BizTalk360 will always listen to customer ideas and implement them for the product development as like

“Software quality begins with the quality of the requirements.”

We gather those requirements through the BizTalk360 feedback portal and make sure to address customers ideas and suggestions. Based on the number of votes. we came up with new features and enhancements, with intuitive design, in our latest version, as follows:

  • Action on Send Port Groups
  • Alarm Reset Capability
  • Autocorrect Reset Capability

Above three features are the most awaited features by the customers. This will increase usability and will ease the process to maintain and monitor the BizTalk artifacts. Here we go!

Action on Send Port Groups

One of the major functionalities we are bringing is the ability to action on Send Port Groups. After getting several customer feedbacks, we are bringing this new feature in our latest release, which will ease the operation and monitoring capabilities.

Customer request for send port groups

A Send Port Group is a collection of Send Ports that BizTalk Server can use to send the same message to multiple destinations in one configuration. In earlier versions, user can search and view the Send Port Groups, however there was a gap in performing actions in BizTalk360. In this new version, we have added operational capabilities such as Start, Stop, Enlist and Unenlist for Send Port Groups as in line with BizTalk server.

Send Port Groups Operation

As there is a famous saying “Intuitive design is how we give the user new superpowers”, we have improved the Application Home Page UI. From now on, you can view all the available Send Ports, Receive Ports, Receive Locations, Orchestrations, Send Port Group and the associated Host Instances in the home tab for easy access.

Application Home tab

The BizTalk user can also audit the Send Port Groups activities in the Governance and Auditing sections. Once the user performs an action on Send Port Groups, it gets tracked on Application activities and User Activities with details as below.

Send Port Groups Auditing

The actions you perform on Send Port Groups are getting tracked and you can audit that on live through “Live Feed” as shown below.

Send Port Groups Live feed data

As you already know, Monitoring is one of the core functionalities of BizTalk360. With this functionality, you can monitor all the BizTalk artifacts and when the artifacts go down, you can perform actions through the auto-healing functionality, except, until earlier versions of BizTalk360, for the Send Port Groups. Now, the Monitoring capability has also been provided for the Send Port Groups.

Send Port Groups Monitoring

Note: To know the detailed information of Send Port Groups monitoring click here.

Alarm Reset Capability

Prior to v8.9.5, the alarm will get reset in two scenarios as follows.

  1. Manually select the respective alarm and Reset the Notification Counter
  2. Notification Counter will be reset once all the mapped artifact status are in the healthy state

Alarm manual reset functionality

As per the feedback from several customers (as below), we have included Auto Reset ability in our latest release.

Customer feedback for Alarm reset functionality

Alert Reset limit can be set in Alarm configuration section as shown in the below screenshot.

Alarm reset configuration

Once the notification limit has been reached, the alarm will auto reset the counter after the configured X minutes.

Autocorrect Reset Capability

Prior to v8.9.5, as same as with an alarm, the Auto Correct configuration will get reset in two scenarios. The Auto Correct will get reset, once after the auto healing is successful:

  1. Auto Correct ‘Max Retry’ counter will be reset after the successful auto healing of the mapped artifacts
  2. Associated Auto Correct mappings will be reset after the alarm reset

But we don’t have the capability, to reset the Auto Correct automatically. As per the feedback from several customers, we have implemented Auto Correct Reset functionality in the latest version.

Customer feedback for Autocorrect functionality

Now, With Auto Correct parameters “Max Retry” and “attempt”, an additional parameter has been added, which is “Reset Interval”. The user can configure the time interval to do automatic Auto Reset. This configuration will reduce the manual intervention every time when the ‘Max Retry’ counter reaches it limit.

Reset Interval configuration in Autocorrect

Conclusion

We hope that the above features will increase the usability and reduce the manual work to reset. Are you tired of constantly having to monitor your BizTalk environment in a manual fashion? Give BizTalk360 a try and take benefits of newly added features. A trial version of BizTalk360 can be requested here.

BizTalk360 V8.9.5 Enhanced Features

BizTalk360 V8.9.5 Enhanced Features

Introduction

BizTalk360 has many features that BizTalk Operators and BizTalk Administrators can take advantage to manage their BizTalk Environments. BizTalk360 is constantly improving the existing features based on the customer’s feedback in every release of the product. Similarly, in version 8.9.5 the existing features are improved based on the customer votes for the feature request. In this article, we can see the three different feature improvements like Filter Improvements, ESB Fault Delete Operation, Notification channel reconfiguration that has been implemented.

“The first step in exceeding your customer’s expectations is to know those expectations.” ~ Roy H. Williams, Author & founder of the Wizard Academy Institute.

Filter Improvements

The Filter Component is an important tool to get query results from BizTalk databases like BizTalkMsgBox, BizTalkDTADb and BAMPrimaryImport. In Message Box Queries and Tracking Queries (Graphical Message Flow), there were few filter operators missed in the previous version of BizTalk360. Due this missing filter operators’ customers faced challenges to filter data they expected get results out of it. To overcome this situation, BizTalk360 planned to implement the filter operators to match with BizTalk Admin Console. Please find the consolidated list of filter operators that are implemented in the latest version of BizTalk360.

Message Box Queries:

In Message Box Queries, to the filters Instance Status and Service Class “Not Equals” Operator are implemented in Operation and Data Monitoring Section

  1. All In-Progress Service Instances
  2. Running Service Instances

Similarly, other operators like IS Null, IS NOT NULL and Does Not Contains are implemented. While choosing the filter operators “IS NULL and Is NOT NULL“ there is no need of filter inputs.

Graphical Message Flow:

ESB Filters:

In the ESB Module, “Machine Name and Scope” are implemented in Operation (ESB Exception Data) and Data Monitoring Section (ESB Data) Machine Name filter has operators:

  1. Equals
  2. Not Equals

Scope filter has operators:

  1. Equals
  2. Not Equals
  3. Contains
  4. Does Not Contains

Custom Notification Channel Reconfiguration

Custom Notification channel is a powerful mechanism to notify BizTalk360 monitoring alerts to various channels like Slack, Service Now, Microsoft Teams etc. There is even a possibility that a customer can write their own custom notification channel.

Scenario:

A customer has written their own custom notification channel like PowerShell notification to execute the PowerShell scripts to restart the Windows service when an Error or a Warning occurred. Based on the business case, they want to enhance the custom notification channel implementation.

In this situation, the customer must remove the configured notification channel from the alarms to which it is associated. Then reconfigure custom notification channel to the alarms. If the number of alarms is large, then it is tedious process to remove and reconfigure the notification channel from all the alarms. To Overcome this challenge, in this version 8.9.5 Custom Notification Channel Reconfigure capability has been introduced. By this feature, users don’t need to remove the configured channels from the alarms. Instead the user can click on Reconfigure button and choose the latest DLL to update the existing channel object stream in the database.

The automatically reconfigured notification channel will affect from the next monitoring cycle. The users must reconfigure the notification channel properties value, if they introduce a new alarm or global properties in the updated notification channel. The user can view the list of alarms to which a custom notification channel is associated. This will give insight in the number of alarms the notification channel is associated with.

ESB Fault Delete Operation

From the Feedback portal we understood that customers are interested to have Delete Operation on ESB Fault Exceptions.

Scenario:

A Send Port that you are using in an application fails unexpectedly, therefore both the service instance and the message become suspended and the fault information is written into the ESB exception database. Once the exception is corrected and resubmitted for further go, there may be two scenarios which will come into picture:

  1. Messages which are submitted successfully are residing in the ESB Exception database but are of no further use
  2. Messages are rerouted to the ESB Exception database due to recurrent failure. In this specific case, the original message is also available in the ESB portal

ESB Fault Deletion is introduced in the ESB Exception Management section. The user has the option to select multiple faults, which can be deleted in the one go. The delete operation will remove the data from the following tables in the ESB Exception database.

  1. [MessageData]
  2. [ContextProperty]
  3. [Message]
  4. [Fault]

The Delete operation will delete Multi-Part message or multiple messages and context properties related to the faults from the corresponding tables.

Governance Audit:

BizTalk360 will capture the governance audit about the message delete operation. It will audit the user who performs the delete operation and message Id’s are displayed in governance audit section. Similarly, these operations are notified in Live Feed section.

Summary

We hope that the enhanced features will give you more control over the filters, Custom notification channels and ESB Faults. We always keep track of our Feedback Portal and take up the valid suggestions and feedback. If you would like to know more about how BizTalk360 can help your organization to manage your BizTalk Server middle ware platform, feel free to contact us.

Author: Senthil Kumar Palanisamy

Senthil Kumar Palanisamy is the Technical Lead at BizTalk360 having 14 years of experience in Microsoft Technologies. Worked various products across domains like Health Care, Energy and Retail.

Microsoft Integration Weekly Update: Feb 04, 2019

Microsoft Integration Weekly Update: Feb 04, 2019

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

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.

If you want to receive these updates weekly, then don’t forget to Subscribe!

Feedback

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

Advertisements