Quantcast
Channel: BizTalkGurus
Viewing all 2977 articles
Browse latest View live

Microsoft Integration Weekly Update: August 13, 2018

$
0
0

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

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

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

Feedback

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

Advertisements

The post Microsoft Integration Weekly Update: August 13, 2018 appeared first on BizTalkGurus.


Centralized Advanced Event Log viewer performance improvement for getting better insights about your BizTalk Environment

$
0
0

In this blog post, I wanted to highlight the performance improvements of advanced event viewer collection logic in our upcoming version 8.9. This change will provide a fine-grained access to enable specific servers for the Event Log collection that are more important to you.

Windows Event Log Monitoring to detect the data breach

What would you do if you were faced with a critical issue in your BizTalk Environment in your enterprise? Think about this for a moment. Do you have an efficient process to respond to the problem? Are you equipped with the right set of tools to mitigate the problem in your environment? Sometimes, despite our best efforts, an issue may happen in unexpected ways and cause significant problems to the business.

In this situation, the Windows Event Log viewer is a handy tool for the BizTalk Administrators/support engineers to monitor their BizTalk environments and to detect any data breach or for any specific exception. At the same time, if the BizTalk servers are deployed in highly available setup and with clustered SQL server architecture, searching the Event Log from all of these servers together is like looking for a needle in a haystack.

Become the God of the Event Logs with BizTalk360 centralized Advanced Event Log viewer capability

Log data can be huge even in small integration business units. Many of the log entries might be routine messages about the BizTalk environment I.e. services and job status, that are mostly of no concern to you, but other messages like suspension of any service instances, system throttling state, state of host instances, etc., that is critical to your day to day business transactions.

However, to search for this logs in all the servers by logging into the physical server and correlate the Event Logs is a tedious process for the BizTalk support engineers /Administrators. This is where lots of their valuable time is wasted.

Who would not be happy if there is a capability to provide access to all the Event Logs across all the configured servers? Therefore, BizTalk360 provides you centralized access to all the Event Logs across all the servers in a rich web-based UI. To know more about the Advanced Event viewer, visit this blog “Why did we build Centralized Advanced Event Viewer for BizTalk Administration?”

No Fear! No Agent required. BizTalk360 provides agentless Event Log collection:

For Event Log collection, BizTalk360’s Advanced Event Viewer does not require a separate agent to be installed on each server. The BizTalk360 Monitoring service collects Event Log and is present as part of the BizTalk360 installation. In this way, BizTalk360 performs Event Log collection task without introducing any additional load to the servers.

Why this performance improvement required?

The Advanced Event Viewer is the most used feature in BizTalk360, where the administrators use this capability for their day to day business operations and monitoring with ease. To do so, there are some settings which need to be configured in BizTalk360. These settings are bound to the BizTalk environment level. In case of highly configured business architecture (Eg: 5 BizTalk Servers and 5 SQL Server with clustered setup), there may be millions of transactions which will happen on a regular basis.

From BizTalk360 V8.6 onwards, we have provided a new capability to monitor the Event Logs of the BizTalk & SQL servers. For this, we are calling the Windows Management Instrumentation service every minute. Because of the restriction with the environment level, all the servers will be polled every minute to collect the Event Log data.

We have received few support tickets where this specific logic is consuming a lot of memory and spikes the CPU performance of their BizTalk & SQL Servers. There are workarounds already suggested to our customers to make use of this capability in the best way, by configuring the sources which are required for them and remove the unnecessary sources. However, there are no options to enable the Event Log collection per individual server. Therefore, we have improved performance of the collection logic in our V8.9 version.

Comprehensive Event Logs collection using the newly introduced configuration method

 In our previous versions, up to V8.8, Event Log collection logic is not segregated based per server. To enable the Event Log collection, it is bound to the BizTalk environment and not on an individual server level. However, the user has control on configuring the sources based on the need.

Below screenshot represents our old screen in the Settings side to enable the Event Log viewer in order to view the logs in BizTalk360.

BizTalk360 Advanced Event viewer Event Log collection performance improvement- Old Screen

We have revisited the collection logic in our new version to improve the performance. Since the configuration is bound to the environment, the user doesn’t have control over the individual servers. In the new version of BizTalk360, users can control the Event Log collection according to individual servers. As an administrator, you know the value of each source which needs most considerations. So, there is an option as well in BizTalk360 to configure the BizTalk & SQL server sources separately.

Using these settings, you can customize and narrow down your Event Log search.

BizTalk360 Advanced Event viewer Event Log collection performance improvement - New_source_segregation_settings_screen

BizTalk360 Advanced Event viewer Event Log collection performance improvement - Server_configuration_screen

Improving the Archiving and Retrieving of Event Logs capability

Event Log retrieval is fairly a cumbersome task for the administrators from all the configured servers individually. BizTalk360 provides to download all the Event Log messages in a single place. Archived Event Logs give a lot of insight into the performance of your BizTalk environment unless all the Event Logs are archived in a central location. This way operators are able to access them at any time.

BizTalk360 Advanced Event viewer Event Log collection performance improvement - Export to Excel capability

Changes in the Event Log Data Monitoring section

Monitoring BizTalk Servers in a connected environment is the prime requirement for organizations – large or small.

The first thing we wanted, was to show the common issues/problems in the blink of an eye when an administrator needs it. The Advanced Event Viewer, in the Operation section of BizTalk360, would show users instantly, details of any Event Log about their BizTalk Environment. To know more about operations of Advanced Event Viewer refer to this article.

The second thing was the exact opposite – if there are some issues that should never happen, but they did in your Biztalk Environment, we would want you to know about it as well – once again, instantly. This is why we have built advanced Data Monitoring for Event Logs.

Previously, irrespective of the server selection, all the configured sources are displayed in the sources drop-down list. Now, based on the server selection, the sources will be collected and listed. This would minimize the turnaround time of creating the data monitor by selecting the required sources easily. Below screenshot refers to the new changes done in our new version of BizTalk360. Using this Data Monitoring capability, BizTalk360 will continuously monitor without any manual intervention and attention.

BizTalk360 Advanced Event viewer Event Log collection performance improvement - Data Monitoring New screen

Conclusion

We are sure, this implementation will highly optimize the BizTalk360 Advanced Event Viewer collection logic. Happy migrating and try BizTalk360!!!

Get started with the free 30 days trial. For any queries/feedback please write to us support@biztalk360.com.

Author: Mekala Ramesh

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

The post Centralized Advanced Event Log viewer performance improvement for getting better insights about your BizTalk Environment appeared first on BizTalkGurus.

My session about “BizTalk Server: Lessons from the Road” is now available online

$
0
0

One more year and one more BizTalk Server session delivered in London: “BizTalk Server: Lessons from the Road“. INTEGRATE 2018 was an amazing conference and for that, we once again need to thank you BizTalk360 team and Saravana Kumar for being able to assemble not only another great event but keeping improve it each year which is not an easy task.

About my session: “BizTalk Server: Lessons from the Road”

