From: Roland Hieber Date: Fri, 20 Dec 2013 23:08:54 +0000 (+0100) Subject: XMPP architecture diagram with TikZ X-Git-Tag: final~9 X-Git-Url: http://git.rohieb.name/skm-ma-ws1314.git/commitdiff_plain/a21037f434df9dd80cea5424094b7b05911cc294 XMPP architecture diagram with TikZ --- diff --git a/fig-xmpp-architecture-mock.jpg b/fig-xmpp-architecture-mock.jpg deleted file mode 100644 index dcaaec1..0000000 Binary files a/fig-xmpp-architecture-mock.jpg and /dev/null differ diff --git a/icon-computer.pdf b/icon-computer.pdf new file mode 100644 index 0000000..d2e160f Binary files /dev/null and b/icon-computer.pdf differ diff --git a/icon-server.pdf b/icon-server.pdf new file mode 100644 index 0000000..289c786 Binary files /dev/null and b/icon-server.pdf differ diff --git a/main.tex b/main.tex index 314324a..aaf81e7 100644 --- a/main.tex +++ b/main.tex @@ -6,7 +6,8 @@ \usepackage{graphicx} \usepackage{wrapfig} \usepackage[hidelinks=true]{hyperref} - +\usepackage{tikz} +\usetikzlibrary{arrows} \urlstyle{sf} \newcommand{\pages}[1]{\marginpar{#1 pages}} diff --git a/sec-xmpp.tex b/sec-xmpp.tex index 1fadb2d..a89f414 100644 --- a/sec-xmpp.tex +++ b/sec-xmpp.tex @@ -19,13 +19,27 @@ part is a string chosen by the user to distinguish those clients. Only the part the resource is only needed for routing between client and server. \subsubsection{Architecture} -\begin{wrapfigure}{r}{0.4\textwidth} -%\begin{figure}[htop] +\begin{wrapfigure}{r}{0.5\textwidth} + \tikzstyle{iconlabel}=[text width=3cm, align=center, font=\footnotesize] + \begin{tikzpicture}[node distance=0pt,scale=1.5,>=stealth,thick] + \def\nodelist{ + juliet/{(-1,-1)}/XMPP client \code{juliet@example.net}/below/computer, + examplenet/{(-1,1)}/XMPP server \code{example.net}/above/server, + imexampleorg/{(1,1)}/XMPP server \code{im.example.org}/above/server, + romeo/{(1,-1)}/XMPP client \code{romeo@im.example.org}/below/computer% + } + \foreach \name/\pos/\text/\tpos/\icon in \nodelist { + \node (\name) at \pos { \includegraphics[width=1.2cm]{icon-\icon.pdf} }; + \node[\tpos=of \name,iconlabel] (\name text) { \text }; + } + \draw[<->,dashed] (juliet) -- node[anchor=east]{s2c} (examplenet); + \draw[<->] (examplenet) -- node[anchor=south]{s2s} (imexampleorg); + \draw[<->,dashed] (imexampleorg) -- node[anchor=west]{s2c} (romeo); + \end{tikzpicture} \centering - \includegraphics[width=0.4\textwidth]{fig-xmpp-architecture-mock.jpg} - \caption{XMPP architecture} + \caption{XMPP architecture, showing server-to-server (s2s) and + server-to-client (s2c, dashed) connection types} \label{fig:xmpparch} -%\end{figure} \end{wrapfigure} The original architecture underlying XMPP strongly leans on the established