summaryrefslogtreecommitdiff
path: root/frameworks/middleware/handout_middleware.tex
diff options
context:
space:
mode:
Diffstat (limited to 'frameworks/middleware/handout_middleware.tex')
-rw-r--r--frameworks/middleware/handout_middleware.tex57
1 files changed, 14 insertions, 43 deletions
diff --git a/frameworks/middleware/handout_middleware.tex b/frameworks/middleware/handout_middleware.tex
index c11bc8d..44c75f7 100644
--- a/frameworks/middleware/handout_middleware.tex
+++ b/frameworks/middleware/handout_middleware.tex
@@ -1,32 +1,6 @@
-\documentclass{lxarticle}
-%\usepackage{english}
-\usepackage[utf8]{inputenc}
-\usepackage{lxheaders}
-\usepackage{lxextras}
-
-\lstset{
- language=C++,
- numbers=left,
- stepnumber=1,
- numbersep=5pt,
- numberstyle=\tiny,
- breaklines=true,
- breakautoindent=true,
- postbreak=\space,
- tabsize=2,
- basicstyle=\ttfamily\footnotesize,
- showspaces=false,
- showstringspaces=false,
- extendedchars=true,
- %backgroundcolor=\color{lbcolor},
- keywordstyle=\bf ,
- commentstyle=\color{green},
- stringstyle=\color{red}
-}
-
-\begin{document}
+\input{confighandout}
-\section*{Middleware}
+\subsection{Middleware}
Distributed systems need to communicate with each other. Middleware assists the
developer by delivering a communication framework. The developer doesn't need
@@ -54,7 +28,7 @@ Also a middleware can provide different degrees of abstraction:
\item Localization of Services
\end{itemize}
-\subsection*{D-Bus / Desktop Bus}
+\subsubsection{D-Bus / Desktop Bus}
D-Bus is designed for
@@ -73,13 +47,11 @@ and used by several Desktop Environments
\item \dots
\end{itemize}
-also \cmd{HAL} host its hardware info at D-Bus.
-
D-Bus is designed for local IPC only. It is a message based Middleware
supporting 1:n publish/subscribe mechanism and 1:1 message passing. D-Bus has
integrated datatype marschalling.
-\subsubsection*{Architecture}
+\paragraph{Architecture}
\begin{figure}
\centering
@@ -116,7 +88,7 @@ possible one of these libraries should be used:
\item .NET
\end{itemize}
-\paragraph{Terminology}
+\subparagraph{Terminology}
\begin{description}
\item[bus address] is the name of ther underlying unix socket, e.g.
\cmd{/tmp/dbus\_lx.socket}
@@ -160,9 +132,9 @@ NM Applet and sends it to the D-Bus system bus. The NM daemon listens for the
messages from the NM user daemon and configures the networking stack via system
calls.
-\subsubsection*{Tools}
+\paragraph{Tools}
-\paragraph{qdbusviewer}
+\subparagraph{qdbusviewer}
is a tool to browse through the hosted objects and call any method. (Figure
\ref{img:qdbusviewer})
@@ -173,7 +145,7 @@ is a tool to browse through the hosted objects and call any method. (Figure
\label{img:qdbusviewer}
\end{figure}
-\subsubsection*{Conclusion}
+\paragraph{Conclusion}
D-Bus is good for accessing System Infos and for IPC of Desktop Applications.
Its small API has bindings for all common languages and frameworks and is easy
@@ -185,7 +157,7 @@ to guarantee any real-time behaviour. There is even no message ordering. There
is no guarantee which method returns first, if two methods are invoked around
the same time.
-\subsection*{CORBA}
+\subsubsection{CORBA}
CORBA is a middleware, which allows RPC\footnote{Remote Procedure
Call}-based IPC\footnote{Inter Process Communication} between
@@ -235,7 +207,7 @@ systems. The framework can be trimmed for embedded systems: Each
application described in this paper consumes less than 1 MByte of
RAM. Also the consumed CPU time is suprisingly low.
-\subsubsection{Conclusion}
+\paragraph{Conclusion}
CORBA offers a wide variety of middleware communication methods. There is no
limitation for a communication between different operating systems, even the
@@ -243,7 +215,7 @@ network protocols can be exchanged. CORBA provides a Real-time extension.
On the other hand, the framework is complex and difficult to learn.
-\subsection*{Exercises}
+\subsubsection{Exercises}
An application should be created, to send a message to the 'server' with a
variable payload, that the time needed for the call / return of the call can be
@@ -252,7 +224,7 @@ measured in the client.
The above described application will be implemented with ACE/TAO RTCORBA and
the D-Bus glib bindings:
-\subsubsection*{ACE/TAO RTCORBA}
+\paragraph{ACE/TAO RTCORBA}
First an IDL for the Ping interface will be created (\cmd{ping.idl}:
@@ -683,10 +655,9 @@ To run the applications start them with:
The order, which application is started first doesn't matter. Take care that
the \cmd{dbus-daemon} is running.
-\begin{thebibliography}{9}%use this if you have <=9 bib refs
-%\begin{thebibliography}{99}%use this if you have >9 bib refs
+\begin{thebibliography}{9}
\bibitem{paper1},{\it Real-time CORBA Specification},2005, {\sc OMG}
\bibitem{paper2},{\it Overview of ACE},2007\\{\it http://www.cs.wustl.edu/schmidt/ACE-overview.html}
\end{thebibliography}
-\end{document}
+\input{tailhandout}