BizTalk Documenter Tool: How to customize the cover page

BizTalk Documenter Tool: How to customize the cover page

The BizTalk Documenter has been available for many years and different
BizTalk versions, starting with 2004 to the latest one: BizTalk Server 2016. And once again, without a doubt
for me, BizTalk Documenter is my favorite documentation tool, and I do think that if each
product had a tool like for the generation of technical documentation, it would
be simpler to do, as the existing documentation significantly improved.

However, the default cover page is quite simple
and looks old fashion:

biztalk documenter 2016: default cover style

CHM files are the HTML Help 1.0 specification witch
is quite pretty old. Basically, It is a complete HTML based Help system that
uses a Help Viewer that internally uses Internet Explorer to render the HTML
Help content that was introduced somewhere in 1997 when Internet Explorer 4 was
also introduced.

Nevertheless, CHM continues to be a popular
help format because it is very easy to produce content for it, using plain HTML,
which is quite interactive and because it works with many Windows application
platforms out of the box.

And I normally like to personalize my documentation
according to the client like:

  • Using
    the Logotype and there name on the cover;
  • Using
    their color pattern;
  • Sometimes
    using some cover picture;

So, the question here is: Can we customize
the cover page produce by BizTalk Documenter?

And the answer is obviously: yes, of course,
you can.

And I been doing that in my client for a long
time, however, and this also serves me as a personal reminder, because each time
I’m going to a new client I’m always:

  • Forgetting how to do it;
    • What king of resources do I need to have? And what are there names? if they are mandatory;
  • Taking a long time to format the HTML according to my requirements;

And don’t get me wrong there are several blog
posts guiding you on how to do it. But most of them do not provide you the
resources for you to download and:

  • use
    it as a template;

    • Where
      you can easily modify the pictures, colors and so on;
  • Or
    use it as an inspiration, tutorial or sample to your custom cover;

How to customize the BizTalk
Documenter cover page

What is really necessary to transform
your cover page from the default one presented in the picture above to something
like this:

biztalk documenter 2016: custom cover style

That contains:

  • 1-
    Logotype of BizTalk Server version;
  • 2-
    Header title and subtitle;

    • That
      can be your platform code name like “<client name> ESB”;
  • 3-
    Logotype of the client organization;
  • 4-
    Name of the documentation;
  • 5-
    Other pictures like for example project logotype;
  • 6-
    Disclaimer;
  • 7-
    background color;
  • 8-
    Copyright;

Or something like this with a background
picture:

biztalk documenter 2016: custom cover style

And in fact, this is a quite simple task. Fortunately for us, BizTalk Documenter allows us to specify a Resource Folder on the Output Options screen:

BizTalk Documenter 2016 output options: resource folder

For the sake
of simplicity, let’s call it Resources (but it can be other as you see
in the picture Resource V1). In the root of this folder, you should:

  • Add
    a custom HTM page that you mandatory need to called it: titlePage.htm

    • If
      you give it another name it will not work. The file will be ignored and the
      default cover will be generated;
  • And
    you should, once again for the sake of simplicity, add all the necessary
    picture files on the folder or sub-folder;

This is the content/aspect of my titlePage.htm file for the first sample provide it here:

<HTML>
	<HEAD>
		<META http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<TITLE>BizTalk Configuration</TITLE>
		<LINK href="CommenTReport.css" type="text/css" rel="stylesheet"/>
	</HEAD>
	<BODY style="background-color:#7FB4C4; PADDING-BOTTOM:20px; PADDING-LEFT:20px; PADDING-RIGHT:20px; PADDING-TOP:20px;">
		<TABLE cellspacing="0" width="100%" height="100%">
			<TR bgcolor="#0072C6">
				<TD style="PADDING-BOTTOM:20px; PADDING-LEFT:20px; PADDING-RIGHT:20px; PADDING-TOP:20px;">
					<IMG SRC="bts.png"/>
				</TD>
				<TD width="100%">
					<p style="COLOR:#FFFFFF;TEXT-ALIGN:left;FONT-FAMILY:Calibri,Verdana, Arial, sans-serif;FONT-SIZE:40;"><b>BizTalk Server 2016</b><br>Solution Technical Documentation</p>
				</TD>
				<TD align="right" style="PADDING-BOTTOM:20px; PADDING-LEFT:20px; PADDING-RIGHT:20px; PADDING-TOP:20px;">
					<IMG SRC="logotype.png"/>
				</TD>
			</TR>
			<TR>
				<TD colspan="3" height="150">
					<BR/>
					<BR/>
					<BR/>
				</TD>
			</TR>
			<TR style="background-color: #0072C6;">
				<TD colspan="2" style="PADDING-LEFT:20px; PADDING-RIGHT:20px;">
					<BR/>
					<BR/>
					<BR/>
					<SPAN style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:18;FONT-WEIGHT:bold;PADDING-LEFT:5px;PADDING-RIGHT:5px;">Name: #APPLICATION#</SPAN>
					<BR/>
					<BR/>
					<SPAN style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:18;FONT-WEIGHT:bold;PADDING-LEFT:5px;PADDING-RIGHT:5px;">Installation Server: #SERVER#</SPAN>
					<BR/>
					<SPAN style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:18;FONT-WEIGHT:bold;PADDING-LEFT:5px;PADDING-RIGHT:5px;">Installation Database: #DATABASE#</SPAN>
					<BR/>
					<BR/>
					<BR/>
					<BR/>
					<SPAN style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:11;">All information in this document is confidential and for Sandro Pereira exclusive access. Access to this document by any other entity is not permitted without prior permission.</SPAN>
					<BR/>
					<SPAN style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:11;">Any entity with access to this document is bound by its confidentiality.</SPAN>
					<BR/>
					<BR/>
					<BR/>
				</TD>
				<TD style="PADDING-BOTTOM:20px; PADDING-LEFT:20px; PADDING-RIGHT:20px; PADDING-TOP:20px;">
					<IMG SRC="documentation.png"/>
				</TD>
			</TR>
			<TR>
				<TD colspan="3" height="100%">
					<BR/>
					<BR/>
					<BR/>
				</TD>
			</TR>
			<TR>
				<TD colspan="3" align="right">
					<P style="COLOR:#FFFFFF;TEXT-ALIGN:right;FONT-FAMILY:Verdana, Arial, sans-serif;FONT-SIZE:10;">Generated on: #GENDATE#<BR/>Copyright © Sandro Pereira 2019</P>
				</TD>
			</TR>
		</TABLE>
	</BODY>
</HTML>

Resources

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

You can download BizTalk Documenter tool: Cover Customization Resources from:

BizTalk Documenter tool: Cover Customization Resources
Microsoft | TechNet Gallery

The post BizTalk Documenter Tool: How to customize the cover page appeared first on SANDRO PEREIRA BIZTALK BLOG.

Different Approaches in Service Instances Automation

Different Approaches in Service Instances Automation

In this blog, we are going to look at the BizTalk360 functionality, how it went one step further and helped to automate the process to handle service instances. Before that, we will have a look at the service instances and their importance.

In BizTalk Server there are two main types of processing components:

  • Orchestration Service Instances: If you are developing an orchestration and deploying it in your environment. At run-time, for every activation message you receive for that orchestration, a new instance of that orchestration will get created.
  • Messaging Service Instances: The service instances that have been created by your receive and send ports at run time. A receive port/send port is a combination of various things like an adapter, receive/send pipeline and maps.

group-hub-view-orchestration

Instance states and stages

Service instance states and message instance states are displayed on the Group Hub page. They convey information about successfully processed messages and instances, failures, and suspensions during a specified time interval. The service instances get instantiated, like your objects for classes, and during the lifetime, they go through various states.  Some of the common states include:

  • Ready to Run
  • Scheduled
  • Dehydrated
  • Suspended, Resumable
  • Suspended, Non-resumable
  • Active

When messages flow into the BizTalk server, the messages get persisted in BizTalk Server’s MessageBox database.

Each of the service instance state signifies certain value. Some of them are system-specific states (ex: Active, Dehydrated, Ready to Run, etc), which will change automatically as the message gets processed.

suspended-items

