Monday, November 29, 2004


Documents vs Parameters

In a Service Oriented Architecture I think of services as departments in an organization. I don’t know how your organization works, but in mine you must fill out the proper form in order to get anything done. Of course, the first step in the process is discovering which department and what form is required. Once the form has been fill out and sent to the proper person, no additional information is necessary. If you have not filled out the form properly, that person will tell you immediately. But, if all goes well, sometime later a document arrives containing the information that you requested or notifying you that some action has been taken.

I think of software services the same way. First I locate the appropriate service. I then determine the desired operation. Each operation is characterized by a pair of documents that are sent to and received from the service. I generate an instance of the first document, send it to the service location, and await a response in the form of the second document. The response is often just an acknowledgement that a proper requesting document has been received. The actual effect of the operation may not become known until a later event that is signaled by the arrival of a document from the service.

That’s a little confusing. So lets call the first document a request, the second an acknowledgement, and third a response. If the service can respond immediately then the response serves as an acknowledgement.

My main point is that I view service architectures as Document Oriented Architecture (DOA?). The action is implicit in the kind-of document being sent. To me this is a cleaner view that thinking of services as subroutines that take some set of parameters. What I need to understand is how this view relates to the REST view. Somehow they seem like similar or, at least, sympathetic views.

This page is powered by Blogger. Isn't yours?