I want to start looking at WCF but to be honest before I do I would like to understand more about SOA in general.
I don't really understand the concept of a "Enterprise Service Bus", and am not sure whether it is a pattern/methodology or piece of software. Additionally, the same can be said of a "Message Broker".
On top of which how do the big SOA frameworks fit in here i.e. BizTalk, WebSphere etc? For that matter how does WCF fit in?
SOA in simple terms decouples your presentation related components from the mechanism that fetches the content.
It sounds very trivial but the idea is that the presentation components should not only be independent of the program that fetches the data but also be agnostic of it.
To achieve this, a "Service" abstraction layer is created which contains the famous "Enterprise Service Bus" (ESB). ESB is the program that is aware of where the services are located, and how to invoke them to relay the data to the requester.
SOA has become more of a standard in enterprise level systems these days than just a choice, for the simple reason that at the data is (rather than "may be") fetched from different sources. E.g. A Login/Authentication service may be centralized LDAP based; An order details may be fetched using JDBC connection to an hosted DB engine; A credit card authorization may be using Payment Gateway Web Services invocation; and so on...
The single most biggest advantage of using this architecture is that there is zero or minimal impact on the core application design if tomorrow the same service is available from a different resource.