When any message is suspended in processing, then it is logged into the suspended instance. In BizTalk, when a message is suspended, then it falls into one of these two categories.

  • Resumable: if the external resource (example web service, folder location in case of file adapter) is not available then the message will go for suspend resumable mode. Resumable means the service can be recovered.
  • Non-Resumable: Typically hold metadata and cannot be resumed. They will either disappear when the corresponding resumable instance is resumed or in other cases, they might need manual termination. You can save the Messages referenced by the instance, and then you can terminate the instance.

Sometimes we can directly resume messages from the admin console, after which they are processed successfully and sometimes they are not processed successfully. Once the service instance moves into a state that demands user intervention, the BizTalk server administrator needs to manually log in to the BizTalk Server Administration Console and fix the problem with respect to the service instance.

Why should you monitor service instances

For a healthy BizTalk environment, it’s always important to keep an eye on the number of service instances in the environment. Having many suspended service instances will occupy most of your message box database and it will affect the overall performance of your BizTalk environment.

Message-Box

In BizTalk360 we are offering two ways to act against the instances.

  1. Action against suspended instances manually
  2. Action against suspended instances automatically

You can act against suspended instances manually through the MessageBox (Queries), offering administrators the ability to query the MessageBbox database for such messages and take action.

MessageBox Data Monitoring

In MessageBox Data Monitoring, the user can configure the queries to monitor service instances and messages. The monitoring service will send the notification to the users whenever the service instances/Message count violates the configured threshold condition.

MessageBox Data Schedule can be configured in BizTalk360 -> Monitoring -> Data Monitoring -> MessageBox Data.

It can be scheduled at the different frequencies (Daily, Weekly, and Monthly) based on the volume and priority to take the action on service instances/messages.

The operational user (either it will be a super user or a custom user has the permission to take action within BizTalk360) must closely watch the suspended service instances to act on. It is a tedious process to look after all the time. The MessageBox data monitoring feature can take automatic action on service instances when the set actions are configured in our schedule.

The monitoring service will Resume, Suspend or Terminate the service instances based on either error or warning condition without any manual intervention.

Service Instances Action Based on Retry Count

Most important to be noticed is that BizTalk360 will resume the suspended instance irrespective of the “Number of Retries” count set in the port. Retry count is nothing but the number of times for the send port to resend/resume a message on message failure.

Retry-Count

If the Instance is suspended in a port, then BizTalk360 will check how many times the instance is retried by BizTalk Server. If the number of retries done by BizTalk is less than or equal to the count set in BizTalk360, then it will resume the instance until it exceeds the count set.

If the number of retries done by BizTalk is greater than to the count set in BizTalk360 then it will stop resuming the instance on further monitoring schedule.

Set-Actions

Check the retry count between the BizTalk artifact and in the BizTalk360 count in the UI

If the BizTalk360 configured value is 3 and the BizTalk server’s current Retry Count is 4, in that case, the BizTalk retry count is greater than BizTalk360, so it will not take any action against the instances. So, compare the instance count and set the retry count value high in BizTalk360.

Action on Long running service instance which is older than X days

You can also achieve the same scenario (task action like MessageBox Data monitoring) with the help of a prebuild custom notification channel: PowerShell. Let’s take a customer scenario here for how they utilized the PowerShell notification channel.

In the MessageBox data monitoring, you can act against the service instances based on,

  • Only Query result count (no date/time filter)
  • Query result with date/time range

Only Query result count (no date/time filter)

Selecting this option will execute the query without applying any date time filter. i.e. all the data will be considered for SQL query execution.

Based on Query result with date/time range

Selecting this option will apply the Creation Time filter for SQL query execution. (The values configured for setting trigger time, Set Monitoring Times ->At What Time, will be used for Creation Time filter).

For example: When Monitoring set frequency is set for 1 hour, then for every SQL query execution the query will consider only 1-hour of data.

Message-Data-Box

In the customer scenario, they wanted to terminate the dehydrated and active service instances which are older than 15 days from the creation of the message. In data monitoring, this option is not available. To solve that, the customer terminated the dehydrated and active service with a PowerShell notification channel (custom script); the steps are below.

  • Create a PowerShell script to call the BizTalk360 APIs to check for the dehydrated service instance and terminate them
  • Attach this PowerShell script to a notification channel in BizTalk360
  • Map this channel to an alarm so that the PowerShell script will get executed to take action when the alarm is triggered.

