1 2 \input{header} 3 \begin{tikzpicture}[scale=0.7, transform shape] 4 5 \begin{component}{20cm}{1}{0}{RequestDispatcherComponent} 6 \newcomponent{7}{0}{FooHandlerComponent} 7 \umlrequiredinterface[interface={Request, ServerContext}, distance=4.2, padding=1.5cm]{FooHandlerComponent} 8 \newcomponent{7}{3}{BarHandlerComponent} 9 \umlrequiredinterface[interface={Request, ServerContext}, distance=4.2, padding=1.5cm]{BarHandlerComponent} 10 \newcomponent{0}{1.5}{RequestDispatcherImpl} 11 \umlprovidedinterface[interface=RequestDispatcher, distance=3.8cm, padding=1.2cm]{RequestDispatcherImpl} 12 \umlassemblyconnector[interface=FooHandler]{RequestDispatcherImpl}{FooHandlerComponent} 13 \umlassemblyconnector[interface=BarHandler]{RequestDispatcherImpl}{BarHandlerComponent} 14 \end{component} 15 \umlprovidedinterface[interface=RequestDispatcher, distance=11.1, with port, padding=0cm]{RequestDispatcherComponent} 16 \umlrequiredinterface[interface={Request, ServerContext}, distance=11.5, with port]{RequestDispatcherComponent} 17 \umldep{RequestDispatcherComponent-west-port}{RequestDispatcherImpl-west-interface} 18 \umldep{FooHandlerComponent-east-interface}{RequestDispatcherComponent-east-port} 19 \umldep{BarHandlerComponent-east-interface}{RequestDispatcherComponent-east-port} 20 21 \end{tikzpicture} 22 \input{footer} 23