1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
15 \use_numerical_citations 0
16 \paperorientation portrait
19 \paragraph_separation indent
21 \quotes_language english
25 \paperpagestyle default
29 Creación de Sistemas para la Intranet
32 Manuel Nazar Anchorena (manazar@mecon.gov.ar)
36 \begin_inset LatexCommand \tableofcontents{}
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
58 \begin_inset Quotes erd
62 El autor agradece la colaboración de la Ex- Dirección General de Informática.
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
73 Inicialización: (Generación de Repositorio y obtención del mismo)
76 Creación del diagrama de clases (utilizando el Umbrello)
79 Creación de las librerias locales en base al diagrama de clases (utilizando
83 Creación de la documentación de las clases y las librerías locales (utilizando
87 Requerimientos de Software
90 En la máquina local donde se trabaja son necesarios las siguiente aplicaciones.
99 Doxygen (utiliza a su vez Graphviz)
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
105 \begin_inset LatexCommand \vref{sec:Links-Utiles}
113 \begin_inset LatexCommand \label{sec:Links-Utiles}
119 \labelwidthstring 00.00.0000
121 PEAR: http://pear.php.net/
123 \labelwidthstring 00.00.0000
127 PEAR: http://pear.php.net/manual/en/
129 \labelwidthstring 00.00.0000
133 Standards: http://pear.php.net/manual/en/standards.php
135 \labelwidthstring 00.00.0000
137 Quickform: http://www.appelsiini.net/~tuupola/php/peardoc2/package.html.html#package.
140 \labelwidthstring 00.00.0000
142 xmi2code: http://xmi2code.sourceforge.net/
144 \labelwidthstring 00.00.0000
146 umbrello: http://uml.sourceforge.net/
152 Generación del Repositorio.
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.
160 \begin_inset Quotes eld
163 Creador de Repositorios Subversion
164 \begin_inset Quotes erd
170 Loguearse (si no se es usuario, contactarse con el Admin.
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).
178 Seleccionar los usuarios habilitados a subir cambios al repositorio, todos
179 los usuarios pueen bajar el sistema, solo los autorizados aquí pueden subir
183 Accionar el botón de creación, a continuación se visualiza el proceso de
185 La última línea describe como realizar un
186 \begin_inset Quotes eld
190 \begin_inset Quotes erd
193 , es decir, como bajar la última versión del repositorio.(svn co http://
197 Bajar por primera vez el repositorio
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
209 $ svn co http://portal.mecon.ar/svn/procad/tronco/ procad
213 \begin_inset Quotes eld
217 \begin_inset Quotes erd
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á.
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.
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).
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).
241 Generación de los archivos básicos de configuración.
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).
254 Se nos pregunta por el nombre del Sistema, puede ser distinto al nombre
255 del Repositorio y ser una frase.
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.
263 Automáticamente se abrirán 3 archivosde configuración, 2 pertenecen a xmi2code
265 Para una instalación estándar no es necesario modificar ninguno de los
270 Este paso es opcional, si desea eliminar todos los archivos README del sistema
273 $ make clean-readme .
276 Creación Diagrama de Clases.
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.
291 Abrir con umbrello el archivo uml.xmi
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).
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
302 \begin_inset Quotes eld
306 \begin_inset Quotes erd
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/).
313 Nota: La única relación que modifica el contenido de la libreria generada
314 con el xmi2code es la herencia (Generalización).
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
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
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:
331 x2c:include:HTML/Table.php
334 Otro ejemplo es la clase Tabla.
337 x2c:include:MECON/HTML/Tabla.php .
340 Se le puede indicar al xmi2code que genere automáticamente 2 métodos para
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:
349 Utilización de Xmi2code y Doxygen
352 Generación de la librería local.
355 En esta sección veremos como se generan automáticamente las librerías locales
356 en <nombre_sistema>/sistema/local_lib .
363 si no hubo problemas deberian existir en sistema/local_lib/ unos archivos
364 PHP con las declaraciones de las clases locales al sistema.
367 Si se ejecuta dos veces el xmi2code, los archivos viejos son renombrados
373 Generación de la Documentación de la librería local.
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/ .