I was asked, once again, by the event’s organizers to deliver a session about BizTalk Server, I topic that I love and like to talk but I must confess that this time I was a bit afraid. Because of the huge success of my previous session that I presented last year, it would not be easy to keep me on the same level. But life is full of challenges that we should not be afraid, but rather face them with frontality and confidence, so I decide to deliver a session about “BizTalk Server: Lessons from the Road“.

Abstract: The session will cover small pieces of stories with practical real examples from the field to address certain scenarios/requirements. See real techniques been used is some of the most important features of BizTalk Server, some of them are out-of-the-box capabilities others are custom extensions been made in the platform. Topics include BizTalk migration strategy, content-based routing techniques, Mapping, JSON support, BizTalk administration tips, extending BizTalk out-of-the-box capabilities and many more.

You can download the PowerPoint presentation here: BizTalk Server: Lessons from the Road (slides)

And see the video session online here: BizTalk Server: Lessons from the Road (video)

BizTalk Server: Lessons from the Road

Hope you enjoy! But that is not all, you can also see the rest of the amazing sessions delivered by Microsoft Product group and Microsoft Most Valuable Professionals (MVP’s) at the event also online here: https://www.biztalk360.com/integrate-2018-resources/

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post My session about “BizTalk Server: Lessons from the Road” is now available online appeared first on BizTalkGurus.

TLS Support in BizTalk360

$
0
0

BizTalk360 is the One platform monitoring solution for BizTalk server. It only takes about 15 minutes to install the product and have it ready for use. The installation is very smooth and straightforward. During the installation, the web application, Monitoring and Analytics services and the database will be installed as per the selection of choice by the users.
One of the main advantage of the BizTalk360 installer is that you have the option to view the installer logs in case if there are any errors during the process. The installation log would contain the complete details of the installation steps, the service account details, the database connection string details etc. and of course the error details, if any.
Our BizTalk360 support team receive tickets from customers seeking assistance during the installation. In this blog, I would like to share an interesting case from a customer related to BizTalk360 installation.

The customer scenario

When the customer tried to install BizTalk360, they got below error in the creation of the BizTalk360 database step.

Here are the investigation steps

When the installer fails, our first step of investigation would be to check for the installation logs. In the logs, there was the following error message: Error 0x80004005: ‘failed to check if database exists’.
The next option would be to check for the permissions for the BizTalk360 service account in the SQL server hosting the BizTalk360 database. As a prerequisite for smooth installation of BizTalk360, the service account must be provided the db_owner permission for the BizTalk360 database. At the customer end, all the permissions were intact but still the error persisted. After a thorough analysis, we found the root cause to be with the TLS version installed in the servers.

Standards for securing communication

As database driven applications are increasing their hold on the systems market, the security of the retained information is also increasing. One way of mitigating a potential attack during a user’s session, would be to use a secure communication protocol to encrypt data in transit between the user and the server on which the sensitive information resides. Two of these communication protocols used are: Secure Sockets Layer (SSL) and Transport Layer Security (TLS).
SSL was first introduced by Netscape back in 1993-1994. The growth of the Internet was rising and so was the need for transport security. Today SSL/TLS is used in almost every conceivable online service. TLS is the protocol that allows digital devices (such as computers and phones) to communicate over the internet securely, without the transmission being vulnerable to an outside audience. The latest version of TLS is TLS1.2.

How did TLS hinder the installation of BizTalk360?

As per any organization’s security policy, they would be installing TLS protocol for more security. But do you think that this protocol would make the BizTalk360 installer to fail? How is that related to BizTalk360? Let’s move on to find the answer.
Let us consider the following setup for BizTalk360. Having a single BizTalk Server & standalone BizTalk360 environment, the setup will look like below.

The BizTalk360 database may be hosted on a separate SQL Server as well. In that scenario, all the servers will have the TLS installed and they communicate with each other through the protocol. In some of the customers’ cases, where they disabled TLS 1.0 and enabled TLS 1.2, they had the difficulty in installing BizTalk360 as the database was not getting created. However, once TLS 1.0 was enabled and TLS1.2 disabled, the installation was successful with the database creation.

The different scenario of the customer

In another customer scenario, they were using the SQL Express Edition for hosting the BizTalk360 database. This is first time we have come across such a case with the SQL Server edition. At first, we suggested them to enable TLS1.0 and disable TLS1.2. But when TLS1.2 was disabled, they faced the error in connecting to the SQL Server as shown below.

We tried different options for enabling the TLS versions, but this did not solve the error at all. Let’s move ahead to know the real cause of the error and how we resolved it.

The WiX toolset and BizTalk360 installer

BizTalk360 installer uses the WiX toolset for the installation package and database creation. It seemed that there was no support for TLS 1.2 in the WiX toolset for the SQL Express edition. Hence it was not able to connect to the SQL Server for the database creation.
The BizTalk360 installer is so robust that each and every error will be displayed, and it won’t allow the installation to proceed in case if it encounters any problem. The installation logs are an added advantage to get the clear picture of the error message. The below picture shows the TLS settings at the customer end.

As a quick step for testing this case, we immediately provisioned a VM with the same configuration as the customer and we were able to reproduce the exact issue. After a complete analysis and research, we found the issue with the WiX toolset. Now that we had identified the issue with the WiX toolset, the update was available for it. With this updated version of the installer,  the installation was successful, and the database was also created.
This was a different experience and of course a good learning for us. We, the support people, now had acquired the background knowledge of the installer as well as the TLS protocols.

Conclusion

New experiences lead to new learnings. As TLS 1.0 has been deprecated, many of our customers who have already moved to TLS 1.2 were not sure if BizTalk360 supports the latest version. Now the installer supports the latest TLS version, which is TLS1.2. This will be updated in our upcoming release version of BizTalk360 v8.9. When the customers upgrade to v8.9, they can have TLS 1.2 enabled which was not the case previously. When they had TLS1.0 disabled, they were not able to install BizTalk360. They had to enable TLS1.0, disable TLS1.2, install BizTalk360 and then once again disable TLS 1.0, which is a cumbersome job.
Now BizTalk360 supports TLS 1.2. Happy monitoring with BizTalk360!!! 😊.

Author: Praveena Jayanarayanan

I am working as Senior Support Engineer at BizTalk360. I always believe in team work leading to success because “We all cannot do everything or solve every issue. ‘It’s impossible’. However, if we each simply do our part, make our own contribution, regardless of how small we may think it is…. together it adds up and great things get accomplished.”

The post TLS Support in BizTalk360 appeared first on BizTalkGurus.

Microsoft Integration Weekly Update: August 20, 2018

$
0
0

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

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

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

Feedback

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

Advertisements

The post Microsoft Integration Weekly Update: August 20, 2018 appeared first on BizTalkGurus.

BizTalk WCF-ORACLEDB error: PL/SQL: ORA-00917: missing comma

$
0
0

In the last months I have been working with ORACLE adapter, mainly doing direct insert operations on ORACLE tables and as you might imagine, I found some errors that I find interesting to document. One of these errors was PL/SQL: ORA-00917: missing comma.

The first time I try to directly insert data inside a table – without using any stored procedure, that I normally use in SQL Server or other implementations that I worked with ORACLE – I got the following error:

