GNU DEBIAN /MICROSOFT WINDOWS XP PROFESSIONAL
Autor: Rivera Juan Carlos
Maracay, Julio de 2013
INFRAESTRUCTURA PARA EL DESARROLLO DE APLICACIONES WEB
Guía Informativa para el Área de Organización y Sistemas
Oficina de Planificación y Presupuesto - Coordinación de Organización y Sistemas
Tutor Empresarial: Ing. Félix Carreño
1
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
ÍNDICE GENERAL
Introducción ......................................................................................................... 3
Sistemas Operativos ................................................................................. 4
o GNU/Debian ................................................................................... 4
o Microsoft Windows XP Professional............................................... 5
Aplicaciones Web ..................................................................................... 6
Servidores Web ......................................................................................... 6
o Servidor Apache ............................................................................. 7
o XAMMP ......................................................................................... 9
o LAMPP .......................................................................................... 11
Lenguajes de Programación ..................................................................... 12
o HTML ............................................................................................ 12
o PHP ................................................................................................ 13
o JAVASCRIPT ................................................................................ 15
Sistema Gestor de Base de Datos ............................................................. 16
o MYSQL .......................................................................................... 17
o PHPMYADMIN ............................................................................. 17
Editores de Aplicaciones Web .................................................................. 18
o Dreamweaver .................................................................................. 18
o KompoZer ...................................................................................... 21
Software libre para edición de imágenes ................................................. 22
o GIMP .............................................................................................. 22
Conclusiones ......................................................................................................... 26
Referencias Bibliográficas ................................................................................... 27
2 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
ÍNDICE DE FIGURAS
Figura1 Diagrama representativo de un Servidor Web Apache .............................. 7
Figura 2 Encuesta Netcraft .................................................................................... 10
Figura 3 Servidor Web Xammp............................................................................. 12
Figura 4 Servicios usados por LAMP .................................................................... 18
Figura 5 Interface para administrar base de datos MYSQL .................................... 19
Figura 6 Interface Gráfica de Dreamweaver .......................................................... 21
Figura 7 Interface Gráfica de Kompozer ............................................................... 22
Figura 8 Interface del Software GIMP ................................................................... 24
Figura 9 Interface del Software GIMP ................................................................... 24
Figura 10 Accesibilidad y estándares web ............................................................. 25
Figura 11 Elementos de un sitio web corporativo .................................................. 25
3
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
INTRODUCCIÓN
Desde la liberación de Internet en la década de los noventa que se introdujo la
World Wide Web, muchas organizaciones se dispusieron a darse a conocer a nivel
mundial, con la introducción del lenguaje para hipertexto HTML (Hyper Text Markup
Language) se pudo realizar páginas en donde se colocaban datos acerca de su
organización o empresa y esto trajo consigo un boom global al incrementar las ventas
sobre todo en el área de las exportaciones, gracias a esta herramienta se puede llegar a
muchos lugares en el mundo.
A medida que Internet fue ganando un lugar como una gran herramienta para
vender, por lo que no solo fue suficiente utilizarla como medio publicitario, se pensó
que tal si se podrían realizar transacciones, por ejemplo una empresa podría efectuar
ventas en línea, mostrar catálogos de productos, cosas como estas dieron lugar ahora al
comercio electrónico (e-comerce), esto vino a ser un parte importante en el desarrollo
de sistemas, gracias a que se empezaron a introducir lenguajes de programación para
este tipo de interfaces como ASP/Visual Basic Script, C#, C++, PHP, PERL, Java, Java
Script que pueden interactuar con el lenguaje HTML como si fueran uno solo, para dar
como resultado sitios web que se convierten en sistemas de información muy poderosos
y robustos.
En la presente guía informativa se describirán los componentes de la
infraestructura para el desarrollo de aplicaciones web, partiendo de los sistemas
operativos, servidores web, lenguajes de programación, sistemas gestores de bases de
datos y editores web estándares. Todos estos elementos al trabajar en conjunto, permiten
la creación y funcionamiento de sitios web dinámicos que pueden ser accedidos por los
usuarios a través de claves alfanuméricas para el acceso seguro.
La infraestructura para el desarrollo web es una serie de servicios integrados a
través de herramientas que centralizan los procesos relacionados con el desarrollo de
aplicaciones. Para el funcionamiento del software es necesario principalmente contar
con un servidor web (Apache), que permita acceder de manera rápida y segura a los
archivos almacenados en la base de datos, donde la información es encriptada para
evitar problemas de accesos no autorizados y pérdida de datos importantes.
4 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
SISTEMAS OPERATIVOS
GNU DEBIAN
El Proyecto Debian es una asociación de personas que han hecho una causa
común para crear un sistema operativo libre. Este sistema operativo fue llamado Debian.
Un sistema operativo es un conjunto de programas y utilidades básicas que hacen
que su computadora funcione. El centro de un sistema operativo es el núcleo (N. del T.:
kernel). El núcleo es el programa más importante en la computadora, realiza todo el
trabajo básico y le permite ejecutar otros programas.
Los sistemas Debian actualmente usan el núcleo de Linux o de FreeBSD. Linux es
una pieza de software creada en un principio por Linus Torvalds y desarrollada por
miles de programadores a lo largo del mundo. FreeBSD es un sistema operativo que
incluye un núcleo y otro software.
Sin embargo, se está trabajando para ofrecer Debian con otros núcleos, en especial
con el Hurd. El Hurd es una colección de servidores que se ejecutan sobre un
micronúcleo (como Mach) para implementar las distintas funcionalidades. El Hurd es
software libre producido por el proyecto GNU.
Una gran parte de las herramientas básicas que completan el sistema operativo,
vienen del proyecto GNU; de ahí los nombres: GNU/Linux, GNU/kFreeBSD y
GNU/Hurd. Estas herramientas también son libres.
Desde luego, lo que la gente quiere es el software de aplicación: herramientas que
los ayuden a realizar lo que necesiten hacer, desde editar documentos, ejecutar
aplicaciones de negocios hasta divertirse con juegos y escribir más software. Debian
viene con más de 29000 paquetes (software precompilado y empaquetado en un formato
amigable para una instalación sencilla en su máquina), todos ellos se pueden descargar
de forma gratuita.
5
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Es un poco como una torre. En la base está el núcleo. Encima se encuentran todas
las herramientas básicas. Después está todo el software que usted ejecuta en su
computadora. En la cima de la torre se encuentra Debian, organizando y encajando todo
cuidadosamente para que todo el sistema trabaje junto.
MICROSFOT WINDOWS XP
Windows XP (cuyo nombre clave inicial fue el Whistler) es una versión de
Microsoft Windows, línea de sistemas operativos desarrollado por Microsoft. Lanzado
al mercado el 25 de octubre de 2001, a fecha de agosto de 2012, tenía una cuota de
mercado del 46,33%, y fue superado por Windows 7 que ya tenía un 46,60% de cuota
de mercado. Las letras XP provienen de la palabra eXPeriencia (eXPerience en inglés).
Dispone de versiones para varios entornos informáticos, incluyendo para los
computadores domésticos o de negocios, además de equipos portátiles, netbooks,
tabletas y centros multimedia. Sucesor de Windows 2000 junto con Windows ME, y
antecesor de Windows Vista, es el primer sistema operativo de Microsoft orientado al
consumidor que se construye con un núcleo y arquitectura de Windows NT disponible
en versiones para plataformas de 32 y 64 bits.
A diferencia de versiones anteriores de Windows, al estar basado en la
arquitectura de Windows NT proveniente del código de Windows 2000, presenta
mejoras en la estabilidad y el rendimiento. Tiene una interfaz gráfica de usuario (GUI)
perceptiblemente reajustada (denominada Luna), la cual incluye características
rediseñadas, algunas de las cuales se asemejan ligeramente a otras GUI de otros
sistemas operativos, cambio promovido para un uso más fácil que en las versiones
anteriores. Se introdujeron nuevas capacidades de gestión de software para evitar el
"DLL Hell" (infierno de las DLLs) que plagó las viejas versiones. Es también la primera
versión de Windows que utiliza la activación del producto para reducir la piratería del
software, una restricción que no sentó bien a algunos usuarios. Ha sido también
criticado por las vulnerabilidades de seguridad, integración de Internet Explorer, la
inclusión del reproductor Windows Media Player y aspectos de su interfaz.
6 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
APLICACIONES WEB
En la ingeniería de software se denomina aplicación web a aquellas herramientas
que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de
una intranet mediante un navegador. En otras palabras, es una aplicación software que
se codifica en un lenguaje soportado por los navegadores web en la que se confía la
ejecución al navegador.
Las aplicaciones web son populares debido a lo práctico del navegador web como
cliente ligero, a la independencia del sistema operativo, así como a la facilidad para
actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de
usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas
en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web.
Es importante mencionar que una página Web puede contener elementos que
permiten una comunicación activa entre el usuario y la información. Esto permite que el
usuario acceda a los datos de modo interactivo, gracias a que la página responderá a
cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en
juegos diversos y acceder a gestores de base de datos de todo tipo.
SERVIDORES WEB
Los servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones, las
cuales son accedidas por los clientes utilizando un navegador que se comunica con el
servidor utilizando el protocolo HTTP (hypertext markup language).
Básicamente un servidor WEB consta de un intérprete HTTP el cual se mantiene a
la espera de peticiones de clientes y le responde con el contenido según sea solicitado.
El cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla.
Además los servidores pueden disponer de un intérprete de otros lenguajes de
programación que ejecutan código embebido dentro del código HTML de las páginas
7
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
que contiene el sitio antes de enviar el resultado al cliente. Esto se conoce como
programación de lado del servidor y utiliza lenguajes como ASP, PHP, Perl y Ajax.
Servidor HTTP Apache
Es un servidor web HTTP de código abierto, para plataformas Unix, Microsoft
Windows, Macintosh y otras, que implementa el protocolo HTTP y la noción de sitio
virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del
popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se
debe a que Behelendorf, quién quería que tuviese la connotación de algo que es firme y
enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se
convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era
que llegasen las empresas y civilizasen el paisaje que habían creado los primeros
ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a
aplicar al servidor de NCSA.
Apache es usado principalmente para enviar páginas web estáticas y dinámicas en
la World Wide Web. Muchas aplicaciones web están diseñadas asumiendo como
ambiente de implantación a Apache, o que utilizarán características propias de este
servidor web. Apache es el componente de servidor web en la popular plataforma de
aplicaciones LAMP(Linux) y XAMPP(Windows), junto a MySQL, POSTGRESQL y
los lenguajes de programación PHP/Perl/Python (y ahora también Ruby). Los
programadores de aplicaciones web a veces utilizan una versión local de Apache con el
fin de previsualizar y probar código mientras éste es desarrollado.
Figura 1. Diagrama representativo de un Servidor Web Apache
8 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Figura 2. Encuesta Netcraft
La grafica anterior es el resultado de la encuesta realizada por Netcraft en donde
se muestra los porcentajes del mes de septiembre de 2009 además de la comparación
con semestres anteriores. La encuesta fue realizada a 226.099.841 sitios web.
Al visitar la página web donde se muestran estos resultados observamos que más
del 40% de los servidores en el mundo son Apache, después de sigue el servidor IIS de
Microsoft con más del 20% y el resto se compone de otros servidores web como nginx,
google, lighttpd entre otros.
A partir de los resultados que observamos en la gráfica, vamos a describir uno de
los servidores web mencionados, en este caso el servidor web apache, para entender
porque se encuentra en el gusto de la mayoría de los sitios web a nivel mundial.
Apache es uno de los servidores web más utilizados, posiblemente porque ofrece
instalaciones sencillas para sitios pequeños y si se requiere es posible expandirlo hasta
el nivel de los mejores productos comerciales. Además el servidor HTTP (Hypertext
Transfer Protocol) y de código abierto para las plataformas Windows, Mac OS X y
UNIX (GNU, BSD).
En cuanto a las características que posee Apache y que la llevo al éxito en la
inserción y utilización en ámbitos empresariales, tecnológicos y educativos:
9
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Fundamentalmente corre sobre una multitud de plataformas y Sistemas
Operativos.
Ofrece tecnología libre y de código abierto.
Es un servidor Web configurable y de diseño modular, capaz de extender
su funcionalidad y la calidad de sus servicios.
Trabaja en conjunto con gran cantidad de lenguajes de programación
interpretados como PHP, Perl, Java, JSP (Java Server Pages) y otros lenguajes
de script, que son el complemento ideal para los sitios web dinámicos.
Es posible configurar y personalizar cada uno de los mensajes de error
que se pueden producir por la utilización del servidor.
Contar con los archivos Log, en donde registra gran cantidad de
información global del sistema, errores producidos en un determinado tiempo,
en la cual estos archivos son de gran importancia para los administradores de
sistemas y pueden influenciar de alguna manera las políticas de seguridad
debido a la gran cantidad de información que contiene.
XAMMP ( Microsoft Windows)
Es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes
para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para
cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.
El programa está liberado bajo la licencia GNU y actúa como un servidor web
libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está
disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X.
XAMPP solamente requiere descargar y ejecutar un archivo zip, tar o exe, con
unas pequeñas configuraciones en alguno de sus componentes que el servidor Web
necesitará. XAMPP se actualiza regularmente para incorporar las últimas versiones de
Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y
phpMyAdmin. Para instalar XAMPP se requiere solamente una pequeña fracción del
tiempo necesario para descargar y configurar los programas por separado.
10 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Oficialmente, los diseñadores de XAMPP sólo pretendían su uso como una
herramienta de desarrollo, para permitir a los diseñadores de sitios webs y
programadores testear su trabajo en sus propios ordenadores sin ningún acceso a
Internet. En la práctica, sin embargo, XAMPP es utilizado actualmente como servidor
de sitios Web, ya que, con algunas modificaciones, es generalmente lo suficientemente
seguro para serlo.
Pasos para la instalación de XAMMP en MICROSOFT WINDOWS XP
PROFESSIONAL
1. Descargar la aplicación del Sitio Web Oficial
(www.apachefriends.org/es/xampp.html)
2. Ejecutar el instalador desde el directorio donde se realizó la descarga
3. Seleccionar los servicios a instalar (Apache, Mysql, Filezilla)
4. Proceder a instalar los paquetes y luego el instalador verifica los puertos
disponibles para el funcionamiento de Xampp (Puerto 80).
5. Finalizar la instalación
6. Luego abrimos el Control Panel Xampp para verificar si los servicios
Apache/MySql se iniciaron correctamente.
7. Después de los pasos anteriores ya se podrá utilizar este software como
servidor web para realizar pruebas de forma local.
Figura 3. Servidor Web Xammp
11
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
LAMP (GNU/Linux)
Es el acrónimo usado para describir un sistema de infraestructura de internet que
usa las siguientes herramientas:
Linux, el sistema operativo; En algunos casos también se refiere a LDAP.
Apache, el servidor web;
MySQL/MariaDB, el gestor de bases de datos;
Perl, PHP, o Python, los lenguajes de programación.
La combinación de estas tecnologías es usada en HBA primariamente para definir
la infraestructura de un servidor web, utilizando un paradigma de programación para el
desarrollo.
A pesar de que el origen de estos programas de código abierto no han sido
específicamente diseñado para trabajar entre sí, la combinación se popularizó debido a
su bajo coste de adquisición y ubicuidad de sus componentes (ya que vienen pre-
instalados en la mayoría de las distribuciones Linux). Cuando son combinados,
representan un conjunto de soluciones que soportan servidores de aplicaciones.
Pasos para la instalación de LAMP en GNU/DEBIAN
1. Actualizar el Sistema Operativo (entrar como superusuario-su):
apt-get update
apt-get upgrade
2. Para instalar el Apache2:
apt-get install apache2
Ejecutando posteriormente:
a2enmod rewrite
3. Para instalar MySQL:
apt-get install mysql-server
y luego ejecutar:
mysql_secure_installation
12 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
4. Para instalar el PHP5:
apt-get install php5 php-pear php5-suhosin php5-mysql
5. Y finalmente, es fundamental instalar el gestor phpMyAdmin:
apt-get install phpMyAdmin
6. Una vez hecho esto, reiniciar el servidor con :
/etc/init.d/apache2 restart
Figura 4. Servicios usados por LAMP
LENGUAJES DE PROGRAMACIÓN
HTML
Hyper Text Markup Language (Lenguaje de marcación de Hipertexto) es el
lenguaje de marcas de texto utilizado normalmente en la www (World Wide Web). Fue
creado en 1986 por el físico nuclear Tim Berners-Lee; el cual tomo dos herramientas
preexistentes: El concepto de Hipertexto (Conocido también como link o ancla) el cual
permite conectar dos elementos entre si y el SGML (Lenguaje Estándar de Marcación
General) el cual sirve para colocar etiquetas o marcas en un texto que indique como
debe verse.
HTML no es propiamente un lenguaje de programación como C++, Java o Visual
Basic, sino un sistema de etiquetas. No presenta ningún compilador, por lo tanto algún
error de sintaxis que se presente éste no lo detectará y se visualizará en la forma como
este lo interprete. El entorno para trabajar HTML bajo Microsoft Windows sería a
través, de por ejemplo Adobe Dreamweaver, y bajo Unix (Ubuntu o debian) se podría
13
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
usar Kompozer, las cuales son herramientas que permiten realizar aplicaciones web ,
incorporado Javascript y PHP.
PHP
PHP (acrónimo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto
muy popular especialmente adecuado para desarrollo web y que puede ser incrustado en
HTML.
PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como
procesar la información de formularios, generar páginas con contenidos dinámicos, o
enviar y recibir cookies. Y esto no es todo, se puede hacer mucho más.
Existen principalmente tres campos en los que se usan scripts en PHP.
Scripts del lado-servidor. Este es el campo más tradicional y el principal foco de
trabajo. Se necesitan tres cosas para que esto funcione. El intérprete PHP (CGI módulo),
un servidor web y un navegador. Es necesario hacer funcionar el servidor, con PHP
instalado El resultado del programa PHP se puede obtener a través del navegador,
conectándose con el servidor web. Consultar la sección Instrucciones de instalación para
más información.
Scripts en la línea de comandos. Puede crear un script PHP y correrlo sin
necesidad de un servidor web o navegador. Solamente necesita el intérprete PHP para
usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente
desde cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts
también pueden ser usados para tareas simples de procesamiento de texto. Consultar la
sección Usos de PHP en la línea de comandos para más información.
Escribir aplicaciones de interfaz gráfica. Probablemente PHP no sea el lenguaje
más apropiado para escribir aplicaciones gráficas, pero si conoce bien PHP, y quisiera
utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-
GTK para escribir dichos programas. También es posible escribir aplicaciones
independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en
14 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
la distribución principal. Si está interesado en PHP-GTK, puedes visitar las páginas
web del proyecto.
PHP puede ser utilizado en cualquiera de los principales sistemas operativos del
mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y
OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno más.
PHP soporta la mayoría de servidores web de hoy en día, incluyendo Apache, IIS, y
muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario PHP de
FastCGI, como lighttpd y nginx. PHP funciona ya sea como un módulo, o como un
procesador de CGI.
De modo que, con PHP tiene la libertad de elegir el sistema operativo y el
servidor web de su gusto. Además, tiene la posibilidad de utilizar programación por
procedimientos, programación orientada a objetos (POO), o una mezcla de ambas.
Con PHP no se encuentra limitado a resultados en HTML. Entre las habilidades
de PHP se incluyen: creación de imágenes, archivos PDF e incluso películas Flash
(usando libswf y Ming) sobre la marcha. También puede presentar otros resultados,
como XHTML y cualquier otro tipo de ficheros XML. PHP puede autogenerar éstos
archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla,
creando un caché en el lado-servidor para contenido dinámico.
Una de las características más potentes y destacables de PHP es su soporte para
una gran cantidad de bases de datos. Escribir una página web con acceso habilitado a
una base de datos es increiblemente simple utilizando una de las extensiones específicas
(por ejemplo, para mysql), o utilizar una capa de abstracción como PDO, o conectarse a
cualquier base de datos que soporte el estándar de Conexión Abierta a Bases de Datos
por medio de la extensión ODBC. Otras bases de datos podrían utilizar CURL o
sockets, como lo hace CouchDB.
PHP también cuenta con soporte para comunicarse con otros servicios usando
protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en
Windows) y muchos otros. También se pueden crear sockets puros e interactuar usando
cualquier otro protocolo. PHP soporta WDDX para el intercambio de datos entre
15
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar
objetos Java de forma transparente como objetos de PHP.
PHP tiene útiles características de procesamiento de texto, las cuales incluyen las
Expresiones Regulares Compatibles de Perl (PCRE), muchas extensiones, y
herramientas para el acceso y análisis de documentos XML. PHP estandariza todas las
extensiones XML sobre el fundamento sólido de libxml2, y extiende este conjunto de
características añadiendo soporte para SimpleXML, XMLReader y XMLWriter.
Existen otras extensiones interesantes, las cuales están categorizadas
alfabéticamente y por categoría. Hay extensiones adicionales PECL que podrían estar
documentadas o no dentro del manual de PHP, tal como » XDebug.
JAVASCRIPT
Es un lenguaje de programación que se utiliza principalmente para crear páginas
web dinámicas, la cual es aquella que incorpora efectos como texto que aparece y
desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con
mensajes de aviso, al usuario.
Técnicamente, Javascript es un lenguaje interpretado, por lo no es necesario
compilar los programas para ejecutarlos. En otras palabras, los programas escritos en
Javascript se pueden probar directamente en cualquier navegador sin necesidad de
procesos intermedios. A pesar de su nombre, Javascript no guarda relación directa con
el lenguaje de programación Java. Legalmente es una marcar de la empresa Sun
Microsystems.
Se utiliza principalmente en su forma del lado del cliente (client-side),
implementado como parte de un navegador web permitiendo mejoras en la interfaz de
usuario y páginas web dinámicas, en bases de datos locales al navegador...4 aunque
existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su
uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de
escritorio (mayoritariamente widgets) es también significativo.
16 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Todos los navegadores modernos interpretan el código JavaScript integrado en las
páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de
una implementación del Document Object Model (DOM).
Tradicionalmente se venía utilizando en páginas web HTML para realizar
operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones
del servidor. JavaScript se interpreta en el agente de usuario, al mismo tiempo que las
sentencias van descargándose junto con el código HTML.
SISTEMA GESTOR DE BASE DE DATOS
Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas
que permiten el almacenamiento, modificación y extracción de la información en una
base de datos, además de proporcionar herramientas para añadir, borrar modificar y
analizar los datos. Los usuarios pueden acceder a la información usando herramientas
específicas de interrogación y de generación de informes, o bien mediante aplicaciones
al efecto.
Los SGBD también proporcionan métodos para mantener la integridad de los
datos, para administrar el acceso de usuarios a los datos y recuperar la información si el
sistema se corrompe. Permite presentar la información de la base de datos en variados
formatos. La mayoría de los SGBD incluyen un generador de informes. También puede
incluir un módulo gráfico que permita presentar la información con gráficos y tartas.
Hay muchos tipos de SGBD distintos según manejen los datos y muchos tamaños
distintos según funcionen sobre ordenadores personales y con poca memoria a grandes
sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogación,
lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También
simplifican la interrogación y la presentación de la información. Un SGDB permite
controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a
ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las
17
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Bases de Datos y los sistemas para su gestión son esenciales para cualquier área de
negocio, y deben ser gestionados con esmero.
MYSQL
Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario
con más de seis millones de instalaciones. MySQL AB, desde enero de 2008 una
subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de
2009, se ha encargado del desarrollo de esta aplicación como software libre en un
esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta
licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos
deben comprar a la empresa una licencia específica que les permita este uso. Está
desarrollado en su mayor parte en ANSI C.
Al contrario de proyectos como Apache, donde el software es desarrollado por
una comunidad pública y los derechos de autor del código están en poder del autor
individual, MySQL es patrocinado por una empresa privada, que posee el copyright de
la mayor parte del código.
PHPMYADMIN
Es una herramienta gratuita escrita en PHP creada para la manipulación de la base
de datos MySQL a través de navegadores de internet. Soporta una amplia gama de
operaciones, siendo efectuadas de modo gráfico a través de una GUI, las más frecuentes
que realiza el interface, son el manejo de bases datos, tablas, campos, relaciones,
índices, usuarios y permisos. También proporciona la capacidad de ejecutar
directamente sentencias SQL
Características:
Interface web intuitiva.
Proporciona herramientas de gestión de la base de datos:
18 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Permite edición, creación, modificación y eliminación de bases de datos, tablas,
vistas, campos, relaciones e índices.
Mantenimiento de usuarios y sus privilegios.
Mantenimiento de procedimientos almacenados.
Importación de datos desde CSV y SQL.
Exportación a varios formatos: CSV, SQL, XML, PDF, OpenDocument Text y
Spreadsheet y Word,
Administración de múltiples servidores.
Figura 5. Interfaz para administrar base de datos Mysql
EDITORES DE APLICACIONES WEB
Adobe Dreamweaver (Microsoft Windows)
Es una aplicación en forma de estudio (basada en la forma de estudio de Adobe
Flash) que está destinada a la construcción, diseño y edición de sitios, videos y
aplicaciones Web basados en estándares. Creado inicialmente por Macromedia
(actualmente producido por Adobe Systems) es el programa más utilizado en el sector
del diseño y la programación web, por sus funcionalidades, su integración con otras
19
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
herramientas como Adobe Flash y, recientemente, por su soporte de los estándares del
World Wide Web Consortium.
Sus principales competidores son Microsoft Expression Web y BlueGriffon (que
es de código abierto) y tiene soporte tanto para edición de imágenes como para
animación a través de su integración con otras. Hasta la versión MX, fue duramente
criticado por su escaso soporte de los estándares de la web, ya que el código que
generaba era con frecuencia sólo válido para Internet Explorer y no validaba como
HTML estándar. Esto se ha ido corrigiendo en las versiones recientes. Se vende como
parte de la suite Adobe Creative Suite. A partir de la compra de Macromedia por parte
de Adobe. Las letras CS significan Creative Suite
La gran ventaja de este editor sobre otros es su gran poder de ampliación y
personalización del mismo, puesto que en este programa, sus rutinas (como la de
insertar un hipervínculo, una imagen o añadir un comportamiento) están hechas en
Javascript-C, lo que le ofrece una gran flexibilidad en estas materias. Esto hace que los
archivos del programa no sean instrucciones de C++ sino rutinas de Javascript que hace
que sea un programa muy fluido, que todo ello hace, que programadores y editores web
hagan extensiones para su programa y lo ponga a su gusto.
Las versiones originales de la aplicación se utilizaban como simples editores
WYSIWYG (What You See is What You Get). Sin embargo, versiones más recientes
soportan otras tecnologías web como CSS, JavaScript y algunos frameworks del lado
servidor.
Dreamweaver ha tenido un gran éxito desde finales de los años 1990 y
actualmente mantiene el 90% del mercado de editores HTML. Esta aplicación está
disponible tanto para la plataforma MAC como para Windows, aunque también se
puede ejecutar en plataformas basadas en UNIX utilizando programas que implementan
las API's de Windows, tipo Wine.
Como editor WYSIWYG que es, Dreamweaver permite ocultar el código HTML
de cara al usuario, haciendo posible que alguien no entendido pueda crear páginas y
sitios web fácilmente sin necesidad de escribir código.
20 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Algunos desarrolladores web criticaban esta propuesta ya que crean páginas
HTML más largas de lo que solían ser al incluir mucho código inútil, lo cual va en
detrimento de la ejecución de las páginas en el navegador web. Esto puede ser
especialmente cierto ya que la aplicación facilita en exceso el diseño de las páginas
mediante tablas. Además, algunos desarrolladores web han criticado Dreamweaver en el
pasado porque creaba código que no cumplía con los estándares del consorcio Web
(W3C).
No obstante, Adobe ha aumentado el soporte CSS y otras maneras de diseñar
páginas sin tablas en versiones posteriores de la aplicación, haciendo que se reduzca el
exceso de código.
Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web
instalados en su ordenador para previsualizar las páginas web. También dispone de
herramientas de administración de sitios dirigidas a principiantes como, por ejemplo, la
habilidad de encontrar y reemplazar líneas de texto y código por cualquier tipo de
parámetro especificado, hasta el sitio web completo. El panel de comportamientos
también permite crear JavaScript básico sin conocimientos de código.
Con la llegada de la versión MX, Macromedia incorporó herramientas de creación
de contenido dinámico en Dreamweaver. En lo fundamental de las herramientas HTML
WYSIWYG, también permite la conexión a Bases de Datos como MySQL y Microsoft
Access, para filtrar y mostrar el contenido utilizando tecnología de script como, por
ejemplo, ASP, ASP.NET, ColdFusion, JSP (JavaServer Pages) y PHP sin necesidad de
tener experiencia previa en programación.
Un aspecto de alta consideración de Dreamweaver es su funcionalidad con
extensiones. Las extensiones, tal y como se conocen, son pequeños programas, que
cualquier desarrollador web puede escribir (normalmente en HTML y Javascript) y que
cualquiera puede descargar e instalar, ofreciendo así funcionalidades añadidas a la
aplicación. Dreamweaver goza del apoyo de una gran comunidad de desarrolladores de
extensiones que hacen posible la disponibilidad de extensiones gratuitas y de pago para
la mayoría de las tareas de desarrollo web, que van desde simple efectos rollover hasta
21
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
completas cartas de compra. Actualmente la versión màs reciente de Adobe
Dreamweaver es la Cs6 y con fecha de 21 de abril de 2012, puede funcionar bajo
Microsoft Windows, Mac o Unix.
Figura 6. Interfaz Código/Diseño
KompoZer (GNU/Linux)
Es un editor de fuente abierta basado en el, ahora descontinuado, editor Nvu.
KompoZer es mantenido por la misma comunidad de usuarios que bifurcó el proyecto, y
es un proyecto en Sourceforge. Hay binarios disponibles para GNU/Linux, Windows,
MacOSX y OS/2.
En marzo de 2007 fue comentado en Download.com, que lo consideró una de las
mejores alternativas libres a Adobe CS3, y lo comparó favorablemente con Adobe
Dreamweaver.
El próximo lanzamiento, KompoZer 0.8, ha sido actualizado a Gecko 1.8.1, y el
código está siendo finalizado después de las pruebas. La primera versión pública alfa de
KompoZer es 0.8, fue publicada el 11 de febrero de 2009 y ofreció una nueva interfaz
de usuario.
22 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Las capacidades WYSIWYG de KompoZer son una de las principales atracciones
del software. Adicionalmente, KompoZer permite la edición directa de código así como
una opinión de vista dividida de código gráfico. La última versión de prueba es la 0.8b3,
que fue lanzada el 5 de Septiembre de 2010.
Figura 7. Interfaz gráfica de KompoZer
SOFTWARE LIBRE PARA EDICIÓN DE IMÁGENES
GIMP (GNU/Linux)
GIMP (GNU Image Manipulation Program) es un programa de edición de
imágenes digitales en forma de mapa de bits, tanto dibujos como fotografías. Es un
programa libre y gratuito. Forma parte del proyecto GNU y está disponible bajo la
Licencia pública general de GNU.
Es el programa de manipulación de gráficos disponible en más sistemas
operativos (Unix, GNU/Linux, FreeBSD, Solaris, Microsoft Windows y Mac OS X,
entre otros).
23
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
La interfaz de GIMP está disponible en varios idiomas, entre ellos: español, inglés
(el idioma original), catalán, gallego, euskera, alemán, francés, italiano, ruso, sueco,
noruego, coreano y neerlandés.
GIMP es un programa de manipulación de imágenes que ha ido evolucionando a
lo largo del tiempo, ha ido soportando nuevos formatos, sus herramientas son más
potentes, además funciona con extensiones o plugins y scripts.
GIMP usa GTK+ como biblioteca de controles gráficos. En realidad, GTK+ era
simplemente al principio una parte de GIMP, originada al reemplazar la biblioteca
comercial Motif usada inicialmente en las primeras versiones de GIMP. GIMP y GTK+
fueron originalmente diseñados para el sistema gráfico X Window ejecutado sobre
sistemas operativos tipo Unix. GTK+ ha sido portado posteriormente a Microsoft
Windows, OS/2, Mac OS X y SkyOS.
GIMP permite el tratado de imágenes en capas, para poder modificar cada objeto
de la imagen en forma totalmente independiente a las demás capas en la imagen,
también pueden subirse o bajarse de nivel las capas para facilitar el trabajo en la
imagen, la imagen final puede guardarse en el formato xcf de GIMP que soporta capas,
o en un formato plano sin capas, que puede ser png, bmp, gif, y jpg.
Con GIMP es posible producir imágenes de manera totalmente no interactiva (por
ejemplo, generar al vuelo imágenes para una página web usando guiones CGI) y realizar
un procesamiento por lotes que cambien el color o conviertan imágenes. Para tareas
automatizables más simples, probablemente sea más rápido utilizar un paquete como
ImageMagick.
El nombre de GIMP en español se forma con las iniciales de Programa de
Manipulación de Imágenes de GNU leídas de atrás para adelante. La última versión
disponible es la 2.8.4 que fue lanzada el 5 de febrero de 2013.
24 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Figura 8. Interfaz del software GIMP creado bajo PHP GTK
Figura 9. Interfaz del software GIMP creado bajo PHP GTK
25
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
Figura 10. Accesibilidad y estándares web
Figura 11. Elementos de un Sitio Web Corporativo
26 INFRA
ESTRU
CTURA
PARA
EL
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
CONCLUSIONES
El objetivo de esta guía fue la de mostrar las diferentes aplicaciones que se
utilizan y que forman parte de lo que se conoce como infraestructura de desarrollo de
aplicaciones libres, con el propósito de proponer un estándar para ser utilizado en
futuros proyectos de desarrollo de software en el INIA.
Actualmente el INIA cuenta con una infraestructura de desarrollo para sus
aplicaciones, no obstante, esta guía está orientada en la plataforma existente, pero es un
manual básico que puede ser de utilidad para orientar a nuevos desarrolladores u otros
pasantes que puedan venir a trabajar en apoyo a pequeños proyectos de desarrollo de
aplicaciones, relacionadas con casas de cultivos protegidos.
Con esta guía informativa, el estudiante o nuevo desarrollador podrá comprender
el concepto de infraestructura de desarrollo, las aplicaciones que la componen, así como
la forma de realizar una instalación básica de forma muy rápida, contribuyendo a
mejorar el conocimiento, al señalar las aplicaciones que debe revisar y mostrar la
función de cada una de ellas en un proyecto web. Se sugiere tomar esta guía como
apoyo a los proyectos de desarrollo y actualizarla, en función de las nuevas tecnologías
emergentes.
Como aporte adicional, se investigó sobre aplicaciones libres, en su mayoría,
siguiendo las normativas establecidas en el decreto 3.390 sobre uso y desarrollo de
software libre en la administración pública nacional, ya que el INIA es una institución
adscrita al Estado Venezolano.
27
INFR
AE
STR
UC
TU
RA
PA
RA
EL D
ES
AR
RO
LLO
DE
AP
LIC
AC
ION
ES
WE
B |
Ma
raca
y, J
ulio
de
20
13
REFERENCIAS BIBLIOGRÁFICAS
CENDITEL (2013). [Página web en línea]. Disponible: http://
plataforma.cenditel.gob.ve (consulta 27 de Abril de 2013)
Cobo, A (2005). Php y Mysql: Tecnologías para el desarrollo de aplicaciones
web. (3era Edición). Editorial Dos Santos.
Debian.org (2013). [Página web en línea]. Disponible: http://www.debian.org
(consulta 18 de Abril de 2013).
Hernández, M (2013). [Página web en línea]. Disponible:
http://www.monografias.com/trabajos75/servidores-web/servidores-
web2.shtml (consulta de 22 de abril de 2013).
Pérez, J. Introducción a Javascript (2013). [Página web en línea]. Disponible:
http://www.fim.umich.mx/var/cursoweb/introduccion_javascript.pdf (consulta
30 de abril de 2013).
Tamayo y Tamayo, M (2005). El proceso de la investigación científica: incluye
evaluación y administración de proyectos de investigación. (5ta Edición). Ciudad de
México. Limusa. Editorial Noriega.
ULA (2013) [Página web en línea]. Disponible:
http://www.cca.ula.ve/servicios/informe_roci.pdf (consulta 18 de abril de
2013).
Wikipedia (2013). [Página web en línea]. Disponible:
http://es.wikipedia.org/wiki/windowsxp (consulta 15 de abril de 2013).
Wikipedia (2013). [Página web en línea]. Disponible:
http://es.wikipedia.org/wiki/javascript (consulta 29 de abril de 2013).