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.

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?

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?

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?

Feedback

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

SQL Server Monitoring in BizTalk360

SQL Server Monitoring in BizTalk360

From the upcoming BizTalk360 version 9.0 phase 3 on, we extend our support to monitor SQL Server clusters. By configuring the SQL Server Network Name for monitoring, BizTalk360 will start monitoring the current active node and in case of failover scenario, BizTalk360 will automatically take the active server for monitoring.

 It’s important to make sure the physical infrastructure of your SQL servers like disks, CPU, memory, etc., are healthy for proper functioning. BizTalk360 made this simpler by having the SQL Server Monitoring capability.

BizTalk360 will alert to the user when the configured disk space, CPU, memory usage exceeds the set percentage.

Challenge

In existing BizTalk SQL Monitoring, we came across a few challenges on monitoring the clustered SQL Server

  1. The user could not find the active node while monitoring the clustered SQL Server.
  2. When the Failover happens, the disk monitoring could not identify the disks of the failover node and an error message was displayed as below.

sql-server-status

Scenario 1 (Active/Active): As the same as the previous version of BizTalk360, you can monitor the Clustered SQL Server (Active/Active) or a non-clustered SQL Server, by simply adding the SQL Server physical node in the “Add SQL Server For Monitoring”.

Scenario 2 (Active/Passive):  In BizTalk360, you can monitor the Clustered SQL Server (Active/Passive), by adding the common “SQL Server Network Name” for the physical node into the “Add SQL Server For Monitoring”. It will automatically pick up the active server node for monitoring and then it will start monitoring the active node. If a Failover happens, then it will automatically switch to the failover node (Active Node).

Let’s take a quick look at how you can monitor Non-Clustered/Clustered SQL Server (Active/Passive) using BizTalk360.

Non-Clustered SQL Server

The BizTalk server database will be pointed to one SQL server Instance as below.

Non-SQL-clustered-server

Failover Clustered SQL Server

Windows Failover Clustering is a high-availability option which is designed to increase the uptime of SQL Server instances. A SQL Server cluster includes two or more physical servers, called nodes. One is identified as the active node, on which a SQL Server instance is running the production workload, and the other is a passive node, on which SQL Server is installed but not processing the workload. If the SQL Server instance on the active node fails, the passive node becomes the active node and begins to run the SQL Server production workload with some minimal failover downtime.

http://www.biztalkgurus.com/wp-content/uploads/2019/10/Failover-Clustered-SQL-Server.png

The SQL Server Network Name is used to identify a failover cluster (active node) on the network. This was known as the virtual SQL Server name.

sql-server-network

The virtual SQL Server will automatically connect to the currently active node. You can find the SQL Server Network Name as below in the Failover Manager.

connecting-active-node

Prerequisites or Permissions required to monitor the Non-Clustered/Clustered SQL Server in BizTalk360

  1. MSDTC should be enabled in the BizTalk360 server and SQL Server. In the case of Clustered SQL Server, MSDTC should be enabled in all the SQL Servers which belong to the cluster. Follow the link to enable the MDTC.
  2. If BizTalk360 is installed using the service account, then the service account should get added to the Administrator group in the SQL Server node. In the case of a Clustered SQL Server, the service account should get added to both physical SQL Server Nodes(active & passive node).

How the (Non-Clustered) SQL Server  is monitored in BizTalk360

Let’s have a detailed look at how you can monitor a non-clustered SQL server using BizTalk360.

By adding the Physical SQL server name for Monitoring, you can monitor the disks, CPU, memory, etc. You can add the SQL Server name under BizTalk360->Settings ->Monitoring and Notification ->Add SQL Server for monitoring.

monitoring-sql-server

Note: For non-clustered SQL servers you must add the physical SQL Server name for monitoring.

Once the above configuration is done, the added SQL servers will get available for monitoring as below.

monitoring

The configured server will be listed for monitoring under BizTalk360->Monitoring ->Manage Mapping->SQL Servers. By clicking on the Server name you can configure Disks, System Resources (CPU, memory), Event Logs and NT Services of the specific SQL server for monitoring.

Disk Monitoring

A click on the Disks tab, will automatically pick up all the disks in the configured SQL server and show a graphical view of the disk properties with total and available disk space. To monitor the disk, you can simply set the appropriate warning and error threshold level for each disk in percentage (%), as shown below. For more detailed information, follow the article link.

disk-monitoring

Note: The system reserved and the unpartitioned disk will not be available for monitoring.

System Resource Monitoring