A message sent to adapter “WCF-Custom” on send port “SEND-PORT-NAME” with URI “oracledb://IP-ADDRESS:PORT-NUMBER/PATH” is suspended.

Error details: Microsoft.ServiceModel.Channels.Common.TargetSystemException: ORA-06550: line 2, column 677:

PL/SQL: ORA-00917: missing comma

ORA-06550: line 2, column 1:

PL/SQL: SQL Statement ignored —> Oracle.DataAccess.Client.OracleException: ORA-06550: line 2, column 677:

PL/SQL: ORA-00917: missing comma

ORA-06550: line 2, column 1:

PL/SQL: SQL Statement ignored

at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)

at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)

at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()

at Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery(OracleCommand command, OracleCommonExecutionHelper executionHelper)

— End of inner exception stack trace —

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: {29C0CAD2-1D48-4318-8C86-E4A4E38FBD1C}

InstanceID: {F64C65F2-99F2-410E-A92E-418D146C16C9}

PL/SQL: ORA-00917: missing comma error

Cause

When you import the Insert (or other operation) schema from a specific table, unlike SQL, that only brings fields for you to fill, ORACLE schema will have:

  • Elements (fields) – that are the columns present in that specific table
  • and each Element will have an optional “InlineValue” attribute.

BizTalk-WCF-ORACLE-insert-operation-schema-structure

The element, as you can imagine is to send the value data that you want to insert in that specify column of the database but what is the InlineValue attribute? And what is this for?

InlineValue

For all simple data records in a multiple record Insert operation, you can choose to override the value of a record by specifying a value for an optional attribute called “InlineValue“. The InlineValue attribute can be used to insert computed values into tables or views such as populating the primary key column using a sequence or inserting system date (using SYSDATE) into a date column. Again, this is an optional attribute and is available for all simple data records in a multiple record Insert operation.

Basically, in other words, it allows you to call ORACLE PL/SQL functions like SYSDATE, TO_DATE or others for that specific column. And you don’t need to insert any data on the element, again, by specifying the InlineValue attribute this will override the value that you insert on that element.

Why you are getting the PL/SQL: ORA-00917: missing comma error?

This error typically occurs when you are mistakenly putting the data to be inserted in the “InlineValue” attribute and not in the elements:

<ns0:PAYMENTSRECORDINSERT xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/STGADMIN/Table/RETAIL_PAYMENTS">
  <ns0:RECORD_UNIQUE_ID InlineValue="12345" />
  <ns0:BOOKING_REF_NUMBER InlineValue="12345" />
  <ns0:SOURCE_SYSTEM InlineValue="TEST" />
  <ns0:PAYMENT_METHOD InlineValue="MONEY" />
  <ns0:CURRENCY_CODE InlineValue="EUR" />
  <ns0:REFERENCE_CODE InlineValue="1234" />
  <ns0:PAYMENT_TRANSACTION_ID InlineValue="1234" />
  <ns0:INTERFACE_STATUS InlineValue="N" />
</ns0:ADMM_RETAIL_PAYMENTSRECORDINSERT>

Solution

The solution, in this case, is very simple: you need to place the data on the existing elements of the schema instead of using the InlineValue attribute of the element:

<ns0:PAYMENTSRECORDINSERT xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/STGADMIN/Table/RETAIL_PAYMENTS">
  <ns0:RECORD_UNIQUE_ID>1234</ns0:RECORD_UNIQUE_ID>
  <ns0:BOOKING_REF_NUMBER>1234</ns0:BOOKING_REF_NUMBER>
  <ns0:SOURCE_SYSTEM>TEST</ns0:SOURCE_SYSTEM>
  <ns0:PAYMENT_METHOD>MONEY</ns0:PAYMENT_METHOD>
  <ns0:CURRENCY_CODE>EUR</ns0:CURRENCY_CODE>
  <ns0:REFERENCE_CODE>1234</ns0:REFERENCE_CODE>
  <ns0:PAYMENT_TRANSACTION_ID>1234</ns0:PAYMENT_TRANSACTION_ID>
  <ns0:INTERFACE_STATUS>N</ns0:INTERFACE_STATUS>
</ns0:ADMM_RETAIL_PAYMENTSRECORDINSERT>
Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post BizTalk WCF-ORACLEDB error: PL/SQL: ORA-00917: missing comma appeared first on BizTalkGurus.

Control and get better insight of your Event Log data using BizTalk360 Advanced Event Viewer

$
0
0

Are you using the Event Log for diagnosing problems and challenges faced while performing the operation in BizTalk server administration console? Then you might face the difficulty, on having multiple BizTalk / SQL Server users who need to look Event Logs on each server when there is a problem. To access the Event Log, every user should have administration permission to access the physical server, which is not the ideal solution for the business needs.

What is the purpose of the Event Log on a BizTalk Server?

The Event Log holds information related to different aspects of, amongst others, BizTalk Server. The Windows Event Logs are used by the BizTalk admins, mostly for diagnosing problems. When they face any issue, the first step they try to diagnose the problem or faults in the BizTalk Admin console itself. If they could not achieve a solution, then they will view the Event Viewer for detailed information on such cases like errors, messed up environments and failure of message processing.

Filter for log noise reduction during Event Log collection

The BizTalk360 Advanced Event Viewer which collects the events that are related to BizTalk and SQL sources. These sources can be configured in Settings–>Advanced Event Viewer, as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Source configuration screen

The Event Logs are collected based on the Event Log Categories and the administrators can also add categories as per their need. The data collection can be performed based on the environment selection as below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - Server configuration screen

Once, after enabling the “Enable Advanced Event Viewer data collection”, that will display all the available BizTalk and SQL server of the specific environment. The BizTalk admins or the people using BizTalk server can select the servers based on their needs. Based on the configurations, the subservice “Eventlog Collection” of the BizTalk360 Monitoring NT service will start to collect Event Log data and store the information in the BizTalk360 database.

This approach will seamlessly solve the problems as we highlighted in this article. The BizTalk administrators no more need physical access to each BizTalk or SQL server to diagnose the issue. This approach will avoid data collision, improves the performance and makes the user interface clear.

Let’s have a look at few scenarios where using the Advanced Event Viewer is beneficial over the Windows Event Viewer.

Scenario 1: If there is any failure of file transaction at an application level, the user can view the relevant event log information in the single user interface. This will avoid context switching and reduces the time to diagnose the issue.

Diagnosing issue made easier than Windows Event Viewer

In real time business transactions using BizTalk can cause any kind of failure.

Scenario 2: When you try to run a BizTalk application after deploying an orchestration with custom components. In case, the BizTalk orchestration engine cannot locate the custom component, that means you will get below error.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - A sample error in windows Event viewer

It is easy to query the Event Log details if BizTalk server is installed in a standalone environment. However, in case of multiple BizTalk servers, the user needs to login to each server to find the Event Log information and it is a tedious process to search the exact issue on ‘n’ number of results. So, it will eat up lots of time on finding the exact result.