Here is the PowerShell script to terminate the dehydrated and active service instances which are older than 15days in GitHub.

Note: The environment id details can be obtained from b360_admin_BizTalkEnvironment table in the BizTalk360 database. Modify the details according to your environment configuration.

Conclusion

An automatic action feature of BizTalk360 can take corrective actions in the event of any threshold violations. With just a one-time setting we have our BizTalk360 to make sure all your routine tasks are addressed without manual intervention.

The post Different Approaches in Service Instances Automation appeared first on BizTalk360.

November 11, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

November 11, 2019 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.

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

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Video

 

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 Documenter: Unable to locate the help compiler executable while trying to generate the documentation

BizTalk Documenter: Unable to locate the help compiler executable while trying to generate the documentation

Without a doubt, BizTalk Documenter is my favorite documentation tool, and I do think that if each product had a tool like for the generation of technical documentation, it would be simpler to do, as the existing documentation significantly improved. I do miss this kind of tool for Azure Integration projects.

However,
each time I install this tool I always got the exact same problem:

Unable to locate the help compiler executable

BizTalk Documenter 2016 Unable to locate the help compiler executable

which I know well, and I know why since it was very well explained by Mitch Vanhelden in this blog post.

So, why this blog post?

Well, for two main reasons:

  • I’m
    always searching to find the link to the component I need to install;

    • Basically,
      this is just an easy personal reminder;
  • And
    second and most important, the link to the resource that Mitch point is
    obsolete and not working anymore;

Cause

Has Mitch explained in his blog post, the
reason for this is quite clear, the application can’t locate the help compiler
executable, either because:

  • it
    isn’t installed à most common situation
  • or
    it is also possible if you’re working on a 64-bit machine.

Solution

Make sure you have installed the HTML Help
Workshop compiler because this is the most common cause for this issue and if
not:

  • First, download and install this compiler that can be found here: HTML Help Workshop and Documentation;
  • And then install it, by executing the htmlhelp.exe file
  • On the HTML Help Workshop 1.3 screen, click Yes
install HTML Help Workshop compiler
  • On
    the HTML Help Workshop 1.3 Setup screen, click Yes
install HTML Help Workshop compiler
  • Specify
    the installation directory and then click OK
install HTML Help Workshop compiler
  • And
    finally, when the installation finish, click OK

After these steps, you should be able to
generate the BizTalk Server documentation form the tool. Otherwise, make sure
that the path to this help compiler is configured correctly in BizTalk
Documenter by:

  • Access
    to the installation path of BizTalk Documenter

    • By
      default: C:Program Files (x86)Microsoft ServicesBizTalk Documenter
  • Open
    Microsoft.Services.Tools.BiztalkDocumenter.exe.config file and validate
    and, if necessary, change the path for the HelpCompilerLocation key
    that needs to contain the correct path to the HTML Help Workshop compiler
    component.

The post BizTalk Documenter: Unable to locate the help compiler executable while trying to generate the documentation appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk WCF-SQL Error: Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[ColumnName] of type StoredProcedure does not exist.

BizTalk WCF-SQL Error: Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[ColumnName] of type StoredProcedure does not exist.

In the past, I wrote a blog post about a similar type of error: BizTalk WCF-SQL Error: Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[StoredProcedureName] of type StoredProcedure does not exist. The difference for this new post is that instead of being the Stored Procedure name that is complaining it is now complaining about the Column name:

A message sent to adapter “WCF-Custom” on send port ” STAGING_SQL_WCF_SEND” with URI “mssql://SQL-SERVER-NAME//Database?” is suspended.
Error details: Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[IdRecord] of type StoredProcedure does not exist

Server stack trace:
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
MessageId: {0193EE6F-8DFF-4861-87FB-FC1C82ECF3AB}
InstanceID: {59E3F39A-BF24-4583-BEA9-78CED5B621F7}

Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[ColumnName] of type StoredProcedure does not exist.

However, despite this error and despite the
fact that we were talking about the same server and same project of the previous
issue, one thing I was sure about: they were not related at all.

Cause