Click on the System resource tab to monitor the CPU usage and Memory consumption. Next, configure the appropriate warning and error thresholds for CPU and memory. The system will start alerting if the system condition hits the configured warning/error level for the persisted duration, which you can see below. For more detailed information about the CPU and Memory, follow the article link.

system-resource-monitoring

By default, warning and error thresholds for CPU and memory will be in 30% and 10%, but you are free to reconfigure these thresholds depending on your own requirements

Event Log Monitoring

You can monitor for various event log entry conditions using BizTalk360. You can have multiple combinations of event log monitoring, for example, certain sources, certain event ids, certain text in the message, with configured threshold conditions as below.

Note that you can also set up Event Log monitoring in the Data Monitoring section. Setting it up there helps in correlating event log entries across multiple servers. For more detailed information about the Event Log monitoring, follow the article link.

event-log-monitoring

NT Service Monitoring

You may want to keep an eye on certain NT services that are running in SQL Server. BizTalk360 gives you the opportunity to automatically monitor the NT services by just setting the expected state. BizTalk360 will alert you when the configured expected state is not equal to the current state. For more detailed information about the NT Services monitoring, follow the article link.

NT-Service-Monitoring

How a SQL Clustered node is monitored in BizTalk360

Now, let us have a quick look at how we can use BizTalk360 to monitor a clustered SQL server.

Configuring a Cluster SQL Server for monitoring

If you want to monitor a Clustered SQL Server, all you need to do is, specify the name of the Virtual SQL Server (SQL Server Network Name). When you connect to SQL Server using this SQL Server Network Name, BizTalk360 will automatically connect to the currently active node.

Configuring-Cluster-SQL-Server

Note: It is is enough to add just the SQL Server Network Name for monitoring the SQL Cluster,  it is not required to add the actual physical SQL cluster nodes.

Once the above configuration is done, then the added clustered SQL Server Name will get listed for monitoring as shown below.

It will automatically pick the active node and the state of the (clustered) server.

Disk Monitoring

In clustered SQL Server monitoring, it will show the currently active monitoring Node, and also it will automatically pick up all the disks in the currently active node. 

By Default, warning and error thresholds for each disk will be in 20% and 10%. You can also change the warning and error percentage as per your need and save it. Then, the currently active node will get monitored by the BizTalk360. If the disk space exceeds the set percentage, BizTalk360 will send the alert to the respective user.

If the “Failover” happens for the monitored disk, then the configured disk will automatically switch to the active server(Failover server).

Consider a scenario if Node 1 has disk A and disk B which are configured for monitoring (error and warning condition as 50 %). Let say, Node 1 went down, then BizTalk360 will automatically pick up the currently active node 2 for monitoring. But what happens if node 2 has Disk B and Disk C?

In the above scenario, the default monitoring configuration i.e error and warning condition 20% is set to the Disk C. Disk A, which is available in node 1 but not in node 2 will be moved to the orphaned state.
state

As in the above screenshot, the “STR-Disk1 (F:)” disk is newly added after failover with the default warning and error conditions. The other two disks are “STR-Disk2 (E:)”, which is a shared volume, and the (C:) drive is a common volume, which is also configured with the existing warning and error percentages.

System Resource Monitoring

As the same as disk monitoring, you can set up appropriate warning and error thresholds for CPU and memory as per your business needs. For a Clustered SQL Server, it will show the current active monitoring Node. It will automatically pick up the CPU usage and the memory for the currently active node.

System-Resource-Monitoring

In the case of a Failover, the CPU and the memory will automatically get updated for the active node (failover node) with the existing warning and error conditions.

Event Log Monitoring

In a Clustered SQL Server, BizTalk360 monitors the Event Log based on the active node. You can have multiple combinations of event log monitoring, for example, certain sources, certain event ids, certain text in the message, with configured threshold conditions.

Once after Failover, then BizTalk360 automatically starts monitoring the existing event log conditions based on the currently active node (Failover node).

NT Service Monitoring

In a Clustered SQL Server, current monitoring will be based on the active server. It will pick up the NT services from the active server for monitoring as you can below.

Once after Failover, the configured NT service will automatically switch to the failover node and start monitoring.

Conclusion

Our objective with the monitoring aspect of BizTalk360 is to make it simple to configure, manage and use it on a day to day basis. The above SQL Server Monitoring will do that, and it will also do the automatic way of monitoring when a failover happens. There is plenty to consider when planning on clustering SQL Server, but we trust that we came up with the best solution. For any suggestion or feedback, post it in the feedback portal.

The post SQL Server Monitoring in BizTalk360 appeared first on BizTalk360.