In the BizTalk360 Advanced Event Viewer, diagnosing the problem or issue, in a single user interface related to the event “application” of BizTalk and SQL search, is made much easier than with the Windows Event Viewer.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Operation capability

With the Advanced Event Viewer, the BizTalk admins (and other people) can search the results using rich query builder tools, based on the different parameters such as the Event Log, Type, Source, Event, Category, User, Computer, Timestamp, and Message. One or more filters can be added, which will be useful to get an exact result and the user can view the related information the same as in the Event Viewer.

This approach will fasten the search of the Event Log information from the different servers within a stipulated time which obviously saves time.

Archiving distributed events on Centralized Location

BizTalk360 help to get the needed Event Log data from the Event Logs on different servers and shows the information in a simple, intuitive user interface. However, it is practically impossible to manually keep an eye on the Event Log data throughout the day, as they are constantly updated with the latest log data.

In BizTalk360, we solve this problem by downloading the data into Excel Format. The BizTalk admins can download the file by using the Export to Excel feature, that will download the grid data in Excel format and they can store the Event Log Data for further investigation, as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - Download screen

It is possible to monitor Event Log Data!

The Windows Event Logs hold all the important log information from sources like SQL Server, IIS, BizTalk infrastructure and run time problems. As the Windows Event Log contains that much data, it is nearly impossible to monitor the Event Log manually. Luckily, through BizTalk360, the BizTalk admins can easily monitor the BizTalk and SQL server logs by configuring the Event Log monitoring.

Scenario 3: The BizTalk admins can customize the alert in such a way that they must be notified when there has been a sequence of start/stops of the host instances in the past 30 minutes. Without being alerted, you may not know the frequent start/stops of the host instances and this could impact the performance of the environment.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - Advanced data monitoring screen

By mapping the Event Log to the Alarm, the administrator will get notified when the Event meets the condition. The alert can be notified through the required sources like Email and notification Channels.

The administrators can also log this Event Log alert in the Event Viewer itself, this is possible by enabling the Event Log option in alarm creation as below

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- General Monitoring event log flag

This will log the Event log alert in the Event Viewer when the alert exceeds the Host Start/Stop error/warning condition as below

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - Event log data in Operation screen

Create Log rules with an intuitive interface using the Event Log Data Monitoring capability

The primary purpose of auditing Event Log for BizTalk administrator is to discover the events of interest, whether they provide general information or call for further investigation. BizTalk360 will help to get the needed log data from multiple servers and shows the information in a simple, intuitive user interface. However, it is practically impossible to manually keep up the data throughout the day, as they are constantly updated with the latest log data. BizTalk360 also solved this by giving the real-time alert features on Event Log Data Monitoring.

Scenario 4: BizTalk Administrator wants to monitor different Events from multiple servers. For example, they might want to monitor the ESB from BizTalk Server at the same time they want to ensure the performance of the SQL Server & ENTSSO events from a separate SSO server and they also need to monitor the IIS from multiple BizTalk servers. In real-time, there is no option to monitor it with a single tool. It is hard to predict any issues and it is time-consuming for BizTalk admins to constantly monitor the Windows Event Log manually.

BizTalk solves this problem by bringing the heterogeneous data in the single intuitive user interface. On the top of that, it provides a powerful capability of getting real-time notifications through email or SMS when an event occurs on the specific frequency by setting additional threshold conditions. The admins can correlate two or more event calls for the further investigation by setting the conditions as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Advanced Data Monitoring configurations screen

It will be useful to query against different Event Sources of multiple servers of a single BizTalk Environment. The admins can include or exclude the events that pertain to your environment. Also, the admins can get the detailed notification on Event Logs by selecting the ‘Send Event Log in notification’.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Data Monitoring Filter screen

This will send the detailed information on every event source in Email which will look like below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - A sample Email alert

BizTalk Admins can choose the Notification Channel on the alarm creation and they can configure the Event Log as previously mentioned to get notified when any violation happened on a specific frequency. On the Data Monitoring Dashboard, the admins can visualize the triggered alert results based on the day view as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Dashboard View

It also easy to maintain, once after scheduling Event Log Data Monitoring; when you disable AEV for the environment, it will stop collecting Event Log data. So, the admins can enable collecting whenever they need it.

Is there any option to manage the Event Log data?

Managing the Windows Event Log is not simple. Administrators can manage or clean up the data through PowerShell script or by creating a custom log to log application errors. The BizTalk360 Monitoring Service collects the data based on the Event Log and Source configuration and stores in a separate database table in the BizTalk360 database.

In real-time business, BizTalk server will collect the log data for each event which happens during BizTalk operation. This can hugely increase the size of the database. Luckily, the administrator can set the purging for Event Log data in the BizTalk360 database as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Purge settings screen

Once after configuring the Purge Policy for Event Log data, it will clean up the data for every specific days/month/hour.

This approach will save the time and clean the old data easily, which will improve the overall performance of the BizTalk360 database. This also solves the problem of searching the current data with messed up old data.

Can we visualize the performance of Event Log?

 In BizTalk360 the BizTalk Administrators can indeed visualize the performance of Event Log data at a specific time.

Scenario 5: In any business environment, the performance metrics at a specific time will be critically important to take business decisions. To visualize the Event Log data the administrators can add the Event Log Data Count widget in the Reporting Dashboard on BizTalk Analytics.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer- Analytics Event Log widget screen

The Event Log reporting widget will show the exact count of Event Log data based on error, warning and critical errors for the available sources. The Event Log data widget will collect the data based on the scheduled time.

Leveraging the API Documentation Capability for Event Log

In BizTalk360, Event Log data in the API Documentation provides you with a very powerful way to integrate data and actions into your own tools or programs. Many of the BizTalk Administrators do not come from a development background and perceive an API as something for the exclusive use of BizTalk admins. This is not the case, and a mature and well-designed security product API can be of great value to other people, regardless of their development background.

Within BizTalk360, you can use the Event Log API Documentation to demonstrate broad functionality, primarily in the areas of:

  • user and organization account management
  • sample management
  • sample analysis data collection
  • threat intelligence harvesting

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - API Documentation screen

Of course, an easy way to use an API is to use a product that leverages that API.  Any RESTful API can be operated by anyone who can construct a web URI. the Event Log API documentation is also useful to create a custom widget using the JSON Response as shown below.

Insights and control your BizTalk Environment using BizTalk360 Event Log viewer - A Sample JSON Response screen

In an organization, you could easily tailor that to a list of IPs (or domains, or URLs, file hashes, etc) that had been seen in the analysis of only your own organization’s submitted samples with the help of this API’s.

Conclusion

To collect and process log data in real time, regardless of the volume of log data and the number of devices in the network, organizations need a robust log collection mechanism. BizTalk360 solves this problem by providing the Advanced Event Viewer functionality, which enables BizTalk Administrator to decipher and analyse any log data regard of its source configured. The collected log data is centrally aggregated and presented in a single console for log sources across locations. To summarise here are the Key features of BizTalk360 Event Log

Event Log Maintenance: Maintenance is also very simple when you disable AEV for the environment, it will stop collecting Event Log data. Manages data growth by Providing BizTalk360 purge policy.

