Background Service

Topics: Technical Questions, Usage Scenarios
Jun 23, 2009 at 8:49 AM

Just a quick question from a complete newby who just stumbled upon this project.

First a bit of background. I just spend the last 1 and half day writing a small (Windows) Service host. Which can host multiple service in different AppDomain. All automatically reloaded if the various config file of the various services have changed.

Anyway these services are not really a WCF or WF oriented service. Truth to tell, so far, have only written 2 services which poll a database every 5 minutes and do some batch processing. All without external intervention. Although I would see the need for WCF endpoint for some of them in the near future.

Although I haven't written proper exception handling / health monitoring yet (and health report).

It all works nicely but I like the more flashy look and more encompassing aspect of MSE (and Roma Kiss's tools) (hey maybe the health monitoring and report is already build in?!)

Now to my question:

Is MSE appropriate to my need so far?
How easy / hard would it be to pick up, install and puts to good use? 

(for further info my services are defined and loaed with the following information: an Interface (Start(), Stop), and Assembly and a TypeName) 

Developer
Jun 24, 2009 at 4:19 AM

Based on your post it sounds like you have created a hosting mechanism for service logic.  The MSE doesn't host service logic, it provides a management layer in front of the service logic so that you achieve several benefits:

 1) You can change the service logic without impacting a consumer - the MSE is an interception layer between the consumer and your actual service.  this interception layer can massage the messages to make sure consumers aren't impacted by your service logic changes.

 2) You can expose the capabilities of your service logic in alternate message formats, protocols, and security contexts - the MSE can be the layer to enforce transport/message security, perform authentication and authorization, or expose your capabilities over TCP, Http, SOAP, POX, etc.

3) You can implement logging and auditing within the MSE layer to provide a means to record/track the # of executions, performance, and who is using your services.

Much of this is handled through the notion of a policy.  This allows you to create one of the desired behaviors mentioned above as a policy and apply it accross any endpoint the MSE exposes without requiring any changes to your service logic.

There are many other benefits, but I'll just stick with these for now to make sure I've answered your questions.

Make sure you've gone through the MSE Walkthrough in the Exercises.zip file in the installation folder.  This should give you a pretty good overview of the key benefits.

Jun 24, 2009 at 4:49 AM

Thanks Botto!
Your reply gave me some food for thought!