rpc - SOA Publishing Messages vs Calling Procedures -
the project working on moving n-tier soa architecture have been reading on soa practices. i'm struggling understand dynamic between avoiding rpc style services in favor of event driven services, , requirement of user interfaces retrieve data , speedily.
so instance, ideally soa architecture composed of repeatable business process wherein publish message onto esb handle finding services handle message. rather executing procedure called "setup new user" set out tasks related new user setup, publish message esb contained new user's details , had appropriate document type "new user" , esb find services handled event whatever domain specific new user provisioning required.
however, need data. maybe have page shows list of user associated data. can't fire off message esb because need data , need now. also, aren't triggering business processes; you're retrieving data invoked business processes (the processes caused user associated data instance). give concrete example, maybe want see list of 10 netflix movies user has watched recently.
how reconcile these disparate types of services in single soa system?
in esb, event-driven approach followed, have kinds of listeners, detect events , act accordingly. these listeners may wait appearance of direct messages via protocol @ endpoint example. no matter trigger - purely business event starts business process or technical call needs retrieve data, still event handled esb. not technically breaking event-driven approach - enforced esb solution. keep in mind soa doesn't impose such limitation - not have implement in event driven manner.
in case (provided, don't have dedicated bpm solution in place), i'd identify , implement 2 kinds of services on 2 purely conceptual layers in esb:
technical services (the event incoming direct message retrieval/modification of data), can either called directly system (via esb) or called other process services.
process services on top (business) layer being triggered in event-driven way (using topic queue example, process services listen triggering event)
however, may not optimal approach. i've been discussing business processes in dedicated business process layer versus process services in esb in this topic. feel free check out, because kind of related question.
Comments
Post a Comment