]> git.llucax.com Git - mecon/meconlib.git/blob - doc/creacion_sistemas.lyx
Bug Fix en MLIB_PDF_Tabla. Faltaba inicializar una variable, lo que hacia fallar...
[mecon/meconlib.git] / doc / creacion_sistemas.lyx
1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
2 \lyxformat 221
3 \textclass book
4 \language spanish
5 \inputencoding auto
6 \fontscheme default
7 \graphics default
8 \paperfontsize default
9 \spacing single 
10 \papersize Default
11 \paperpackage a4
12 \use_geometry 0
13 \use_amsmath 0
14 \use_natbib 0
15 \use_numerical_citations 0
16 \paperorientation portrait
17 \secnumdepth 3
18 \tocdepth 3
19 \paragraph_separation indent
20 \defskip medskip
21 \quotes_language english
22 \quotes_times 2
23 \papercolumns 1
24 \papersides 1
25 \paperpagestyle default
26
27 \layout Title
28
29 Creación de Sistemas para la Intranet
30 \layout Author
31
32 Manuel Nazar Anchorena (manazar@mecon.gov.ar)
33 \layout Standard
34
35
36 \begin_inset LatexCommand \tableofcontents{}
37
38 \end_inset 
39
40
41 \layout Chapter
42
43 Introducción 
44 \layout Section
45
46 Resumen
47 \layout Standard
48
49 El siguiente documento intenta explicar en pasos sencillos la creación e
50  inicialización de un sistema nuevo para la Intranet del Ministerio de Economía.
51  El objetivo del documento es guiar a los distintos desarrolladores en la
52  creación de sus aplicaciones, bajo ningún motivo este documento desea exponer
53  de forma completa el proceso, sino un resumen o 
54 \begin_inset Quotes eld
55 \end_inset 
56
57 guía rápida
58 \begin_inset Quotes erd
59 \end_inset 
60
61  del mismo.
62  El autor agradece la colaboración de la Ex- Dirección General de Informática.
63  
64 \layout Standard
65
66 Para la creación de sistemas nuevos en la intranet es necesario tener un
67  usuario creado en el servidor de desarrollo (bal747f en el momento de creación
68  de este documento), luego, son necesarios ciertos pasos comunes a todos
69  los proyectos.
70  Estos son:
71 \layout Itemize
72
73 Inicialización: (Generación de Repositorio y obtención del mismo)
74 \layout Itemize
75
76 Creación del diagrama de clases (utilizando el Umbrello)
77 \layout Itemize
78
79 Creación de las librerias locales en base al diagrama de clases (utilizando
80  el xmi2code)
81 \layout Itemize
82
83 Creación de la documentación de las clases y las librerías locales (utilizando
84  el Doxygen).
85 \layout Section
86
87 Requerimientos de Software
88 \layout Standard
89
90 En la máquina local donde se trabaja son necesarios las siguiente aplicaciones.
91 \layout Itemize
92
93 Umbrello
94 \layout Itemize
95
96 Xmi2code
97 \layout Itemize
98
99 Doxygen (utiliza a su vez Graphviz)
100 \layout Standard
101
102 Hasta la fecha, solo Umbrello y Xmi2code no estaban soportado por Debian
103  y requerian una instalación separada bajando los paquetes .deb por separado
104  (ver 
105 \begin_inset LatexCommand \vref{sec:Links-Utiles}
106
107 \end_inset 
108
109 ).
110 \layout Section
111
112
113 \begin_inset LatexCommand \label{sec:Links-Utiles}
114
115 \end_inset 
116
117 Links Utiles
118 \layout List
119 \labelwidthstring 00.00.0000
120
121 PEAR: http://pear.php.net/
122 \layout List
123 \labelwidthstring 00.00.0000
124
125 Manual\SpecialChar ~
126 de\SpecialChar ~
127 PEAR: http://pear.php.net/manual/en/
128 \layout List
129 \labelwidthstring 00.00.0000
130
131 PEAR\SpecialChar ~
132 Coding\SpecialChar ~
133 Standards: http://pear.php.net/manual/en/standards.php
134 \layout List
135 \labelwidthstring 00.00.0000
136
137 Quickform: http://www.appelsiini.net/~tuupola/php/peardoc2/package.html.html#package.
138 html.html-quickform
139 \layout List
140 \labelwidthstring 00.00.0000
141
142 xmi2code: http://xmi2code.sourceforge.net/
143 \layout List
144 \labelwidthstring 00.00.0000
145
146 umbrello: http://uml.sourceforge.net/
147 \layout Chapter
148
149 Inicialización: 
150 \layout Section
151
152 Generación del Repositorio.
153 \layout Standard
154
155 Utilización la Herramienta SAPO (Sistema de Administración de Portal y Otros)
156  en http://portal.mecon.ar para crear el repositorio SVN.
157 \layout Itemize
158
159 Seleccionar 
160 \begin_inset Quotes eld
161 \end_inset 
162
163 Creador de Repositorios Subversion
164 \begin_inset Quotes erd
165 \end_inset 
166
167 .
168 \layout Itemize
169
170 Loguearse (si no se es usuario, contactarse con el Admin.
171  de SAPO).
172 \layout Itemize
173
174 Completar Nombre del Repositorio (recomendación: sea corto.
175  Ej: procad) y la Descripción del mismo (Ej: Sistema de Capacitación On-Line).
176 \layout Itemize
177
178 Seleccionar los usuarios habilitados a subir cambios al repositorio, todos
179  los usuarios pueen bajar el sistema, solo los autorizados aquí pueden subir
180  cambios.
181 \layout Itemize
182
183 Accionar el botón de creación, a continuación se visualiza el proceso de
184  creación.
185  La última línea describe como realizar un 
186 \begin_inset Quotes eld
187 \end_inset 
188
189 check out
190 \begin_inset Quotes erd
191 \end_inset 
192
193 , es decir, como bajar la última versión del repositorio.(svn co http://
194  ...)
195 \layout Section
196
197 Bajar por primera vez el repositorio
198 \layout Standard
199
200 En este paso obtendremos por primera vez el repositorio del sistema creado
201  recientemente, para ello es necesario ubicarse en un directorio donde el
202  servidor web pueda leer archivos (ej: /home/<usuario>/public_html).
203  Para ello, debemos loguearnos en el servidor de desarrollo con nuestro
204  usuario asignado.
205 \layout Itemize
206
207 Ejecutar: 
208 \series bold 
209 $ svn co http://portal.mecon.ar/svn/procad/tronco/ procad
210 \series default 
211  .
212  
213 \begin_inset Quotes eld
214 \end_inset 
215
216 co
217 \begin_inset Quotes erd
218 \end_inset 
219
220  es la operación Check Out, luego sige la ubicación del repositorio y el
221  último parámetro es la carpeta de destino, si no existe se creará.
222 \layout Itemize
223
224 Se nos pedirá la contraseña del usuario del servidor de desarrollo, de tener
225  otro nombre de usuario en el servidor SVN, apretar ENTRAR y se nos pedirá
226  un nombre de usuario y una contraseña.
227 \layout Itemize
228
229 Es importante que no exista de antemano el directorio destino.
230  Si no hubo problemas, se muestra en pantalla los nombres de los archivos
231  y para finalizar el número de versión actual (probablemente 3, el SVN realiza
232  2 commit internos en la creación del mismo).
233 \layout Itemize
234
235 Para comprender la estructura de directorios creada, existe un archivo README
236  en la raiz del sistema.
237  A su vez, existen archivos README en todos los directorios que muestran
238  el contenido de los mismos (a continuación podremos eliminarlos a todos).
239 \layout Section
240
241 Generación de los archivos básicos de configuración.
242 \layout Standard
243
244 En esta sección se explica como generar automáticamente los archivos de
245  configuración del sistema y de las aplicaciones que complementan al mismo
246  (xmi2code, Doxygen, Umbrello).
247 \layout Itemize
248
249 Ejecutar 
250 \series bold 
251 $ make init
252 \series default 
253  .
254  Se nos pregunta por el nombre del Sistema, puede ser distinto al nombre
255  del Repositorio y ser una frase.
256 \layout Itemize
257
258 A continuación se nos pide el nombre del desarrollador (o responsable del
259  sistema) y el email del mismo.
260  Atención con el formato con que nos pide ingresar los datos.
261 \layout Itemize
262
263 Automáticamente se abrirán 3 archivosde configuración, 2 pertenecen a xmi2code
264  y uno a Doxygen.
265  Para una instalación estándar no es necesario modificar ninguno de los
266  archivos.
267  Salga del editor.
268 \layout Itemize
269
270 Este paso es opcional, si desea eliminar todos los archivos README del sistema
271  ejecutar 
272 \series bold 
273 $ make clean-readme .
274 \layout Chapter
275
276 Creación Diagrama de Clases.
277 \layout Section
278
279 Archivos Template
280 \layout Standard
281
282 En el repositorio creado, se generó automáticamente un archivo estándar
283  para ser utilizado con el Umbrello.
284  Este se encuentra en el directorio doc/ de nuestro sistema.
285  Se llama uml.xmi.
286 \layout Section
287
288 Edición con Umbrello
289 \layout Itemize
290
291 Abrir con umbrello el archivo uml.xmi
292 \layout Itemize
293
294 Crear las clases correspondientes y especialemente la documentación de las
295  clases, atributos y métodos (estos datos son importantes para la generación
296  de las librerias y de la documentación).
297 \layout Itemize
298
299 Corroborar la coherencia de la documentación en los distintos elementos,
300  existen ciertos bugs (errores) en el Umbrello que hace que el último cambio
301  de una 
302 \begin_inset Quotes eld
303 \end_inset 
304
305 documentación
306 \begin_inset Quotes erd
307 \end_inset 
308
309  de un objeto no sea actualizada, solo desde la vista del panel navegable
310  de la izquierda funciona (ver website Umbrello http://uml.sourceforge.net/).
311 \layout Itemize
312
313 Nota: La única relación que modifica el contenido de la libreria generada
314  con el xmi2code es la herencia (Generalización).
315 \layout Itemize
316
317 Si se desea heredar clases externas al sistema, es necesario crearla con
318  el Umbrello, sin atributos ni métodos.
319  Simplemente póngale el nombre de la clase (Ej: HTML_Table, es una clase
320  de PEAR).
321  Luego realize la relación con la clase local que hereda de la externa.
322  Finalmente, en la documentación de la clase externa poner una linea que
323  diga: 
324 \series bold 
325 x2c:extern .
326  
327 \series default 
328 Si el nombre de la clase externa no es el mismo que en pear, se debe agregar
329  la ruta del archivo donde se define la clase Ej: 
330 \series bold 
331 x2c:include:HTML/Table.php
332 \series default 
333 .
334  Otro ejemplo es la clase Tabla.
335  En este caso sería 
336 \series bold 
337 x2c:include:MECON/HTML/Tabla.php .
338 \layout Itemize
339
340 Se le puede indicar al xmi2code que genere automáticamente 2 métodos para
341  un atributo.
342  Estos son: de seteo del valor (set) y de obtención del valor (get).
343  Para lograr esto es necesario agregar en la documentación del atributo
344  una línea como la siguiente: 
345 \series bold 
346 x2c: get set
347 \layout Chapter
348
349 Utilización de Xmi2code y Doxygen
350 \layout Section
351
352 Generación de la librería local.
353 \layout Standard
354
355 En esta sección veremos como se generan automáticamente las librerías locales
356  en <nombre_sistema>/sistema/local_lib .
357 \layout Itemize
358
359 Ejecutar en doc/ 
360 \series bold 
361 $ xmi2code , 
362 \series default 
363 si no hubo problemas deberian existir en sistema/local_lib/ unos archivos
364  PHP con las declaraciones de las clases locales al sistema.
365 \layout Itemize
366
367 Si se ejecuta dos veces el xmi2code, los archivos viejos son renombrados
368  con la extensión 
369 \series bold 
370 .bak.
371 \layout Section
372
373 Generación de la Documentación de la librería local.
374 \layout Itemize
375
376 Ejecutar desde doc/ 
377 \series bold 
378 $ doxygen
379 \series default 
380  , si no hubo problemas, se creó la documentación de la librería, para corrobora
381 rlo, ir a http://<host>/~<usuario>/<nom_sistema>/doc/api/html/ ejemplo:
382  http://bal747f.mecon.ar/~manazar747f/procad/doc/api/html/ .
383 \the_end