Privileged Multiple Server Monitoring: The BizTalk Admins can monitor multiple BizTalk and SQL servers on a single user interface.

Server event trend analysis: It also protects security threats by collecting, analysing, reviewing and archiving event log. Through this, the BizTalk admins can get a comprehensive view of all the actions that is happening in the BizTalk server, SQL server, ENTSSO server etc..,

Real-time alerts: Receive instant alerts on unauthorized access to confidential data or even to the database server itself.

Intuitive dashboard: Drill down to the raw log level and view collected log content to facilitate simplified root cause analysis.

Out-of-the-box reports: Perform audits with pre-packaged reports that provide detailed information on Event Log Data through Event Log Count widgets.

The post Control and get better insight of your Event Log data using BizTalk360 Advanced Event Viewer appeared first on BizTalkGurus.

BizTalk Administration Console: An internal failure occurred for unknown reasons (WinMgmt) fixed by July 30, 2018 Microsoft Security Updates

$
0
0

Last month I wrote a blog post regarding the “An internal failure occurred for unknown reasons (WinMgmt)” error in the BizTalk Server Administration Console caused by the July 10, 2018 Microsoft Security Updates, you can see the entire blog post here: July 10, 2018 Microsoft Security Updates cause errors on the BizTalk Administration Console: An internal failure occurred for unknown reasons (WinMgmt). In which I document a workaround to solve the following problem:

TITLE: BizTalk Server Administration

——————————

Failed to create a BizTalkDBVersion COM component installed with a BizTalk server.

Class not registered (WinMgmt)

——————————

BUTTONS:

OK

——————————

An internal failure occurred for unknown reasons (WinMgmt)

And based on that you wouldn’t be able for example to: restart the host instances from the BizTalk Server Administration console.

Happy to inform you that Microsoft already released a new security update that will fix this problem.

Cause

As official documentation (https://support.microsoft.com/en-gb/help/4345913/access-denied-errors-after-installing-july-2018-security-rollup-update) state: Applications that rely on .NET Framework to initialize a COM component and that run with restricted permissions may fail to start or run correctly after you install the July 2018 Security and Quality Rollup updates for .NET Framework.

Microsoft .NET Framework runtime uses the process token to determine whether the process is running within an elevated context. These system calls can fail if the required process inspection permissions are not present. This causes an “access denied” error.

After you install any of the July 2018 .NET Framework Security Updates, a COM component fails to load because of “access denied,” “class not registered,” or “internal failure occurred for unknown reasons” errors.

So, the cause of these problems was security updates that were released by Microsoft on July 10, 2018.

Solution

On July 30, 2018 Microsoft released new Security Updates https://www.catalog.update.microsoft.com/Search.aspx?q=4346877 that will fix these issues.

An internal failure occurred for unknown reasons (WinMgmt) fixed

To solve my problem, I:

  • Applied/installed all the possible available updates on my BizTalk Server machine;
  • I manually download and installed the Security Update marked in the picture above;

After I restarted my BizTalk Server machine, this problem was fixed.

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post BizTalk Administration Console: An internal failure occurred for unknown reasons (WinMgmt) fixed by July 30, 2018 Microsoft Security Updates appeared first on BizTalkGurus.


An interesting support experience – Troubleshooting External Notification Channel(Slack)

$
0
0

I can say last month was one another interesting month for me as a Support and Test engineer, as we have received quite a few interesting tickets.

Every support ticket gives us a different experience in its own way. But, some of the support tickets seem interesting, because it helps us to explore and learn new things. One of such tickets was related to the Slack Notification Channel.

Short intro about Notification Channels

BizTalk360 is embedded with a feature called Notification Channel. Not only does BizTalk360 support internal notification like emails and SMS, along with it, we support external notifications so that customers can write their own code to send alerts to the Notification Channel they use as per their organization policy.

External Notification Channel is another customer’s feature request, which we have developed and included in our product. As it can be very helpful to Support teams, we decided to create some inbuilt Notification Channels. Further, customers can create their own Notification Channel using their own code. Kindly find the blog for Custom Notification channel.

Feedback from the customer about custom Notification Channel

We have got very positive feedback from our customers about external Notification Channels and received quite a few requests to include some of the Notification Channels as an inbuilt feature. And we did so.

Also, we haven’t kept support aside; whenever customers face challenges with Notification Channels, we helped them to solve the issue at hand to our best. One such classic case is ‘Using BizTalk360’s Notification Channel to perform some action via a PowerShell script’.

Default Notification Channels

During the initial point of time, along with the version 8.0, we have provided BizTalk360 with some inbuilt Notification Channel such as:

1. Slack and
2. Webhook Notification Channel

Later as per the customer’s request, we have included two more Notification Channels and we have 4 now.

3. ServiceNow
4. Teams
Notification channel configuration in our latest version 8.8 looks like below.


Also, we have enhanced the Notification Channel feature as per the customer’s request. Such as,

Challenge in External notification #Slack

Last month, we received a support case regarding the Slack Notification Channel, that it’s not receiving any notifications from BizTalk360 and they faced the below exception in the log file:

2018-06-08 12:01:40 ERROR – Unable to connect to the remote server

We started to approach the case with the basic troubleshooting steps such as:

• Does the user have proper credentials?
• Any ports are blocked?
• Any security tools are blocking the connection?
• The URL what they used to connect slack?
•Does the proxy is blocking the internet connectivity?

The basic troubleshooting did not help us to solve the problem. So, we went into the screen-sharing session to investigate furthermore. At that point of time, we found that admin scope is missing for the application.

To give more insight about Slack:

In Slack,

• Groups are considered as #Channels
• Applications are predefined functionality, that is considered as #Apps
• Permissions are called as #Scopes

The flow is like:

1. You must create a Channel inside Slack
2. App creation will be followed by channel
3. Add necessary permissions/scopes to the created app
4. Generate Access Key/Token for the app
5. Add app inside the channel
6. Add the Access token for the app inside BizTalk360

We asked the customer to provide the admin scope and left the call. After few days customer came back with the same problem even though they have provided admin scope.

Creation of test environment

For Testing purposes, I have created a new Slack account and Channel, tested from the scratch and we have provided the same permission as the customer had.We got the same issue as the customer encountered, though the application has the scope admin.

What our code does?

We have analyzed with the source code level to find if anything is missing at our side. But found, the code is written in a generic way to push the plaintext message to any Notification Channel. So that, it could be sent to any platform. we have found that it is not a problem with sending a notification from BizTalk360, but it could be a permission issue.

After some testing and researching, we were not able to find the minimum permission what needs to be provided for the application in order to solve the customer issue. Later, we have decided to seek help from the Slack support team for further investigation.

Working with Slack Support

Daniel from the slack support team who worked with me throughout the way. I have created the support ticket along with the sample test application which had been created for testing. The conversation started with the basic questionaries and made sure the basic configuration is configured as per the actual expectation. However, everything is correct, still, we couldn’t make the app work. The direction of an investigation gone little deep and we will look it in the coming section in detail.

Troubleshooting with the permissions

Daniel conveyed, installed app in the test workspace has a valid token. But, looking through the logs, the application has enough permission (both admin & User identity) to receive the messages. Permissions are as below,

  1. https://api.slack.com/scopes/admin – Got Admin scope
  2. https://api.slack.com/scopes/identify – And got Identify Scope

Additionally, he suggested providing 

  1. Conversiontions:write &
  2. Converstions:read scopes

After following the suggestion, the app was not working. But the next suggestion made a trick.

What is the trick?!!

Later, we got a reply from Daniel “I took a closer look at your app, and it appears you haven’t added the chat: write scope. You’ll need this to make any chat:postMessage (https://api.slack.com/methods/chat.postMessage) calls with your app.
Providing the chat: write permission to the application indeed did the trick! The application writes a message in the Slack from BizTalk360. I have updated the same to the customer and that helped them to resolve their issue.

Satisfaction does it!

This was another support case which was interesting for me as it helped me to understand the code of Notification Channel from a Developer perspective. I have explored Slack along with BizTalk360 which provided more insight from the Tester perspective. Working along with the customer and Slack Support team gave satisfaction as a Support engineer. I have received “an Awesome” review from the customer side 😊

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

The post An interesting support experience – Troubleshooting External Notification Channel(Slack) appeared first on BizTalkGurus.

BizTalk WCF-ORACLEDB error: This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters

$
0
0

Another day, another error to report – still have plenty of them in my backlog to be published, they are an “easy and quick way” to publish something in my blog when I really don’t have much free time to write something different. Today is about “This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters” error message that I got when I was initially trying to connect for the first time to ORACLE database to insert some data:

Microsoft.ServiceModel.Channels.Common.MetadataException: Metadata resolution failed for OperationId: “http://Microsoft.LobServices.OracleDB/2007/03/STGADMIN/Table/TRANSACTIONS/Insert”. —> Microsoft.ServiceModel.Channels.Common.ConnectionException: Due to an Oracle Client limitation, the adapter failed to open a connection. This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters, or (b) ambient transaction is present and a non-TNS based URI was used. To resolve this, use a TNS alias to connect to Oracle and make sure it is not more than 39 characters.

at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)

— End of inner exception stack trace —

Server stack trace:

at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)

