Designing for Communication

  • Post author:
  • Post published:
  • Post category:Uncategorized
  • Post comments:0 Comments

Designing for Communication Communication means transferring information from somewhere to somewhere else. It can be broadly categories into two: Synchronous Communication When two parties communicating at the same time. Where one party send the information, second party process that information and first party waits for the response from the second party. Client thread is blocked during request. Easy to use. Asynchronous Communication When sender sends the information and doesn't wait for instant reply, the transmission of data is not continuous and steady. Client thread is not blocked during request. Complex to use. Consider using asynchronous communication to increase the responsiveness, availability and scalability of your application. Consider using message-based communication when crossing physical or process boundaries; and object-based communication when in process (when crossing only logical boundaries). Identify patterns required in communication, common are: One Way, Two Way, or Duplex Unicast, Anycast, or Multicast Push or Pull Publisher/Subscriber Identify an appropriate transport protocol, such as HTTP for Internet communication and TCP for intranet communication.Ensure that you protect messages and sensitive data during communication by using encryption, digital certificates, and channel security features.

Continue ReadingDesigning for Communication