At a first glimpse, it seems that the stored
procedure does not include the column name: IdRecord, or that this field
was not passed to the stored procedure at all. So, this was my first point to validate,
however, quickly I realized that:

  • The
    stored procedure had that field;
  • And
    I was correctly passing that field to the stored procedure in the message;

Just to precaution, I double-check if that was
not related to security permission, and it was not also. So I went back to my some
conspiracy theories list that I described on my previous post:

  • You
    should regenerate schemas: no, never
  • or
    that may be a mismatch in the namespaces: I believe it could be a
    possibility, but no, since I was using the same scheme and it was working fine
  • that
    the “?” character that you normally find in the URI is causing this problem: also
    impossible in my case
    .
  • And
    my favorite is that you should give “sysadmin” rights to the service account
    that is running the host instance: never.

But the last one put me thinking: the
operation is not properly set
.

Because the last change I did was redesign the
solution that was performing composite operations with the SQL Adapter, in my
case I was sending multiple-rows to update in the same message.

And now I was doing a single operation.

And by doing that the WCF-SQL Adapter was throwing
this strange behavior.

Solution

The solution was quite simple. We just have to
change the Action CompositeOperation with the correct operation action mapping
as show bellow as an example:

&lt;BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  &lt;Operation Name="SQLStatusUpdateOp" Action="TypedProcedure/dbo/sp_BTS_updateTransaction" /&gt;
&lt;/BtsActionMapping&gt;

After doing this change, everything started
working perfectly again.

The post BizTalk WCF-SQL Error: Microsoft.ServiceModel.Channels.Common.MetadataException: Object [dbo].[ColumnName] of type StoredProcedure does not exist. appeared first on SANDRO PEREIRA BIZTALK BLOG.

Querying BizTalk Subscriptions in BizTalk360

Querying BizTalk Subscriptions in BizTalk360

Introduction

The ability to query BizTalk Subscriptions is useful when you want to review how Orchestrations and Send Ports subscribe to messages etc. For example, when troubleshooting routing failures, you can review the existing subscriptions to see if any of them are improperly configured, thereby causing the routing failure. It is handy for the BizTalk users to view the publisher and subscriber when they troubleshoot or determine the use case.

Until now, BizTalk360 had all other queries (Message Box, Tracking Data and EDI), except Subscriptions. That feature is pending with respect to match the functionalities in BizTalk Admin Console. Based on customer feedback, we have implemented this feature in the upcoming release (9.0.3) of BizTalk360.

customer-feedback

Type of Subscriptions

Subscriptions are created by service classes in BizTalk Server, which is listed in the “adm_ServiceClass” table in the BizTalk Server Management database. These services include the caching service; in-process and isolated messaging, hosted by the Endpoint Manager; and orchestrations/XLANG hosted by the XLANG subservice. Each of these service classes can create subscriptions and receive published messages.

Subscribers use subscription in BizTalk to define the properties or criteria of the messages in which they are interested. A Subscription in BizTalk is like a filter or criteria or a condition that dictates BizTalk which message needs to be routed to which component or entity in BizTalk. There can be more than one subscriber to the same message. If that happens, each subscriber will get its own copy of the message.

In BizTalk Server, there are two subscription types are available. Both types are described below

Activation Subscription

An activation subscription specifies that when a message that fulfills the subscription, it should activate or create a new instance of the subscriber when such a message is received.

 Example: Activation subscriptions include send ports with filters or send ports that are bound to orchestrations, and orchestration’s receive shapes that have their Activate property set to true.

Instance Subscription

An instance subscription indicates that messages that fulfill the subscription should be routed to an already-running instance of the subscriber.

Example: Instance subscriptions are orchestrations instances with correlated receives and request/response-style receive ports waiting for a response from an external system.

Subscriptions queries in BizTalk360

The Subscription query feature can be found under Operations-> Data Access-> Message Box Queries. As like the other MessageBox queries (Suspended Service Instances), subscriptions are fetched from the BizTalk Message Box database(s) with filters and Max Matches similar as in the BizTalk Admin Console.

Clicking the Execute Query button will fetch the subscription list with both activation and instance subscriptions. BizTalk360 has the capability to export the results in excel format. Users can manage the filters with saved query functionality.  

saved-queries

In the Subscription list view, there are three buttons are available to display the following

1. Subscription Details & Predicates

