Azure Service Bus Relays, SAS tokens and BizTalk Server

Azure Service Bus Relays, SAS tokens and BizTalk Server

Many people have written about Azure Service Bus Relays in the past and a summary can be found here. Dan Rosanova recently tweeted “….We’re trying to discourage ACS for security. SAS is our preferred model.”. The ACS security pattern is described here and the SAS pattern is described here. This article attempts to summarise BizTalk adapter support for using SAS tokens.

Most BizTalk Server examples use ACS tokens rather than SAS tokens, probably because the BizTalk Adapters only allowed configuration with ACS tokens when service bus relays were first released with BizTalk 2013. BizTalk 2013 R2 has limited support for configuration of SAS tokens and most adapters only allow use of ACS tokens out of the box (OOTB). If you want to use a SAS token you have to be very inventive. I hope that BizTalk vNext will add SAS token support for all WCF adapters.

BizTalk Server 2016 CTP1 – Dynamic send ports now support ordered delivery

The first new feature for BizTalk Server 2016 CTP1 we’ll showcase here is the ability to now set ordered delivery on Dynamic Send Ports. This has always been a limitation for dynamic sends which we’ve now removed – thanks to everyone who asked us for this feature. As you can see from the screenshot below,…
Blog Post by: BizTalk Team

BizTalk 2016 CTP released

The 1st CTP (Community Technical Preview) for BizTalk 2016 has been released today.

Whilst you have to sign up to Microsoft Connect to access the CTP, Microsoft have published the release notes for the CTP here: BizTalk 2016 Release Notes

These release notes will be added to as the product gets closer to release.

For more details, including instructions on how to sign up, go here: https://blogs.msdn.microsoft.com/biztalk_server_team_blog/2016/03/30/announcing-biztalk-server-2016-community-technology-preview-1/

Announcing BizTalk Server 2016 Community Technology Preview 1!

We are excited to release our first Community Technology Preview (CTP1) for BizTalk Server 2016 today. Businesses are always looking for ways to deliver services faster to market, leading to an era of rapid application growth. Therefore, it is essential that data flows seamlessly between these applications. BizTalk Server 2016 CTP1 enables integration with mission…
Blog Post by: BizTalk Team

Azure Service Bus Relays, SAS tokens and BizTalk Server

Azure Service Bus Relays, SAS tokens and BizTalk Server

Many people have written about Azure Service Bus Relays in the past and a summary can be found here. Dan Rosanova recently tweeted “….We’re trying to discourage ACS for security. SAS is our preferred model.”. The ACS security pattern is described here and the SAS pattern is described here. This article attempts to summarise BizTalk […]
Blog Post by: mbrimble

Internet of Things: Discover the 4 Maturity Levels

Internet of Things: Discover the 4 Maturity Levels

Maturity levels are important because they provide organizations with a goal-oriented path, so they can measure progress and celebrate small successes on their way to a greater goal. They are important because, as experience shows, it is best for organizations to progress through consecutive maturity levels rather than to simply try to swallow a super-complex project at once. Violent and ambitious jumps in maturity typically fail due to organizational change resistance, immature operational procedures, and deficient governance practices. It is better to have a solid hand on a maturity level before adventuring into the next one.

Here at the 4 maturity levels of IoT, and what they mean for organizations:

Level 1: Data Generation and Ingestion

What is it about: In level 1, organizations begin projects to generate and collect IoT data. This involves coupling their services or products with devices that capture data and gateways to transmit that data, implementing data ingestion pipelines to absorb that data, and storing that data for later use. 

What it means: at this point, companies are finally in a position to generate data and collect it. Data generation is the key building block of IoT, and the first maturity level is aimed at getting your hands on data. Typically, the hardest part are the devices themselves, how to securely capture and transmit the data, how to manage those devices in the field, solve connectivity issues, and building a pipeline that scales to serve many devices.

Level 2: First Analytics

What is it about: once armed with data, companies will typically try to derive some value out of it. These are initially ad-hoc, exploratory efforts. Some companies might already have a developed concept about how they will use the data, while others will need to embark in exploring the data to find useful surprises. For example, data analysts / scientists will start connecting to the data with mainstream tools like Excel and PowerBI and start exploring.

What it means: Companies might be able to start extracting value from the data generated. This will mostly be manual efforts done by functional experts or data analysts. At this stage, the organization starts to derive initial value from the data.

Level 3: Deep Learning

What is it about: the organization recognizes that the data is much more valuable and large than manual analysis permits, and starts investing in technology that can automatically extract insights from the data. These are typically investments in deep learning, machine learning or streaming analytics. Whereas the value of the data in Level 2 was extracted from the manual work of highly-skilled experts, the value of the data in Level 3 is extracted automatically from sophisticated algorithms, statiscal models and stochastic process modeling.

