Commit b7455ac49468e1f3c58cf29b9ed6ac07ef400b27
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 | ... | ... |