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,46 +25,25 @@ specialized teams for work in the integration process. The teams learned
25 how to develop for their assigned systems and contributed to the 25 how to develop for their assigned systems and contributed to the
26 original communities, so that the version we used were not significantly 26 original communities, so that the version we used were not significantly
27 different from the original. 27 different from the original.
28 - 28 +%
29 At the end of the project, the SPB portal was composed of more than ten 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 Colab\footnote{\url{https://github.com/colab}} is a systems integration 32 Colab\footnote{\url{https://github.com/colab}} is a systems integration
37 platform for web applications. One of its goals is allowing different 33 platform for web applications. One of its goals is allowing different
38 applications to be combined in such a way that an user does not notice 34 applications to be combined in such a way that an user does not notice
39 the change between applications. For that, Colab provides facilities 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 Colab implements this integration by working as a reverse proxy for the 38 Colab implements this integration by working as a reverse proxy for the
59 integration applications, that is, all external requests pass through 39 integration applications, that is, all external requests pass through
60 Colab before reaching them. 40 Colab before reaching them.
61 - 41 +%
62 Initially, Colab had support for a small set of applications (Trac, GNU 42 Initially, Colab had support for a small set of applications (Trac, GNU
63 Mailman, and Apache Lucene) and support for them was hard-coded. Our 43 Mailman, and Apache Lucene) and support for them was hard-coded. Our
64 team evolved Colab so that it can now receive plugins that add support 44 team evolved Colab so that it can now receive plugins that add support
65 new applications without the need of changes to the Colab core. 45 new applications without the need of changes to the Colab core.
66 46
67 -\subsection{Noosfero}  
68 47
69 Noosfero\footnote{\url{http://noosfero.org}} is a software for building 48 Noosfero\footnote{\url{http://noosfero.org}} is a software for building
70 social and collaboration networks. Besides the classical social 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,31 +52,29 @@ and a general-purpose CMS (Content Management System). Most of the user
73 interactions with SPB is through Noosfero: user registration, project 52 interactions with SPB is through Noosfero: user registration, project
74 home pages and documentation, and contact forms. 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 platform and focuses on delivering a holistic solution that will see 58 platform and focuses on delivering a holistic solution that will see
81 developers from idea to production seamlessly and on a single platform. 59 developers from idea to production seamlessly and on a single platform.
82 - 60 +%
83 Gitlab has several unique features, such as built-in continuous 61 Gitlab has several unique features, such as built-in continuous
84 integration and continuous deployment, flexible permissions, tracking of 62 integration and continuous deployment, flexible permissions, tracking of
85 Work-in-Progress work, moving issues between projects, group-level 63 Work-in-Progress work, moving issues between projects, group-level
86 milestones, creating new branches from issues, issues board, and time 64 milestones, creating new branches from issues, issues board, and time
87 tracking. 65 tracking.
88 66
89 -\subsection{Mezuro}  
90 67
91 Mezuro\footnote{\url{http://mezuro.org/}} is a platform to 68 Mezuro\footnote{\url{http://mezuro.org/}} is a platform to
92 collect source code metrics to monitor the internal quality of software written 69 collect source code metrics to monitor the internal quality of software written
93 in C, C++, Java, Python, Ruby, and PHP. 70 in C, C++, Java, Python, Ruby, and PHP.
94 - 71 +%
95 In general, source code metrics tools also do not present a friendly way 72 In general, source code metrics tools also do not present a friendly way
96 to interpret its results and, even more, do not follow a standardization 73 to interpret its results and, even more, do not follow a standardization
97 between them. Mezuro collects and presents these results to the end 74 between them. Mezuro collects and presents these results to the end
98 user, specially, by analyzing source code metric history during its life 75 user, specially, by analyzing source code metric history during its life
99 cycle. 76 cycle.
100 - 77 +%
101 The Mezuro platform provides a single interface grouping available 78 The Mezuro platform provides a single interface grouping available
102 tools, allows selection and composition of metrics in a flexible manner, 79 tools, allows selection and composition of metrics in a flexible manner,
103 stores the metrics evolution history, presents results in a friendly 80 stores the metrics evolution history, presents results in a friendly
@@ -106,13 +83,6 @@ accordingly to their own context. @@ -106,13 +83,6 @@ accordingly to their own context.
106 83
107 \subsection{System unification and User eXperience evolution} 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 The conceptual architecture of the platform is presented in Figure 86 The conceptual architecture of the platform is presented in Figure
117 \ref{fig:architecture}. Colab initially handles all user interaction, 87 \ref{fig:architecture}. Colab initially handles all user interaction,
118 directing requests to one of the integrated applications. It 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,6 +93,13 @@ functionality of each application, a search o n the SPB portal might
123 return content from any of the applications, be it web pages, mailing 93 return content from any of the applications, be it web pages, mailing
124 list posts, or source code. 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 The integration of collaborative environments goes beyond functional aspects. 103 The integration of collaborative environments goes beyond functional aspects.
127 Offering the population an unified experience across these environments has 104 Offering the population an unified experience across these environments has
128 been the key to encourage the use of the platform as it reduces the perception 105 been the key to encourage the use of the platform as it reduces the perception