Extended Import/Export Configuration – Part 2

Extended Import/Export Configuration – Part 2

This is a sequel blog to my post about the Export/Import Configuration feature. Along with BizTalk Reports and Knowledge Base, we also brought import/export capabilities for Dashboards and Custom Widgets.

A BizTalk administrator needs to perform many tasks every day. When the time comes to analyse or visualize BizTalk data, it can be difficult to break it down and discover exactly what you need to know. By building a BizTalk360 dashboard, the administrator can get a better look at exactly the information of a specific environment. BizTalk admins can create such insightful dashboard for four different sections in BizTalk360:

  • Operations
  • Analytics
  • EDI
  • ESB

The Dashboard options are great and they help to monitor and troubleshoot your environments proactively. However, the downside is that, it can take some time to craft the different dashboards you want and subject matter expertise to display the relevant metrics needed to troubleshoot a specific issue. The Dashboard Import/Export feature allows you to export your fine-tuned, purpose-built Dashboard screens, and import the ones that have been shared with you.

Exporting Dashboards

BizTalk360 admins can export all the available dashboards under each environment in BizTalk360.  Using this capability, users can import all the configured dashboards or any specific ones.

Scenario 1: For their business needs, BizTalk administrators can manage multiple environments. If the admin wants to migrate the Dashboard configuration from one environment to another, the Admin can export the configuration in one environment and import it into another one. Even the globally created dashboards can be imported and exported.

Export Dashboard

Importing Dashboards

The BizTalk admins can import the exported Dashboard configurations from another environment. The admin can create new dashboards and can also overwrite existing dashboards in the target environment. 

Import Dashboard

Having said already, the Dashboards are user specific. This means that users, for which dashboards will be exported and imported between environments, need to exist in the target environment. So, while importing dashboards from one environment to another, make sure the user is existing in the User Access Policy screen. If, by any chance, that specific user does not have a profile in the destination environment, it can be created by using the User Access Policy import capability.

If the user does not have the access for the particular environment in the User Access Policy screen, then the admin cannot import the dashboard for the specific user. Hence, the user must be available in the destination environment.

User not exist in dashboard

In case, the user may exist in a Windows NT Group, then the admin can import the dashboard by providing the NT Group name.

NTGroup user

The result of the imported Dashboards is shown in a nicely formatted grid view, with an explanation of what happened with each Dashboard during the import process.Result summary of Dashboard

Exporting Custom Widgets

The import and export custom widgets implementation is mainly to handle the custom widgets in dashboards. Because, when a dashboard contains any custom widgets, then it will not get exported along with the dashboard functionality.  The user can export the needed custom widgets along with the dashboard from one environment to another environment.

Note: The widgets are not environment specific. All the available widgets will be accessible for all the environments.

Importing Custom Widgets

Importing custom widgets is done by uploading an export file. Using the import functionality, the widget can be imported into other environment or used to restore widgets to the same environment. The Import process takes into consideration, if the widget already exists in the destination environment (widgets are not duplicated). If so, it will be overwritten. 

In case the user still wants to import that widget into the destination environment, the user can edit the original name of the widget, thereby making sure that the widget will become created in the destination environment.

The results of an import are shown in a nicely formatted grid view with an explanation of what happened with each widget during the import process.result summary custom widget

Scenario 2:  While Exporting and importing a dashboard into another environment, the dashboard can contain custom widgets for any kind of data visualization or analysis. Those custom widgets won’t be imported with the Dashboard because, in BizTalk360, the custom widgets are handled separately. In such case, the user can Export the Dashboard along with the custom widgets and import then in the required environment. This will reduce the time on manual creation of each custom widget.

dashboard and custom widget

Conclusion

The Import/Export functionality in BizTalk360, tremendously reduces the time of migrating the data configuration form one environment to another. For the business user, it helps to create dashboards in multiple environments and the user can create the dashboards into collaborative group easily.

BizTalk Pipeline Components Extensions Utility Pack for BizTalk Server 2016 available on GitHub

BizTalk Pipeline Components Extensions Utility Pack for BizTalk Server 2016 available on GitHub

I finally started and published the first version of the sibling BizTalk project Mapper Extensions UtilityPack for BizTalk Server 2016: BizTalk Pipeline Components Extensions Utility Pack

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

BizTalk Pipeline Components Extensions Utility Pack

What’s to expect in this version?

Content-Based Routing Pipeline Components

CBR IDoc Operation Promotion Encode component (CBRIdocOperationPromotionEncode)

  • Content-Based Routing Component to promote IDOC Operation property.
    • This component requires one configuration that is the MessageType string to be ignored. Then it will take the last string (word) from the MessageType Message Context Property and promote it to the Operation Message Context Property.
    • This component is to be used on the Encode stage of BizTalk Server Send Pipelines and to be used exclusively on Send Ports.

CBR Operation Promotion Encode component (CBROperationPromotionEncode)

  • Content-Based Routing Component to promote Operation property.
    • This component doesn’t require any configuration. Then it will take the value (word) which lies ahead of the cardinal (#) from the MessageType message context property and promote it to the Operation Message Context Property.
    • This component is to be used on the Encode stage of BizTalk Server Send Pipelines and to be used exclusively on Send Ports.

The project is available on BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity) and everyone can contribute with new pipeline components that can extend or improve the existing BizTalk Server capabilities.

At the moment it is only available for BizTalk Server 2016 but it will soon be compiled and available for previous versions of the product.

Special thanks to my team coworker at DevScope: Pedro Almeida for helping me on this project.

Deploying Pipeline Components

All the .NET pipeline component assemblies (native and custom) must be located in the Pipeline Components folder to be executed by the server. If the pipeline with a custom component will be deployed across several servers, the component’s binaries must be present in the specified folder on every server.

You do not need to add a custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

To know more about Deploying Pipeline Components, please see: Deploying Pipeline Components

Where to download?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:
BizTalk Pipeline Components Extensions Utility Pack
GitHub

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. View all posts by Sandro Pereira

Microsoft BizTalk Mapper Unable to load wrapper

Microsoft BizTalk Mapper Unable to load wrapper

Sometimes errors seem to find me, sometimes it fills that I’m chasing errors! And because someone did something that you shouldn’t do, configuring the build folder of a Functoid project to be <BizTalk Server installation folder>Developer ToolsMapper Extensions directory, I got a new and strange error while trying to open a BizTalk map inside Visual Studio: Microsoft BizTalk Mapper Unable to load wrapper. Here is the full error message:

Microsoft BizTalk Mapper

Unable to load wrapper <BizTalk Server installation folder>Developer ToolsMapper ExtensionsMicrosoft.BizTalk.Interop.Agent.dll

Microsoft BizTalk Mapper Unable to load wrapper

Of course, at that time I was quite curious to know the cause of this problem because I didn’t do anything wrong, just building a custom Functoid project and a few minutes before I actually was working in a map and I was able to open without any kind of problems.

Cause

When you build a project, by default any kind of project it will add the project assemblies as well as the dependencies to the binDebug – again this is the default behavior.

In this case, by changing this behavior in a Custom Functoid project to the <BizTalk Server installation folder>Developer ToolsMapper Extensions directory, was causing the problem, because it was adding not only the custom Functoid assembly but also some BizTalk internal assemblies, in this case the Microsoft.BizTalk.Interop.Agent.dll, that are incompatible with the internal BizTalk Mapper wrapper.

Microsoft BizTalk Mapper Unable to load wrapper cause

Note: BizTalk Server installation folder>Developer ToolsMapper Extensions directory is where Visual Studio BizTalk project looks for custom functoids to be added to the Toolbox.

Solution

Once again, the solution is simple, you should delete all the unnecessary assemblies, especially the internal ones of the product.

Once you delete all the unnecessary assemblies, in this case, the Microsoft.BizTalk.Interop.Agent.dll, and I also advise to delete all the ones that are selected on the above picture, the Unable to load wrapper problem will be solved and you can once again open the BizTalk Mapper without any kind of problems inside Visual Studio

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. View all posts by Sandro Pereira

Microsoft Integration Weekly Update: September 10, 2018

Microsoft Integration Weekly Update: September 10, 2018

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

BizTalk Server 2016 Feature Pack 3

BizTalk Server 2016 Feature Pack 3

In this blog post we will update you on which new capabilities came with BizTalk Server 2016 Feature Pack 3. Earlier, we have also written about Feature Pack 1 and 2. You can find these articles here:

Introduction to BizTalk Server 2016 Feature Packs

In 2017, Microsoft started releasing so-called Feature Packs for BizTalk Server 2016. The concept of releasing these Feature Packs is that Microsoft doesn’t want their BizTalk Server customers to wait for new features, until a new release of BizTalk Server arrives. Instead, they want their customers to enjoy these new features, as soon as possible once they have been developed and are ready to go to market. As these Feature Packs contain non-breaking features, there is little risk that a BizTalk customer runs into issues as a result of installing such Feature Packs. These Feature Packs are only available with the Enterprise and Developer edition of BizTalk Server 2016.

Since Microsoft started with this strategy, they have released 3 Feature Packs:

The BizTalk Server 2016 Feature Packs are cumulative. This means that once you installed, for example, Feature Pack 3, you can also enjoy the features which were brought in Feature Pack 1 and 2.

You might have also noticed, that each Feature Update also contains a Cumulative Update. It is also possible to install these Cumulative Updates without the new capabilities which are provided by the Feature Packs. To check the most recent releases of these Cumulative Updates, please check this web site:

What’s new with BizTalk Server 2016 Feature Pack 3

This Feature Pack brings improvements in below mentioned areas:

  • Compliance
    • Compliance with US government accessibility standard
    • Privacy – Compliance with FIPS and GDPR
    • SQL Server 2016 SP 2 – Deploy multiple databases per instance of an Availability Group
  • Adapters
    • Office365 Outlook Email – Send and Receive messages using Office365 e-mail
    • Office365 Outlook Calendar – Create appointments using Office365 schedules
    • Office365 Outlook Contact – Create Office365 contacts
    • Web Authentication – Authenticate with Azure AD and OAuth using Microsoft Enterprise Single Sign-On
  • Administration
    • Advanced Scheduling – Set up recurrence on Receive Locations with greater precision

Compliance with FIPS and GDPR

As of this Feature pack, BizTalk Server is compatible with FIPS (Federal Information Processing Standard) and GDPR (General Data Protection Regulation).

FIPS is a standard developed by the US federal government for use in computer systems by non-military government and agencies. The specification comes with standards for among others:
  • Codes – country, region and state codes, weather conditions, emergency indications
  • Encryption – Data Encryption Standard, Advanced Encryption Standard

In case of BizTalk Server, this relates to how data becomes encrypted and decrypted in SQL Server. FIPS-compliance is enabled in the Operating System, under Local Policies; refer to the screenshot below. Once enabled, SQL Server will enter the FIPS compliant mode, thereby using cryptographic standards as defined in FIPS 140-2.

BizTalk Server 2016 Feature Pack 3: Local policies

GDPR is a European law on data protection which intends to regulate the privacy of individuals in the European Union. This new law supersedes Data Protection Directive 95/46/EC from 1995.

If you want to read more about BizTalk and GDPR, there are few resources written by Sandro Pereira on this topic:

Multiple databases in Availability Groups SQL instances

Also SQL Server 2016 SP 2 is supported from Feature Pack 3. This is especially good news when you are running SQL Server Availability Groups. Because this allows you to have multiple BizTalk databases in the same SQL instance. As this was not possible earlier, this made setting up BizTalk Server in Availability Groups complex and expensive. The reason for that, is because you needed to have multiple SQL Server instances than without Availability Groups and more expensive as you need to license each SQL Server instance in the Availability Groups.

New Adapters for Office365 connectivity

Few other interesting features of this Feature Pack are the adapters for Office365 Email, Calendar and Contacts. These adapters allow you to use Office365 accounts for receiving and transmitting emails, creating and updating calendar items and creating contacts.

The Office365 Email adapter

This adapter can be uses both for receiving as for transmitting messages. In BizTalk terms, you can use this adapter both on Receive Locations as on Send Ports.

On the receive side the adapter enables you to:

  • Select a folder from which to retrieve email

  • Select a timestamp from which you want to receive emails

  • Retrieve unread emails only

  • Select an action after the email has been read, like marking the email as read or deleting the email

When transmitting emails via a Send Port, you can set the following properties:

  • To – separate email addresses with a semicolon (‘;’), maximum 256 characters

  • CC – separate email addresses with a semicolon (‘;’), maximum 256 characters

  • Subject – enter maximum 256 characters

  • Importance – select Low, Normal or High from the drop down  in the Send Port

Also, it is important to realize that you can only send plain text messages.

Once you receive an email on a Receive Location, the Receive pipeline adds promoted properties, which you can use for routing the emails. These promoted properties are:

  • Importance

  • Subject

  • SenderName

  • SenderAddress

  • HasAttachments

The Office365 Calendar adapter

You can use this adapter both for receiving events as for transmitting events. To be able to receive/send events you need to have the XSD schemas for both operations. You will find these schemas here:

Program Files (x86)Microsoft BizTalk Server 2016SDKSchemas

Related to calendars, this folder contains the following schemas:

The advantage of having these schemas is, that you can determine yourself which elements you will promote for routing purposes.

When you want to receive calendar items, you can select a calendar from an Office365 Outlook account. Next, you can configure that you want to receive events which are starting within a particular time frame.

You can also use the adapter to create events from BizTalk Server. Therefore, you can, populate a message according the above mentioned Send schema. Yet, some event properties can also be set on the Send Port. The properties you can set on a Send Port are:

The Office365 Contact adapter

You can use the Contact Adapter for creating contacts in Office365. For this adapter too, Microsoft has provided a schema. You will find this schema in the same location as the Calendar schemas and has the following name:

Office365OutlookContactSend.xsd

Again, because you can add this schema to your BizTalk solution, you can determine yourself which fields you would like to promote. The Send Port configuration only allows you to sign in with an Office365 account. You cannot configure any contact properties on the Send Port.

Note: To be able to use the Office365 adapters from BizTalk, besides Feature Pack 3, you need to install TMS. This service refreshes the Office OAuth tokens which BizTalk uses. After installation of the Feature Pack, navigate to the installation folder of BizTalk Server (Program Files (x86)Microsoft BizTalk Server 2016).  There you will find BizTalkTMS.msi, which you must install.

Read this article for more details about the Office365 adapters for BizTalk Server 2016.

Advanced Scheduling of Receive Locations 

Scheduling Receive Locations has always been hard with the out-of-the-box capabilities of BizTalk Server. Often people used the open source Scheduled Task Adapter which exists since BizTalk Server 2004. Currently, Sandro Pereira maintains this adapter on GitHub.

The open source Scheduled Task Adapter does a good job. But, organisations might prefer not to go for open source software, but still they might have a need to schedule Receive Location(s). Microsoft has listened to their requests and introduced Advanced Scheduling of Receive Locations with Feature Pack 3!

Below screenshots show how the scheduling capabilities of a Receive Location look like, before and after installation of Feature Pack 3.

BizTalk Server 2016 Feature Pack 3: Scheduling before Feature Pack 3 BizTalk Server 2016 Feature Pack 3: Scheduling with Feature Pack 3


In case of the Feature Pack 3 scenario, the upper part of the screen
is extended with capabilities to select a time zone and to configure automatic adjustment for Daylight Saving Time (DST).

The ability of setting the time zone can help in case your integration partner(s) live in different regions of the world. Using the Time Zone drop down will make it easier to configure when Receive Locations will pick up messages according the partner’s time zone.

Daylight Saving Time, also mentioned Summer Time, is a practice which is done in a number of countries in the Northern and Southern hemisphere. During DST, the clock becomes advanced one hour close to Spring and adjusted backwards in Autumn. This way daylight lasts longer in the evening. These adjustments might effect the proper working of your interfaces. That’s why Microsoft introduced the ability to automatically adjust the schedule of your Receive Locations, according DST.

By the way: did you know that the Data Monitoring features in BizTalk360 are also compliant to Daylight Savings? Our colleague Mekala wrote an article about it. Here you have the link to that article:

Especially the Service Window capability of Receive Locations are improved hugely. The original ability to configure just a Start and a Stop time has been extended with the following recurrence features:

  • Daily – configure the number of recurring days and from which date the recurrence will be active

  • Weekly – configure the number of recurring days, from when the recurrence will be active and on which weekdays the recurrence must be active

    BizTalk Server 2016 Feature Pack 3: Weekly Service Window

  • Monthly – configure which months and which days the recurrence should take place
    BizTalk Server 2016 Feature Pack 3: Monthly Service Window BizTalk Server 2016 Feature Pack 3: Monthly Service Window

Conclusion

With BizTalk Server 2016 Feature Pack 3, Microsoft has released many useful features for BizTalk Server 2016. The Office365 adapters, the improved scheduling capabilities and the support of SQL Server 2016 SP2 (because of simplification of  Availability Groups) can be considered as the most useful ones.

Meanwhile, the community is also waiting for the release of BizTalk Server vNext which has been announced recently. This version of BizTalk underlines the on-going commitment of Microsoft in the platform. The new version of BizTalk will, amongst others, contain all the release Feature Packs for BizTalk Server 2016.

You can receive this kind of announcements and many other interesting articles in the Microsoft Integration space directly in your email box, by subscribing to our monthly Integration Newsletter. You can find the August edition of this newsletter, which provides more information about BizTalk vNext, here.
Extended Import/Export Configurations

Extended Import/Export Configurations

Introduction

Here is another exciting capability we have added to our existing import and export capability. Curious to know? In this blog post, I would like to highlight what are all the new enhancements in Import/Export Configurations we made for our upcoming version V8.9. These enhancements would ease the BizTalk administrator’s day to day operations, particularly migrating data from one environment to another.

All the newly created BizTalk Server applications are being tested first in the preproduction or UAT and shadow environments to avoid business consequences. Likewise, customers would prefer to test all the functionalities of the BizTalk360 in their non-production environments. Further, they populate necessary data to operate, monitor and find analytical information of their environment.

Admins don’t  need to recreate the data again in their production environment as in such scenarios, our import and export capability plays a major role. Already we have support to export and import,

  1. Alarms
  2. User Access Policies
  3. Saved Queries
  4. Secure SQL queries

New Capabilities

In the version 8.9, we added support for import and export of the following sections:

  1. Knowledge Base
    • Service Instances
    • ESB Exceptions
    • Event Logs
    • Throttling Data
  2. BizTalk Reports
  3. Dashboards
    • Operation (Default & Custom Dashboards)
    • Analytics (Default & Custom Dashboards)
    • EDI Dashboards
    • ESB Dashboards
  4. Custom Widgets

Using this rich capability, one can easily export and import the configuration between environments, thereby reducing the migration effort. This is especially useful in scenarios, where the user tries to carry out testing in a test environment, and upon achieving the desired result, they can import the configuration from the production environment.

What has enhanced in Import/Export Grid Pagination

Previously, BizTalk 360 has a static pagination which is available for the grid by default. In Import/Export, the user can customize the pagination using the “Max Matches” on System Settings sections in BizTalk360. Pagination will be visible for the Import/Export grid once the row count exceeds the max match size.

Set max Match for pagination

For Instance: If the Max Matches size is set to 10 means, then the pagination for each grid in import/export will be visible when the row count exceeds 10.

Exporting configurations

Exporting your data is a great way to make the information more digestible or find patterns that can give your team better insight between different environments. The user can make use of export functionality in two ways:

  • To migrate configuration data between different Environment
  • To archive the configurations in the local system

Exporting the Knowledge Base

The BizTalk360 knowledge base is useful to document the BizTalk issues which administrators encounter on a day-to-day basis. To migrate the BizTalk360 knowledge base it is possible to use the Export functionality.Exporting the knowledge base

The user can export the articles based on the sections Service instances, Event Log, Throttling Data and ESB Exception. The knowledge base section is preselected, the user can deselect and reselect the knowledge base according to their needs. Once the selection has been made, the user can Export the knowledge base articles.

Exporting BizTalk Reports

The BizTalk Reports help organizations to visualize/monitor their business data. Using the Export functionality, the user can archive or export the BizTalk Reports.

Exporting BizTalk Reports

The BizTalk Reports and their associated schedules are preselected. The user can view the associated reports by clicking the arrow on each schedule and they can edit the selection according to their needs.

Importing Configuration

The Import functionality is mainly useful for importing large amounts of data quickly. By importing the configuration, you can replicate the required configuration on the target machine. To import the configurations from a certain environment, you should have already saved and exported those configurations in a Zip file. Import can be used in two ways in BizTalk360

  • To create a new configuration from the source environment to the destination environment
  • To update the existing configuration on the destination environment

Importing Knowledge Base

In BizTalk360, the customer can create KB articles as and when they fix issues in the environment. Over a period of time, they can have a wealth of information ready to fix those repeated issues. Those articles can be imported to another environment using the import knowledge base feature.

For Instance: The organization has Production Environment and they are planning to build a separate QA environment for testing. After creating the new environment, it is a lot of work to manually create the knowledge base article for frequent/repeated issues. Here, the import knowledge base comes into play. The user can easily import the knowledge base articles from the Production environment to QA environment.

Importing knowledge base

The existing articles can be overwritten or else can be ignored. If the article doesn’t exist, it will create a new article in the target environment.

In BizTalk360, the knowledge base articles can be created for a specific environment or globally (without selecting the environment) accessible articles. The BizTalk360 user can create or overwrite the articles.

For specific Environments: The knowledge base articles will be imported to the target environment with the configuration tags (like Host Name, Application name etc.., which is specific for each error code they encounter) for specific articles. If the article is overwritten, then the import process will overwrite the configuration tags on the existing article.

Configuration tags for specific environments

When the configuration tags are not available in the target environment, the article will not be imported and it will throw an exception on result summary.

Result summary for knowledge base

For Global articles: When the global knowledge base is imported, the environment selection will not happen. The articles are accessible to all the available environments.

Configuration tags for global article