When navigating to the subscription details page, it will present detailed information about subscriptions and predicates. Subscription General tab will display Subscription Priority, Ordered Delivery, Creation Time, Subscription Type, etc.

subscription-details

Predicates: The Message Agent calls the bts_FindSubscriptions stored procedure held in the BizTalk Message Box to establish which subscriptions if any, match this message. This stored procedure queries the Subscription and Predicate SQL tables and joins them with the properties inserted for the batch of messages to identify potential subscribers.

Different Predicate SQL tables are used to match all the possible subscription expression combinations.

  • EqualsPredicates
  • ExistsPredicates
  • GreaterThanPredicates
  • GreaterThanOrEqualPredicates
  • GreaterThanPredicates
  • LessThanOrEqualPredicates
  • LessThanPredicates
  • NotEqualPredicates

subscription-expression

2. Service Properties

Clicking the Service properties button will provide the service instance details, error information and Message details, Message content and Message context properties.

service-properties

When subscribing, it is not possible to subscribe to any content of the actual messages entering BizTalk, but only to what information is stored in the Context of the message. The message metadata is called Context Properties; on receiving the message, the Adapter, Pipeline, and Map will possibly add information to the Context.

Context Properties can either be Promoted or Not promoted. Properties that are promoted can be used for subscribing to the message. However, Not promoted properties cannot be used for subscribing to the message.

message-properties

3. Messages

When you click on the Message icon, it will populate the Messages query with Service Instance ID and Host Name related to the subscriptions.

Subscription processing is complex, so in short, you just need to remember that once a message arrives at the Message Agent, subscribers are evaluated, the message is inserted, and references are then added into the host instance queue, ready for processing by the subscriber hosted by the host instance.

query-expression

User Access Policy

When users are having the permissions for Message Box Queries, they are also able to access the Subscriptions. To view the Messages and Content, the user should have permission to view the Message Content/Context in the user access policy.

data-access

When the user does not have the privilege to view Message Content/Context, they will be restricted to view Message Content/Context from the Subscriptions List.

query-box

Note: Subscriptions are only implemented in the BizTalk360 Operations section. Subscriptions are not implemented in Data Monitoring as it is not applicable for the feature.

 Conclusion

We are constantly improving on the features based on feedback in the customer forum. BizTalk360 will continue to provide more useful features in every release. Why not give BizTalk360 a try! It takes about 10 minutes to install on your BizTalk environments and you can witness and check the security and productivity of your own BizTalk environments. 

The post Querying BizTalk Subscriptions in BizTalk360 appeared first on BizTalk360.

November 04, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

November 04, 2019 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.

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

 

Microsoft Announcements and Updates

Community Blog Posts

 

Video

 

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 Server: The transaction log for database ‘BizTalkMsgBoxDb’ is full due to ‘LOG_BACKUP’.

BizTalk Server: The transaction log for database ‘BizTalkMsgBoxDb’ is full due to ‘LOG_BACKUP’.

Recently a
friend of mine that is working with me in a project send me an email reporting
a quite curious issue that I found while accessing the BizTalk Server
Administration console in our development environment:

This operation failed while accessing at least one of the Message Bix databases. Some results might be omitted. (Microsoft.Biztalk.Administration.SnapIn)

Additional information:

The transaction log for database ‘BizTalkMsgBoxDb’ is full due to ‘LOG_BACKUP’. (Microsoft SQL Server, Error: 9002)

The transaction log for database ‘BizTalkMsgBoxDb’ is full due to ‘LOG_BACKUP’

Immediately I point out to the team that this issue
was related to lack of disk space.

Cause

The official cause of
this issue is that when the transaction log becomes full, SQL Server Database
Engine issues a 9002 error. The log can fill when the database is online, or in
recovery. If the log fills while the database is online, the database remains
online but can only be read, not updated.

And for us to know the exact cause for what is
preventing log truncation, we can use the log_reuse_wait and log_reuse_wait_desc
columns of the sys.database catalog view.

In our case, it was indeed a problem with disk
space and what happened was that the disk to where we were doing backup went out
of disk space, because we cannot do the backups the transaction log grow until
the point that disk (that contain the log file) also went out of disk space.

Solution

