Commit b7455ac49468e1f3c58cf29b9ed6ac07ef400b27

Authored by Paulo Meireles
1 parent 8e6eeb06
Exists in master

[opensym] making more space

Showing 1 changed file with 17 additions and 40 deletions   Show diff stats
opensym2017/content/06-architecture.tex
... ... @@ -25,46 +25,25 @@ specialized teams for work in the integration process. The teams learned
25 25 how to develop for their assigned systems and contributed to the
26 26 original communities, so that the version we used were not significantly
27 27 different from the original.
28   -
  28 +%
29 29 At the end of the project, the SPB portal was composed of more than ten
30   -systems, such as Colab, Noosfero, Mezuro, Gitlab, Mailman, Postfix, and
31   -Munin. The remainder of this section describes the most relevant of
32   -them, as well as how they were integrated into the platform.
33   -
34   -\subsection{Colab}
  30 +systems, such as Colab, Noosfero, Gitlab, and Mezuro.
35 31  
36 32 Colab\footnote{\url{https://github.com/colab}} is a systems integration
37 33 platform for web applications. One of its goals is allowing different
38 34 applications to be combined in such a way that an user does not notice
39 35 the change between applications. For that, Colab provides facilities
40   -for:
41   -
42   -\begin{itemize}
43   - \item \textit{Centralized authentication}: Users are automatically
44   -identified for each application without having to enter login
45   -credentials on each of them;
46   - \item \textit{Visual consistency}: Colab is able to change the HTML
47   -code produced by the integrated applications, such as defining default
48   -template or reusing common HTML pages, in order to provide a unified
49   -interface;
50   - \item \textit{Relaying of events between applications}: The
51   -integrated applications or Colab itself are able to trigger an action
52   -on another application;
53   - \item \textit{Integrated search engine}: It is possible to set up
54   -exactly which data needs to be indexed from each application and how
55   -users are directed to this information on correspondent application;
56   -\end{itemize}
57   -
  36 +for: (i) Centralized authentication, (ii) Visual consistency, (iii) Relaying of events between applications, and (iv) Integrated search engine.
  37 +%
58 38 Colab implements this integration by working as a reverse proxy for the
59 39 integration applications, that is, all external requests pass through
60 40 Colab before reaching them.
61   -
  41 +%
62 42 Initially, Colab had support for a small set of applications (Trac, GNU
63 43 Mailman, and Apache Lucene) and support for them was hard-coded. Our
64 44 team evolved Colab so that it can now receive plugins that add support
65 45 new applications without the need of changes to the Colab core.
66 46  
67   -\subsection{Noosfero}
68 47  
69 48 Noosfero\footnote{\url{http://noosfero.org}} is a software for building
70 49 social and collaboration networks. Besides the classical social
... ... @@ -73,31 +52,29 @@ and a general-purpose CMS (Content Management System). Most of the user
73 52 interactions with SPB is through Noosfero: user registration, project
74 53 home pages and documentation, and contact forms.
75 54  
76   -\subsection{Gitlab}
77 55  
78   -GitLab\footnote{\url{http://gitlab.com}} is a web-based Git repository
79   -manager with wiki pages and issue tracking features. Gitlab is a FLOSS
  56 +Gitlab\footnote{\url{http://gitlab.com}} is a web-based Git repository
  57 +manager with wiki pages and issue tracking features. It is a FLOSS
80 58 platform and focuses on delivering a holistic solution that will see
81 59 developers from idea to production seamlessly and on a single platform.
82   -
  60 +%
83 61 Gitlab has several unique features, such as built-in continuous
84 62 integration and continuous deployment, flexible permissions, tracking of
85 63 Work-in-Progress work, moving issues between projects, group-level
86 64 milestones, creating new branches from issues, issues board, and time
87 65 tracking.
88 66  
89   -\subsection{Mezuro}
90 67  
91 68 Mezuro\footnote{\url{http://mezuro.org/}} is a platform to
92 69 collect source code metrics to monitor the internal quality of software written
93 70 in C, C++, Java, Python, Ruby, and PHP.
94   -
  71 +%
95 72 In general, source code metrics tools also do not present a friendly way
96 73 to interpret its results and, even more, do not follow a standardization
97 74 between them. Mezuro collects and presents these results to the end
98 75 user, specially, by analyzing source code metric history during its life
99 76 cycle.
100   -
  77 +%
101 78 The Mezuro platform provides a single interface grouping available
102 79 tools, allows selection and composition of metrics in a flexible manner,
103 80 stores the metrics evolution history, presents results in a friendly
... ... @@ -106,13 +83,6 @@ accordingly to their own context.
106 83  
107 84 \subsection{System unification and User eXperience evolution}
108 85  
109   -\begin{figure}[hbt]
110   - \centering
111   - \includegraphics[width=.8\linewidth]{figures/arch.png}
112   - \caption{SPB architecture overview.}
113   - \label{fig:architecture}
114   -\end{figure}
115   -
116 86 The conceptual architecture of the platform is presented in Figure
117 87 \ref{fig:architecture}. Colab initially handles all user interaction,
118 88 directing requests to one of the integrated applications. It
... ... @@ -123,6 +93,13 @@ functionality of each application, a search o n the SPB portal might
123 93 return content from any of the applications, be it web pages, mailing
124 94 list posts, or source code.
125 95  
  96 +\begin{figure}[hbt]
  97 + \centering
  98 + \includegraphics[width=.8\linewidth]{figures/arch.png}
  99 + \caption{SPB architecture overview.}
  100 + \label{fig:architecture}
  101 +\end{figure}
  102 +
126 103 The integration of collaborative environments goes beyond functional aspects.
127 104 Offering the population an unified experience across these environments has
128 105 been the key to encourage the use of the platform as it reduces the perception
... ...