<<The idea that underlies the idea of "loose coupling" separating interface from implementation - is great. In fact, the notion of a service is fairly dependent on this separation, so that the service can be sufficiently abstracted by this layer. At this point, ideally, the implementation itself no longer matters.
The thing that's really interesting about this is that while the implementation doesn't matter (you can convince me of this if you try hard enough), the outcome matters a LOT. Here's a silly, but highly illustrative, example of separating interface from implementation. Let's implement a pizza shop. So what is the interface to a pizza shop? The most compact interface would be a method that inputs currency and outputs pizza. Lets implement this interface in the simplest way possible: a cardboard wall with one slot, through which you push money in and pizza out. Now, lets add a slightly more sophisticated interface, which would involve a separate slot for money (lets make it about five inches wide and one inch high), and a separate slot for the pizza. This is a good best practice, because as transaction volume increases, we become increasingly concerned about collision of incoming money and outgoing pizzas. So far so good! We've successfully separated the interface from the implementation-we are geniuses! If we had a crayon, we could scrawl the word "MUNNY" on the money slot with a nice arrow pointing to the slot and we could put "PIZZA" over the other slot. If we wanted to be all Web 2.0, we could even embed unstructured metadata by scrawling "Please wait for the pizza to come out" and "pizza Ten Dollars pleez" on the cardboard. Excellent, we are fully PSDL 2.0 compliant now!!! (Pizza Service Description Language). Now, on to the implementation. We can put this interface up in front of any pizza shop, at any location around the globe. Great! The implementation no longer matters, because the interfaces are completely interchangeable, mission accomplished! You could even put this interface in front of a mail slot, and the money could be immediately grabbed and the pizza implementation could be outsourced to India. You would need Federal Express to ship the money to India, and you would need to ship the pizzas back. Hooray! Business process outsourcing!>> You can read the full blog at: http://www.webservices.org/weblog/miko_matsumura/the_problem_of_service_description_as_seen_in_the_pizza_shop_blueprint Gervas Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/service-orientated-architecture/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
