> I do not understand, why bother with services? Make them RPC, and > end the story. > > I think that both Erl & Herbjör miss the point - why services, > especially business services are coarse-grained. They are such > because they implement business functionality. Retrieving a data > field content from a database that somebody calls 'business data' - > fine-grained activity - has nothing to do with any business > functionality, this is why I do not consider it as a business > service (in spite of calculation capabilities of modern hardware).
I agree, discussions with people from the business are not at this low level nor should they be. This is one of the many reasons I dislike the style of SOA Erl focusses on so much in his books (others include the unnecessary complexity and, as I see it, inelegance of the resulting solutions). The linked pattern decompose capability (http://www.soapatterns.org/decomposed_capability.asp) is a good example of focussing on the details. In the example Invoice service has ReportProcessed which is moved to the InvoiceHistory service. Maybe there is an argument for that change, for example even if we went for a RESTful approach we might decide to create more fine-grained resources so instead of a PUT to Invoice to change the Process value we instead POST an InvoiceHistoryEvent. Whilst these sorts of choices are important I think if we only focus on decisions at this detailed level we do miss the bigger picture (business services, capabilities or bounded contexts depending on your viewpoint). Colin