What it means: the organization is able to scale the value of its data, as it is not dependent anymore on the manual work of data analysts. More data can be analyzed in many more different ways, in less time. The insights gained might be more profound, due to the sophistication of the analysis, which can be applied to gigantic data sets with ease.

Level 4: Autonomous Decision Making

What is it about: the deep learning and analytical models, along with their accuracy and reliability, are solid upon exiting Level 3. The organization is now in a position to trust these models to make automated decisions. In Level 3, the insights derived from deep learning are mostly used as input for pattern analysis, reporting dashboards and management decision-making. In Level 4, the output of deep learning is used to trigger autonomous operational actions.

What it means: in Level 4, the deep learning engine of the organization is integrated with its operational systems. The deep learning engine will trigger actions in the ERP (i.e: automatic orders to replenish inventory), LoB systems (remote control of field devices via intelligent bi-directional communication), the CRM (triggering personalized sales and marketing actions based on individual customer behavior), or any other system that interacts with customers, suppliers or internal staff. These actions will require no human intervention, or at least, require minimal human supervision or approvals to be executed.

Do you need to go all the way up to Level 4?
Not necessarily. How far you need to invest into the maturity of your IoT stack is dependent on the business case for such an investment. The true impact of IoT, and what business value it might bring, is very hard to gauge at Day 0. It is best to start with smaller steps by developing innovative business models, rapidly prototyping them, and making smaller investments to explore if an IoT-powered business model is viable or not. Make larger commitments only as steps from previous successes. This allows you to fail fast with minimal pain if your proposed business model turns out to be wrong, adapt the model as you learn through iterations, and allows your team to celebrate smaller successes on your IoT journey.

Internet of Things: Discover the 4 Maturity Levels

Internet of Things: Discover the 4 Maturity Levels

Maturity levels are important because they provide organizations with a goal-oriented path, so they can measure progress and celebrate small successes on their way to a greater goal. They are important because, as experience shows, it is best for organizations to progress through consecutive maturity levels rather than to simply try to swallow a super-complex project at once. Violent and ambitious jumps in maturity typically fail due to organizational change resistance, immature operational procedures, and deficient governance practices. It is better to have a solid hand on a maturity level before adventuring into the next one.

Here at the 4 maturity levels of IoT, and what they mean for organizations:

Level 1: Data Generation and Ingestion

What is it about: In level 1, organizations begin projects to generate and collect IoT data. This involves coupling their services or products with devices that capture data and gateways to transmit that data, implementing data ingestion pipelines to absorb that data, and storing that data for later use. 

What it means: at this point, companies are finally in a position to generate data and collect it. Data generation is the key building block of IoT, and the first maturity level is aimed at getting your hands on data. Typically, the hardest part are the devices themselves, how to securely capture and transmit the data, how to manage those devices in the field, solve connectivity issues, and building a pipeline that scales to serve many devices.

Level 2: First Analytics

What is it about: once armed with data, companies will typically try to derive some value out of it. These are initially ad-hoc, exploratory efforts. Some companies might already have a developed concept about how they will use the data, while others will need to embark in exploring the data to find useful surprises. For example, data analysts / scientists will start connecting to the data with mainstream tools like Excel and PowerBI and start exploring.

What it means: Companies might be able to start extracting value from the data generated. This will mostly be manual efforts done by functional experts or data analysts. At this stage, the organization starts to derive initial value from the data.

Level 3: Deep Learning

What is it about: the organization recognizes that the data is much more valuable and large than manual analysis permits, and starts investing in technology that can automatically extract insights from the data. These are typically investments in deep learning, machine learning or streaming analytics. Whereas the value of the data in Level 2 was extracted from the manual work of highly-skilled experts, the value of the data in Level 3 is extracted automatically from sophisticated algorithms, statiscal models and stochastic process modeling.

What it means: the organization is able to scale the value of its data, as it is not dependent anymore on the manual work of data analysts. More data can be analyzed in many more different ways, in less time. The insights gained might be more profound, due to the sophistication of the analysis, which can be applied to gigantic data sets with ease.

Level 4: Autonomous Decision Making

What is it about: the deep learning and analytical models, along with their accuracy and reliability, are solid upon exiting Level 3. The organization is now in a position to trust these models to make automated decisions. In Level 3, the insights derived from deep learning are mostly used as input for pattern analysis, reporting dashboards and management decision-making. In Level 4, the output of deep learning is used to trigger autonomous operational actions.

What it means: in Level 4, the deep learning engine of the organization is integrated with its operational systems. The deep learning engine will trigger actions in the ERP (i.e: automatic orders to replenish inventory), LoB systems (remote control of field devices via intelligent bi-directional communication), the CRM (triggering personalized sales and marketing actions based on individual customer behavior), or any other system that interacts with customers, suppliers or internal staff. These actions will require no human intervention, or at least, require minimal human supervision or approvals to be executed.

