200411231049440.Introduccion_a_programacion_Web

Anuncio
Introducción a programación Web
Muchos desarrolladores y programadores se encuentran con el dilema de cómo
comenzar un proyecto de desarrollo web. Mientras muchos desarrolladores pueden
crear extensas aplicaciones de escritorio con facilidad, no se encuentran preparados para
crear aplicaciones web. La mayoría de los desarrolladores tiene algún nivel de
familiaridad con HTML, así como con la implantación de páginas estáticas en un
servidor web.
Con Internet jugando un rol cada vez mayor en la mayoría de los esfuerzos de desarrollo
de aplicaciones, puede esperarse que habrá una creciente demanda de aplicaciones web.
Algunas veces los sistemas heredados requieren la creación de una interfaz web, por
ejemplo, para permitir a un cliente de la empresa consultar el estado de su pedido online.
Para asistirle en la transición, y para entender la arquitectura general de la web y de las
aplicaciones web, la siguiente información provee una introducción al plano del
desarrollo de aplicaciones web.
Internet
Internet es una red de computadoras. Si Usted llama por modem desde su casa a un
Proveedor de Servicios de Internet (PSI), su computadora está conectada a Internet.
Cada dispositivo en Internet tiene una dirección IP (Internet Protocol) única. Esta
dirección está compuesta por un número de 32 bits que permite que su computadora
pueda ser encontrada por otras computadoras. Esta dirección IP es asignada
dinamicamente por el PSI cuando Usted se conecta a sus computadoras, y puede
cambiar cada vez que se conecta al sistema. Alternativamente, si Usted usa una
conexión de alta velocidad, tales como DSL o microondas, probablemente tenga una
dirección IP estática que nunca cambia. Usted puede ver usualmente su dirección IP en
una computadora Windows usando el comando “ipconfig /all”.
Para encontrar quién es el propietario de una dirección IP particular, puede buscarla en
el sitio web de ARIN (http://www.arin.net/).
Conectándose a Internet
Si Usted está conectado a Internet desde su lugar de trabajo, probablemente no está
conectado directamente, sino a través de un router que es utilizado para unir dos redes.
Un router que conecta una red privada a Internet es también conocida como gateway.
El router “rutea” el tráfico entre computadoras y redes y envía los paquetes de
información a su destino a través del camino más corto disponible en la red. Si Usted
envía información a la computadora más cercana en la red, por ejemplo, el router no
necesita enviar nada a Internet. Sin embargo, si Usted quiere ver una página web en
Internet, el router enviará su pedido a otro gateway que determinará como siendo el más
cercano al servidor de destino.
Si Usted se conecta a Internet desde su casa, necesitará un router, puente, o un modem
que traduzca las señales desde su computadora personal o red al formato necesario para
permitir a los datos que viajen a y desde Internet. El modem es generalmente utilizado
para conectar una computadora sola a Internet vía un PSI convirtiendo la señal digital en
analógica para su transmisión a través de una línea telefónica.
Un router puede tambien incluir un servidor proxy que provee la habilidad de compartir
una dirección IP individual entre múltiples computadoras conectadas a Internet. Esto
preserva el número de direcciones IP que Usted usa y agrega extra seguridad ya que el
IP público pertenece al router y sus computadoras locales no pueden ser accesadas
desde Internet sin una dirección válida de IP. Otra función de un servidor proxy es
almacenar datos en caché, para que las computadoras locales puedan obtener algunas de
las informaciones más accesadas sin conectarse a Internet..
Usando un Firewall para Acceso Seguro
a Internet
Computadoras que son publicamente accesibles via Internet están expuestas a mayores
riesgos de seguridad. Debido a estos riesgos, es recomendado que Usted utilice un
firewall, que filtra pedidos no deseados originados desde Internet.
El firewall puede ser configurado para encontrar criterios específicos y filtrar tanto el
tráfico entrante como el saliente. Muchos firewalls también funcionan como servidores
proxy y routers permitiéndole usar un solo dispositivo para todas sus necesidades de
conectividad a Internet. Debido a constantes aumentos en los riesgos de seguridad, la
popularidad de los firewalls ha crecido exponencialmente, y Windows XP actualmente
incluye un firewall simple.
Servidores Web
Ahora que Usted tiene un mejor entendimiento de la conectividad a Internet, debería
comprender cómo funciona un sitio web real en Internet.
Cuando Usted navega por Internet, su browser actúa como el cliente que se conecta a
varios servidores web y despliega la información retornada por el servidor. Su
computadora puede tambien actuar como un servidor web si Usted instala y ejecuta una
aplicación de servidor web, tales como el Personal Web Server (PWS), IIS (Internet
Information Services) o Apache.
El servidor web espera pedidos entrantes de Hypertext Transfer Protocol (HTTP) y
responde enviando de vuelta la información apropiada. HTTP es un protocolo de
Internet que define el formato usado para intercambiar información por Internet.
Pedidos HTTP usualmente vienen desde los navegadores en forma de un URL, que
luego es usado por el servidor web para determinar cual archivo debe ser enviado de
vuelta al navegador, tales como una página HTML o una imagen.
Muchos servidores web populares están disponibles gratuitamente.
Ejecutando Programas en un Servidor
Web
Además de servir páginas estáticas HTML, muchos servidores web pueden también
ejecutar programas que crean una salida HTML para el browser. Para hacer esto, el
servidor web debe estar ejecutando un lenguaje de programación. Algunos de los
lenguajes más populares son PHP, ASP, Java, PERL, ColdFusion, VB.NET and C#.
El servidor web más popular, Apache, no soporta directamente lenguajes de
programación específicos, pero es a menudo configurado para trabajar con PHP, Java o
PERL.
Servidores web basados en Windows generalmente soportan aplicaciones ASP (Active
Server Pages) que son escritas en VBScript, una versión simplificada de Visual Basic.
Servidore .NET pueden ejecutar programas VB.NET y C#.
Obteniendo un Servidor Web
"Permanente"
Asumiendo que Usted ya tiene o planea tener contenido que desearía hacer accesible a
otros usuarios de Internet, necesitará un servidor web que siempre se encuentre
conectado. Si Usted tiene una conexión de alta velocidad en su casa, podría tener un
servidor web en su computadora local, siempre que su computadora permanezca
encendida y su dirección de IP no cambie. Usted necesitará preguntar a su PSI si su
dirección IP es estática o dinámica.
Una dirección dinámica es reasignada a Usted cada vez que se conecta a Internet,
haciendo que la dirección sea probablemente diferente en cada ocasión.
Una solución comunmente utilizada es encontrar una empresa de hospedaje web que
tiene un servidor web instalado y corriendo las 24 horas del día. A no ser que Usted
compre un servidor dedicado, usualmente obtendrá un espacio en un servidor
compartido que hospeda cientos de sitios web. Esto es frecuentemente llamado
hospedaje virtual. La empresa de hospedaje divide el espacio en los discos duros de sus
servidores en particiones que posteriormente asignan a nombres de dominio que
hospedan. Si Usted planea crear aplicaciones Web, asegúrese de que el plan que elige
incluye hospedaje de bases de datos, tales como MS SQL o MySQL.
Nombres de Dominio
Cuando Usted compra un plan de hospedaje, le pedirán que transfiera u obtenga un
nombre de dominio para su sitio web. El nombre de dominio es una cadena de
caracteres y números, usualmente unas palabras que son más fáciles de recordar que la
dirección IP que es asignada a su computadora.
Los nombres de dominio están almacenados en un Servidor de Nombres de Dominio
(DNS), que es parte de un sistema distribuido de bases de datos que son consultadas
cada vez que alguien solicita un URL o dirección de Internet. El DNS facilita la
ubicación de un servidor donde, cuando Usted escribe un URL en su browser, el
browser es capaz de buscar la dirección IP para luego enviar el pedido HTTP al servidor
web correcto.
Par obtener un nombre de dominio, Usted necesita encontrar uno que esté disponible y
comprar los derechos de uso en una base anual.
Tipos de Sitios Web
Estáticos
Un sition web estático es uno en el cual las páginas contienen contenido fijo. Todo el
contenido es editado y agregado usando un editor estándar, creando archivos con la
extensión .htm o .html. Cuando un usuario accede a la página, ésta es cargada y
desplegada. El contenido es cambiado únicamente con un editor por el desarrollador de
la página.
Dinámicos
Sitios web dinámicos, también referidos como aplicaciones web, son programas que se
ejecutan en el servidor web y envían HTML al browser en una computadora cliente.
Estos programas pueden ser escritos en los mismos lenguajes que las aplicaciones
estándar de Windows y UNIX, aunque ciertos lenguajes están mejor adaptados para
sacar ventaja en la web.
Las aplicaciones web son muy parecidas a las aplicaciones cliente-servidor. La
principal diferencia reside en la salida: En una aplicación estándar es direccionada a
coordenadas específicas de pantalla, mientras que en una aplicación web la salida
consiste en la generación de tags HTML y texto entremezclados de modo que la
información es mostrada apropiadamente.
Beneficios del Uso de Tecnologías Web
Las tecnologías Web aportan muchos beneficios sobre otras tecnologías, incluyendo
cliente / servidor. Ellos son:





Infrastructura menos cara: Como cada PC puede esta equipada con un
browser gratuito, los usuarios solamente necesitan computadoras de bajo costo
de mantenimiento.
Distribución Rápida de Software: Gracias a la web, no hay necesidad de
distribuir nuevo software a cualquiera de los browsers clientes. Una vez que los
programas son actualizados en el servidor, los usuarios pueden instantáneamente
ven los cambios la próxima vez que cargan la página en su browser. La
localización de problemas también es mejorada desde que la mayoría de ellos
pueden ser investigados y resueltos en el servidor.
Baja Utilización de la Red: En un entorno web, la aplicación cliente (browser)
no accede a la base de datos a través de la red para retirar y actualizar los datos.
El browser solo envía instrucciones al servidor con tanta información como sea
necesaria para ejecutar el programa en el servidor. El software del servidor es
responsable de comunicarse con la base de datos y leer cualquier contenido para
componer la página a ser enviada al cliente. Así no es necesario intercambiar
grandes cantidades de datos. A causa de esto, las aplicaciones Web se ejecutan
más rápido que aquellas que están basadas en clientes voluminosos.
Independencia de Plataforma: La mayoría de las aplicaciones web pueden ser
accedidas a través de una variedad de browsers, tales como Internet Explorer,
Netscape Navigator, Opera, y Lynx. Browsers web existen para virtualmente
cualquier sistema operativo y desde que ellos reciben solamente el documento
HTML, es irrelevante si el documento es visto en Windows, Linux/UNIX, Mac,
o cualquier otro sistema. Adicionalmente, ciertas aplicaciones web son
accesibles a través de dispositivos inalámbricos equipados con un browser y
conexión a Internet.
Seguridad: La seguridad puede darse a nivel de red, a nivel de servidor y a
nivel de las aplicaciones. Las aplicaciones deben contemplar accesos
diferenciados por niveles de acuerdo al perfil de los usuarios, con diferentes
grados de privilegios.
Elección de la Tecnología Web
Hacer la elección de la tecnología es una de la más difíciles y críticas decisiones en la
mayoría de las organizaciones.
Las decisiones en Tecnología están a menudo basadas en el presupuesto existente, el
sistema operativo de preferencia y en la base de datos disponible. Aquí describimos
como estos factores influencian su decisión.
Costo
Si Usted está buscando las soluciones menos caras entonces probablemente escuchó que
Linux con el servidor web Apache, base de datos MySQL, y lenguaje de programación
PHP pueden ser obtenidos e instalados gratuitamente. Esta tecnología puede ser
utilizada para aplicaciones pequeñas y grandes proyectos, tales como partes del sitio
web Yahoo.
Otra alternativa es Windows con IIS y MS SQL corriendo programas ASP. Este
entorno puede ser instalado a un costo mayor que aumenta con el número de usuarios.
Preferencia del Sistema Operativo
Si para el servidor Usted prefiere el sistema operativo Linux es probable que utilice el
servidor web Apache y una base de datos MySQL, ejecutando aplicaciones PHP o Java.
Si prefiere el sistema operativo Windows, entonces es probable que lo use con el
servidor web IIS y base de datos MS SQL, ejecutando aplicaciones ASP o .NET.
Base de Datos
Si Usted ya tiene una base de datos con información y desea crear un interfaz web para
ella, entonces su decisión de tecnología estará relacionada con el tipo de base de datos.
Por ejemplo, si usa una base de datos compatible con Windows, como ser MS Access o
MS SQL, debería probablemente considerar tecnología ASP o .NET en un servidor IIS
sobre Windows.
Si su base de datos existente es MySQL, entonces es probable que esté familiarizado
con Linux y debe considerar utilizar PHP.
Descargar