Hi Rune
I did Fly By Night Services assignment, not contractors, so my requirements were different. But just some general thoughts anyway....
Notifying clients of changes to the database system becomes problematic as the numbers of connected clients increases. Consider the airline industry: you can book a seat on a flight from any travel agent (or usually from anywhere on the web) anywhere around the world. Think about the logistics of tracking who is performing which queries, when airlines typically allow bookings up to 300 days in advance, multiplied by the hundreds of flights per day, multiplied by the numbers of available seats, multiplied by the (millions?) of ways that you could be doing a query - it just isn't practical.
So the airline industry does not attempt to update clients when seat numbers change. Even if you have a terminal directly connected to the airline's mainframe, you wont get an update if the seat numbers change. You get a static view of the seats available at the time you make your query, and then you make your booking based on that static view, and you might get a response telling you that the seats are no longer available.
I think the same reasoning can be applied to not updating clients for contractors or hotels (definately for hotels: they have the same issues as airlines).
Just had a crazy thought - could you imagine what would happen if you connected an Interactive Voice Response system to your system:
IVR: State queryClient: contractors in my areaIVR: there are 12 contractors available, they are .......Client: I would like <interrupted>IVR: update: there are now only 11 contractors available, they are ....Client: I would like <interrupted> IVR: update: there are now only 10 contractors available, they are ....Client: I would like <interrupted>IVR: update: there are now only 9 contractors available, they are ....Client: Forget it, I'll do it myself Bottom line: You aren't asked to provide live updates to clients, so I dont think
you should do so.
Regards, Andrew