Do you need to go all the way up to Level 4?
Not necessarily. How far you need to invest into the maturity of your IoT stack is dependent on the business case for such an investment. The true impact of IoT, and what business value it might bring, is very hard to gauge at Day 0. It is best to start with smaller steps by developing innovative business models, rapidly prototyping them, and making smaller investments to explore if an IoT-powered business model is viable or not. Make larger commitments only as steps from previous successes. This allows you to fail fast with minimal pain if your proposed business model turns out to be wrong, adapt the model as you learn through iterations, and allows your team to celebrate smaller successes on your IoT journey.

Internet of Things: Discover the 4 Maturity Levels

Internet of Things: Discover the 4 Maturity Levels

Maturity levels are important because they provide organizations with a goal-oriented path, so they can measure progress and celebrate small successes on their way to a greater goal. They are important because, as experience shows, it is best for organizations to progress through consecutive maturity levels rather than to simply try to swallow a super-complex project at once. Violent and ambitious jumps in maturity typically fail due to organizational change resistance, immature operational procedures, and deficient governance practices. It is better to have a solid hand on a maturity level before adventuring into the next one.

Here at the 4 maturity levels of IoT, and what they mean for organizations:

Level 1: Data Generation and Ingestion

What is it about: In level 1, organizations begin projects to generate and collect IoT data. This involves coupling their services or products with devices that capture data and gateways to transmit that data, implementing data ingestion pipelines to absorb that data, and storing that data for later use. 

What it means: at this point, companies are finally in a position to generate data and collect it. Data generation is the key building block of IoT, and the first maturity level is aimed at getting your hands on data. Typically, the hardest part are the devices themselves, how to securely capture and transmit the data, how to manage those devices in the field, solve connectivity issues, and building a pipeline that scales to serve many devices.

Level 2: First Analytics

What is it about: once armed with data, companies will typically try to derive some value out of it. These are initially ad-hoc, exploratory efforts. Some companies might already have a developed concept about how they will use the data, while others will need to embark in exploring the data to find useful surprises. For example, data analysts / scientists will start connecting to the data with mainstream tools like Excel and PowerBI and start exploring.

What it means: Companies might be able to start extracting value from the data generated. This will mostly be manual efforts done by functional experts or data analysts. At this stage, the organization starts to derive initial value from the data.

Level 3: Deep Learning

What is it about: the organization recognizes that the data is much more valuable and large than manual analysis permits, and starts investing in technology that can automatically extract insights from the data. These are typically investments in deep learning, machine learning or streaming analytics. Whereas the value of the data in Level 2 was extracted from the manual work of highly-skilled experts, the value of the data in Level 3 is extracted automatically from sophisticated algorithms, statiscal models and stochastic process modeling.

What it means: the organization is able to scale the value of its data, as it is not dependent anymore on the manual work of data analysts. More data can be analyzed in many more different ways, in less time. The insights gained might be more profound, due to the sophistication of the analysis, which can be applied to gigantic data sets with ease.

Level 4: Autonomous Decision Making

What is it about: the deep learning and analytical models, along with their accuracy and reliability, are solid upon exiting Level 3. The organization is now in a position to trust these models to make automated decisions. In Level 3, the insights derived from deep learning are mostly used as input for pattern analysis, reporting dashboards and management decision-making. In Level 4, the output of deep learning is used to trigger autonomous operational actions.

What it means: in Level 4, the deep learning engine of the organization is integrated with its operational systems. The deep learning engine will trigger actions in the ERP (i.e: automatic orders to replenish inventory), LoB systems (remote control of field devices via intelligent bi-directional communication), the CRM (triggering personalized sales and marketing actions based on individual customer behavior), or any other system that interacts with customers, suppliers or internal staff. These actions will require no human intervention, or at least, require minimal human supervision or approvals to be executed.

Do you need to go all the way up to Level 4?
Not necessarily. How far you need to invest into the maturity of your IoT stack is dependent on the business case for such an investment. The true impact of IoT, and what business value it might bring, is very hard to gauge at Day 0. It is best to start with smaller steps by developing innovative business models, rapidly prototyping them, and making smaller investments to explore if an IoT-powered business model is viable or not. Make larger commitments only as steps from previous successes. This allows you to fail fast with minimal pain if your proposed business model turns out to be wrong, adapt the model as you learn through iterations, and allows your team to celebrate smaller successes on your IoT journey.

BizTalk ESB Management Portal deployment steps in Multi-Server Environment

BizTalk ESB Management Portal deployment steps in Multi-Server Environment

Recently I got a chance to install and configure the ESB Tool Kit and ESB Management portal in multi-server environment.