Importing BizTalk Reports

In a business environment, the BizTalk reports provide a comprehensive, high-level overview of the performance of their BizTalk environment. The configuration of these reports, can be easily managed using the Import BizTalk Reports feature.

Importing BizTalk Reports

For instance: An organization has deployed BizTalk360 on one of the Development/QA/UAT environment(s) and they want to move all configurations to the Production environment. The BizTalk360 administrator must do the usual practice to set up the configurations manually in a production environment. It is not feasible to configure all the configuration manually, instead BizTalk360 allows you to easily export and import all the BizTalk Reports.

While importing the schedules and the associated reports to another environment, the user can edit the schedule name as per their requirement and the user can enable the schedule after importing by selecting the ON/OFF option available on each schedule. By default, the status of schedule during import, is disabled. The user can also change the Email ID after importing. This will help the user to create/overwrite the schedule and the reports as per their business needs.

Note: The user cannot import the reports without the selecting the associated schedule.

If the user sets the option to “Error or Duplicate”, the import process would not allow duplicate schedules and associated reports to be imported.

Result summary - Error on Duplicate in BizTalk Reports

If the user sets the option to “Overwrite”, the import process will overwrite the existing schedule with the same name. In case the associated reports are not available, the import process will create the reports and associate to the schedule.

Result summary - Overwrite option in BizTalk Reports

If the associated report already exists in another schedule means, it will ignore the report while importing.Result summary - Already existing schedule functionality

Conclusion

By adding the above feature, the Import/Export Configuration has become more versatile. This provides a great option for the administrators who find the migration process intimidating and would like expert help to assure an effortless transition between multiple environments. No matter where your configuration needs to go, BizTalk360 lets you Import/Export data with ease.

Apart from knowledge base and BizTalk reports we have included the Dashboards and Custom widgets for v8.9 release. I will cover those two functionalities on my next blog “Stay tuned!”.

How to fix BizTalk Server 2016 SSO Administration Console with PowerShell

How to fix BizTalk Server 2016 SSO Administration Console with PowerShell

Have you ever noticed that your SSO Administration Console tool doesn’t open in BizTalk Server 2016? Fortunately for Microsoft BizTalk Server team this tool is not heavily used by the customer, nevertheless, this is an existing and valid tool that needs to be working properly.

What is this tool?

You can install the Enterprise Single Sign-On (SSO) Administration component as a stand-alone feature. This is useful if you need to administer the SSO system remotely. The hardware and software requirements are the same as for a typical Enterprise SSO installation.

After you install the administration component, you must use either ssomanage.exe or the SSO Administration MMC snap-in to specify the SSO server that will be used for management. Both processes are included in the procedure that follows.

Of course, with this tool, SSO Administration, you can do more than just configure the SSO server that will be used for management. Using the Enterprise SSO Administration console, administrators can easily manage Affiliate Applications, Mappings, SSO Servers, SSO System and also perform Password Management operations. There are 4 snap-ins for Enterprise SSO that administrators can use.

  • Affiliate Applications – Administrators can use this to perform administrative operations on Affiliate Applications. For each Affiliate Application, mappings can be created and managed. An Affiliate Application can be created by SSO Affiliate Administrators and SSO Administrators. When it is defined, the administrator can optionally specify an Application Administrators account that contains users who can perform administrative operations on that Affiliate Application. In addition, an Application Users account must be specified that contains Windows domain users for whom mappings can be created. Other operations such as enabling or disabling Affiliate Applications, configuring SSO tickets for the Affiliate Application, and enabling or disabling mappings can also be performed by administrators using this snap-in.
  • Password Management – Administrators can use this snap-in to perform administrative operations on Password Synchronization Adapters and Password Filters. Administrative operations need to be performed by the SSO Administrators. A filter rule can also be defined within an Adapter configuration. Once an Adapter or Filter is created, an administrator can associate Affiliate Applications with the Adapter or Filter so that the synchronization and filter rules defined are applied to that application.
  • Servers – Administrators can build a list of SSO Servers to perform certain administrative operations and to view their status. Within an SSO system, an administrator can also perform a discovery process to automatically discover and add all the SSO Servers within the SSO system.
  • System – Administrators can view SSO System level settings. These settings are stored in the centralized SSO Credential Database. Modifying these settings will apply to all SSO Servers that are using this SSO Credential Database. In addition, administrators can manage the Master Secret Server and perform tasks such as generate, backup and restore the secret. The system-level administrative operations can be performed only by the SSO Administrators.

BizTalk Server 2016 SSO Administration Console