at System.ServiceModel.Channels.ServiceCh.

This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters

Followed by other similar warning messages:

A message sent to adapter “WCF-Custom” on send port “INSERT_PAYMENTS_WCFORACLE” with URI “oracledb://IP-ADDRESS:PORT-NUMBER/PATH” is suspended.

Error details: Microsoft.ServiceModel.Channels.Common.MetadataException: Metadata resolution failed for OperationId: “http://Microsoft.LobServices.OracleDB/2007/03/STGADMIN/Table/PAYMENTS/Insert”. —> Microsoft.ServiceModel.Channels.Common.ConnectionException: Due to an Oracle Client limitation, the adapter failed to open a connection. This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters, or (b) ambient transaction is present and a non-TNS based URI was used. To resolve this, use a TNS alias to connect to Oracle and make sure it is not more than 39 characters.

at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)

— End of inner exception stack trace —

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: {DE7ABF70-D6B7-4FC8-A570-5AAE4FFACBB9}

InstanceID: {5842C3C7-6746-4A56-8707-FF53123A4101}

Cause

Non-TNS based URI is not supported under an ambient transaction. If you have to use transactions, you should use the TNS alias.

Note: TNS Alias needs to be less than 39 characters.

Solution

To solve this problem, you need to:

  • Open the send port properties, by double-clicking on the port;
  • Click on “Configure…” button under Transport
  • On the Transport Properties window, select the “Message” tab and then uncheck the “Use Transaction” box under Transactions

This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters

If you try to resend the message this problem should be solved. Additionally, if this error still persists, you should change the following properties in the oracleDBbinding:

  • “enableBizTalkCompatibilityMode” = True (this is set to false per default)
  • And/or “useAmbientTransaction” = False
Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post BizTalk WCF-ORACLEDB error: This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters appeared first on BizTalkGurus.

Microsoft Integration Weekly Update: August 27, 2018

$
0
0

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

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

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

Feedback

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

Advertisements

The post Microsoft Integration Weekly Update: August 27, 2018 appeared first on BizTalkGurus.

BizTalk Mapper Extensions UtilityPack: Convert to a Number Functoid

$
0
0

It’s been a while since I don’t make any changes to one of my favorite pet projects: BizTalk Mapper Extensions UtilityPack! Today I’m happy to announce the release of a new BizTalk Functoid: Convert to a Number Functoid.

Note: And it will not be the only one, soon I will release two new Functoids that I’m working on.

Today I was working on a map that I had the need to transform several numbers delivers in a string with a decimal format:

  • 1.000
  • 121.000

to an Oracle NUMBER(x) – without decimals.

Initial, I thought in create a Scripting Functoid and reuse it inside the map for each element. However, I realize that I will have to use the same transformation in different maps… so I end up creating this simple Functoid.

Convert to a Number Functoid

This functoid allows you to convert a string to a number (integer)

Parameters

The functoid takes three mandatory input parameters:

  • The input value to be converted to a number;
    • 1.0000
    • 1.000,00
    • 123,10
  • A character that describes what is the decimal separator (can be empty);
  • A character that describes what is the group separator (can be empty);

The output of the functoid will be a Number (integer), example: 1234

BizTalk-Server-Convert-to-Number-Functoid

In this sample described in the picture above we are receiving a string with a decimal: “1.000” and we want to transform into “1”. So, in this case, the functoid configuration will be:

  • the first input will be our value;
  • the second input will be “.” (dot) that describe the decimal separator;
  • and the third input will be “” (empty) because there isn’t any group separator (delimitator);

BizTalk Mapper Extensions UtilityPack: Project Description

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

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:
BizTalk Server Community Extensions Utility Packs GitHub Repository
GitHub

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post BizTalk Mapper Extensions UtilityPack: Convert to a Number Functoid appeared first on BizTalkGurus.

Azure API Management Feature: Application Insights

$
0
0

By Bill Chesnut

This is the third post in a multi part series on the features of Azure API Management.

As with the previous posts where I demonstrated publishing a SOAP Services with pass-through and SOAP to REST, this time I am going to demonstrate how you can connect Azure API Management to Azure Application Insights, to monitor the call to APIM and the dependent APIs. This post will not go into how or why to use Azure Application Insights, just how to configure APIM to use it.

By connecting APIM to Application Insights, information from APIM sent to Application Insights will include the request and response from APIM, the backend request and response and any Exception information. This will give end-to-end monitoring capabilities to the APIs that are being exposed in APIM if those APIs are also using Application Insights for monitoring.

As with any telemetry gathering system, there are some performance implications, APIM has recently added the ability to control this with a much finer grain as we will see later in the configuration screens.

To get started with Application Insights for APIM, you will need an Application Insights instance, I am not going to cover how to create that in this blog post, but you can find the instructions here: https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-app-insights