Below are the steps which I followed to successfully configure and deploy the ESB Management portal.

  1. Install Enterprise Library 5 from http://www.microsoft.com/en-in/download/details.aspx?id=15104
  2. Install Chart Control from Microsoft Chart Controls for .Net Framework 4 & Framework 3.5
  3. Install Microsoft Report Viewer Redistributable 2008 from http://www.microsoft.com/en-in/download/confirmation.aspx?id=6576
  4. Copy the ESB portal source code from the development server in C:Projects folder and Remove the read-only attribute of this folder.
  5. Update database server name in the web config file of ESB portal (located in “C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalESB.PortalWeb.Config” )
  6. Update Database server name in web config of ESB Exception Service (Located in “C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalESB.Exceptions.ServiceESB.Exceptions.ServiceWeb.config”)
  7. To turn on unrestricted access for Power Shell, execute the following command using the Power Shell 32-bit and 64-bit consoles:
  1. set-executionpolicy unrestricted
    1. To verify, run the following command
      1. get-executionpolicy
    2. Note: If you face any issue with above script, use “Set-ExecutionPolicy Unrestricted -Scope CurrentUser”
  1. Go to the C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalInstallScripts location and edit Management_Install.ps1 script.
  2. Comment the [BuildManagementSolution] function of Power Shell script. (This is required because there is no need to build the solution again).
  3. Update the [RunDatabaseScript $relativePath”SQLESB.Administration Database.sql” “Database server Name“] command. (This is required because It will try to create the database in local server)
  4. Step 10 is only required for first server configuration. Later comment this line of script for other server (This is because SQL Server will be same for Both BizTalk instance)
  5. Open a command prompt using “Run as administrator”.
  1. Execute the Management_Install.cmd  command located in “C:ProjectsMicrosoft.Practices.ESBSourceSamplesManagementPortalInstallScripts”.
  2. Open the IIS manager, Select the ESB portal and check the authorization. If all fine, Browse the ESB portal directly from here.
  3. If some error occurred, Change the authorization and app pool setting by checking user access.

Repeat the same step to other server.

Note: Multi-Server Environment – (Two BizTalk Server and one SQL server)

Please let me know If any suggestion on this or Feel free to add some point.

Advertisements

BizTalk ESB Management Portal deployment steps in Multi-Server Environment

BizTalk ESB Management Portal deployment steps in Multi-Server Environment

Recently I got a chance to install and configure the ESB Tool Kit and ESB Management portal in multi-server environment.

Below are the steps which I followed to successfully configure and deploy the ESB Management portal.

  1. Install Enterprise Library 5 from http://www.microsoft.com/en-in/download/details.aspx?id=15104
  2. Install Chart Control from Microsoft Chart Controls for .Net Framework 4 & Framework 3.5
  3. Install Microsoft Report Viewer Redistributable 2008 from http://www.microsoft.com/en-in/download/confirmation.aspx?id=6576
  4. Copy the ESB portal source code from the development server in C:Projects folder and Remove the read-only attribute of this folder.
  5. Update database server name in the web config file of ESB portal (located in “C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalESB.PortalWeb.Config” )
  6. Update Database server name in web config of ESB Exception Service (Located in “C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalESB.Exceptions.ServiceESB.Exceptions.ServiceWeb.config”)
  7. To turn on unrestricted access for Power Shell, execute the following command using the Power Shell 32-bit and 64-bit consoles:
  1. set-executionpolicy unrestricted
    1. To verify, run the following command
      1. get-executionpolicy
    2. Note: If you face any issue with above script, use “Set-ExecutionPolicy Unrestricted -Scope CurrentUser”
  1. Go to the C:ProjectsMicrosoft.Practices.ESBESBSourceSourceSamplesManagement PortalInstallScripts location and edit Management_Install.ps1 script.
  2. Comment the [BuildManagementSolution] function of Power Shell script. (This is required because there is no need to build the solution again).
  3. Update the [RunDatabaseScript $relativePath”SQLESB.Administration Database.sql” “Database server Name“] command. (This is required because It will try to create the database in local server)
  4. Step 10 is only required for first server configuration. Later comment this line of script for other server (This is because SQL Server will be same for Both BizTalk instance)
  5. Open a command prompt using “Run as administrator”.
  1. Execute the Management_Install.cmd  command located in “C:ProjectsMicrosoft.Practices.ESBSourceSamplesManagementPortalInstallScripts”.
  2. Open the IIS manager, Select the ESB portal and check the authorization. If all fine, Browse the ESB portal directly from here.
  3. If some error occurred, Change the authorization and app pool setting by checking user access.

Repeat the same step to other server.

Note: Multi-Server Environment – (Two BizTalk Server and one SQL server)

Please let me know If any suggestion on this or Feel free to add some point.

Advertisements