What is BizTalk NoS Ultimate Purpose and What Features are Available?

What is BizTalk NoS Ultimate Purpose and What Features are Available?

What is BizTalk NoS Ultimate Purpose?

The purpose of the BizTalk NoS Ultimate Visual Studio (VS) extension (or Visual Studio Add-in in previous versions) is to help all BizTalk Developer, why not, all BizTalk Administrator too in a lot of different situations, by improving the developer experience and why not reduce the development time in new or existent BizTalk projects.

This extension will extend the existing Visual Studio functionalities associated with BizTalk Server projects by providing several new or improved functionalities like:

  • Quick search inside artifacts
  • Fast DLL register/unregister in GAC
  • Find critical, internal or external dependencies
  • JackHammering, which will compare your VS artifact with the artifact deployed in the BizTalk environment
    • With this feature, you can also extract the artifact (Orchestration, map, schema and so on) from BizTalk environment and put it in the VS solution
  • Test your pipeline in VS simply

And, many more functionalities that will be useful in our day by day work and a time saver in a lot of situations.

BizTalk NoS Ultimate is available for the following BizTalk Server versions:

  • BizTalk Server 2020 – Visual Studio 2019
  • BizTalk Server 2016 – Visual Studio 2015
  • BizTalk Server 2013 R2 – Visual Studio 2013
  • BizTalk Server 2013 – Visual Studio 2012

How to Get Started with the BizTalk NoS Ultimate?

After installing the extension, the first thing you need to do is to request a license (free). To do that you need to:

  • Open a BizTalk Server solution on Visual Studio
  • On the Solution Explorer window menu, select the BizTalk NoS Settings option
    • This will open a BizTalk NoS Ultimate window

  • On the BizTalk NoS Ultimate window, select the License tab and then click on the Request a trial link

  • This will open a browser on the page, where you can request a free license. You just need to fill and submit the Request a Free Trial Key form

    • Later on, you will be receiving an email with the Key and necessary information for you to activate the extension
  • Once, you receive the Key, you need to go back to the License screen, select the Trial option, fulfill the form with the Order Number and License Code, and then click on the Activate button

    • A window will be prompted if you successfully activated the license.

  • Click OK. And you will notice on the Solution Explorer window menu that the BizTalk NoS Ultimate features are now enabled

List of Available Features

In this section we will have an overview of all features available with this Visual Studio add-in and how can you use them:

  • Dependencies – You can deal with the dependencies between BizTalk artifacts through the different options available in this extension:
    • External Dependencies –  get a clear sense of where the changes that we need to do can have impacts. For example, if I need to change a schema, will these changes will have an impact on my maps or in my orchestration? 
    • Internal Dependencies – this will be the opposite to the previous one. In this case, we want to know what this artifact is using (or which artifacts are consuming). For example, I need to modify the schema, or the schemas, used by a map
    • Heuristics – this is basically the same as the above dependencies features (internal and external) but more useful during refactoring or before to do an update in an artifact. For example, you need to modify an artifact and you want to know what will be the artifact update impact in the entire solution
    • Heuristic Internal Propagation – this feature is basically the same as the “Internal Dependencies” but with the difference that we will also go ahead and will also the sub-levels of dependencies, i.e., the sub-artifacts
  • Wild Card Search – Perform a full-textual search across all the artifacts within your solution
    • This feature will perform a full-text search in all the artifacts of your entire solution, which means that for example, in schemas will search for elements, records, and attributes but also properties of the map itself, in orchestrations will search for shape names, messages names, variable names and so on. The best way to explain the mode of how this operation works or to find an analogy is: inside the Visual Studio open the artifact (schema, map, orchestration, and so on) with XML (text) Editor and make a search inside that artifact.
  • Reflector – Reporting capabilities with information such as statistics, solution & artifact metrics, artifact dependencies, number of shapes in the orchestration, and so on. The reports are also interactive – you can open the artifacts as you read the reports!
  • Build Project – When your solution file is huge with lots of projects, building a single project can be a time-consuming operation given the internal dependencies between projects. With this improved feature, you have the option of building only the required project.
  • Register/unregister in the Global Assembly Cache (GAC) – How many times have you thought of having an easy way to register/unregister a DLL into GAC. This is now possible with BizTalk NoS Ultimate through register/unregister in GAC functionality. You can now do this through the Visual Studio window.
    • This feature is very useful to deploy for example Support C# Libraries that you will use inside Orchestrations or Maps.
  • Deploy Assembly – Deploy a BizTalk assembly directly from the bin directory in Visual Studio. This is very similar to adding/updating a resource from the BizTalk server administration console.
  • Test Pipeline Component – Similar to testing a pipeline, you can now test a custom pipeline component through Visual Studio. In just 2-3 steps, you can configure and test (debug) your pipeline component.
  • Test Pipeline – You have the option to test your pipeline right within the Visual Studio developer environment. You need not use a separate BizTalk Pipeline Framework or use the Pipeline.exe tool anymore!
  • JackHammering – the infamous JackHammering. one of my favorite features. You can jackhammer BizTalk in order to compare the artifacts in your development environment with that in production. It’s a very useful feature for BizTalk developers & administrators.
  • Refactor – Creates a more simple report with circular (internal & external) references with other artifacts. You will receive a piece of detailed statistics information about who’s using the artifact, which other artifacts are the current artifact consuming, and so on.

