In this post and the next I would like to go through a scenario to have the ability to further evaluate the three monitoring tools for BizTalk. I will use an Oracle backend (i.e. Oracle 10g Express), .NET, BizTalk and a Windows Front End application. I have an environment (VPC) that contains BizTalk Adapter Pack 2.0, Oracle Express 10g, BizTalk Server 2009 and the three monitoring tools BizMon, Minotaur and FRENDS Helium. In this scenario we will expose data inside Oracle database to an application and update this information to our liking and see to it that it will be updated in Oracle database. BizTalk (Messaging) together with Adapter Pack 2.0 (Connectivity) will be exposing the Oracle through messages, by submitting a request and receiving a response. Update to data be routed back through update request and response will be shown in front end application. Below you will find a diagram to visualize the process (scenario) just described. We will use the three monitoring tools to monitor the processes. In this post I will focus on first process of searching employees. The other post as a follow up will describe and go into the update process.
Windows Application simply lets you search by last name for an employee in Oracle database. Screenshot below shows the simple UI for this.
Through entering a last name and click Search some employee detail will be given as result (process it displayed above!). Result below is given for employee with last name: King.
Ok If you do this a couple of times let’s see what out monitoring tools will give as information about this process. Before we will do this I like to explain how I made this scenario work from a technical perspective. I created a windows application with c#, schemas generated from Oracle Express Edition using BizTalk Adapter Pack 2.0, a custom schema (contract for request/response) of search, and maps. Custom schema I used to create a Wcf Service in BizTalk using BizTalk WCF Service Publishing Wizard. Wcf is hosted in receive location for my BizTalk application called HRM. With Wcf service in place I created a service reference from Windows Application, so I am able to call the service with search criteria (last name). When service is called it will send request message based on custom schema. The message will be mapped to a request message based on generated schema from Oracle and will be send by a port that has a subscription on that message type. Send port is a static solicit request/response port, so result from request message sent to Oracle will be received and mapped again to custom schema response message.
Custom schema (Contract)
With latest version of BizMon I looked at this process through web user interface. I enable data tracking so I can track messages going to and from Oracle XE. UI will signal this:
Missing tracked ports: Data Tracking is enabled but no ports has been added. Add your most critical ports by using the drop-down menu next to each port.
For both ports I enabled tracking:
By enabling tracking I able to see what is going on.
That looks pretty cool doesn’t it? On BizMon website you will find also an instruction video explaining tracking.
For this scenario the FRENDS Helium monitoring give you the overview below by simply go to the web front end and select HRM application.
Here you basically can click detailed information to give a more detailed view:
Last but not least I fired up the Minotaur tool and clicked Dashboard. The Dashboard gives an overview of the overall health of BizTalk environment.
Minotaur gives me more capabilities in monitoring my BizTalk HRM Application. I can for instance configure monitoring at Receive locations; by clicking Recieve Locations in Monitor Setup section I can add a record:
I select the application, available receive location, health monitoring (check/uncheck), and what action. I do similar thing for Send Ports. I can now view health of my BizTalk environment and HRM application.
I stopped send port and could see the following happening in my health dashboard.
I did not notice an event entry in event log (so still something to figure out here); what I do noticed that if you click red dot, some detail will appear.
Other two tools showed following:
As you can see I figured out some of the capabilities of these monitoring tools. Helium offers the least capabilities and a can be viewed as a viewer for your BizTalk applications running in BizTalk. You can do this also with Minotaur and BizMon, that offer a lot more capabilities than what I have showed you here in this post.
I do feel that using Minotaur will have a steeper learning curve to use it appropriately than BizMon. This does not really come to a surprise to me, because BizMon is more targeted to 1-tier support or the business and Minotaur is more targeted to 2- or 3-tier support. Latter is more technical and knowledge of BizTalk, Operating Systems and SQL Server is required. SO both have their value in an enterprise can coexist. More evaluation and experiences gained by using these tools will come in next post, where the other part of the scenario will be shown.