\input{header} \begin{tikzpicture}[scale=0.7, transform shape] \begin{component}{20cm}{1}{0}{RequestDispatcherComponent} \newcomponent{7}{0}{FooHandlerComponent} \umlrequiredinterface[interface={Request, ServerContext}, distance=4.2, padding=1.5cm]{FooHandlerComponent} \newcomponent{7}{3}{BarHandlerComponent} \umlrequiredinterface[interface={Request, ServerContext}, distance=4.2, padding=1.5cm]{BarHandlerComponent} \newcomponent{0}{1.5}{RequestDispatcherImpl} \umlprovidedinterface[interface=RequestDispatcher, distance=3.8cm, padding=1.2cm]{RequestDispatcherImpl} \umlassemblyconnector[interface=FooHandler]{RequestDispatcherImpl}{FooHandlerComponent} \umlassemblyconnector[interface=BarHandler]{RequestDispatcherImpl}{BarHandlerComponent} \end{component} \umlprovidedinterface[interface=RequestDispatcher, distance=11.1, with port, padding=0cm]{RequestDispatcherComponent} \umlrequiredinterface[interface={Request, ServerContext}, distance=11.5, with port]{RequestDispatcherComponent} \umldep{RequestDispatcherComponent-west-port}{RequestDispatcherImpl-west-interface} \umldep{FooHandlerComponent-east-interface}{RequestDispatcherComponent-east-port} \umldep{BarHandlerComponent-east-interface}{RequestDispatcherComponent-east-port} \end{tikzpicture} \input{footer}