In many customer engagements, I need to establish a basic set of SOA
principles. The following sections introduce fundamental principles that a
Service Oriented Architecture (SOA) should expose. They are not introduced as
absolute truth, but rather as a frame of reference for SOA-related
discussion. You'll note that the first four are based on Don Box's four
tenets, although over time they may have acquired a personal spin.
1) Explicit Boundaries
Everything needed by the service to provide its functionality should be
passed to it when it's invoked. All access to the service should be via its
publicly exposed interface; no hidden assumptions should be necessary to
invoke the service. "Services are inextricably tied to messaging in that the
only way into and out of a service is through messages." A service invocation
should - as a general pattern - not rely on a shared... (more)