tags:

views:

161

answers:

2

Hello,

C# 2008

I have developed an application that need to connect to a web server in order to work. If the web server goes offline. The the app will have to be notified so that the user using the app can know what happened.

This application will be downloaded from the internet from our clients web site. So hundreds or thousands of users could have it.

I was thinking about pinging the web server maybe every 5 seconds. However, with 100's or 1000's apps would overload the web server.

Someone has told me about ESB would be right for this problem. The way I am thinking to use this, and I am not totally sure. Is to have every app to subscribe to the ESB. If the web server goes offline it will send a message to all the apps.

However, I understand that ESB is very big and complex and maybe this is overkill for my problem.

Am I understanding correctly.

If ESB is not the correct choice is there another design pattern I could use?

Many thanks

+1  A: 

It sounds inappropriately out of scope to spec an ESB for this simple purpose. Why not just have the client machines figure it out as they periodically need to access the website? Instead of pinging the web server over and over, in the course of their normal activities they will need to access the web server for any normal reason, if they get an error response they can branch down the "web server is down" code path.

1800 INFORMATION
+1  A: 

An ESB sounds like the wrong solution.

Two possibilities come to mind:

(1) If the user doesn't need to know they're offline in real-time, defer detection to usual error handling when you try and access the server.

(2) If you must know real time, use a small proxy at each client site so that only the proxies need to ping your server, not every desktop.

Andrew