Client Notification methodology

  • We are in the process of migrating a custom application developed using .Net and SQL2000 to 2008R2 and possibly, then Denali. This application is .Net Winforms, running under Terminal Services on 2008R2 servers so its a closed/controlled environment (only our LAN) with less than 100 users.

    Most of the conversion appears straight forward and there are numerous articles on the migration of the SQL data / DTS etc and that (hopefully) is well in-hand.

    However, we use a custom methodology to send event notifications to the users client interface. Whenever specific events occur that may require user notification/action, the related stored procedures will execute another stored procedure that handles the notification.

    This notification is a UDP broadcast to the terminal servers, containing a client identifier along with a few other bytes of data. The client software processes the UDP messages, checks the identifier(s) and if it is 'for them', they perform the designated action (update calendar, update message list, play sound etc.) The UDP server is running as a Windows service on the SQL server system. SQL invokes a single method from this service to send the broadcast.

    All of this works well under both 2000 and 2008 but it requires the use of sp_OACreate in order to create the UDP broadcast message on the SQL server. Performance, overhead, everything else is minimal, and with SQL2000, this seemed a reasonable alternative to polling or MSMQ at that time.

    So- my question is: Is there something within either 2008 R2 or Denali, that we can use to facilitate the client notification (other than MSMQ)? Is there a way to send a UDP message without using COM and sp_OACreate?

  • You could look into Service Broker and External Activation.

    The external application would need to take care of processing the UDP messages (including a possible return message to the calling broker message).

    AFAIK, "Pro SQL Server 2008 Service Broker" by Klaus Aschenbrenner has some example on how to do it. (google may show some more)



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]

  • Thanks, I will look into the service broker and see if that will do what we need. If anyone else has suggestions, any/all comments are appreciated.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply