Vous êtes sur la page 1sur 4

UNIVERSIDAD NACIONAL DEL NORDESTE Comunicaciones Cientficas y Tecnolgicas 2003

Resumen: E-009

Aplicaciones informticas orientadas a la Web: Un desarrollo de inters regional.


Busso, Lorena E., Godoy, Mara. V Y Mario, Sonia I. Area de Ingeniera Web - Facultad de Cs. Exactas y Naturales y Agrimensura - UNNE. 9 de Julio 1449 - (3400) Corrientes - Argentina. Tel./Fax: +54 (03783) 423126 int. 130 E-mail: lebusso@exa.unne.edu.ar - mvgodoy@exa.unne.edu.ar - msonia@exa.unne.edu.ar
ANTECEDENTES

El proceso de ingeniera de desarrollo de aplicaciones informticas orientadas a la web comprende la toma de decisiones en cuanto a aspectos de diseo e implementacin que inevitablemente influyen en todo el proceso de desarrollo. El alcance de la aplicacin y el tipo de usuarios a los que estar dirigida son consideraciones tan importantes como las tecnologas elegidas para realizar la implementacin [21]. Se presenta en este trabajo el desarrollo de un portal de noticias, detallando las tecnologas seleccionadas y la metodologa aplicada. El funcionamiento de un sitio Web es un ejemplo tpico de la arquitectura cliente-servidor, en donde mltiples clientes se conectan a un servidor en forma simultnea. En general, el servidor depende de la instalacin del sitio mientras que el cliente suele ser un browser. En todo esquema cliente-servidor debe existir un protocolo que especifique de que forma se comunican e intercambian datos el cliente y el servidor, se utiliza el protocolo http que funciona encapsulado sobre el protocolo TCP/IP (Transmission Control Protocol/Internet Protocol). Para desarrollar aplicaciones y dotar a las pginas web de funcionalidad se puede trabajar en ambos lados, las variantes son: programacin en el cliente, programacin en el servidor y esquema mixto (programacin en ambos). Los esquemas antes enunciados presentan ventajas y desventajas, en general las incompatibilidades existan. Por otra parte la posibilidad de que el usuario controle que cosas se ejecutan y cuales no en la programacin del lado del cliente no es muy recomendable y debe limitarse a cdigo altamente standard, lo cual obliga a ejecutar la gran mayora de las aplicaciones y servicios del sitio Web del lado del servidor Los portales ([1], [11], [14], [19] y [23]) desarrollados en la Web han evolucionado tan vertiginosamente, que la utilizacin de pginas dinmicas frente al lenguaje HTML, es casi un estndar de facto en todos ellos. En el dominio de la red, y para los sitios Web de tercera generacin, los lenguajes ms ampliamente utilizados para el desarrollo de pginas dinmicas son JAVA [12], ASP [15], PHP [24] y PERL. La informacin generada en este tipo de sitios, est almacenada en grandes bases de datos, que permiten actualizarla e incluso cambiar completamente el aspecto con que se muestran dichos datos a altas velocidades. Las aplicaciones interactivas y la informacin en tiempo real caracterizan estos desarrollos. La eleccin de tecnologas complejas produce retardos considerables en el proceso de desarrollo e incrementa los costos, pero en ocasiones permite adecuarse a metodologas de diseo ms fcilmente. Tal es el caso de las tecnologas orientadas a objetos, las cuales tienden a demorar el desarrollo en etapas tempranas. El tiempo de desarrollo es en la actualidad un factor crtico, tanto por razones de marketing como por lmites en el presupuesto y los recursos [22], es entonces que la adopcin de tecnologas con licencia GLP (Licencia Pblica General), y altamente preconfiguradas y programadas, hace que el mantenimiento se transforme en una actividad ms simple y el tiempo invertido en el diseo facilite el trabajo necesario para el resto de las actividades [21] lo cual implica costos menores.
MATERIALES Y METODOS

