I enjoyed Mr. Provost's article and consider a good contribution to the UML modeling literature. However, I am concerned about several improper representations in UML.
1. All of Mr. Provost's role names are on the wrong end of the association. This gets very confusing in UML, but:
Nouns go on the association end connected to the class that exhibits the interface.
Verbs go on the association end connected to the class that is the direct object of the verb.
(In other words, "sex" is a noun and not a verb and belongs on the end attached to the "sex" class.)
2. Mr. Provost says that portType is like an interface. Very good. He also says that port "implements" a portType. Very good, as well. However, Mr. Provost is incorrect when he says that "Specialization in UML expresses this relationship precisely." No, no, no. UML has a special dependency of "realizes" to represent the relationship between an interface and its implementation. Specialization would mean that the port is a subtype of portType, which is not what is intended. To put the point precisely, a subtype of an interface CANNOT be the implementation of an interface; it's just another interface.
3. Finally, Mr. Provost should specify the precise semantics of the dependency between WalkInImpl and Member.
I appreciate your thoughtful comments, and that you are clearly taking the details of UML modeling seriously. I've considered each of your points, and offer responses below:
1. Right you are. I can only plead temporary insanity on this -- they are all backwards! Worse, this makes them inconsistent with my previous article on UML for WXS. On this one and your second point, I may see about updating the article diagrams, since the error is significant and alters meaning.
2. You make an excellent point. The <<portType>> and <<port>> stereotypes I'm suggesting describe more than one artifact each: both WSDL and native-language productions are likely, and there will be various relationships between the portType-produced and port-produced entities. As such, specialization seemed a broader and more natural statement about the relationship. However, your comment reminds me that the notation should most naturally fit the abstract model of the Web service in question, and not be dragged around too much by the likely shape of the implementation. Whatever <<portType>> and <<port>> are, they are clearly not the same sort of bird, and so true specialization is off the mark, as you suggest, and realization is a more accurate choice.
3. I'm not sure what exactly you're looking for here, but generally speaking I think not much of use can be said about the dependency from the port to the domain class, beyond its existence. That is, at this level of design, and mixing WSDL, WXS and native-language concepts so tersely, I mean only to indicate that WalkIn will have to make use of Member, somehow, to do its job. It is a general tenet of UML practice that partial specification is always acceptable, as it supports an iterative process, and at this point in the hypothetical design process I feel that stating the dependency is all that's appropriate. A later pass might flesh out this dependency with additional facts, and even break it out into its own diagram with additional -- perhaps generated -- types, associations, names, etc.