Event notification between servers


i have been asked design internal project have several components extend off core business logic layer. 

how can have core notify other components of events when deployed in different places?

explanation: 

project structure: 
  • core bll 
  • core dal
  • project bll
  • project dal
  • project ui
  • project b bll
  • project b dal
  • project b ui
project & b blls have dependencies on core bll common functionality. ditto project & b dal respect core dal.

they deployed on internal server in separate folders, such "internalserver/projecta" , "internalserver/projectb". 

how handle following case best?

in project a user persists change instance, example company, belongs core. project b wants watch changes companies. how can core best notify project b company changed? 

how change if project , project b on separate servers?

thanks assistance.

you need implement publish-subscriber design pattern.

each subcriber needs register publisher notification. whenever there change published notifies subscriber change.

its kind of similar event based model. if have been in memory issue can use events or delegates.

for out of process communication need rely on messaging technologies wcf. publisher , subscriber both needs expose web services communicate. publsiher expose service register events. during registration subscriber tell web service, method, other config use. pretty simple, whenever there new change, publisher internally check subscriber specific event , call services notify.

the above implementation oneway implement scenario. more scalable scenarios need consider alot of other things too.



Architecture  >  Architecture General



Comments

Popular posts from this blog

Azure DocumentDB Owner resource does not exist

job syspolicy_purge_history job fail in sqlserver 2008

Trying to register with public marketplace error with 'Get-AzureStackStampInformation'