El lenguaje de programacin PHP (Preprocessor HiperText) se ejecuta en el servidor y permite el acceso a los recursos all almacenados. Posee caractersticas tales como: integracin adecuada bajo ambientes UNIX y Windows; dispone de una amplia gama de libreras y es posible agregar extensiones, presenta conectividad con una variedad de bases de datos SQL, desde libres y gratuitas como MySQL ([4] y [5]) y PostgreSQL [3], hasta las propietarias como ORACLE y Microsoft SQL Server; permite la inclusin de distintas ODBC (Open Database Connectivity); es adems cdigo abierto u Open Source; presenta interfases distintas para cada tipo de servidor y por lo tanto puede ejecutarse bajo APACHE, IIS (Internet Informacin Server, de Microsoft), AOLServer y puede ser configurado tambin como mdulo CGI (Common General Interfase). MySQL es un gestor de base de datos SQL (Structure Query Language) y es una implementacin cliente-servidor. Es un paquete de software de cdigo abierto [13] (utiliza GPL12). Entre sus caractersticas sobresalen: velocidad y robustez; multiproceso; soporta clientes C, C++, Java y PERL; puede trabajar en distintas plataformas y sistemas operativos; provee un sistema contraseas y privilegios muy seguro y flexible, como desventaja no implementa ciertos aspectos del SQL (Triggers). El sistema de caractersticas de MySQL es completo y presenta funciones muy tiles (como mysql_insert_id y mysql_affected_rows) que no estn disponibles para otras bases de datos. La integracin entre PHP y MySQL [20] junto con APACHE, permite la obtencin de soluciones muy buenas para los sitios webs de medio alcance, donde ms importante que la seleccin y la carga de datos es el soporte de transacciones, y que se caracterizan por el contenido dinmico, discusiones, noticias, etc. Para la administracin de las bases de datos

UNIVERSIDAD NACIONAL DEL NORDESTE Comunicaciones Cientficas y Tecnolgicas 2003


Resumen: E-009

se utiliz el programa de libre distribucin phpMyAdmin [7], que permite acceder a todas las funciones tpicas de las bases de datos ([8], [9]) a travs de una interfaz web. La web tiene caractersticas nicas que demandan estrategias y herramientas nuevas. Para la configuracin se debe tener en cuenta los contenidos y la dinamicidad con que los mismos se generan, la escalabilidad de las aplicaciones y las polticas de informacin [16] Entre estas nuevas herramientas PHP-Nuke Web Portal System ([17] y [18]) es un sistema automatizado de noticias especialmente diseado para ser usado en Intranets e Internet. Este paquete de software constituye una herramienta para el desarrollo rpido de portales en la web y se acoge a la licencia GPL. El proyecto original comenz siendo utilizado por el sitio Linux Preview, pero se ha ido adaptando a la plataforma Windows, debido a que Apache, PHP y MySQL han sido portados a dicha plataforma. La versin utilizada es la 5.6. Est diseado de una forma muy flexible y configurable, presenta las siguientes caractersticas: administracin grfica basada en Web, comentarios de usuarios para cada artculo, opcin de moderacin para usuarios y administrador, sistema de miembros altamente configurable, autenticacin de alto encriptado, motor de bsqueda incluido, bloques configurables en HTML, sistema de automatizacin de noticias sin edicin HTML, sistemas de encuestas, manejo de pginas dinmicas, soporte multilenguaje, cdigo totalmente escrito en PHP. Los mdulos y los bloques constituyen grupos fundamentales en PHP-Nuke, all se encuentran las caractersticas que definen el funcionamiento del sitio. Los primeros se programan en PHP y son invocados en el archivo modules.php, requieren permisos particulares y configuracin sobre distintos aspectos. Los bloques son a veces conjuntos de enlaces organizados en tablas o ms complejos, como el de encuestas o de usuarios en lnea que aportan interactividad al portal. En general se copian y se activan, su implementacin es simple pero sus funcionalidades son limitadas. La complejidad del desarrollo de aplicaciones para la web [10] abarca dominios de aplicacin sofisticados (econmicos, educativos, geogrficos, etc.). La necesidad de proveer acceso de navegacin simple a grandes cantidades de datos multimediales, y por ltimo la aparicin de nuevos dispositivos para los cuales se deben construir interfaces web fciles de usar impone la necesidad de una clara planeacin y estructuracin modular [23]. En PHP-Nuke esta complejidad se ve allanada en parte por la provisin de mdulos y bloques pre-configurables y personalizables, por ejemplo, el mdulo AvantGo que facilita la adaptacin de la interfase principal para el acceso va palmtop. Adems el esquema de navegacin jerrquico est determinado por los distintos mdulos incluidos. En el desarrollo del portal se sigui la metodologa sugerida en [22], quien propone la aplicacin de un ciclo de vida compuesto por las siguientes etapas: Descripcin inicial: Anlisis de requerimientos funcionales y no funcionales del sistema, limitaciones tecnolgicas. Recopilacin de informacin Anlisis competitivo, entrevistas y grupos de discusin. El contenido determina la potencia del sitio, debe permitir la facilidad de acceso al mismo y poseer una presentacin resumida. Seleccin de herramientas de programacin: la eleccin de la tecnologa dar la base para la automatizacin de informacin y facilidad en sus posteriores actualizaciones permitiendo lograr un crecimiento escalable del sitio. Especificacin + Desarrollo: Definicin de la arquitectura del sistema. Elaboracin de prototipos conceptuales con usuarios que participan en el proceso de diseo. El diseo debe ser: claro, similar, original y liviano. Desarrollo + Evaluacin de prototipo: Diseo e implementaciones modulares del sistema. Diseo de prototipos horizontales y verticales. Se deber determinar la incorporacin de foros o tablones, listas de correo, chat y video chat, aplicaciones especficas para juegos, etc., que son las que determinan el verdadero carcter de comunidad del sitio. Evaluacin y Validacin de prototipo: Pruebas de eficiencia y robustez del cdigo. Se realizaron sesiones de evaluacin con 10 usuarios utilizando tcnicas como cuestionarios pre y post test, escenarios de tareas, foros de discusin. Versin inicial y versiones intermedias: diseo iterativo y desarrollo incremental y finalmente Versin final: evaluacin final y seguimiento.
RESULTADOS

La estructura implementada en el portal se organiza en mdulos, y se maneja por archivos localizados en la pgina principal (Home Page) y que incluyen, mediante el pasaje de parmetros, al mdulo demandado. Las tareas se llevan a cabo en slo tres pginas: index.php, modules.php y admin.php. Se han personalizado los distintos scripts permitiendo la inclusin o no de ciertos mdulos y adems, distintos controles de acceso a las bases de datos y los mensajes de error a emitir en caso de falla. La estructura del Front_End: El sistema desarrollado se presenta como un portal en tres columnas, las dos laterales incluyen bloques, y la central exhibe los mdulos funcionales implementados. Los mdulos centrales son: noticias, que gestiona los artculos y noticias y el mdulo de bsqueda que realiza la misma en el interior del sitio a travs de las distintas categoras y tambin bsquedas mltiples. Algunos de ellos permiten realizar descargas, retroalimentacin y enlaces a sitios web (Downloads, Feedback, Weblinks), Lista de Miembros, Mdulo de estadsticas, preguntas ms frecuentes (FAQ) y Foros (Fig. 1). Los bloques incluidos son: Administracin (slo visible por el administrador), Artculos anteriores, Encuesta, Buscar, Efemrides, Registracin de usuarios. Se han adaptado e incorporado adems otros bloques externos al PHP-Nuke, tales como: Usuarios en lnea, Imgenes al azar de la Galera, Buscar en Google y Visitas. La visualizacin de los distintos bloques est personalizada para cada pgina que se accede en el portal. Estructura del back-end: (Fig. 2) Comprende todas las reas del portal sobre las cuales el administrador puede actuar: contenidos, bloques, mdulos, usuarios, foros, respaldo de la informacin, optimizacin de las bases de datos, determinacin y modificacin de preferencias y de diferentes opciones de configuracin bsica del portal.

UNIVERSIDAD NACIONAL DEL NORDESTE Comunicaciones Cientficas y Tecnolgicas 2003


Resumen: E-009

Desde el Panel de administracin se modifican los bloques existentes y se permite la adicin de nuevos bloques, mediante copia y activacin, que interacten con la base de datos. Nuevos mdulos adems, se adicionan mediante la construccin de archivos PHP en la parte pblica del sitio y para los cuales se crea tambin una interfaz de administracin. Tanto los bloques como los mdulos desarrollados deben ajustarse a las reglas y directorios impuestos por PHP-Nuke. Diseo: La personalizacin de los temas grficos provistos por PHP-Nuke, permite realizar el proceso de diseo de las interfaces mediante la inclusin (includes) de archivos HTML en el archivo theme.php. Este ltimo es el que crea las funciones que maneja a todos los componentes del portal (header, footer, central parts, block). La hoja de estilo (style.css) [6] y los archivos incluidos se editan y modifican con aplicaciones de software WYSIWYG (What you see is what you get ) de edicin. Contenidos: Las distintas tablas que componen la base de datos del PHP_Nuke se implementaron sobre el motor de bases de datos MySQL y permiten gestionar la informacin de: las noticias programadas, los usuarios, el administrador y sus niveles, los bloques creados, los comentarios y respuestas, manejo de estadsticas, manejo de respuestas y categoras de las FAQ, acceso de los usuarios al foro, gestionar los mensajes de la pgina inicial, administrar categoras, subcategoras y archivos del rea de descargas, etc. Seguridad: En caso de instalarse en servidores Linux/Unix es necesario configurar permisos en los distintos archivos restringiendo ciertas operaciones. Tambin se realiza una modificacin particular para controlar el acceso a la cookie del administrador y minimizar los riesgos de usos indebidos.

Figura 1. Personalizacin del portal de noticias.

Figura 2. Panel de Administracin.

UNIVERSIDAD NACIONAL DEL NORDESTE Comunicaciones Cientficas y Tecnolgicas 2003