However, SSO Administration shortcut that points to the Microsoft.EnterpriseSingleSignOn.StartMMC.exe executable file is not working properly in BizTalk Server 2016.

Cause

The reason why this problem is happening is that with BizTalk Server 2016 there is a bug and the installation wizard doesn’t create all the necessary keys in the Register.

Also, if you look at the properties of the “SSO Administration” shortcut, this is pointing to the Microsoft.EnterpriseSingleSignOn.StartMMC.exe executable file. I don’t know the reason why Microsoft decided to create this strategy but in reality, this executable file is just “an easy way” (or dummy way) to open the “ENTSSO.msc”, normally present in the “C:Program FilesCommon FilesEnterprise Single Sign-On” folder and this executable reads the “ENTSSO.msc” installation path from the Register:

…
key = Registry.LocalMachine.OpenSubKey(@"SoftwareMicrosoftENTSSO");
object obj2 = key.GetValue("InstallPath") as string;
…
string str2 = """ + str + "entsso.msc"";
ProcessStartInfo startInfo = new ProcessStartInfo("mmc.exe") {
    Arguments = str2
};
Process.Start(startInfo);
…

However, this is the aspect of the keys within BizTalk Server 2016:

BizTalk-Server-2016-ENTSSO-Registry

Solution

The solution is easy, and you have very different ways to do it.

If you want to open the SSO Administration snap-in, you can:

  • Go to the Enterprise Single Sign-On installation folder
    • Normally, “C:Program FilesCommon FilesEnterprise Single Sign-on”
  • And directly execute the “ENTSSO.msc” (double click)

If you want to fix the SSO Administration shortcut to work properly, you can:

  • Open the Register
  • And on the HKWY_LOCAL_MACHINESOFTWAREMicrosoftENTSSO add
    • the following string: InstallPath
    • with the value: C:Program FilesCommon FilesEnterprise Single Sign-On

BizTalk Server 2016: PowerShell to fix the SSO Administration Console

Because in a normal situation there are more keys (strings) present in the Register. I decided to create a simple PowerShell script that you can use to fix all these bugs and put everything working normally again:

... 
Set-ItemProperty -Path $registryPath -Name InstallPath -Value "C:Program FilesCommon FilesEnterprise Single Sign-On" 
Set-ItemProperty -Path $registryPath -Name ProductCode -Value "{F89B22BC-2768-4237-B300-5CFA52D9AC84}" 
...

THIS POWERSHELL IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

BizTalk Server 2016: PowerShell to fix SSO Administration ConsoleBizTalk Server 2016: PowerShell to fix the SSO Administration Console (2 KB)
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. View all posts by Sandro Pereira

Microsoft Integration Weekly Update: September 03, 2018

Microsoft Integration Weekly Update: September 03, 2018

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

Visual Studio error: Unable to find transmitPipeline.vstemplate. Please repair the product to fix this issue

Visual Studio error: Unable to find transmitPipeline.vstemplate. Please repair the product to fix this issue

My blog backlog is full of precious things and I stop counting the number of pages I have on my OneNote to be published. Today I randomly selected this Unable to find transmitPipeline.vstemplate error that I got on December 4, 2017, in a client when I try to do something – unfortunately I don’t remember what I was trying to do – on Visual Studio. The full error message was:

Unable to find “C:program Files (x86)Microsoft Visual Studio 14.0Common7IDEItemTemplatesCacheBizTalkPipeline FilesTransmitPipeline.ziptransmitPipeline.vstemplate”.

Please repair the product to fix this issue.

Unable to find transmitPipeline.vstemplate

Cause

Well, I don’t know the exact reasons why this happened or why these files were missing from the development machine.

However, and that is clear from the error message description. The visual studio templates, in this case, the Transmit Pipeline template was missing from the expected directory.

Solution

The easy solution for this problem is quite simple: use the BizTalk Server ISO file to repair the BizTalk Server installation.

This will “install/copy” all the files, including all BizTalk Server visual studio templates to the development machine.

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. View all posts by Sandro Pereira

Introducing additional column filters capability in BizTalk360

Introducing additional column filters capability in BizTalk360

Introducing new capability “Add/Remove” column headers

Here is another interesting capability, we are transporting in our upcoming version. Tired of filtering data using the static predefined columns? Hereafter, no worries. Grid columns in BizTalk360 are getting a fresh look. You can customize the column headers which are most important to your business scenario.

What is this new implementation?

Grid columns can be dynamically removed or added based on the user preference. As per the settings in the configuration section, columns will be aligned and displayed in the grid view. These customized column settings can be saved for future reference as well. We are sure, this capability will add more value when the administrator is looking for the instances/messages based on various conditions.

As an initial phase, this implementation has been done in the following areas in BizTalk360:

  1. Message Box Queries
  2. Graphical Flow (Tracking)
  3. Electronic Data Interchange

Why we implemented the Additional column filters in BizTalk360?

Let’s take an example. For a healthy working system, all the service instances must complete message processing successfully and clean up periodically. For this, the administrator keeps an eye on the message box queries interface for any instances hanging in error states like suspended (Resumable) and suspended (Non-Resumable). The administrator may look for errors based on specific parameters like Service Instance ID, Service Type ID, URI. In such cases, BizTalk360 has limited static columns (Service Name, Application, Service Class, Status, Creation Time and few more) to fetch and view the information in the Message Box database and for few other features.

We constantly listen to our customers’ feedback and ensure necessary improvements are made in the product regularly. These improvements will ease their day to day operations of their BizTalk Server environment. Therefore, this new capability called “Add/Remove grid columns” is implemented.

Hide or show a column

In the corresponding sections (Message Box Queries, Graphical Flow (Tracking), Electronic Data Interchange) there is a new option introduced “Edit Columns”. Through this, all the possible columns will be listed, which are essential to filter the data. Based on the (de)selection, columns are displayed or removed from the grid view. This functionality enables the user to choose the columns which are required to be shown in the grids.

Additional_Columns_filters_configuration_screen

Filtering context promoted properties made easy

As you all probably know, there are two types of properties in the context of the messages:

  1. MessageDataPropertyBased (Message Properties)
  2. MessageContextPropertyBased (Context Properties)

Basically, to process and track the messages, some properties will be promoted during the transaction. The promotion of the properties varies based on different business scenarios.

Let’s consider a scenario. Suppose a particular message got a huge number of properties promoted and the administrator wanted to narrow down the search in BizTalk360. Until our previous versions that would be a difficult task.

This search is simplified by now by making use of this new capability. You can select the important context promoted properties and save it. This customized setting will be there in the tool until the user prefers to delete the saved query. Following screenshots will provide an insight of how this new feature eases the operation of administrators.

Below screenshot represents the column grid view when the message has quite a number of context promoted properties. Data is accessed and visible, only the column headers are resized.

After executing the query, the result grid shows up, including the context properties. To make the screen more useful, you can select which fields you want to see in the grid and which ones don’t need to be shown.

Below, the configuration screen to select and deselect the columns.

additional column filters capability - Context promoted properties configuration screen

Once the needed fields have been selected in the configuration screen, the grid immediately reflects that configuration.

additional column filters capability - Context promoted properties grid view

How does BizTalk360 save the customized column settings?

BizTalk360 allows saving as many patterns as the user wants. I mean, to search the messages based on different scenarios, admins prefer different filter conditions to validate. In those situations, BizTalk360 allows to save different query filters and keeps them for future use.

Let me give you a detailed example. If you want to search for service instances based only on the applications and Error code, you just select those columns in the configurations screen. This change makes the grid realign based on the selection with applications and error code columns. The second step would be to preserve the selected columns for future reference. To achieve that, you need to save the query. This way, you can retrieve the same query, including the same context properties, in the future.

Easy migration from one environment to another

This is another interesting existing capability, we are having in BizTalk360. As a best practice to protect the production environment, all the data settings and testing are carried out in non-production and UAT environments.

If all the configurations are done in those environments and BizTalk360 is ready to be deployed to the production environment, users don’t need to worry about the recreation of those configurations in the new environment as this is where our import and export capability plays a vital role. Just by the click of a button in the UI, you will be able to export and import all the data between source and destination environment.

Download the customized column data using the Export to Excel capability

This is not a new capability in BizTalk360. As we enhanced, to support the column customization, users can also download this data by using the Export to Excel capability. 

Conclusion

We believe this new capability will provide extensive search ability and get the desired result in a blink of an eye. Happy migrating and try BizTalk360!!!

Get started with the free 30 days trial. For any queries/feedback please write to us [email protected].

Author: Mekala Ramesh

Test Lead at BizTalk360 – Software Testing Engineer having diverse exposure in various features and application testing with a comprehensive understanding of all aspects of SDLC. Strong knowledge to establish the testing process from the scratch. Love to test the software product to deliver it with good quality. Strongly believes on “Testing goes beyond just executing the test protocol”. View all posts by Mekala Ramesh