When you know the issue, the solution is quite easy. In this case, freeing disk space from both hard drives immediately solves the problem. Nevertheless, because the log file got quite big you should think of stopping your BizTalk Server environment and do maintenance in your databases in special reduce the size of the transaction log.

For that you should:

  • Perform
    a full back of your databases;
  • Stop
    all BizTalk Server services (host instances and enterprise Single Sign-on)
  • And
    run the following SQL Script
ALTER DATABASE BizTalkMsgBoxDb
SET RECOVERY SIMPLE;
GO

DBCC SHRINKFILE (BizTalkMsgBoxDb_log, 2048);
GO

ALTER DATABASE BiztalkMsgBoxDb
SET RECOVERY FULL
GO

  • Do
    about the same steps for other databases whose transaction logs are also quite large.

The post BizTalk Server: The transaction log for database ‘BizTalkMsgBoxDb’ is full due to ‘LOG_BACKUP’. appeared first on SANDRO PEREIRA BIZTALK BLOG.

On-site BizTalk360 Consultancy

On-site BizTalk360 Consultancy

As part of our efforts to help you make the best of your investment in BizTalk360, we provide several services. Take for example our very responsive support team which helps you with your support requests, installation and implementation best practice sessions and quarterly client relationship calls. Typically, these ways to support you are carried out via remote conference calls. In most scenarios, we are very well able to help our customers via such calls. However, sometimes it is just more convenient to speak to somebody in person and with your BizTalk environment at hand. For such scenarios, we provide our customers with the opportunity to have an experienced BizTalk360 Product Consultant visit you at your premises.

In this blog post, we wanted to explain more on this topic of on-site BizTalk360 consultancy and why this could be beneficial for you, as a BizTalk360 user, too! We have been doing these consultancy visits for a couple of years now and our experience is positive – these sessions are of great value, not only for you, the customer but also for us!

To demonstrate the rationale and effectiveness of these sessions, we have provided a few examples:

BizTalk360 Upgrades & Newer Versions

We often see that our customers have not upgraded to the latest release of BizTalk360. That is totally fine, as we bring 3 to 4 releases per year and not each version will contain features that are relevant for you. We understand that and, in fact, that’s the reason why we test upgrade scenarios from multiple previous BizTalk360 versions before we release a new version.

One of the topics we discuss during consultancy visits is explaining the new features and improvements since the customer’s latest upgrade.

On multiple occasions, we arrived wanting to discuss a particular requirement from a customer, only to find out that the requirement can be met once the customer upgrades to a newer version! Similarly, we also see that a specific requirement can already be met in the currently installed version, but the customer was not yet aware of it. In the latter case, we can immediately dive into the details and start using the required feature.

Move your organization forward by maximizing your investment in BizTalk360

As you are probably aware, BizTalk360 is very rich in features. Since its inception in 2011, the product has constantly been matured and improved by bringing 3 to 4 releases a year. As a customer of the product, it is likely that you will take the implementation of the product one step at a time.

invest

This is exactly how we can help our customers during consultancy visits. During face to face meetings with all the employees involved, we discuss the current status and any requirements. The product consultant will actively participate in the conversations, share his/her experiences and explain how specific requirements can be met with the product. After such meetings, we can immediately have a look at implementing any requirements which have been identified. By doing similar sessions with a certain frequency, you will be able to quickly move forward fulfilling requirements and, at the same time, make most of your investment in BizTalk360.

Potential agenda and outcome of a visit

To make the actual visit as effective as possible, we usually set up an agenda for the day, beforehand. This helps to structure the day and will also help in identifying any preparations, from either side, to be done.

An agenda of a previous on-site visit looked like below:

  • The customer tells about the current situation at the customer’s side, including any issues (high level)
  • The product consultant tells about the features which appeared in BizTalk360 since the latest installed version at the customer’s site. During the explanation, the customer identifies features they might be interested in
  • A detailed look into any issues the customer faces, address these issues or plan how the issues will be solved
  • Product consultant does several checks of the current configuration of BizTalk360 and where possible gives the advice to make the most of the product
  • Upgrade to the latest or latest minus 1 release of BizTalk360, depending on the company policy
  • Product consultant demonstrates the earlier identified features and configures them, based on the customer’s requirements