Feel free to try this amazing extension for BizTalk Server here: Download BizTalk NoS Ultimate for BizTalk Server 2020.

The post What is BizTalk NoS Ultimate Purpose and What Features are Available? appeared first on BizTalk360.

BizTalk Mapper Extensions UtilityPack: Custom Advanced Functoids for BizTalk Server 2020

BizTalk Mapper Extensions UtilityPack: Custom Advanced Functoids for BizTalk Server 2020

Today we will focus on another set of libraries available for BizTalk Server 2020: Custom Advanced Functoids. This is part of the BizTalk Mapper Extensions UtilityPack project migration task I been doing in the last few days. 

Custom Advanced Functoids

This library includes a suite of functoids that provides methods for Conditional mapping that you can use this inside BizTalk mapper.

This project includes the following Custom Functoids:

  • Default Value Mapping functoid: The Value Mapping and Value Mapping (Flattening) functoids are used to provide a conditional mapping from an input instance message to an output instance message. When their first input parameter is true, the second input parameter is put into the specified element or attribute in the output instance message; otherwise, that element or attribute is not created in the output instance message. The Default Value Mapping has similar but different behavior. You can use the Default Value Mapping functoid to return a value from one of two input parameters. If the value of the first input parameter is Null or Empty, then the value of the second input parameter is returned, otherwise, the first input is returned.
    • The functoid takes two mandatory input parameters:
      • String value to tested as Null or Empty
      • String value that will act as Default Value in case of the first input will be Null or empty.
    • If the value of the first input parameter is Null or Empty, then the value of the second input parameter is returned, otherwise, the first input is returned, Example: P0011

BizTalk Mapper Extensions UtilityPack

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:

BizTalk Mapper Extensions UtilityPack GitHub RepositoryBizTalk Mapper Extensions UtilityPack
GitHub

The post BizTalk Mapper Extensions UtilityPack: Custom Advanced Functoids for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Mapper Extensions UtilityPack: String Functoids for BizTalk Server 2020

BizTalk Mapper Extensions UtilityPack: String Functoids for BizTalk Server 2020

One step closer to finishing this BizTalk Mapper Extensions UtilityPack project migration. Today we will focus on another set of libraries available for BizTalk Server 2020: String Functoids.

String Functoids

This library includes a suite of functoids that provides many methods for safely creating, manipulating, and comparing strings that you can use this inside BizTalk mapper.

