We have introduced BizTalk into our organization as a Service Bus, it is linking a new Web GUI to numerous existing back end systems. We have wrapped our existing systems as Services (WCF) and connected them to the BUS.
We are also replacing some of the legacy system GUI's with our new web GUI (ensuring we replicate existing functionality) but I am curious as to whether we should expose all legacy services/api's via the BUS, connect to them directly or compose them differently and expose them via the bus. For example, lets say our Customer Management system has 5 existing services/api's, Search, Add, Retrieve, Update, Set Billing Details.
Does it make sense to expose each of these services through the BUS (some argure it adds latency)? Or should the BUS only expose the coarse grained services such as Search, Add, Retrieve & Update and not the fine grained one? Should the GUI connect to the fine grained service directly?
I am under the impression that in an ideal SOA/ESB you would compose both Update and Set billing Details into one Coarse grained service, is this correct?
I would like to stay true to the SOA/ESB paradigm, could someone enlighten me please.