Resumen: E-009
CONCLUSIONES

Se present la personalizacin de un portal interactivo multiplataforma para la gestin de noticias. La metodologa y herramientas descriptas podrn adaptarse a trabajos orientados a difundir aspectos o temas regionales incorporndolos en la red mundial de informacin. La utilizacin de herramientas de software tal como PHP-Nuke facilita la creacin de portales informativos robustos, fcilmente administrables, con mltiples servicios para los usuarios. Permite adems un desarrollo en un tiempo ajustado. PHP-Nuke es verstil, se adapta a portales de amplias temticas. Una caracterstica importante es su modularidad y el continuo desarrollo disponible mediante la gran comunidad de programadores que hacen uso de la licencia GLP. Sin embargo algunas de las debilidades detectadas radican en una rigidez al momento del diseo de interfaces del usuario y en algunos aspectos de seguridad, tal como la posibilidad de que se revele el directorio de instalacin. Estas vulnerabilidades se mejoran en versiones posteriores que presentan parches tales como la 6.7 y ofrecen nuevos mdulos: integracin con la API de Google, integracin con Altavista Traductor y radio en lnea Web Chat Java.
BIBLIOGRAFIA

[1] Annimo. Los portales. En: http://www.galeon.com/periodismo-digital/pagina_n11.htm. [2] Annimo. The Apache Software Foundation, Xalan Java Version 1.2.2. http://xml.apache.org/xalan/, Marzo de 2001. [3] Annimo. web de PostgresSQL es http://www.postgresql.org [4] Annimo. Clientes grficos para MySQL. 2003. http://www.mysql-hispano.org/ [5] Annimo. MySql. Bases de datos. Curso de servidores de internet en Windows. En: http://www.internautas.org/curso_servidores/mysql.php [6] Annimo. CCS Test Suite, W3C Core Styles. http://www.w3.org/Style/CSS/, Marzo de 2001. [7] Annimo. PHP. http://www.desarrolloweb.com/articulos/844.php [8] Annimo. 1998. Acceso a Bases de datos SQL Server.. http://guille.costasol.net/colabora/bdSQL_quique.htm [9] Casares, C. 2003. Bases de datos. SQL. http://www.programacion.com/tutorial/sql/ [10] Constantine. L. L. Usage-Centred Engineering for web applications. Documento disponible en: http://www.foruse.com. (2002). [11] Carron Maroto, J y Medina, S.. Los portales y la gestin del conocimiento. En: http://www.gestiondelconocimiento.com/documentos2/juan_carrion_maroto/articulo_prof_portales.htm [12] Castillo, E., Cobo, A., Gmez, P., Solares, C. 1997. JAVA Ed. Paraninfo. Madrid, Espaa. [13] FSF (Free Software Foundation http://www.fsf.org/philosophy/free-sw.es.html) y recogidas en la Licencia General Pblica GPL. [14] Garca Gmez, J. C. y Gonzlez Olivares, J. L. Los portales web ante el reto de la generacin de negocio en Internet. En: http://www.100mbps.es/gamo/portales.htm. [15] Gonzlez Moreno, O. 2001. VBScript y programacin ASP. Anaya Multimedia. [16] Nieto. 2001. Ingeniera Web, Construyendo Web APPS. 1ra Jornadas de Ingeniera Web 01. Universidad de Extremadura. Espaa. [17] PHNuke. www.phpnuke-hispano.com/index.php [18] PHNuke. http://www.phpnuke-espanol.org/ [19] Rico, I. 1999. Portales especializados, inters por lo concreto. En: http://www.idg.net/spanish/crd_es_680746.html. [20] Rodrguez, J. A. 2000. Tutorial de PHP y MySQL. http://es.tldp.org/Manuales-LuCAS/manual_PHP/manual_PHP/ [21] Silva, D. y Mercerat, B. Construyendo aplicaciones web con una metodologa de diseo orientada a objetos http:// www.unab.edu.co/editorialunab/revistas/r.../r22_art5_r.pdf. Diciembre 2002. [22] Savago S, Navarrete T. y Blat. J. Tcnicas de Ingeniera de Usabilidad y metodologa de diseo conceptual en algunas aplicaciones informticas. 220.pdf PFC, Universidad Pompeu Fabra, Barcelona (2002). Documento disponible en: http://www.tecn.upf.es/~ssayag. Marzo 2003. [23] Tharrats, P. M. 1999. Marketing Internet. Tipos de Portales. http://www.cyberkyosco.com/manual/portal/portal2.htm. [24] Trigos Garcia, E. 2000. PHP 4. Ed. Anaya Multimedia.

Vous aimerez peut-être aussi