This project includes the following Custom Functoids:

  • String Constant functoid: This functoid allows you to set constant values (strings) inside de maps.
    • The functoid takes one mandatory input parameters:
      • String value to return out
    • The output of the functoid is the string set in the output, Example: P0011
  • String ToTitleCase functoid: This functoid allows you to Converts the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms)
    • The functoid takes one mandatory input parameters:
      • The string to convert to title case
    • The output of the functoid is a string converted to title case, Example: Sandro Augusto Sousa Pereira
  • String Advance Compare Functoid: This functoid allows you to compare two specified String objects, ignoring or honoring their case, and returns a boolean that indicates if they are equal or not.
    • The functoid takes three mandatory input parameters:
      • The first string to compare
      • The second string to compare
      • A boolean value: set True to ignore case during the comparison; otherwise, False.
    • The output of the functoid is a boolean that indicates if they are equal or not, Example: True
  • String Replace Functoid: This functoid returns a new string in which all occurrences of a specified string (second parameter) found in the first string are replaced with another specified string (third parameter).
    • The functoid takes three mandatory input parameters:
      • A string where we will replace the values
      • A string to be replaced.
      • A string to replace all occurrences of oldValue.
    • The output of the functoid is a string that is equivalent to the current string except that all instances of oldValue are replaced with newValue. If oldValue is not found in the current instance, the method returns the current instance unchanged, Example: Sandro Pereira: BizTalk
  • String Normalize Functoid: This functoid allows you to normalize the text. It will remove two or more consecutive spaces and replace them with a single space, remove two or more consecutive newlines and replace them with a single newline, and condense multiple tabs into one.
    • The functoid takes one mandatory input parameters:
      • The string to normalize
    • The output of the functoid is a string normalize without consecutive spaces, lines or tabs, Example: Sandro Augusto
      Sousa Pereira
  • String PadLeft Functoid: This functoid allows you to set a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length.
    • The functoid takes three mandatory input parameters:
      • A string that will be a pad on the left with a specified Unicode character
      • The number of characters in the resulting string, equal to the number of original characters plus any additional
        padding characters.
      • A Unicode padding character.
    • The output of the functoid is a new string that is equivalent to this instance, but right-aligned and padded on the left with as many paddingChar characters as needed to create a length of totalWidth. However, if totalWidth is less than the length of this instance, the method returns a reference to the existing instance. If totalWidth is equal to the length of this instance, the method returns a new string that is identical to this instance, Example: *BTS
  • String PadRight Functoid: This functoid allows you to set a new string that left-aligns the characters in this string by padding them on the right with a specified Unicode character, for a specified total length.
    • The functoid takes three mandatory input parameters:
      • A string that will be a pad on the right with a specified Unicode character
      • The number of characters in the resulting string, equal to the number of original characters plus any additional
        padding characters.
      • A Unicode padding character.
    • The output of the functoid is a new string that is equivalent to this instance, but left-aligned and padded on the right with as many paddingChar characters as needed to create a length of totalWidth. However, if totalWidth is less than the length of this instance, the method returns a reference to the existing instance. If totalWidth is equal to the length of this instance, the method returns a new string that is identical to this instance, Example: BTS*
  • String Remove Leading Zeros Functoid: This functoid allows you to remove any leading zeros from an input string.
    • The functoid has one mandatory parameter:
      • Input string that may contain leading zeros that need to be removed.
    • The output of the functoid is an integer that is equal to the input instance but with the leading zeros removed.

BizTalk Mapper Extensions UtilityPack

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:

BizTalk Mapper Extensions UtilityPack GitHub RepositoryBizTalk Mapper Extensions UtilityPack
GitHub

The post BizTalk Mapper Extensions UtilityPack: String Functoids for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Mapper Extensions UtilityPack: CRM Functoids for BizTalk Server 2020

BizTalk Mapper Extensions UtilityPack: CRM Functoids for BizTalk Server 2020

Another day and another blog post about BizTalk Mapper Extensions UtilityPack project migration. Today we will focus on another set of libraries available for BizTalk Server 2020: CRM Functoids created a few years ago by Salvatore Pellitteri.

CRM Functoids

This functoids allow you to Integrate Directly with the Dynamics CRM SOAP API, avoiding the use of inline XSLT Call template script function.

MSCRM requires that different data types are specified in a different way. For this reason, we provide a set of functoid each for a specific data type.

