Integrating Microsoft Teams as a Notification channel in BizTalk360

Integrating Microsoft Teams as a Notification channel in BizTalk360

Recently in one of our support tickets, a customer enquired on whether Microsoft Teams as a notification channel would be implemented in upcoming releases, as he heard of it in the INTEGRATE 2017 event, where Saravana introduced ServiceBus360 and Teams was one of the notification channels there.

Therefore, I thought if I could provide an alternate workaround to achieve the same in BizTalk360. This often occurs in Support where if we don’t have the functionality currently in the product, we do strive to provide a similar working functionality by discussing it with the development team. Here is my implementation of the feature request by using Logic Apps & WebHook Notification Channel.

Create the Channel in Microsoft Teams

Integrating Microsoft Teams as a Notification channel in BizTalk360

Integrating Microsoft Teams as a Notification channel in BizTalk360

Once the Team has been given a suitable name and was successfully created, then we can create a new channel for that Team. (Click the … near the newly created Team and choose ‘Add channel’.

Once the Channel has been created we can use the Team name & Channel Name in the Azure portal as the destination for the Post Message (Teams).

This can be achieved via Logic Apps or by creating a custom Notification channel. We will have a quick look at both the implementations.

1. Implementation via Logic Apps

Configuration in Logic Apps:

So I created a Demo Logic App, and here is a screenshot of the design used.

Integrating Microsoft Teams as a Notification channel in BizTalk360

I’ve used a Request-Response and added an Azure function to help Parse the JSON response received from the BizTalk360 Notification channel and then passed that composed message to a Post message action for Microsoft Teams. Azure will ask you to authenticate your login (Teams) and then allow you to select the specific Team and Channel from Microsoft Teams.

In the 1st Request, you will also need to supply the Request Body JSON Schema or use sample Payload to generate the schema. Please refer to this code for the Schema I used.

Azure Function Code implementation

To access the code used for the Azure function, please access this code at Github website.

Integrating Microsoft Teams as a Notification channel in BizTalk360

Configuring BizTalk360 WebHook Notification Channel for the Logic App

Please refer to this article which describes how to set up Webhook notification Channel.

https://assist.biztalk360.com/support/solutions/articles/1000245561-adding-a-webhook-notification-channel

You can get the URL for the Web API from the Logic App – refer to the screenshot earlier provided and the arrows identify where to get the URL from. Use that in configuring the BT360 webhook notification channel.

Integrating Microsoft Teams as a Notification channel in BizTalk360

Once the WebHook Notification Channel is configured, you can select it as the notification option in the specific Alarm
Integrating Microsoft Teams as a Notification channel in BizTalk360

Receiving the Notifications

Once the Threshold is violated, similar to the Email notifications, you will now see a notification in Microsoft Teams.

Integrating Microsoft Teams as a Notification channel in BizTalk360
While I have parsed the JSON message and only displayed the Application Name & Artifact Name that has the error, you can choose and customize your error messages as required.

2. Implementation via Custom Notification Channel

You can read these articles which show how to create a custom notification channel.

https://blogs.biztalk360.com/introduction-custom-notification-channel-sdk-biztalk360/

https://assist.biztalk360.com/support/solutions/articles/1000217940-adding-a-new-custom-notification-channel

You need to select the WebHook Connector from Microsoft teams. You need to copy the WebHook URL which you will then enter the code in the custom notification channel.

Integrating Microsoft Teams as a Notification channel in BizTalk360

You then need to setup the Custom Notification Channel as mentioned in the blogs.

Then you only need to add this code to the FileChannel.cs file either instead of after the successful completion of File notification completed. Again I have only output Alarm Name and an Error string. Please customize as required.

Integrating Microsoft Teams as a Notification channel in BizTalk360

So I hope this blog gave you a good idea as to how you can integrate Teams with BizTalk360 Notifications.

Microsoft Integration Weekly Update: July 17

Microsoft Integration Weekly Update: July 17

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!

On-Premise Integration:

Cloud and Hybrid Integration:

Feedback

Hope this would be helpful. Please feel free to let me know your feedback on the Integration weekly series.

Advertisements

Middleware Friday turns 6 Months

Middleware Friday turns 6 Months

Yes, it has been 6 months since we launched Middleware Friday! Saravana announced the launch of Middleware Friday in the first week of this year.  After a fair success from Integration Monday events under Integration User Group, Saravana and Kent had the idea to experiment this concept of short video blogs on some interesting Integration topics and interviews from industry leaders. In a larger view, Middleware Friday is something very much like a short news update on the latest Integration trends posted on every Friday.

Six Months and 26 sessions later…

We’ve had 23 sessions from Kent Weare and 3 guest sessions from Steef-Jan Wiggers (both of them are eminent MVP’s, and active community members) till date, with topics ranging from Logic Apps, Power Apps, Service Bus, Power BI, Cognitive Services, Serverless Integration, HTTP Connectors, API Management and lots more. We would like to extend our thanks to the speakers and attendees for making the #MiddlewareFriday sessions a success. We’re not done yet! One of the hardest parts in conducting these kinds of video logs is being short and yet deliver fair technical output that would help the viewer. We are very pleased with the outcome so far.

Protecting Azure Logic Apps with Azure API Management

Azure Logic Apps and Service Bus Peek-Lock

Logic Apps and Cognitive Services Face API – Part 1

Microsoft PowerApps and Cognitive Services Face API – Part 2

Serverless Integration

Logic Apps and Power BI Real-Time Data Sets

Azure Monitoring, Azure Logic Apps and Creating ServiceNow Tickets

Monitoring Azure Service Bus Queues and Topics using ServiceBus360

Azure Logic Apps and SAP – Part 1

Azure Logic Apps and SAP – Part 2

Azure Logic Apps and HTTP Connector

Using API Management to protect on-premises BizTalk endpoints

Global Integration Bootcamp – March 25, 2017, New York

Using API Management to protect Azure Functions

Introduction to Azure Functions Proxies

Azure Logic Apps and Azure EventHubs

BizTalk Server 2016 First Look

BizTalk Server 2016 + Logic Apps – Thunder and Lightning

BizTalk Server 2016 Feature Pack 1

Task Management Face off with Logic Apps and Flow

Austin City Limits with Stephen W. Thomas

Azure Logic Apps – Retry Policy

Azure Logic Apps – Azure Active Directory Connector

Azure Event Hubs: Auto-Inflate

INTEGRATE 2017 Preview Show

INTEGRATE 2017 Highlight Show

Over the course of next few weeks until further communication, Kent will be moving his time schedule to summer hours. Therefore, Middleware Friday episodes will be published every alternate week.

Author: Mohan Nagaraj

Mohan as a Senior Technical Writer responsible for product documentation and all other content related activities. He combines his passion for business, technology, and writing to spread the word about BizTalk360. Mohan is responsible to work with cross functional teams to visualize and create product documentation and marketing content. He feels writing is so much fun and it is satisfying to capture the company’s soul & passion and make it live through documentation. View all posts by Mohan Nagaraj

Microsoft Integration Weekly Update: July 10

Microsoft Integration Weekly Update: July 10

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!

On-Premise Integration:

Cloud and Hybrid Integration:

Feedback

Hope this would be helpful. Please feel free to let me know your feedback on the Integration weekly series.

Advertisements

Building sentiment analysis solution with Logic Apps

Building sentiment analysis solution with Logic Apps

Integrate 2017, a well-organized Microsoft Integration focused event, took place from 26 to 28 of June at Kings Place in London. It attracted 380 plus attendees from 50 different countries and had 28 speakers from around the globe including the Microsoft Product Group. I did a session around Logic Apps from the consumer, end user, and business perspective and used sentiment analysis as for my demo.

Context

To provide you some context. Logic App service was the most prominent technology during the three-day event. This Azure Service became general available a year ago and is starting to build momentum as premier cloud integration capability. Most of all, the service fits rather well in the complete Azure Platform with its connectors to a wide variety of other Azure services and in addition, it connects with SaaS solutions such as Twitter, Zendesk, Salesforce, ServiceNow, PagerDuty, and Slack.

During Integrate 2017 I talked about empowering business with Logic Apps. And my goal was to show the audience the value of Logic Apps for the business. The service is a true iPaaS service according to the definition Wikipedia provides online. And it is a part of Azure, which is multi-tenant, has a subscription model or in the case of Logic Apps it’s consumption based (micro-billing), provides pre-built ready available connectors, deployment/manage/monitoring through the platform.

iPaaS

If you look at how for instance Gartner describes iPaaS then again Logic Apps are a true cloud-native integration platform. Consumers of Logic Apps in Azure can implement data, application, API and process integration projects spanning cloud-resident and on-premises endpoints. I will quote the Gartner report here:

“This is achieved by developing, deploying, executing, managing and monitoring “integration flows” (aka “integration interfaces”) — that is, integration applications bridging between multiple endpoints so that they can work together.”

And the iPaaS capabilities typically include according to Gartner:

• Communication protocol connectors (FTP, HTTP, AMQP, MQTT, Kafka, AS1/2/3/4, etc.)
• Application connectors/adapters for SaaS and on-premises packaged applications
• Several data formats (XML, JSON, ASN.1, etc.)
• Data standards (EDIFACT, HL7, SWIFT, etc.)
• Mapping and transformation of data
• Quality of data
• Routing and Orchestration
• Integration flow development and lifecycle management tools
• Integration flow operational monitoring and management
• Full lifecycle API management

Looking at the above capabilities than Logic Apps in combination with Integration Account and API Management provide those capabilities.

Gartner Quadrant

Logic Apps are positioned in Gartner Quadrant in the Visionaries box, which means that the vendor of the service is able to execute lower than the leaders (in the Quadrant vendors like Dell Boomi and Informatica), have a smaller install base, certain immaturity, timid marketing, reactive sales operation and lack of strategic commit to the market.

My take on that is that Logic Apps is relatively new in the iPaaS market.

  • A year ago it became general available. And it is maturing at a fast pace with new feature releases every two weeks with an expanding set of connectors.
  • Sales representation from Microsoft at Integrate 2017.
  • And finally, the commitment is strong with the Pro Integration Product Group presence at various conferences throughout 2017. This year they have or will attend Ignite, Build, Integrate2017 Europe, Inspire (former WPC), Integrate 2017 US, Integration Bootcamp, Global Integration Bootcamp, Global Azure Bootcamp, and smaller User Group meetings worldwide.

Hence I struggle a bit with the classification of the current state of Logic Apps. I strongly feel the service is close to the border of visionary and leader. It has promised to become a true iPaaS leader.

Benefits

Business can reap the benefits from this service as the attention is towards solving the problem(s) it is facing. Logic Apps is a part of a large Platform. And it can deliver solutions fast as there’s no need for procuring servers, or other infrastructure related capabilities. This accounts for the business that has transformed their business to the cloud and requires cloud-native solutions. That’s what fit for purpose with Logic Apps. And the costs are less and time to market of your solutions is fast.

Use Cases

The connectors provided by Logic App can help you build solutions for various enterprise scenarios. For instance, you leverage cognitive services to identify a person to subsequently grant him access to resources, start an onboarding process, or provide access to a facility. An example of leveraging Cognitive Services is to perform text analysis on tweets, which I will explain in further detail later in this post.

The text analysis can be useful to detect sentiment in a tweet. Particularly on a #hashtag, for instance, a person like Trump, product or service. I mention President Trump here as the current US President uses this social media service quite extensively. And the tweets he produces are evaluated intensively for stock trading.

Dynamics 365

Other thinkable use cases evolve around the Dynamics 365 CRM Online connector. This connector provides connectivity to Dynamics CRM that provides various features like customer service automation, marketing campaigns, and social engagements.

Dynamics 365 has several capabilities or flavors; one is Dynamics for Field Service, which provides a complete Field Service management solution, including service locations, customer assets, preventative maintenance, work order management, resource management, product inventory, scheduling and dispatch, mobility, collaboration, customer billing, and analytics. Therefore, during integrate I talked about leveraging this solution in combination with IoT devices. The picture below shows the data flow from device to the Dynamic Field Service features.

Building sentiment analysis solution with Azure Logic Apps

Data from a device can be consumed by IoT Hub service in Azure and pushed to the service bus queue, which can be read by Logic App. The Logi App forwards the data into Dynamics Field Service through the CRM connector. In conclusion, a Logic App or number of them can be part of an end-to-end solution for various field services.

The previous paragraph discussed one of the many use cases possible including Logic Apps. Moreover, there are many other scenarios thinkable since Logic Apps are a part of a bigger platform, which means you leverage them with other Azure Services or create flows to move data around. With sentiment analysis, you can detect sentiment within a text using one of the Cognitive Services API’s. The way sentiment analysis API functions are that it returns a numeric score between 0 and 1 on a given text. Scores close to 1 indicate positive sentiment and scores close to 0 indicate negative sentiment. A score of 0.5 is neutral. With Logic Apps, you can receive tweets within a certain interval (occurrence) based on filter i.e. hashtag and feed the body into Detect Sentiment action.

Sentiment Analysis Solution

To build a solution leveraging the capabilities Cognitive Services deliver with a Logic App, Azure Storage Account, Azure Function and Power BI you need to set up these services up.

Cognitive Service

The setup of the first is basically provisioning of a Cognitive Service instance i.e. API. In the Azure Portal, you find the Cognitive Service in the marketplace. Subsequently, you click on the service you specify a name, choose a subscription, and subsequently which API you like to use.

Building sentiment analysis solution with Azure Logic Apps

To detect sentiment analysis in a text you need to choose Text Analytics API, which as the time of writing is still in preview. The Text Analytics API is only available in region West US, and pricing of service varies depending on the tier you require. Below you can see the different pricing options.

Building sentiment analysis solution with Azure Logic Apps
As you can see in the picture above the Cognitive Service provides four features:

• Sentiment Analysis
• Key Phrase Extraction
• Topic Detection
• Language Detection

Once you have chosen the required tier you can create this service.

Power BI

The next service is Power BI, which is a part of the Office365 offering and can be found here: https://powerbi.microsoft.com/. You can sign in and start building datasets, dashboards, and reports. For a solution to visualize sentiment you can create a streaming data set. Go to the powerbi.com and “Streaming datasets”, create a dataset of type API, click next and name the dataset and add fields to the streaming data set like shown below.

Building sentiment analysis solution with Azure Logic Apps

The Solution

In a solution, I build I created four text fields and one number field. The historic data analysis was enabled to build a collection of the data to be used for a report.

Now both Cognitive Service and Power BI have been setup and next step is to create a storage account in Azure. This account will archive tweets in a blob storage container tweets. Provisioning a storage account is easy and straightforward process. In the marketplace find storage account, select it, specify name, deployment model, purpose (choose blob storage), replication, access tier (cold), secure transfer, subscription, resource group, and location.

The final service required for the solution is a function. The Function in our solution will be provided with the input from the Cognitive Service API response (Score). Azure Functions provide a serverless coding capability using a Browser and the piece’s code you write can run in Azure i.e. within a Function App.

For our solution, we add a GenericWebHook-CSharp. We will rename the function to AnalyseSentimentScore. And in the Develop tab, we see some generic default code, which we will change to the code below.

Building sentiment analysis solution with Azure Logic Apps

Architecture

The solution architecture I build looks like the diagram below and resembles a process manager pattern.

Building sentiment analysis solution with Azure Logic Apps

This pattern implies that a trigger message is sent to a process manager (Logic App). The process manager is a central processing unit and determines steps based on intermediate results. A tweet is the trigger message that starts a flow in a Logic App. The body is sent to Cognitive Service (Proc A) and the score is sent to a Function (Proc B), which will evaluate the score. The Tweet is stored in blob storage and a few fields are sent to Power BI to fill the dataset. A diagram of a process manager is depicted below.

Building sentiment analysis solution with Azure Logic Apps

Implementation

The implementation of the solution is slightly different than from the pattern as after the second intermediate step the tweet data is sent to Azure Blob Storage and Power BI dataset.

The Logic App is implemented with a Twitter trigger, authorized to use my twitter account, with the search text #integrate2017 and interval (frequency) of 5 minutes i.e. every 5 minutes tweets with #integrate2017 will be picked up. Subsequently, this trigger is followed by several actions.

Building sentiment analysis solution with Azure Logic Apps

The picture above shows the flow of the Logic App. First, a Twitter triggers then a compose action to create an element part containing the username of the tweet. Subsequently the detect sentiment and the detect key phrases actions. Then the second composes to create a JSON array of the key phrases. And after the second compose the score of the detected sentiment is send to the function, which will return a string (text) of the evaluated score (see also the function). Several tokenized elements are sent to blob storage (see picture below).

Building sentiment analysis solution with Azure Logic Apps

And the final step of this solution (Logic App definition) is sending some of the tokenized elements to a dataset row in Power BI dataset.

Building sentiment analysis solution with Azure Logic Apps

Now we have walked through the complete Logic App definition and the key actions of the solution.

Integrate 2017 Report

For integrate 2017 I ran the Logic App between 17th of June until the 1st of July. And the event took place between 26th and 28th of June in London. Every 5 minutes the Logic App collected tweets from Twitter with hashtag integrate2017. Over this period of 15 days, 3500 tweets have been aggregated around this event. It started slowly with around 50 tweets until the event started on the 24th with a burst of tweets. Below you can see a report created in Power BI with some visualization of sentiment measured in the tweets.

Building sentiment analysis solution with Azure Logic Apps

Around 2/3 of all the tweets, the sentiment was excellent/good, which can be viewed as positive. 1/3 of the tweets were evaluated as moderate. The Cognitive Service Text Analysis capability was unable to determine negative or positive. And finally, a very small percentage was negative (bad). Hence you can conclude that the event was a great event given the sentiment score.

The benefits of building a solution like described above are that with a relative simple Logic App sentiment can be analyzed leveraging several abilities provided by the Cognitive Service. Probably when a business likes to measure sentiment through Social Media channel it can use Logic Apps. Therefore, Logic Apps provide a quick solution in this manner to provide quick insights with low costs. There are no servers necessary and a pro-integration professional can build this type of solutions within a few hours depending on the complexity. Hence it provides quick time to market.

The costs

The interesting part of this solutions is cost. The breakdown of costs for this solution is:

– Logic App (Consumption)
– Function (Consumption)
– Cognitive Service (Tier)
– Storage Account (Volume)
– Power BI (Enterprise Plan)

The Logic App and Function are consumption based and measured on the execution of an action or function. And in general, it can sometimes be hard to predict the workload these services need to process. Hence you need to be aware of this. A good reference with regards to costs with Logic Apps is a post by Rene Brauwers, Tips & Tricks: Cost savings using Logic Apps.

For the Logic App in this solution, 3500 tweets were processed, and the Logic App consists of 8 actions (including the trigger). Hence 28K action calls costs based on the pricing (First 250K actions = €0.000675 / action) approximately 19 euro. And less than a euro for the executions of the Function.

Next, the costs for the Cognitive Service depends on the tier. The free tier could be an option, however, if the workload is too high then you run into rate limiting issues. The S1 Standard can be sufficient and costs 150 Euro a month. Yet you can turn it off after your campaign of measuring sentiment, which could be a few days. In this solution, the costs are 75 euro. Storage of less than 4 Mb of tweets is neglectable. This leaves the costs for Power BI. For the solution, I build I used the pro version, which is around 10 Euro per month. Thus, in total, a sentiment analysis solution costs around a 100 euro.

Conclusion

Depending what the requirements are and perceived value is, Logic Apps combined with other Azure Services and Office365 (Power BI) can be a good fit for purpose for low costs, agility and time to market. Logic Apps are becoming a leader in the iPaaS. On a short term, it will be able to cross the border from visionary to leaders in the Gartner Magic Quadrant. The Product Group is cranking out enhancements on the service and new connectors every two weeks. And they have kept this pace since the General Availability of the service a year ago. Nevertheless, the competition is strong however I am confident Logic Apps will be amongst the leaders.

Author: Steef-Jan Wiggers

Steef-Jan Wiggers has over 15 years’ experience as a technical lead developer, application architect and consultant, specializing in custom applications, enterprise application integration (BizTalk), Web services and Windows Azure. Steef-Jan is very active in the BizTalk community as a blogger, Wiki author/editor, forum moderator, writer and public speaker in the Netherlands and Europe. For these efforts, Microsoft has recognized him a Microsoft MVP for the past 5 years. View all posts by Steef-Jan Wiggers

SSO service failed to start for BizTalk with SQL Server Alias

SSO service failed to start for BizTalk with SQL Server Alias

For one of our customer, we have implemented an integration solution for their on-premise CRM and ERP application using BizTalk Server 2016. Now it’s ready to go LIVE and we are helping them to build PROD environment.

But in next 6 months or so they would move their current database server farm to a new one. So, we suggested them to create a SQL server alias as it will not require to re-configure BizTalk server once the database server is changed.

While configuring BizTalk server we started getting error – SSO service failed to start.

Failed to contact the SSO database: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

Data Source=SQLBIZPROD;Integrated Security=SSPI;Initial Catalog=SSODB

Error code: 0x800710D9, Unable to read from or write to the database.

 

Troubleshooting and fix

First we try to connect the database server from BizTalk server using SQL server Management studio for the SSO admin user and it connected successfully.

Next we started looking into the SQL server alias configurations. You can create aliases using SQL Server Client Network Utility. These aliases need to be implemented on each BizTalk Servers in the group.

There are two cliconfig.exe on the BizTalk server

  • C:WindowsSystem32cliconfg.exe (64bit) and
  • C:WindowsSysWOW64cliconfg.exe (32bit)

But the alias was only configured using the 64bit cliconfig.exe and not with 32bit.

Once we configured the alisa using 32bit cliconfig.exe, we got rid of the error and BizTalk configured successfully.

So basically the SQL server alias must be configured using both cliconfig.exe, 32bit and 64bit otherwise you might get the error – SSO service failed to start.

Related Links

https://blogs.msdn.microsoft.com/biztalknotes/2013/05/15/biztalk-and-sql-server-alias/

https://msdn.microsoft.com/en-us/library/aa577661.aspx

Advertisements

Integrate 2017 – Another Amazing Event!

Integrate 2017 – Another Amazing Event!

Last week, June 26th to 28th, Integrate 2017 was once again held in London. This is the largest integration centered event, and a great way to have fun with the community, see amazing sessions, and get to meet the product groups. I have been to these events since the beginning, and have seen it grow into one of the best events around.

Last year at Integrate, we got introduced to the vision of Hybrid Integration, a way of seamlessly integrating across the cloud and on-premises. This year, what we saw was a matured vision, with all the bits and pieces falling into place, and giving us the tools to build great solutions. I think Microsoft made a good bet on this, as we see more and more of these hybrid integrations being built at our customers, where some of the data or logic will remain on premises, but they do want to leverage the power and flexibility of Azure.

C:UsersELDER_~1AppDataLocalTempmsohtmlclip12clip_image001.jpg

The Microsoft teams as well as the MVP’s had very engaging sessions, which truly inspired people to get their hands on all the parts of the hybrid platform.

I always love seeing the sessions, getting the latest information, and being inspired, but the best part of these events to me is the interaction with the community. I think we have one of the best communities around, and so it’s great to catch up with old friends from around the globe, and of course making a lot of new friends as well. I recommend anyone to visit one of these events for themselves, and just say hi to people you do not know yet. People are always willing to have a chat, share their inspiration and experiences, and catch a beer afterwards.

And for those who can’t wait another year for Integrate, there’s good news, as we will be having an Integrate in Redmond, on October 25th to 27th. If you could not come to London, or just can’t get enough of Integrate and our amazing community, be sure to come. I’m looking forward to seeing you there, so come and say hi.

C:UsersELDER_~1AppDataLocalTempmsohtmlclip12clip_image002.jpg

As one of the global organizers of the Global Integration Bootcamp, I am proud to say we have also presented next year’s version of this global event. We will be holding GIB2018 on March 24th 2018, if you want to host your own location just drop us a line. The website will be updated soon, but you can already find our contact details there.

Of course, I am not the only one posting about this year’s amazing Integrate, there are already a couple of great recaps out there, here are some you cannot miss.

BizTalk360
Kent Weare
Steef-Jan
Daniel Toomey
Wagner Silveira
Codit

Great Experience at INTEGRATE 2017 in London!

Great Experience at INTEGRATE 2017 in London!

Last week I had the privilege not only of attending the INTEGRATE 2017 conference in London, but presenting as well. A huge thanks to Saravana Kumar and BizTalk360 for inviting me as a speaker – what a tremendous honour and thrill to stand in front of nearly 400 integration enthusiasts from around the world and talk about Hybrid Connectivity! Also, a big thanks to Mexia for generously funding my trip. 14-DMT_NickHhauenstein

With 380+ attendees from 52 countries around the globe, this is by far the biggest Microsoft integration event of the year. Of those 380, only four of us that I know of came from APAC: fellow MVP speakers Martin Abbott from Perth and Wagner Silveira from Auckland NZ, as well as Cameron Shackell from Brisbane who manned his ActiveADAPTER sponsor stand. Wagner would have to take the prize for the furthest travelled with his 30+ hour journey!

I’ve already published one blog post summarising my take on the messages delivered by Microsoft (which accounted for half of the sessions at the event). This will soon be followed by a similar post with highlights of the MVP community presentations, which in addition to BizTalk Server, Logic Apps, and other traditional integration topics also spanned into the new areas of Bots, IoT and PowerApps.

iPhone Import 156Aside from the main event, Saravana and his team also arranged for a few social events as well, including networking drinks after the first day, a dinner at Nando’s for the speakers, and another social evening for the BizTalk360 partners. They also presented each of the BizTalk360 product specialists with a beautiful award – an unexpected treat!

You have to hand it to Saravana and his team – everything went like clockwork, even keeping the speakers on schedule. And I thought it was a really nice touch that each speaker was introduced by a BizTalk360 team member. Not only did it make the speakers feel special, but it provided an opportunity to highlight the people behind the scenes who not only work to make BizTalk360 a great product but also ensure events like these come off. I hope all of them had a good rest this week!

As with all of these events, one of the things I treasure the most is the opportunity to catch up with my friends from around the globe who share my passion for integration, as well as meeting new friends. In my talk, I commented about how strong our community is, and that we not only integrate as professionals but integrate well as people too.

01-SundayNight-Mikael  21-Pizza_TomCanter

Arriving a day and a half before the three day event, I had hoped to conquer most of the jet-lag early on. But alas, the proximity to the solstice in a country so far North meant the sun didn’t set until past 10:30pm while rising just before 4:30am – which is the time I would involuntarily wake up each day no matter how late I stayed up the night before! Still, adrenalin kept me going and the engaging content kept me awake for every session.

And no matter what.., there was always time for a beer or two! Smile

22-PostPizza_TomCanter

I look forward to the next time I get to meet up with my integration friends! If you missed the event in London, you’ll have a second chance at INTEGRATE 2017 USA which will be held in Redmond on October 25-27. And of course, if you keep your eyes on the website, the videos and slides should be published soon.

(Photos by Nick Hauenstein, Dan Toomey, Mikael Sand, and Tom Canter)

EDI Dashboard widgets for reporting MDN status in BizTalk360

EDI Dashboard widgets for reporting MDN status in BizTalk360

Electronic Data Interchange, provides a common-Industrial standard to communicate between different enterprises with a predefined format to reduce the manual efforts between trading partners. AS2(ApplicationStatement2) standard is a specification used in the EDI messages to transport messages securely over the wire with certificate/encryption algorithms.

EDI Dashboard widgets

MDN, Message Disposition Notification is a Technical Acknowledgement, which indicates whether the AS2 messages was successfully received by the recipient. With millions of EDI transactions happens each day, it is always important to track and report the success/failures on the consolidated interface. Even though BizTalk Admin console provides a message level AS2-MDN status on the EDI reporting, BizTalk360 takes this to the next level of consolidating the MDN status or other EDI status on a chart view for business understanding.

EDI Reports in BizTalk

EDI Reports in BizTalk- Prerequisites

To Enable EDI reports in BizTalk, the prerequisite is to enable BAM. As the EDI reports utilize the BAM infrastructure, the EDI tracking data is being organized within the BAMPrimaryImport tables. Make sure to enable the BAM and EDI Reporting in the BizTalk Admin configuration pane to kick start with EDI Reporting!

EDI Reports in BizTalk

EDI Reporting in BizTalk Admin console

BizTalk Admin console displays the AS2-MDN status on a group level and the status is displayed on a per-message basis. Various filters are being available to segregate the party/status based messages.

EDI Reporting in BizTalk Admin console

Below is the list of tables responsible for determining the AS2-MDN status/ AS2 interchange status.

AS2-MDN status/ AS2 interchange status

List of MDN Status

Below is the list of MDN status tracked in BizTalk Admin console
1: Acknowledged – Processed
2: Acknowledged – Rejected
3: Processed – MDN Pending
4: Processed – MDN not Expected
5: Processed – Not Acknowledged – Resend attempts exceeded
6: ‘Processed – Not Acknowledged – Resend duration exceeded

EDI Reporting in BizTalk360

EDI Reporting in BizTalk360 provides rich-dashboard widgets to get known on the consolidated EDI details from Interchange level to MDN status level.

Navigation: Operations>>Electronic Data Interchange>>EDI Dashboard>>Add Widget

EDI Reporting in BizTalk360

Below are the widgets available in BizTalk360 for EDI Reporting, customize it according to the Dashboard requirement.

AS2MDN-status based widgets

As this blog covers more on the side of MDN status, there are two different AS2-MDN status widgets are available in the EDI dashboard of BizTalk360. MDN Status in BizTalk is determined by various parameters like

  1. MdnDisposition Type
  2. DispositionModifier ExtType
  3. DispositionModifier ExtDescription
  4. MDN Status number

The permutation/combination of all the above four parameters varies the MDN enumerated value at BizTalk Admin console

AS2MDN-status based widgets

  1. Number of AS2 messages by partner and MDN status

This widget reports the MDN status value filtered based on partners.

MDN status value filtered based on partners

2. Number of AS2 messages by partner and MDN status(All)

This widget represents the aggregated count of received or send messages per partner and MDN status.

count of received or send messages per partner and MDN status

3. Number of AS2 messages by MDN status

This widget represents the Number of AS2 partners by MDN status in a chart for all the partners in one chart view also indicates the segregation of receive/send.

Number of AS2 partners by MDN status

As this gives the comprehensive report on all the AS2/EDI events, BizTalk360 also provides options to set the date range from which the results should be displayed. This date range segregated as

Last24hrs, Last7Days, and Last30Days.

AS2/EDI events

This widget can also be added in the Home screen of BizTalk360

biztalk360 home

Custom Widget

BizTalk360 also provides the facility to create a Custom widget, which can be tailor made to your requirement. As the BAM tables are been responsible for EDI reporting, utilize this data source to create your own Widget. Follow this link for step by step guide to create a custom widget.

Summary

As there were around 12 EDI widgets, based on the Business/Transaction requirements you can easily customize and have an eagle’s view of all the EDI transactions with no recurrence of manual work. Explore more of our inbuilt widgets and enjoy EDI reporting with just a click away from BizTalk360!

Author: Vignesh Sukumar

Vignesh, A Senior BizTalk Developer @BizTalk360 has crossed half a decade of BizTalk Experience. He is passionate about evolving Integration Technologies. Vignesh has worked for several BizTalk Projects on various Integration Patterns and has an expertise on BAM. His Hobbies includes Training, Mentoring and Travelling View all posts by Vignesh Sukumar

Can a non-super user Terminate/Resume suspended instances?

Can a non-super user Terminate/Resume suspended instances?

BizTalk360 is a single platform to have total control over your BizTalk environment. It has the three main modules namely Operations, Monitoring and Analytics. Monitoring is considered as the main feature of BizTalk360 because it provides rock solid monitoring for the BizTalk environment and informs us via email alerts when the BizTalk server is suffering from problems and downtimes.

As per the below quotes,

“Listening to our customer’s feedback makes them feel appreciated and part of the value creation process”,

We always listen to their valuable suggestions and feedback and add them to BizTalk360 in every upcoming release. We also make enhancements to the existing features based on the customer feedback. This blog explains about one such enhancement on actions performed on the suspended instances.

MessageBox Queries Monitoring:

Data Monitoring was one such feature included in BizTalk360, from the customers’ feedback. Data monitoring helps to monitor the send/receive ports, service instances and exception data from different data sources in BizTalk server. Message Box Queries monitoring is a part of Data Monitoring which is used to monitor the service instances. The service instances may be running or may get suspended in BizTalk servers due to various reasons.

MessageBoxData Monitoring

The messaging service instance is the service instance that’s created for your receive and send port at the run time. A receive port/send port is a combination of various things. Ex: An adapter (File, WCF, SQL etc.), a receive pipeline (and a send pipeline if two-way), and Maps. They get instantiated like the objects for the classes and have different states in their lifetime namely,

  • Ready to Run
  • Scheduled
  • Dehydrated
  • Suspended (Resumable)
  • Suspended (Non-Resumable)
  • Active
  • In Breakpoint

Here in monitoring, we can monitor the count of these instances at various stages and the alerts will be triggered based on the filters and threshold value configured.  It is important to monitor the number of service instances, to keep the BizTalk environment healthy. Having many instances will make the MessageBox database bloated which in turn will affect the performance of the environment. The service instance count can be retrieved from BizTalk Administrator group hub page which displays only the count and does not tell you if it’s the expected count or not. A person seeing this information needs to be a BizTalk expert to understand the various states. Here comes our MBQ monitoring which alerts users according to the threshold limit configured. A non-BizTalk person can now easily understand the alert message and act accordingly.

Actioning on the suspended service instances:

Based on the state of the service instances, the administrator can decide on whether to resume or terminate the instances. For example, when a message is sent through the send port and if it’s stopped, then the instance gets suspended. Once the send port is up, the message can be resumed and processed. Instead of going to the BizTalk admin console and checking it, BizTalk360 has the feature to terminate/resume the instances from the monitoring itself. We can also configure the time when we want to perform the action, either every time or during Error/Warning condition.

Action Performed on Suspended Instance

So, what happens when Action Required is ticked?

There may be scenarios wherein, the customer wants to monitor any suspended messages that by the end of the day are no longer relevant and should be terminated.  So, in this case, BizTalk360 can automatically terminate the instances as per the alarm configuration. This can avoid the excess workload to the BizTalk user as he needs to go and manually run the query to find the instances and action it. We also have the option to bulk terminate the suspended instances altogether instead of doing one by one. There is also an archiving option and to download the instances.

Can non-super users terminate/resume suspended instances?

We have two kinds of users in BizTalk360, namely Super users and normal users. Super users enjoy the admin privileges and have access to all modules. They can define the authorization for the different level of users. They restrict the access permissions for the normal users. The normal users will have minimal access permissions.

The normal users can be anyone from the organization, may be supported engineers, other non-BizTalk group members who are just monitoring BizTalk servers. They would not be aware of the conditions of the service instances. Hence, they cannot decide upon the action to be performed on the suspended instances as it’s a sensitive area like terminating/resuming the instances. This may lead to security and auditing problems also. When normal users configure Data Monitoring and try to resume a suspended instance, they may get an exception message as follows-

System.Exception: User does not have enough rights to access the BizTalkQueryService(service) and ExecuteServiceInstanceOperation(operation).

User permission exception for suspended instances

The administrator alone can know the state of the instances and decide upon the action on them. For this reason, BizTalk360 has provided the restriction that only superusers can perform the resume/terminate action for them.

An in-depth analysis on the super user access to terminate instances:

Let’s have an in-depth look into this limitation and how it must be handled. The user logged into BizTalk360 may be a super user. But still, that user will not be able to perform any action on the service instances. Do you know why? Let’s move forward to know the reason.

When we install BizTalk360, we provide the service account credentials. This service account will be the user who is running the App Pool and monitoring service.  The logged in user running the MSI to install BizTalk360 may be different from the service account. When the application is installed, the logged in user will be created as a superuser in BizTalk360 by default.

So, what happens to the service account if it’s different from the logged in user?

The service account running the IIS App pool and the monitoring service must be created as the “Super User” in BizTalk360. Only then this user can perform the resume/terminate actions on the service instances. Otherwise, the above exception will be thrown.

Service Account Added as super user

Since these are sensitive operations on the instances, only the super user/ administrator should be able to perform such tasks. Therefore, BizTalk360 has imposed this restriction that only when the service account is added as the super user, he can perform the operations on the suspended service instances.

Author: Praveena Jayanarayanan

I am working as Senior Support Engineer at BizTalk360. I always believe in team work leading to success because “We all cannot do everything or solve every issue. ‘It’s impossible’. However, if we each simply do our part, make our own contribution, regardless of how small we may think it is…. together it adds up and great things get accomplished.” View all posts by Praveena Jayanarayanan