2

I am struggling to evaluate BizTalk; I need to understand the advantages and disadvantages of using BizTalk to monitor the use and performance of (WCF) web services.

Besides the obvious cost and learning curve of picking up a new technology are there any specific disadvantages in using BizTalk as a web service performance monitoring tool?

I have seen a demo of WSO2 ESB which shows some nice graphs with the use of services its providing a facade for. Is there anything akin to that in BizTalk?

Sticking with one vendor is an appealing prospect and we are (mostly)* an all Microsoft environment but are there any other key advantages to using BizTalk, anything it offers that isn't available elsewhere? Or anything it is a clear market leader in?

Edit
* I say mostly all Microsoft because we do not use SCOM; instead we have Nagios and Cactai

Simon Martin
  • 4,203
  • 7
  • 56
  • 93
  • 2
    So all you are wanting is monitoring over existing web services? And when you say monitoring do you more mean tracking the performance of them, rather than say ensuring availability? Either way I'd say BizTalk is huge overkill for this. If you are the provide of the web services you can either build this monitoring as some sort of extension that plugs into the WCF pipeline, or as tracing calls in the web services themselves. – David Hall Jun 27 '13 at 12:19
  • 2
    And in fact (though I must say I haven't used BizTalk in anger since 2010 so this may have changed) the support for nice visualisation of performance data is out of the box not the best. – David Hall Jun 27 '13 at 12:21
  • We will more than likely add to the list of services as we migrate to an SOA. I do need to know how well each service performs as well as how often it is used. There is some suggestion that we would use BizTalk to provide a service facade, to decouple clients from hardcoded addresses and allow us to move the services around (potentially), whether that's a good idea or not I'm not sure yet. Policy at work is to look for commercial products first and if nothing fits then build our own. At present I'm evaluating BizTalk. It does sound hugely overkill so far – Simon Martin Jun 27 '13 at 12:28
  • +1 on David's comment - IMO BizTalk isn't a good place to manage and monitor [1000's of web service facades](http://stackoverflow.com/questions/3355082/is-biztalk-an-esb). The closest we've evaluated was the Managed Services Engine (MSE), which sadly [never really saw the light of day](http://servicesengine.codeplex.com/discussions/274090). It seems there may be other commercial offerings in this space, e.g. [here](http://www.ecubesystems.com/managed-service-engine-replacement.html). At some point this capability will probably wind up in AppFabric. – StuartLC Jul 01 '13 at 07:55

3 Answers3

2

I guess that what one usually are looking for in this kind of scenario is something to put in front of you own services and that in a general way can proxy traffic but handle things like service routing, transformation of responses, possible visualization of services (so one call can call multiple services in the back end), security, monitoring etc etc. The promise is then that by using this kind of proxy service one gets all these capabilities without actually having to implement them it in each service - right?

I can say straight away that if you're specially looking for just supporting your service layer with the kind of functionality described above BizTalk probably isn't a perfect fit. BizTalk is great if you have more traditional application to application integration and where you need things like reliable messaging and great adapter support to communicate with a bunch of different systems and protocols and so on.

The main problem is that BizTalk will persist the message a number of times and will add latency. This can't be configured so even for simple get-like messages everything will be handled as an extremely important message (but maybe this is what you're looking for?) Further BizTalk actually lacks a few things such as good monitoring capabilities of for example service utilization (you will have to use BAM or something to solve this).

Other possible solutions for this are Sentinet from Nevatech or something from SOA Software.

Riri
  • 11,501
  • 14
  • 63
  • 88
  • I'll agree with Riri, BizTalk is not a service monitoring application it's an EAI/EDI/ESB (whatever you call it) Integration product. That helps to connect systems together. Sentinet or similar SOA governance product will be the right thing you need to look for. – Saravana Kumar Jul 05 '13 at 06:43
1

From my experience of working with Biztalk ( working alongside, rather than using directly ) I would say that it may not be ideal in the scenario you are describing. It could be used for that job, but it's a bit like using a double-decker bus to crack a nut; The nut will get cracked but the process will have consumed more resources than strictly necessary.

There is a lot of flexibility in the WCF pipeline and I would look first into either writing something to monitor exactly what you are looking for or finding a third party tool for these purposes.

Having spent time leaning both ways regarding this, I would also say that although a single-vendor approach has a certain appeal, third parties often build more useful tools for the Microsoft stack than Microsoft do.

glenatron
  • 11,018
  • 13
  • 64
  • 112
1

What you need is a non-intrusive SOAP and REST services monitoring tool. Take a look at Sentinet from Nevatech, http://www.nevatech.com/sentinet/api-monitoring. This is the only tool on the market in SOA and APIs governance and run-time management space that is entirely built on Microsoft technologies and plays nicely with Microsoft services. This tool will be exactly what you are looking for.

Andrew Slivker