This project includes the following Custom Functoids:

  • MSCRM Map Helper Base Types Functoid: Use this functoid when you want map CRM base data types such as xs:string, xs:int, and so on.
    • The functoid takes three mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
      • Target Field Type: CRM target field type (Example: “xs:dateTime”).
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key.
  • MSCRM Map Helper GUID Functoid: Use this functoid when you want map CRM GUID type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
    • You may use this functoid in combination with CRM Lookup functoid, where first find for entity GUID and then use the result to map to the destination schema.
  • MSCRM Map Helper Money Functoid: Use this functoid when you want map CRM money type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
  • MSCRM Map Helper Option Value Functoid: Use this functoid when you want map CRM option value type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
  • MSCRM Map Helper References Functoid: Use this functoid when you want map CRM reference type.
    • The functoid takes three mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
      • Entity Name: CRM referenced entity.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key

How to use it

You need to use these functoids in two steps:

  • First Step: specify the CRM Entity Name on the LogicalName element.
  • Second Step: define the Key values

BizTalk Mapper Extensions UtilityPack

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:

BizTalk Mapper Extensions UtilityPack GitHub RepositoryBizTalk Mapper Extensions UtilityPack
GitHub

The post BizTalk Mapper Extensions UtilityPack: CRM Functoids for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk NoS Ultimate: Features Overview (Part I)

BizTalk NoS Ultimate: Features Overview (Part I)

BizTalk NoS Ultimate was just released for BizTalk Server 2020. This Visual Studio extension is available for the following versions:

  • BizTalk Server 2020 – Visual Studio 2019
  • BizTalk Server 2016 – Visual Studio 2015
  • BizTalk Server 2013 R2 – Visual Studio 2013
  • BizTalk Server 2013 – Visual Studio 2012

As I mentioned in previous posts, the purpose of BizTalk NoS Ultimate is to mainly help all BizTalk developers, but why not also all BizTalk administrators, in a lot of different day-to-day situations, by improving the developer experience. By doing so you reduce the development time in new or existing BizTalk projects but also in the analysis, troubleshoot, and documentation experience.

BizTalk NoS Ultimate provides several functionalities like:

  • Quick search inside artifacts
  • Fast register/unregister in GAC
  • Find critical, internal, or external dependencies
  • JackHammering, which will compare your Visual Studio artifacts with the artifacts deployed in any of your BizTalk environment
  • Extract the artifacts (Orchestration, map, schema, and so on) from the BizTalk environment and put it in a Visual Studio solution
  • Many more functionalities like testing your pipeline in Visual Studio in a simple and fast way

Several features are useful in our day by day work and a time saver in a lot of situations.

So, with the release of this new version, I think it is now a good time to start making a walk through all the available features that this extension has to offer.

Expand Solution

Let’s start with the basic new functionalities that are available in the context of the solution. Collapsing a solution is now a default option available in Visual Studio.

However, quickly expanding all project of a solution it isn’t:

  • Expand Solution – This option will fully expand all the projects in your current solution. This feature can be useful when you want an easy and simple way to have a visualization of the entire structure of the solution.

You can access this feature on the Solution Explorer window menu.

Wild Card Search

I think the name explains the feature itself. This feature will perform a full-text search in all the artifacts of your entire solution, which means that, for example, in schemas, it will search for elements, records, and attributes but also for properties of the schema or map itself. In orchestrations, it will search for shape names, message names, variable names, and so on.

The best way to explain the mode of how this operation works or to find an analogy is: inside Visual Studio, open the artifact (schema, map, orchestration, and so on) with XML (text) Editor and make a search inside that artifact. Now think of this process, automatically, to all artifacts of your solution.

We can also call this as a SearchSelectionOpen it operation.

All the artifacts in your entire solution that meet the search requirement will be selected and you will have the option to open them all automatically after the search has finished.

Once again, you can access this feature in the Solution Explorer window menu.

As an example, if I do a Wild Card Search in my solution for ‘Map’ and select Ignore Case, below screenshot will show the outcome. All the artifacts (including folders) that contain the word Map, in any part, will be highlighted in your solution.

