Question

What would be the best way for describing an architecture consisting of a proxy, a client and a server (Web, SMTP, IMAP etc) on a UML component diagram?

What kinds of connectors should be used between the components and is there is a way for showing that though there is the proxy between the client and the server, the client still addresses the server and is not really interested in the proxy (this is especially relevant if the proxy is transparent)?

Thank you!

Was it helpful?

Solution

The best way to show the proxy is to use stereotypes, marking it with <<proxy>>. Everyone know what a proxy is so this is fairly failsafe.

Other than that, use standard UML associations between the classes. If you want you can also enclose the proxy and the client inside a square and the server in another square so the reader can understand that they are located in "different" places. While not standard UML, this will enhance the semantics of your diagram.

OTHER TIPS

A Proxy is an abstraction made up of (at least) two parts, the device and the software. I agree that a proxy stereotype would be useful but I would apply it to the node and the component on a deployment diagram. Connect the devices at the physical network level; nodes at the logical network level (HTTP/SMTP/etc) and components at the exposed interface level.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top