In the above case, the customer had the latest release of BizTalk360 installed and could immediately benefit from a new feature. Besides that, an improvement request has been identified which has been released in the next version of the product and installed during the next visit of the consultant.

These are just a couple of examples we have experienced. Let’s take a closer look at some more advantages of this service.

Face to face meeting with an experienced product consultant

Sometimes, face to face meetings is simply the best way to investigate and have a look at a specific requirement you might have. In your busy day to day activities, you might find it hard to allocate time to have a good look at your operations and monitoring requirements. Sitting down with a BizTalk360 product consultant is helpful as you will allocate some time to have a better look at your BizTalk operations and monitoring requirements and immediately optimize your current setup.

meeting

Focused on your requirements

The product consultant has many years of BizTalk and BizTalk360 experience. He/she can relate to your pain points and can share with you similar customer scenarios more often than not from the same industry.  BizTalk360 has always prided itself on improving business processes. The main focus for the consultant is, therefore, helping you out in the best possible way when using the product, thereby helping you achieve the best possible return on investment.

We often see cases where customers have a particular business requirement with respect to their BizTalk administration unaware it could be solved with BizTalk360.

Any BizTalk360 or BizTalk Server topic can be discussed

When you have a BizTalk360 product consultant on-site, any BizTalk360 or BizTalk Server topic is on the table. The consultant has rich experience in both fields, so is happy to take your questions in these areas and share his/her views and experience.

For example, you might be in the process of installing our BizTalk360 product. The consultant will explain the different deployment models and, based on your requirements, give you a recommendation making you aware of any prerequisites. Moreover, if you are not sure how to implement the monitoring of your BizTalk environment, you can discuss and implement, based on your requirements and the recommendations of the consultant. Even if you have concerns about BizTalk administration in general, the consultant will be more than happy to provide you with best practices and his/her own experiences from the field. If required, the consultant can do a short health check of your BizTalk environment, which might give you the confidence that your BizTalk environments are in a healthy state.

Quick access to the BizTalk360 Dev team

Although the product consultant has rich experience with BizTalk360, it might still happen that there are areas where the consultant does not immediately have an answer. If there is no direct urgency to have the answer, the consultant will take your question(s) and get back to you once there is more clarity about the topic. However, if urgency is required and time is of the essence, the consultant will escalate the matter with the developers of BizTalk360.

Listening to & logging your improvement requests

BizTalk360 is a very mature and feature-rich product. Nevertheless, you might have a requirement that BizTalk360 cannot solve.

Having a BizTalk360 product consultant at hand is probably the best way to discuss requests for new or improved features.

When such improvements or new features are discussed, there will be an open conversation about the improvements you have in mind and if the request is considered valuable, it will be logged in our internal systems.

New feature requests generally take the following course: by listening to other customers & partners on a regular basis we tend to hear the same or similar requests. Naturally, we want to bring features that are useful to as many customers as possible. Deciding which requests will be taken for development is carried out, amongst others, on a voting system. The more votes a feature request receives, the more likely it will be that we will take it up for development.

Keep up to date with the latest product developments

Keeping up to date with product development can be tricky especially if you are always busy with important daily activities. It is our responsibility to make you aware of new additions to BizTalk360. As we bring new releases so frequently, we notice that users of BizTalk360 have not always upgraded to the latest version. During the meeting, the consultant will give you an overview of the features which have been added since the version you are using was installed. It might very well be that it contains features of interest to you!

Summary

We have agreements with multiple customers who we serve with quarterly or half-yearly visits. Normally, we receive positive feedback on the usefulness of the consultancy visits. We hope that, based on the above-mentioned arguments, you will understand that such visits can be useful for you too. In most cases, a full day will be allocated for the consultancy visit, but any duration from half a day to multiple days can be considered.

If you would like to discuss the possibility of an on-site visit, feel free to contact us at support@biztalk360.com.

Besides these product consultancy visits, we can also provide BizTalk360 training and BizTalk Server Administrator or Developer training.

The post On-site BizTalk360 Consultancy appeared first on BizTalk360.

October 28, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

October 28, 2019 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.

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

Microsoft Announcements and Updates

 

Community Blog Posts

 

Video

 

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.