Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

NX (Contractors) Server/Database Notifications ?

 
Rune Raunow
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
After getting some valuable hints from lurking around the JavaRanch, my SCJD project (Contractors) is starting to come together. I've got the architecture layed out, the majority of the coding done and the GUI and the backend is talking nicely, but I've still got one outstanding decision to make:
- Should I implement a server/database notification, alerting clients on updates and thereby allowing Client A to refresh the data when Client B has updated ?
I've been unable to find any requirements for or against this in the assignment papers. On the one hand I'd think this is a must for truly distributed multi-client data access, but one the other hand the requirements clearly emphasizes simplicity. And searching this forum it appears that the previous assignment (FBNS) explicitly stated that this was NOT a requirement.
- What have you guys done on this matter ?
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Pie
Posts: 12014
220
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 query
  • Client: contractors in my area
  • IVR: 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
     
    Rune Raunow
    Greenhorn
    Posts: 2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks Andrew.
    I'll follow your advice and stick to the K.I.S.S. principle .....
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic