Commit b7455ac49468e1f3c58cf29b9ed6ac07ef400b27
1 parent
8e6eeb06
Exists in
master
and in
3 other branches
[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 | ... | ... |