You may see in the picture above, that the PessoaOrigem.xsd schema file is selected and if you open it, you will not see any record or element that contains Map word. However, the target namespace contains this word and for that reason, it is being shown on the outcome result of the wild search.

I hope you are enjoying these features and stay tuned because this extension has more! Feel free to try this amazing extension for BizTalk Server here: Download BizTalk NoS Ultimate for BizTalk Server 2020.

The post BizTalk NoS Ultimate: Features Overview (Part I) appeared first on BizTalk360.

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

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

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

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

 

Microsoft Announcements and Updates

Community Blog Posts

 

Videos

Podcasts

 

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

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

Feedback

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

BizTalk Mapper Extensions UtilityPack: Configuration Functoids for BizTalk Server 2020

BizTalk Mapper Extensions UtilityPack: Configuration Functoids for BizTalk Server 2020

Let’s continuing the BizTalk Mapper Extensions UtilityPack project migration and do an overview on another set of libraries available for BizTalk Server 2020: Configuration Functoids.

Configuration Functoids

This library includes a suite of functoids that make read configuration parameter values, or config settings, from different sources (locations) and that you can use inside BizTalk mapper.

This project includes the following Custom Functoids:

  • BTSNTSvc Config Get Functoid: This functoid allows you to get configuration parameters from BTSNTsvc.exe.config. If there is no section specified, the functoid reads from the AppSettings.
    • The functoid takes two mandatory input parameters:
      • A string that represents the key name that you want to read from BTSNTsvc.exe.config
      • A string that represents the section (can be an empty String) from the BTSNTsvc.exe.config that you want to read the key name.
    • The output of the functoid is a string with the value of the configuration parameters from BTSNTsvc.exe.config
  • System Environment Variable Get Functoid: This functoid allows you to get configuration parameters from the machine System Environment Variable.
    • The functoid takes one mandatory input parameters:
      • A string that represents the key that you want to read from System Environment Variable
    • The output of the functoid is a string with the value of the configuration parameters from System Environment Variable
      of the machine.
  • Custom Config Get Functoid: This functoid allows you to get configuration parameters from a custom configuration file.
    • The functoid takes two mandatory input parameters:
      • A string that represents the key (variable name) that you want to read from a custom configuration file
      • A string that represents the path to the custom configuration file that you want to read the key.
    • The output of the functoid is a string with the value of the configuration parameters from a custom configuration file.
  • Windows Registry Config Get Functoid: This functoid allows you to get configuration parameters from Windows Registry.
    • The functoid takes two mandatory input parameters:
      • A string that represents the name or path of the subkey to open.
      • A string that represents the name of the value to retrieve from the registry. This string is not case-sensitive.
    • The output of the functoid is a string with the value of the configuration parameters from the registry.
  • Windows Registry Config Get Functoid: This functoid allows you to get configuration parameters from Windows Registry.
    • The functoid takes two mandatory input parameters:
      • A string that represents the name or path of the subkey to open.
      • A string that represents the name of the value to retrieve from the registry. This string is not case-sensitive.
    • The output of the functoid is a string with the value of the configuration parameters from the registry.
  • SSO Config Get Functoid: This functoid allows you to get configuration parameters from SSO Database.
    • The functoid takes two mandatory input parameters:
      • A string that represents the name of the affiliate application to represent the configuration container to access
      • A string that represents the property name to read from the.
    • The output of the functoid is a string with the value of the configuration parameters from SSO.
  • Rule Engine Config Get Functoid: This functoid allows you to obtain a definition value from a Vocabulary in the Business Rules Engine.
    • The functoid takes two mandatory input parameters:
      • A string that represents the definition name (e.g. Value1)
      • A string that represents the vocabulary name (i.e. Config).
    • The output of the functoid is a string with the value of the definition name from a specify vocabulary on the Business
      Rule Engine.

BizTalk Mapper Extensions UtilityPack

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:

BizTalk Mapper Extensions UtilityPack GitHub RepositoryBizTalk Mapper Extensions UtilityPack
GitHub

The post BizTalk Mapper Extensions UtilityPack: Configuration Functoids for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.