Once the Application Insights instance has been created (you can also use an existing instance if you want), lets connect Application Insights to APIM, go to the ‘Application Insights’ tab in the Azure Portal for APIM.

image

Then Click ‘+ Add’

image

Select the instance of Application Insight that you want to configure, optionally add a description and Click ‘Create’

image

You can have multiple instances of Application Insights connected to APIM, now we need to configure how this instance of Application Insights is used, it can be the default for all APIs in APIM or just used for specific APIs, to use it as the default instance, Click ‘APIs’, Click ‘All APIs’, Click Settings and to enable Click the ‘Enable’ check box

image

Configure the destination (instance of Application Insights), Sampling (there are some performance implication with the sampling %, see the this link – https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling ), Always log errors (recommended) and First bytes of body (if necessary).  Click ‘Save’

image

The Advanced Options allow you to control which Request are logged and headers and body logging

image

If you do not want to use the same instance of Application Insights for all APIs, you can select the API and configure Application Insights just like above for the particular APIs

image

Now lets open Application Insights, Click ‘Search’, then in the Search, Click ‘Refresh’, the results are empty since we have not made any calls to the API yet.  If this was an existing instance of Application Insight, there may already be some telemetry from the other services

image

Now lets go back to APIM and run some tests, Select and Operation, enter the required data (in this case, an invalid URL to see the exception processing) and Click ‘Send’

image

The result is a 500 Internal Server Error

image

Switch to Application Insights and Click ‘Refresh’, There is now data in Application Insights, 2 Request, 2 Trace, 1 Exception and 1 Dependency.

image

For this particular API, Application Insights is also setup on the API, so we can have end-to-end Application Insights information. Click on one of the entries to get the details

image

The details for the Request are contained in the view above and you can see the related Application Insights entries on the left and the particular details for the request on the right.  If we want to get more details on the Exception, other than the 500 Response code we see in this entry, click on the Exception entry on the left

image

By configuring Application Insights for APIM, the full end-to-end flow of requests can be seen, the percentage of requests that are captured in Application Insights depends on your sampling, in a Development or Testing environment you can set this to 100% but in Production environments if the APIs are very active this may introduce too much overhead and require a lower sampling rate to prevent performance degradation.

Hopefully this has given you a quick demonstration on how to connect Application Insight to APIM.

Cross Posted on http://www.sixpivot.com.au

The post Azure API Management Feature: Application Insights appeared first on BizTalkGurus.

Support Deliberation

$
0
0

Support deliberation is a process of discussing the challenges we faced in support handling. It is an initiative which our CEO suggested, and we are following this to transfer the knowledge to the team. With the different levels of support, it is important to share the knowledge between the team members, so that it would help them to resolve customer issues efficiently, when they come across similar kind of issues. It’s not only for the support team, the entire product team, including the developers, QA and the documentation teams take part in this deliberation.

I would like to narrate this blog as a Q&A session, so that I can explain in detail.

What is deliberation?

As deliberation defines, it’s a place where we discuss in detail about the support process and the challenges we faced in resolving the issues related to the product. Every participant will share their view and add points to the discussion.

Who are all the stakeholders?

Everyone who is inside/part of the product will take part. People from Development, QA, Document and Support. The thumb rule is no one should skip the meeting. It is important for every team member to attend this meeting, because it would be helpful for everyone to gather more information about the product, as well as the customer’s expectations and queries.

Yes…!! We are the stakeholders of BizTalk360

What do we discuss?

At first, we used to conduct this meeting twice in a month for 30 minutes. We thought that we were delaying the process and for providing immediate attention to the support tickets, we cut down the days and currently we are conducting every week, Tuesday from 03:00 to 03:30 PM IST, sometimes it may extend a bit longer.

Each support person would come up with a list of interesting and challenging support tickets they had resolved the past week. The challenges include the support tickets, support articles, blogs, new feature requests and enhancements which were raised by customers.

What is the process?

The process is simple and clear, we will follow the below Agenda:

  • Discussing past one week important/challenging support cases
  • Discussing the solution provided
  • Gather inputs from the team members
  • What needs to be improved
  • Key Takeaways

Simple isn’t it?

What’s the flow?

We start with the updates and actions taken on what we discussed for the previous week, based on the key takeaways from the meeting. Then we will discuss the current week challenges.

What did we discuss in the present week?

Well, let’s dive deep into this. We will take past 7 days tickets for the discussion.

Interesting/challenging support tickets

We started the meeting with the interesting/challenging support tickets which we handled that week. Let’s take a support case.

When a customer tried to install BizTalk360 on a stand-alone machine, they faced below exception during BizTalk360 database creation.

At an initial stage, we thought it might be a permission issue. Later, after a lot of effort we found it’s due to the TLS versions enabled in that machine.

Key Takeaway

The development team would only have more knowledge about the product functionality, but they would be unaware of the security configuration at the customer end. This discussion will give them a better insight into the customer scenarios. As a takeaway, we have conveyed this to the developer team and testing team. So, that they will know the dependency of the installer and work/test accordingly.

Bugs

There is no perfect product and there is always more scope for the development of the product in the form of either bugs or enhancements. As BizTalk server is an ocean, we are trying to cover most of the functionality. Very recently we faced an issue with the customer side on Business Activity Monitoring (BAM). When they added a column, they received an error.

This issue happens when the end date column has NULL values and it was selected in the BAM query in BizTalk360.

Key Takeaway

We have passed this scenario to our team so that both developers and test engineers will be aware of it and they will include these scenarios in their test case checklist.

Creating team awareness

This topic is something interesting; even though it will be out of BizTalk360, it is still relevant.

Most of our customers started to face an exception in BizTalk360, once after installing a Windows Security patch update. We found the root cause, that not only BizTalk360 shows the exception, it is because BizTalk Server facing an exception, which is reflected in BizTalk360. We recommended removing the patch update and that solved their problem. Luckily Microsoft has re-issued the updated patch for the same on July 30, 2018.

Key Takeaway

Interesting isn’t it? We have conveyed to the team, so that they will be aware of the issue. If they face the same problem with BizTalk server, they will not wait for our system engineer to repair, but they will try to fix the issue in BizTalk Server. After that, the problem will most likely be fixed in BizTalk360 as well.

Improvement tickets

At BizTalk360, we evolve the product based on feedback we get from different forums like:

  1. Support tickets
  2. Customer relationship calls
  3. Feedback portal
  4. Direct feedback

Based on the customer’s feedback, the tickets will be discussed. The feedback may concern an existing feature enhancement, a new feature or a feature document.

Key Takeaway

Based on the discussion the action will be performed. Say for example, if the feedback comes to a documentation enhancement, one of us (as we are DevOps) will be assigned to complete the necessary changes.

For an existing feature enhancement or a new feature, we will discuss with the team. Based on the team members feedback, we will add the feature in the Feedback portal and make other customers vote for it. Based on the number of votes, we will include in the product or if it is already available in the portal, we will wait for the interest of other customers. If the team agrees to accept the feature for development, one of the persons will be assigned to develop or to improve the feature.

The Brainstorming session

