Where does an intermediate node (or even the ultimate recipient) get their respective URI's?
This is typically configured on a SOAP node.
I mean, how does one assign a URI to the intermediate nodes or recipient? Where do the URI's come from? Is that a DNS kind of name?
I will use the example of the EE5-tutorial (
http://docs.oracle.com/javaee/5/tutorial/doc/bnbhr.html)
For example, suppose that a message is an incoming purchase order. Its SOAPHeader object might have SOAPHeaderElement objects with actor attributes that route the message to applications that function as the order desk, the shipping desk, the confirmation desk, and the billing department. Each of these applications will take the appropriate action, remove the SOAPHeaderElement objects relevant to it, and send the message on to the next actor.
You can see from this example that a company will typically setup different nodes that process the purchase order. The messaging provider (e.g. SOA bus or ESB EnterpriseServiceBus) will take care of the routing. The URI is setup manually in each SOAP-node of the company.
An URI
identifies a resource either by
location (URL) or by
name (URN). An URL is a specialization of URI that defines the network
location of a specific representation for a given resource (An URL is an URI but an URI is not an URL). If an URI identifies a resource by
name in a given namespace but not define how the resource maybe obtained than it is called a URN.
SOAP processing requires an URI in the
actor attribute (it can be an URL, but the SOAP specification doesn't require the URI to identify a "location" )
I ask because URI's tend to take different faces -- sometimes they are URL's you click to get at something on the web, other times they are just strings valued for their uniqueness like namespace URI's -- so they could be confusing at times.
Correct, those are exactly the two use cases of an URI.
Identify (URI in the form of an URN) and
Locate (URI in the form of an URL) and sometimes it does both with the same URI (to make things complicated).
I hope this helps a bit,
Regards
Frits