|
Blogs
We, developers, often lack the nuances of a large vocabulary. Our world is
made of functions, objects, components, pipes, and many TLAs. The latest
addition to our vocabulary is the word "service". This word is interesting
because everybody (customers, marketers, CEOs, users...) can relate to it. After
all, isn't our society so "service oriented" already? More specifically, the principles of service orientation enable us to package functionality in a way that make it more easily extended and composed: it enables us to build process-centric composite applications, without technical boundaries. Oh.. and yes, we could also build cool "utility" services with it: wouldn't an "Address" service be really nice? when you spot any address anywhere (web page, report,...) you could with a click invoke operations like: map, drivingDirections, or pointsOfInterest? If would be a bit harder but equally nice to click on an event definition (a show, a movie,...) and automatically add it to your calendar, including a pointer to the address of this event... Ultimately the boundaries and functionality of these "utility" services will be defined by the inherent price you pay for invoking a service and for a high degree of availability of services versus the cost hosting these services in-house. Incidentally, service orientation is not really about enabling "outsourcing", i.e. make entire systems or applications available when you need it and hosted outside the boundaries of your organization. We have known how to do that for a long time and it did not dramatically change the business landscape. Service Orientation is rather about enabling "right-sourcing", i.e. move (or
keep) arbitrary small or large elements of functionality wherever it is the most
cost effective to operate them, not just entire systems like it is the case when
they are outsourced. Economically, "right-sourcing" is far more efficient than
"outsourcing". Jean-Jacques Dubray is a Standards Architect at SAP Labs, Palo Alto. |