This is an interesting part for me. We don’t want to run the session like a normal Knowledge Transfer session with the team and we always prefer an interactive session. So once after explaining the problem faced by the customer, we will ask the team what the best solution would be and what the necessary steps are to solve the problem.

Key Takeaway

The first point is to make the team understand the problem and get their opinion. It will help us to get the solution and their point of view and may provide a better dimension of that case. We have received a better suggestion from the team, every time. 

Hidden fact, it helps themselves, while developing, testing or documenting a feature. They will always be aware of how the customer is using a feature and act accordingly.

Minutes of Meeting (MOM)

Each meeting ends up with the key takeaways and MOM. This will help us to follow up and take necessary actions. During the next deliberation meeting, we start up with the past week’s MOM or with the tickets what we have discussed.

Why we started this process?

We wanted to break the dependency of individuals like Module owners and get more knowledge from our higher levels. As DevOps, we should be ready to accept any challenge while working in different roles . It’s also important to understand and be aware of the customer environment and business requirements.

I want to take this opportunity once again to thank everyone in and out of BizTalk360 for this wonderful opportunity and believing in us. We are looking forward, for much more opportunities.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

The post Support Deliberation appeared first on BizTalkGurus.

Backup BizTalk Server job failed. Executed as user NT SERVICESQLSERVERAGENT. Cannot open backup device destination path.

$
0
0

Another day, another error to report directly retrieved from my backlog to be published. Today is about another error that can happen on the Backup BizTalk Server job: “Executed as user NT SERVICESQLSERVERAGENT. Cannot open backup device destination pathdatabase name“. I got this error a few months ago in a client while doing an installation assessment:

Executed as user: NT SERVICESQLSERVERAGENT. Cannot open backup device ‘C:Program FilesMicrosoft SQL ServerMSSQL13.BIZTALKMSSQLBackup<destination path>NAME_BAMPrimaryImport_Log_BTS_2017_12_18_15_07_41_447.bak’. Operating system error 123(The filename, directory name, or volume label syntax is incorrect.). [SQLSTATE 42000] (Error 3201) BACKUP LOG is terminating abnormally. [SQLSTATE 42000] (Error 3013). The step failed.

Backup BizTalk Server job: Executed as user NT SERVICESQLSERVERAGENT. Cannot open backup device destination pathdatabase name

This error was occurring on the third step of the Backup BizTalk Server job: MarkAndBackupLog.

Cause

On the third step, MarkAndBackupLog, of the Backup BizTalk Server job, if you check in input parameters of the stored procedure that is invoked there: the “sp_MarkAll” stored procedure. You will find out that the second parameter is the location of backup files and this location must exist in the file system.

The reason for this error to occur may be related for one of these reasons:

  • This step is not properly configured, and you still have “<destination path>” set as the value for the location of backup files – second parameter;
  • Or the folder/path that you define as the location of backup doesn’t exist;

Solution

You must remember that you need to ensure that all the paths specified in the BizTalk jobs must exist in the file system.

But in this case and as you will see in the error description, the backup job was not properly configured and still have “<destination path>” set as the value for the location of backup files.

To solve this problem, you need to:

  • Press the “Windows key” type “SQL Management” or “SQL” and click in “SQL Server Management Studio”.
  • In Object Explorer panel, connect to the SQL Server instance and expand the server tree.
  • Expand the “SQL Server Agent” node
  • Expand the “Jobs” node
  • Double click “Backup BizTalk Server (BizTalkMgmtDb)” to open the job properties window.
  • In the Job Properties – Backup BizTalk Server (BizTalkMgmtDb) dialog box, under “Select a page”, click “Steps”.
  • In the “Job step list”, click on the job you want to edit, in this case, “MarkAndBackupLog”, and then click “Edit”
  • On the “Command” property correctly specify a path for the backup files

Backup BizTalk Server job: Executed as user NT SERVICESQLSERVERAGENT. Cannot open backup device destination path fixed

After I properly configure the job this error was solved and I was successfully able to run the Backup BizTalk Server job.

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post Backup BizTalk Server job failed. Executed as user NT SERVICESQLSERVERAGENT. Cannot open backup device destination path. appeared first on BizTalkGurus.


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

$
0
0

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

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

Please repair the product to fix this issue.

Unable to find transmitPipeline.vstemplate

Cause

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

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

Solution

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

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

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post Visual Studio error: Unable to find transmitPipeline.vstemplate. Please repair the product to fix this issue appeared first on BizTalkGurus.

Microsoft Integration Weekly Update: September 03, 2018

$
0
0

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

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

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

Feedback

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

Advertisements

The post Microsoft Integration Weekly Update: September 03, 2018 appeared first on BizTalkGurus.

Introducing additional column filters capability in BizTalk360

$
0
0

Introducing new capability “Add/Remove” column headers

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

What is this new implementation?

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

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

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

Why we implemented the Additional column filters in BizTalk360?

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

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

Hide or show a column

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

Additional_Columns_filters_configuration_screen

Filtering context promoted properties made easy

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

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

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

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

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

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

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

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

additional column filters capability - Context promoted properties configuration screen

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

additional column filters capability - Context promoted properties grid view

How does BizTalk360 save the customized column settings?

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

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

Easy migration from one environment to another

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

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

Download the customized column data using the Export to Excel capability

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

Conclusion

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

Get started with the free 30 days trial. For any queries/feedback please write to us support@biztalk360.com.

Author: Mekala Ramesh

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

The post Introducing additional column filters capability in BizTalk360 appeared first on BizTalkGurus.

How to fix BizTalk Server 2016 SSO Administration Console with PowerShell

$
0
0

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

What is this tool?

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

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

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

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

BizTalk Server 2016 SSO Administration Console

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

Cause

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

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

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

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

BizTalk-Server-2016-ENTSSO-Registry

Solution

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

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

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

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

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

BizTalk Server 2016: PowerShell to fix the SSO Administration Console

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

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

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

BizTalk Server 2016: PowerShell to fix SSO Administration ConsoleBizTalk Server 2016: PowerShell to fix the SSO Administration Console (2 KB)
Microsoft | TechNet Gallery

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

The post How to fix BizTalk Server 2016 SSO Administration Console with PowerShell appeared first on BizTalkGurus.

Extended Import/Export Configurations

$
0
0

Introduction

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

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

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

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

New Capabilities

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

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

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

What has enhanced in Import/Export Grid Pagination

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

Set max Match for pagination

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

Exporting configurations

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

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

Exporting the Knowledge Base

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

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

Exporting BizTalk Reports

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

Exporting BizTalk Reports

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

Importing Configuration

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

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

Importing Knowledge Base

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

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

Importing knowledge base

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

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

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

Configuration tags for specific environments

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

Result summary for knowledge base

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

Configuration tags for global article

Importing BizTalk Reports

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

Importing BizTalk Reports

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

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

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

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

Result summary - Error on Duplicate in BizTalk Reports

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

Result summary - Overwrite option in BizTalk Reports

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

Conclusion

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

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

The post Extended Import/Export Configurations appeared first on BizTalkGurus.

Viewing all 2977 articles
Browse latest View live


Latest Images