diseÑo web:asp,php, my sql

91
DISEÑO WEB UPOLI ESTELI 16-06-2010 UNIVERSIDAD POLITECNICA DE NICARAGUA SEDE ESTELI DISEÑO DE PÁGINA WEB ELABORADO POR: FRANKLYN NOEL GARCIA ARMIJO CORREO: [email protected] ORIENTADO POR: MARIO PASTRANA

Upload: fanky666

Post on 19-Jun-2015

2.582 views

Category:

Documents


0 download

DESCRIPTION

DISEÑO WEB:ASP,PHP, MY SQL...

TRANSCRIPT

Page 1: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

UNIVERSIDAD POLITECNICA DE NICARAGUA SEDE ESTELI

DISEÑO DE PÁGINA WEB

ELABORADO POR: FRANKLYN NOEL GARCIA ARMIJOCORREO: [email protected]

ORIENTADO POR: MARIO PASTRANA

ESTELI 16 JUNIO DEL 2010

Page 2: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

ASPActive Server Pages ( ASP) Active Server Pages (ASP), también conocido como ASP clásico, es una tecnología de Microsoft del tipo "lado del servidor" para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Services (IIS).La tecnología ASP está estrechamente relacionada con el modelo tecnológico de su fabricante. Intenta ser solución para un modelo de programación rápida ya que "programar en ASP es como programar en Visual Basic y C#", por supuesto con muchas limitaciones y algunas ventajas específicas en entornos web.Lo interesante de este modelo tecnológico es poder utilizar diversos componentes ya desarrollados como algunos controles ActiveX así como componentes del lado del servidor, tales como CDONTS, por ejemplo, que permite la interacción de los scripts con el servidor SMTP que integra IIS.Se facilita la programación de sitios web mediante varios objetos integrados, como por ejemplo un objeto de sesión basada en cookies, que mantiene las variables mientras se pasa de página a página.Ha pasado por cuatro versiones mayores:ASP 1.0 (distribuido con IIS 3.0)ASP 2.0 (distribuido con IIS 4.0)ASP 3.0 (distribuido con IIS 5.0)ASP.NET (parte de la plataforma .NET de Microsoft).

Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clásico.En el último ASP clásico, ASP 3.0, hay siete objetos integrados disponibles para el programador: Application, ASPError, Request, Response, Server, Session y ObjectContext. Cada objeto tiene un grupo de funcionalidades frecuentemente usadas y útiles para crear páginas web dinámicas.Desde 2002, el ASP clásico está siendo reemplazado por ASP. NET, que entre otras cosas, reemplaza los lenguajes interpretados como VBScript o JScript por lenguajes compilados a código intermedio (llamado MSIL o Microsoft Intermediate Language) como Visual Basic .NET, C#, o cualquier otro lenguaje que soporte la plataforma .NET. El código MSIL se compila con posterioridad a código nativo.Lista Redireccionar en ASP Sistema de Recomendación en ASP con CDONTS Redirigir al navegador a una URL con ASP al detalle Fechas en Español Proteger paginas con contraseña Obtener la dirección IP Contador simple de aplicación No enviar cookie de sesión DLL para mostrar fechas completas en ASP Cómo hacer zonas aleatorias en asp Trabajo con el buffer

Page 3: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

de la página Include. Incluir archivos ASP Números aleatórios Validar una fecha con ASP Detección de navegador AspUpload El archivo global.asa Formularios reentrantes en ASP Recoger valor del campo autonumérico después de insertar en ASP Utilizar funciones de VBScript con Jscript Tratar errores en sentencias SQL ejecutadas en ASP Contar usuarios activos en ASP Un Chat en ASP Comillas simples y bases de datos con ASP Validar e-mail con ASP Envío de E-Mails con CDONTS Cortar Cadenas en ASP Cómo crear un XML desde ASP Crear una galería de fotos en ASP Trabajando con Fechas y Horas en ASP

FUENTE DE INFORMACIÓN: http://es.wikipedia.org/wiki/Active_Server_Pageshttp://manualdeasp.com/codigos-asp/indice-codigos.html

PHP

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.

Visión general

PHP es un lenguaje interpretado de propósito general ampliamente usado, diseñado especialmente para desarrollo web y que puede ser incrustado dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los

Page 4: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La versión más reciente de PHP es la 5.3.2 (for Windows) del 04 de marzo de 2010.

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versión de PHP se la llama PHP CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

XAMPP 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 esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

Page 5: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Sun Microsystems, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. Existe un módulo para Eclipse, uno de los IDE más populares.

Historia

Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.

PHP 3

Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998.

Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat Gan, Israel.

PHP 4

En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de

Page 6: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

la versión 4 de PHP, a pesar de lo anunciado se ha liberado una nueva versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9 publicada el 7 de agosto de 2008. Según esta noticia se dará soporte a fallos críticos hasta el 2008-08-09,......

PHP 5

El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). La versión más reciente de PHP es la 5.3.2 (4 de marzo del 2010), que incluye todas las ventajas que provee el nuevo Zend Engine 2 como:

Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario, con PHP Data Objects.

Mejoras de rendimiento.

Mejor soporte para MySQL con extensión completamente reescrita.

Mejor soporte a XML ( XPath, DOM, etc. ).

Soporte nativo para SQLite.

Soporte integrado para SOAP.

Iteradores de datos.

Manejo de excepciones.

Mejoras con la implementación con Oracle.

Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.12 el 17 de diciembre de 2009, aunque la mayoría son actualizaciones de seguridad

PHP 6

Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6), pues se abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007.

Las diferencias que encontraremos frente a PHP 5.* son:

Page 7: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Soportará Unicode; limpieza de funcionalidades obsoletas como register_globals,

safe_mode, etc;

PECL y eliminación de soporte ereg;

mejoras en orientación a objetos;

inclusión en el núcleo de xmlReader y xmlWriter así como Fileinfo;

return por referencia devolverá un error;

se retira el soporte de las bibliotecas FreeType1 y GD21;

Características de PHP

Ventajas

Es un lenguaje multiplataforma. Completamente orientado al desarrollo de aplicaciones web dinámicas

con acceso a información almacenada en una Base de Datos.

El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.

Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).

Posee una amplia documentación en su página oficial entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

Permite aplicar técnicas de programación orientada a objetos.

Biblioteca nativa de funciones sumamente amplia e incluida.

Page 8: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.

Tiene manejo de excepciones (desde PHP5).

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).

Inconvenientes

La ofuscación de código es la única forma de ocultar los fuentes.

Aplicaciones desarrolladas con PHP

Redes Sociales o Facebook

o Tuenti

o Bixeando

E-Commerce

o Magento

o OsCommerce

o PrestaShop

Blogs

o WordPress

Burning Board

CMSformE

Page 10: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Frameworks en PHP

Zend Framework (Oficial, de los desarrolladores de PHP) Kohana

Symfony

CakePHP

PHP Prado

CodeIgniter

Yii Framework

Lithium

Sapphire

(Otros Frameworks en PHP)

IDEs para PHP

Algunos de los Entornos de Desarrollo Integrados, en inglés (IDE, Integrated Development Environment), para PHP más conocidos o habituales son:

Dreamweaver, comercial, de la casa Adobe actualmente en la versión CS5 (11.0.4909)

PDT, plugin de Eclipse: GPL - (Sun).

NetBeans , libre, multiplataforma, utiliza Symfony, auto-completado de código, auto-identador..

Zend Studio: Comercial - (Zend).

Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin para PHP. Está basado en Eclipse, pero posee características que lo hacen mas deseable que el Eclipse PDT; entre ellas: auto-completado de código, auto-identador.

Komodo IDE: Komodo Edit, libre y gratuito, el IDE es licencia comercial - (Mozilla).

NuSphere PhpED: Comercial, para linux y windows.

Quanta: GPL y gratuito, para GNU/linux con QT.

Page 11: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Bluefish: GPL y gratuito, para GNU/linux con GTK.

gEdit: Editor de texto por defecto en Gnome - (Linux).

Geany:GPL, para linux y Windows. Sumamente liviano. Incluye autocompletado, autoidentador, soporte para numerosos lenguajes.

phpDesigner: Comercial y Freeware, para linux y windows. Incluye integración con el manual, autocompletado en código y viene en varios idiomas.

Rapid PHP: Comercial, para windows.

AJAX PHP IDE: Entorno de desarrollo para PHP que utiliza funcionalidad AJAX en los eventos de los formularios diseñados. Separación de la lógica y el html.

FUENTE: http://es.wikipedia.org/wiki/PHP#Visi.C3.B3n_general

Python

Python es un lenguaje de programación interpretado creado por Guido van Rossum en el año 1991.

Se compara habitualmente con Tcl, Perl, Scheme, Java y Ruby. En la actualidad Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es la 3.1.1.

Python es considerado como la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar.

Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a GUI (interfaz gráfica con el usuario) como Tk, GTK, Qt entre otros.

Page 12: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Python se utiliza como lenguaje de programación interpretado, lo que ahorra un tiempo considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa.

El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python.El principal objetivo que persigue este lenguaje es la facilidad, tanto de lectura, como de diseño.

Características y paradigmas

Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación estructurada y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones.

Python usa tipificado dinámico y conteo de referencias para la administración de memoria.

Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos).

Otro objetivo del diseño del lenguaje era la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.

Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.

Filosofía

Los usuarios de Python se refieren a menudo a la Filosofía Python que es bastante análoga a la filosofía de Unix. El código que sigue los principios de Python de legibilidad y transparencia se dice que es "pythonico". Contrariamente, el código opaco u ofuscado es bautizado como "no

Page 13: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

pythonico" ("unpythonic" en inglés). Estos principios fueron famosamente descritos por el desarrollador de Python Tim Peters en El Zen de Python

Bello es mejor que feo. Explícito es mejor que implícito.

Simple es mejor que complejo.

Complejo es mejor que complicado.

Plano es mejor que anidado.

Ralo es mejor que denso.

La legibilidad cuenta.

Los casos especiales no son tan especiales como para quebrantar las reglas.

Aunque lo práctico gana a la pureza.

Los errores nunca deberían dejarse pasar silenciosamente.

A menos que hayan sido silenciados explícitamente.

Frente a la ambigüedad, rechaza la tentación de adivinar.

Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.

Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés. Ahora es mejor que nunca.

Aunque nunca es a menudo mejor que ya mismo.

Si la implementación es dificil de explicar, es una mala idea.

Si la implementación es fácil de explicar, puede que sea una buena idea.

Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!

Tim Peters, El Zen de Python

Desde la versión 2.1.2, Python incluye estos puntos (en su versión original en inglés) como un huevo de pascua que se muestra al ejecutar import this.

Page 14: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Modo interactivo

El intérprete de Python estándar incluye un modo interactivo, en el cual se escriben las instrucciones en una especie de shell: las expresiones pueden ser introducidas una a una, pudiendo verse el resultado de su evaluación inmediatamente. Esto resulta útil tanto para las personas que se están familiarizando con el lenguaje como también para los programadores más avanzados: se pueden probar porciones de código en el modo interactivo antes de integrarlo como parte de un programa.

Existen otros programas, tales como IDLE,bpython o IPython, que añaden funcionalidades extra al modo interactivo, como el auto-completar código y el coloreado de la sintaxis del lenguaje.

FUENTE: http://es.wikipedia.org/wiki/Python

APACHE

El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1y 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 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. Era, en inglés, a patchy server (un servidor "parcheado").

El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.

Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha

Page 15: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft).

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache.

Ventajas

Modular Código abierto

Multi-plataforma

Extensible

Popular (fácil conseguir ayuda/soporte)

Módulos

La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Algunos de estos módulos son:

mod_ssl - Comunicaciones Seguras vía TLS. mod_rewrite - reescritura de direcciones (generalmente utilizado para

transformar páginas dinámicas como php en páginas estáticas html para así engañar a los navegantes o a los motores de búsqueda en cuanto a cómo fueron desarrolladas estas páginas).

mod_dav - Soporte del protocolo WebDAV (RFC 2518).

mod_deflate - Compresión transparente con el algoritmo deflate del contenido enviado al cliente.

mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP.

Page 16: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets y JSP).

El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se encuentran:

mod_cband - Control de tráfico y limitador de ancho de banda. mod_perl - Páginas dinámicas en Perl.

mod_php - Páginas dinámicas en PHP.

mod_python - Páginas dinámicas en Python.

mod_rexx - Páginas dinámicas en REXX y Object REXX.

mod_ruby - Páginas dinámicas en Ruby.

mod_aspdotnet - Páginas dinámicas en .NET de Microsoft (Módulo retirado).

mod_mono - Páginas dinámicas en Mono

mod_security - Filtrado a nivel de aplicación, para seguridad.

Uso

Apache es usado primariamente 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, junto a MySQL y los lenguajes de programación PHP/Perl/Python (y ahora también Ruby).

Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux.

Page 17: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache, desde donde pueden ser compartidos.

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.

Microsoft Internet Information Services (IIS) es el principal competidor de Apache, así como Sun Java System Web Server de Sun Microsystems y un anfitrión de otras aplicaciones como Zeus Web Server. Algunos de los más grandes sitios web del mundo están ejecutándose sobre Apache. La capa frontal (front end) del motor de búsqueda Google está basado en una versión modificada de Apache, denominada Google Web Server (GWS). Muchos proyectos de Wikimedia también se ejecutan sobre servidores web Apache.

Configuración

La mayor parte de la configuración se realiza en el fichero apache2.conf o httpd.conf, según el sistema donde esté corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura de los archivos de configuración nuevamente.

Licencia

La licencia de software bajo la cual el software de la fundación Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de código abierto. La Licencia Apache permite la distribución de derivados de código abierto y cerrado a partir de su código fuente original.

La Free Software Foundation no considera a la Licencia Apache como compatible con la versión 2 de la GNU General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL:

Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible con la GPL porque tiene un requerimiento específico

Page 18: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

que no está incluido en la GPL: tiene ciertos casos de terminación de patentes que la GPL no requiere. No consideramos que dichos casos de terminación de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU GPL.

Sin embargo, la versión 3 de la GPL incluye una provisión (Sección 7e) que le permite ser compatible con licencias que tienen cláusulas de represalia de patentes, incluyendo a la Licencia Apache.

El nombre Apache es una marca registrada y puede ser sólo utilizada con el permiso expreso del dueño de la marca

FUENTE: http://es.wikipedia.org/wiki/Servidor_HTTP_Apache

Internet Information Services(IIS)

Internet Information Services , IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.

Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente (servidor web).

Los Servicios de Internet Information Services (IIS) proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor Web seguro. Si ha pensado alojar un sitio Web y FTP (File Transfer Protocol, Protocolo de transferencia de archivos) con IIS, configure el servidor como un servidor de aplicaciones.

El servidor web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas, por ejemplo Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl.

Versiones

IIS 1.0, Windows NT 3.51 Service Pack 3

Page 19: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

IIS 2.0, Windows NT 4.0

IIS 3.0, Windows NT 4.0 Service Pack 3

IIS 4.0, Windows NT 4.0 Option Pack

IIS 5.0, Windows 2000

IIS 5.1, Windows XP Professional

IIS 6.0, Windows Server 2003 y Windows XP Profesional x64 Edition

IIS 7.0, Windows Vista (Solo Bussines y Ultimate) y Windows Server 2008

IIS 7.5, Windows 7 y Windows Server 2008 R2

Historia

IIS fue inicialmente lanzado como un conjunto de servicios basados en Internet para Windows NT 3.51. IIS 2.0 siguió agregando soporte para el sistema operativo Windows NT 4.0 e IIS 3.0 introdujo las Páginas activas de servidor, esta tecnología es una plataforma de scripting dinámico.

IIS 4.0 eliminó el soporte para el protocolo Gopher y fue puesto con Windows NT como un CD-ROM de "Paquete Opcional" separado.

La versión actual de IIS es la 6.0 para Windows Server 2003 e IIS 5.1 para Windows XP Professional. IIS 5.1 para Windows XP es una versión compacta del IIS que soporta sólo 10 conexiones simultáneas y sólo un sitio web. IIS 6.0 ha agregado soporte para IPv6.

Windows Vista viene con IIS 7.0 preinstalado. No limitará el número de conexiones permitidas pero limitará el flujo de tareas basándose en las solicitudes activas concurrentes, mejorando el uso y el rendimiento en escenarios punto-a-punto (peer-to-peer).

Historia: Microsoft Internet Information Services (IIS):

1996 - IIS 1.0 - Añadido para Windows NT 3.51

• HTTP

Page 20: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

1996 - IIS 2.0 - Lanzado con Windows NT 4.0 RTM

• HTTP • FTP • Gopher

1996 - IIS 3.0 - Lanzado con el SP3 de Windows NT 4.0

• HTTP • FTP • Gopher

1996 - IIS 4.0 - Lanzado con Windows NT Option Pack de Internet

• HTTP • FTP • SMTP (sólo en el servidor) • NNTP (sólo en el servidor)

2000 - IIS 5.0 - Released with Windows 2000

IIS 5.0 - Lanzado con Windows 2000 • HTTP • FTP • SMTP (sólo en el servidor) • NNTP (sólo en el servidor)

2002 - IIS 5.1 - Released with Windows XP Professional 2002

IIS 5.1 - Publicada con Windows XP Professional • HTTP • FTP • SMTP SMTP

2003 - IIS 6.0 - Released with Windows Server 2003

IIS 6.0 - Fecha de lanzamiento de Windows Server 2003 • HTTP • FTP • SMTP (Nota: Un servicio POP3 también se incluye con Windows Server 2003, pero no como parte de IIS.)

2006 - IIS 7.0 - Released with Windows Server 2008

IIS 7.0 - Lanzado con Windows Server 2008 y Windows Vista • HTTP • FTP

IIS 7.5 - Lanzado con Windows Server 2008 R2 y Windows 7 • HTTP • FTP

FUENTE: http://es.wikipedia.org/wiki/Internet_Information_Services

IREPORT

Introducción a iReport

 La herramienta iReport es un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar para JasperReports escrito en Java. Este

Page 21: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imágenes, subinformes, etc. iReport está además integrado con JFreeChart, una de la biblioteca gráficas OpenSource más difundida para Java. Los datos para imprimir pueden ser recuperados por varios caminos incluso múltiples uniones JDBC, TableModels, JavaBeans, XML, etc.

Características de iReport

La lista siguiente describe algunas de las características importantes de iReport:

100% escrito en JAVA y además OPENSOURCE y gratuito. Maneja el 98% de las etiquetas de JasperReports

Permite diseñar con sus propias herramientas: rectángulos, líneas, elipses, campos de los textfields, cartas, subreports (subreportes).

Soporta internacionalización nativamente.

Browser de la estructura del documento.

Recopilador y exportador integrados .

Soporta JDBC.

Soporta JavaBeans como orígenes de datos (éstos deben implementar la interface JRDataSource).

Incluye Wizard’s (asistentes) para crear automáticamente informes .

Tiene asistentes para generar los subreportes

Tiene asistentes para las plantillas.

Facilidad de instalación.

Instalación de iReport

El iReport viene como un archivo comprimido. Esto contiene los archivos de distribución principales (clases y fuente), algunas plantillas para el ayudante (wizard), todos los .jar requeridos adicionales. Esta herramienta trabaja de manera integrada con el jasperreport, por lo tanto no se requiere una instalación adicional de jasper.

Page 22: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

El archivo puede descargarse desde http://sourceforge.net/projects/ireport/

Prerrequisitos

Necesitará disponer de lo siguiente:

Apache Ant IReport

Jassperreport-0.x.x (usar la versión que viene incluida con iReport)

Instalación y configuración del ambiente de trabajo

 Instalación de ANT

Descargar la versión apache-ant-1.6.2-bin.zip  o  superior. Descomprimir  el archivo zip.

Crear un directorio con el nombre ANT_HOME o ANT. En el directorio raiz. C:\.

Copiar el contenido de Ant en la carpeta creada.

Configurar las variables de entorno:

1. ANT_HOME = C:\ANT_HOME  o  ANT_HOME = C:\ANT

2. JAVA_HOME = C:\ jdk1.5.0

3. PATH = C:\ANT\bin

Instalación de iReport.

        Descargar la version  iReport-0.3.2.zip o superior.

        Descomprimir el archivo zip

        Crear un directorio con el nombre iReport en el directorio raiz C:\.

        Copiar en contenido del iReport en la carpeta creada.

Page 23: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

        Copiar el archivo tools.jar  que se encuentra en “C:\ jdk1.5.0\lib”del jdk al  directorio “C:\iReport\lib”

        Colocar  el Driver “classes12.jar” de oracle en el directorio “C:\iReport-0.2.2\lib”  (Aplica para cualquier driver JDBC que necesitemos)

        Configurar las variables de entorno:

1.      CLASSPATH: C:\iReport\lib\jasperreports-0.6.0.jar.

2.      CLASSPATH: C:\iReport\lib\itext-1.02b.jar (este archivo es para el uso de archivos pdf)

Finalmente deberá compilar los fuentes. Para esto ubíquese en C:\iReport y ejecute el comando ant

 

Levantando el iReport

Para levantar la aplicación del iReport, debe dirigirse hasta el lugar donde descomprimió los archivos, ahí ejecutar el comando iReport.bat como se muestra en la siguiente figura:

Otra forma de levantar la aplicación es a través de ANT, para ello se debe abrir una

Page 24: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

ventana de cmd, ubicarse en la ruta donde se encuentra instalado el iReport, ej : C:\iReport y colocar el comando ant iReport, como se muestra en la siguiente figura:

 

 La interfaz gráfica de iReport comienza a cargarse:

 

Page 25: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Configurar las opciones: Ir a Tools Options

Page 26: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Page 27: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Para configurar el idioma: ir a Tools Options

Luego presionar “Apply”  y por último “Save”. Notaremos como el idioma de la barra de herramientas ha cambiado en función de nuestra elección.

 

 Para empezar con iReports:

 Seleccionar “Project New”

Page 28: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Seleccionar “File New Document”

Aquí deberá definir el nombre del reporte, tamaño de la pantalla, orientación, márgenes, etc.

 La apariencia del layout (plantilla) de la página del reporte es la siguiente:

Page 29: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 

 

Donde:

 

title Aparece sólo al inicio del reporte. El título se escribe en está sección. Ejemplo: “Reporte de Desempeño de los empleados”

pageHeader Aparece en la parte superior de cada página. Puede contener información como la fecha y hora, nombre de la organización, etc.

columnHeader Sirve para listar los nombres de los campos que se van a presentar (desplegar). Por ejemplo: “Nombre del Empleado”, “Hora de Entrada”, “Hora de Salida”, “Horas trabajadas”, “Fecha”, etc. 

detail En esta sección se despliegan los valores correspondientes a las entradas de campos definidas en la sección anterior. Por ejemplo “Juan Perez”, “09:00”, “18:00”, “9”,”2005-04-27” 

columnFooter Puede presentar información sumarizada para cada uno de los campos. Por ejemplo “Total de Horas Trabajadas: 180”

Page 30: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

        pageFooter Aparece en la parte inferior de cada página. Este parte puede presentar, el contador de páginas como “Página 1/7”

summary Esta sección se usa para proporcionar información sumarizada de los campos presentes en la sección “detail” por ejemplo para el caso de las horas trabajadas de cada empleado se puede definir un objeto gráfico tipo “pie” para tener una mejor comparación  y comprensión visual de los datos.

 

Los objetos de texto, imágenes, etc pueden ser colocados en la plantilla del documento usando el método de arrastrar y pegar.

 

Para insertar texto puro usar: 

Para insertar campos (Fields) usar:

 

Cuando insertamos un objeto de texto lo haremos arrastrando el elemento hasta el lugar del documento donde queramos visualizarlo. Seguidamente se

presionará clic derecho para editar las propiedades del objeto y así poder definir los valores de fuente, bordes y el contenido mismo del texto.

Page 31: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

A medida que insertemos objetos de texto (estáticos y campos dinámicos), nuestro reporte empezará a definir la apariencia visual que buscamos.

Los documentos que se generan con iReports + jasperreports tienen varios valores que son seteables o configurables, estos son parámetros, campos (Fields) y variables:

a)Parámetros: son valores generales como el titulo del reporte / subreporte, ubicación, autor, etc.

b)Campos (Fields): son los campos tipo texto que llenaremos desde las consultas lanzadas a la aplicación durante la ejecución del reporte.

c) Variables: una variable es un valor calculado como una sumatoria.

 Para definir los parámetros se tiene que pulsar el botón “Parameters” desde la

Page 32: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

barra de herramientas

Page 33: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 Los objetos de tipo TextField, deben definir un campo field en su viñeta de propiedades y deben usar el key “textField”. En general debe configurarse como se indica en las siguientes pantallas.

 

Una vez que hemos terminado de diagramar nuestro reporte, debemos compilar y luego ejecutarlo. La herramienta nos permite tener una vista previa en varios formatos de la apariencia de nuestro documento.

Page 34: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 

Una vez compilado, se tiene que ejecutar el reporte. Para esto iremos a Build à Execute Report

Page 35: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 

Observamos que cuando no definimos un datasource los campos aparecen como null.

 Conexión con la Base de Datos.

 Seleccionar DataSource--> Connection/DataSource-->New

 

Name: Escribir el nombre de la base de datos. JDBC Driver: Seleccionar el Driver de la base de datos con la cual se

realizará la conexión.

JDBC URL: escribir la dirección URL de donde se encuentra alojado el ambiente de trabajo de la base de datos.

Especificar  la cadena de conexión con la base de datos, colocar usuario y password.

Salvar la configuración de la conexión.

Page 36: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 

Presionar el botón Test, para verificar que la conexión este correcta, para la cual deberá aparecer la siguiente ventana:

 

 Para seleccionar la conexión configurada:  Ir al Menú y seleccionar ” Build à Set Active Connection”. Aparecerá una pantalla como la que se muestra a continuación:

Page 37: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

 

Incluir clases en iReport

Pasos para incluir un clase java en el iReport:

Agregamos nuestros campos de la Base de Datos:

 

Creamos la clase que vamos a utilizar:

Page 38: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

  CalculosFecha.java

 import java.sql.*;

import java.util.*;

import java.text.*;

import net.sf.jasperreports.engine.*;

 

 public class CalculosFecha extends JRDefaultScriptlet

{

            public static String user = "xxxxxx";

            public static String pasw = "xxxx";

            public static String driver = "oracle.jdbc.driver.OracleDriver";

            public static String url = "xxxxxx";

            public static ResultSet rs = null;

            public static Statement st = null;

            public static Connection cn = null;

            public static PreparedStatement pst = null;

            public static int per=0;

  

/*

            Datos del Reporte

*/

Page 39: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

            public String hello() throws JRScriptletException

            {

                        return "Mi Primera clase";

            }

}

Le indicamos que vamos a usar una clase:

Uses this Scriplet class..

Le colocamos el nombre de la clase: CalculosFecha (en este caso)

 

Page 40: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Agregamos la descripción de la clase en el iReport:

 TextField Expresión:((CalculosFecha)$P{REPORT_SCRIPTLET}).hello()

 

Compilamos desde mi servidor web, porque si lo hago directamente del iReport me dara error. Entonces lo compilos desde el WEB-SERVER.

   

<!--/*

*********************************************************************

*          Formulario: scriplet.jsp.                                                                                      *

*          Autor: Delia M Medina

Page 41: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

C.                                                                                  *

*          Fecha de Creacion: 28-09-2004                                                                          *

**********************************************************************

*          Funcion:                                                                                                         ****

**********************************************************************

*/-->

<%@ page import="net.sf.jasperreports.engine.*" %>

<%@ page import="net.sf.jasperreports.engine.design.*" %>

<%@ page import="net.sf.jasperreports.engine.data.*"%>

<%@ page import="net.sf.jasperreports.engine.export.*"%>

<%@ page import="net.sf.jasperreports.engine.util.*"%>

<%@ page import="net.sf.jasperreports.view.*"%>

<%@ page import="net.sf.jasperreports.view.save.*"%>

<%@ page import="java.sql.*"%>

<%@ page import="java.util.*" %>

<%@ page import="java.io.*" %>

<html>

<head><title>Generando Reporte Nomina...............</title>

Page 42: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

<%

            System.out.println("Comienza el Reporte----------------------------");

 

 %>

 

<script language="JavaScript">

function regresar(){

            history.back();

}

function error(){

            alert("Error encontrando procesando el periodo: " + periodo);

            history.back();

}

</script>

<head>

<%

try{

            ResultSet rs = null;

            Statement st = null;

            String sql = null;

            String driver = "oracle.jdbc.driver.OracleDriver";

Page 43: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

            String connectString = "********";

            String user = "***************** ";

            String password = "*********";

            Class.forName(driver);

            Connection conn = DriverManager.getConnection(connectString, user, password);

            /////////////////////////////////////////////

            System.out.println("********Compilamos pago_nomina.jrxml OK********");

            System.setProperty(

                        "jasper.reports.compile.class.path",

                        application.getRealPath("/WEB-INF/lib/jasperreports-0.6.0.jar") +

                        System.getProperty("path.separator") +

                        application.getRealPath("/WEB-INF/classes/")

                        );

            System.out.println("*****Cargamos el jasperreports-0.6.0.jar OK*********");

            System.setProperty(

                        "jasper.reports.compile.temp",

                        application.getRealPath("/reports/")

                        );

 

Page 44: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

            JasperCompileManager.compileReportToFile(application.getRealPath("/reports/mipagina.jrxml"));

           

            System.out.println("******Fin de la Compilamos el archivos***********");

            /////////////////////////////////////////////

 

            File reportFile = new File(application.getRealPath("/reports/mipagina.jasper"));

 

            Map parameters = new HashMap();

                                                

            byte[] bytes =

                        JasperRunManager.runReportToPdf(

                                   reportFile.getPath(),

                                   parameters,

                                   conn

                                   );

           

            response.setContentType("application/pdf");

            response.setContentLength(bytes.length);

            ServletOutputStream ouputStream = response.getOutputStream();

Page 45: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

            ouputStream.write(bytes, 0, bytes.length);

            ouputStream.flush();

            ouputStream.close();

           

            System.out.println("jasperPDF OK..............");

            ///////////////////////////////////////////////////////////////

            System.out.println("Fin del reporte pago_reporte_nomina.............");

           

                                   }catch (JRException e)

                                   {System.out.println("Error:" +e.getMessage());}

                                   catch (Exception e)

                                   {

                                   e.printStackTrace();

                                   System.out.println("Error2:" +e.getMessage());

                                   }         

%>

<body >

</body>

</html>

 

Page 46: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

FUENTE:http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=ireport

ASP CON APACHE

Con este breve texto analizaremos algo que a muchos les parecerá impensable: veremos cómo utilizar los documentos ASP con Apache.

Los active Server Pages (ASP) son una aplicación que tuvo origen con la

Page 47: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

introducción del servidor IIS de Microsoft, y que normalmente no se encuentran en los sistemas Unix que trabajan con un servidor de red diferente del IIS.

Sin embargo, no es acaso cierto que todo tiene una solución. Veamos pues. Aquí presentamos la mejor para los que quieran utilizar documentos escritos en ASP, también con Apache. Será suficiente tener un poco de paciencia en la fase de configuración de Apache con respecto a la interacción con el módulo, no inmediata pero bien documentada.

Además vista la gran difusión de esta tecnología, es verdaderamente interesante el proyecto de hacer que esta tecnología sea independiente de la plataforma utilizada.

Pues sí, ahora tenemos que volver a cuestionar el extraordinario discurso que hicimos a propósito del módulo. Sin embargo, no encuanto al nivel de la potencialidad del mismo que, como vimos poco antes, permite una plena utilización de documentos escritos con tecnología ASP de forma completamente transparente para el usuario que lo implemente.

Los "errores" a los que nos referimos son fundamentalmente dos.

El primero es una cierta dificultad de instalación y, sobre todo, de configuración del servidor de la red para la interacción con el módulo. Aunque la documentación intente ayudar al usuario lo más posible con muchos ejemplos, no lo servirá para los que no tengan demasiada familiaridad con el servidor de la red de Apache. Realmente serán necesarias profundas modificaciones al archivo access.conf para que la interacción entre servidor de la red, módulo y páginas ASP sea efectiva. Sin embargo, cito de la documentación que, a propósito de los directorios que hay que planificar, Don't set the optional ones if you don't want, the defaults are fine...". Seguramente se necesitará muy poco para que todo funcione. Sin embargo, para una completa y detallada puesta a punto, hay que saber qué planificar y cómo hacerlo: sobre todo para los aparatos utilizados como servidor de la red con sesiones de trabajo elevadas, la puesta a punto global del sistema no sólo se aconseja, sino que es una verdadera necesidad.

El segundo aspecto negativo en el que tenemos que centrarnos es la elevada solicitud de recursos del sistema utilizados por el módulo. Comprenderéis que con IIS el servidor de la red interpreta directamente los documentos ASP. En

Page 48: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

un aparato Unix en cambio las partes involucradas ya no solamente dos, sino que al servidor de la red y a los documentos se interponen el módulo Apache::ASP y, obviamente, el interprete Perl. Si esto os parece todavía poco, reproduzco las primeras líneas del módulo:

use Apache();use MLDBM;use SDBM_File;use Data::Dumper;use File::stat;use File::Basename;use FileHandle;use Fcntl qw( O_RDWR O_CREAT );use MD5;use HTTP::Date;

Otros diez módulos que Apache: ASP tiene que ir a leer para poder interpretar los documentos ASP y visualizar la salida.

Es de esperar que, con las próximas releases del módulo, se produzcan mejorías también por lo que se refiere a la ligereza del mismo, evitando así cargas demasiado elevadas para los aparatos.

FUENTE: http://www.htmlpoint.com/apache/07.htm

PHP CON APACHE

En este artículo vamos a explicar cómo instalar PHP como módulo de Apache 2.0 en un sistema Windows. Para las pruebas hemos utilizado Windows XP, pero seguro que con otros sistemas el proceso será muy parecido, aunque, en todo caso, indicaremos las diferencias documentadas en el sitio de PHP.

Referencia: Vamos a suponer que el servidor de páginas web Apache 2.0 está instalado en nuestro sistema. No obstante, para los que no lo tengan, les referimos a nuestro manual de instalación y configuración de Apache.

Page 49: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Descargar y descomprimir PHP

El primer paso consiste en descargar la última versión de PHP. Podremos hacerlo desde la página oficial de PHP, en la sección de descargas. http://www.php.net/downloads.php Debemos elegir la versión "zip package" que contiene todas las funcionalidades de PHP y el módulo necesario para instalarlo en Apache.

Una vez descargado el paquete comprimido en .zip de PHP necesitamos descomprimirlo en nuestro disco duro. Podemos utilizar el directorio raíz del disco duro para descomprimir los archivos. En ese caso, se creará un directorio llamado algo como "php-4.3.1-Win32" que colgará de nuestro directorio raíz. Se recomienda cambiar el nombre del directorio creado a algo como "c:php". En todo caso, nos advierten en la página de PHP sobre no colocar ningún nombre de directorio que contenga espacios, pues algún servidor web puede dar problemas. Por ejemplo, cuidado con instalar PHP en un directorio como este "c:archivos de programaphp", pues en la ruta tenemos directorios con espacios.

Copia de las DLL

A continuación nos informan sobre la necesidad de copiar en nuestro directorio de sistema una serie de librerías (.dll), que encontraremos en el directorio sapi de nuestra instalación de PHP, supuestamente algo como "c:phpsapi",

El mencionado directorio de sistema puede variar de unas versiones a otras de Windows. En Windows XP, el directorio de sistema donde debemos copiar las dll, es "C:WINDOWSsystem32". En Windows 9x/ME, el directorio sería "C:WindowsSystem" y en Windows NT/2000 sería el directorio "C:WINNTSystem32" o bien, "C:WINNT40System32".

Nota: no se deben mezclar las DLL de diversas versiones de PHP, porque de lo contrario, podría causarnos problemas.

Definir un archivo php.ini

Otro archivo que debemos copiar, esta vez en nuestro directorio Windows, es el php.ini, que guarda las opciones de configuración definidas para PHP. En la distribución de PHP se incluyen dos archivos php.ini que podemos utilizar directamente en nuestro sistema. Estos dos archivos se llaman "php.ini-dist" y

Page 50: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

"php.ini-recommended" y contienen unas opciones típicas de configuración de PHP. Se recomienda utilizar "php.ini-recommended", porque viene optimizado para obtener los mejores niveles de seguridad. En cualquier caso, podemos editar en cualquier momento el contenido del archivo para modificar la configuración de PHP a nuestro gusto o necesidades.

Para definir el php.ini debemos hacer una copia del archivo de configuración escogido ("php.ini-dist" o "php.ini-recommended") y renombrarlo como el "php.ini". Posteriormente debemos copiarlo en nuestra carpeta Windows, que en sistemas 9x/ME/XP es "c:windows" y en sistemas NT/2000 suele ser "c:WINNT", o bien "c:WINNT40".

Editar httpd.conf

Posteriormente deberemos editar nuestro archivo de configuración de Apache, llamado "httpd.conf" que está en el directorio "conf" de nuestra instalación de Apache. También podemos encontrar un acceso directo para editar este archivo accediendo a Inicio - Programas - Apache HTTP Server - Configure Apache HTTP Server - Edit httpd.conf configuration file.

Debemos añadir un par de líneas de configuración del módulo de Apache.

LoadModule php4_module C:phpsapiphp4apache2.dll AddType application/x-httpd-php .php

El lugar adecuado para añadir esas líneas es en el bloque de carga de módulos, que podemos encontrar si buscamos por el texto "LoadModule". Podemos añadir las líneas de carga del módulo PHP después de la carga de los otros módulos que vienen ya configurados en archivo httpd.conf de Apache.

Si no instalamos PHP en el directorio c:php, debemos editar las líneas a colocar en el httpd.conf para colocar la ruta correcta al directorio donde está la librería php4apache2.dll.

Un último paso

Antes de acabar y probar si PHP se ha instalado correctamente, necesitamos copiar una dll en el directorio sapi. Concretamente, la dll "php4ts.dll", que podemos encontrar en nuestro directorio de instalación de PHP es la que debemos copiar al directorio sapi, algo como "c:phpsapi".

Page 51: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Nota: Esta acción no viene documentada en el manual de PHP, aunque sí no la llevamos a cabo no funcionará.

El error que obtenemos al tratar de arrancar el Apache es algo como:

Syntax error on line 173 of C:/Archivos de programa/Apache Group/Apache2/conf/httpd.conf: Cannot load C:/php/sapi/php4apache2.dll into server: No se puede encontrar el módulo especificado.

Otra configuración que podemos aplicar al archivo httpd.conf es definir también como documento por defecto el archivo index.php en nuestro servidor Apache. El documento por defecto es generalmente index.html, pero lo habitual si vamos a programar con PHP es que también necesitemos definir index.php como documento a mostrar si no se indica otro documento del directorio al que se está accediendo.

El documento por defecto se define con la variable DirectoryIndex. Nos quedará una deninición como esta:

DirectoryIndex index.html index.html.var index.php

Probar si PHP está funcionando correctamente

Para terminar, podemos crear una página de prueba de PHP, que colocaremos en nuestro directorio de publicación de Apache, generalmente llamado htdocs, que se aloja dentro del directorio donde se ha instalado Apache, algo como "C:Archivos de programaApache GroupApache2htdocs"

Podemos crear un archivo llamado, por ejemplo, "prueba.php", en el que colocaremos dentro el siguiente código:

<? phpinfo() ?>

Esta función simplemente creará una página de muestra de las configuraciones definidas para PHP en ese servidor.

Page 52: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Para acceder al archivo creado desde nuestro explorador, escribiremos en la barra de direcciones esta URL:

http://localhost/prueba.php

Debería aparecer un resultado como el de la siguiente imagen.

PHP CON IIS

Descargar archivos de http://www.php.net/downloads.php#v5

Se recomienda bajar los archivos PHP 5.2.1 zip package y las extensiones adicionales PECL PECL 5.2.1 Win32 binaries

1. Crear directorio en C:PHP y extraer los archivos de ph 5.21zip package y extraer los archivos de PECL 5.2.1 WIN32 binaries en el directorio C:PHPEXT.

2. Renombrar el archivio php.ini-recommended como php.ini

3. Modificar archivo php.ini en las siguientes variables short_open_tag = On extension_dir = "c:phpext" cgi.force_redirect = 0

Page 53: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

4. Copiar php.ini a c:windows o c:winnt

5. Registrar la DLL regsvr32 php5activescript.dll

6. Agregar ruta de del directorio php y las extenciones en la opcion de Environment Variable de windows2003

7. Configuración en IIS

Page 54: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Page 55: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

8. Configurando extensiones en IIS

Page 56: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

9. Probando PHP

Crear archivo index.php en C:Inetpubwwwroot

Page 57: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Copiar el codigo siguiente en el archivo

<<?php// testing sessions// check to see if files are being created// in the session.save_path foldersession_start();?><html><head><title>PHP Test</title></head><body><p>The browser you're using is<?php echo $_SERVER['HTTP_USER_AGENT']; ?></p><p><!-- test the browscap setup -->Your browser's capabilities are: <br/><pre><?php print_r(get_browser(null, true)); ?></pre></p><?php phpinfo(); ?></body></html>

2. Abrir IE6 y poner la dirección http://localhost/index.php, si le da error verificar los pasos de la instalación.

Si no da error saldra una pantalla con información sobre la versión de php.

FUENTE: http://www.desarrolloweb.com/articulos/1380.php

ISS CON ASP

El Internet Information Server (ISS) es el servidor Web, incluido en Windows. Si bien viene en el CD de Windows, a veces no esta instalado o funcionando en nuestros PC. Es por ello que veremos los pasos para su instalación y puesta a punto.

Page 58: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Existen 2 formas de llegar a la instalación de este paquete, estas son:

Desde el Panel de Control Con el CD de Windows

Instalación desde el CD de Windows

Insertamos el CD, y vamos a Instalación de Componentes Opcionales de Windows

o bien ..

Instalación desde el Panel de Control

Vamos al Panel de Control (con Inicio, Configuración, Panel de Control, o Mi PC, Panel de Control)

Page 59: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Luego Agregar Quitar Programas y Agregar Quitar Componentes de Windows

Page 60: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

En la ventana de Componentes Adicionales de Windows, debemos elegir Servicios de Internet Information Server, y le damos en Detalle

Page 61: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Fuimos a Detalle, para asegurarnos de marcar todos los elementos, de forma que no tengamos inconvenientes de faltantes cuando avancemos con ASP y/o ASP.NET

Page 62: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Finalmente, salimos con Aceptar de la ventana de Servicios de IIS, y nuevamente Aceptar en la ventana de Componentes de Windows, y cerramos el Panel de Control

Con estos sencillos pasos estaría listo nuestro Servidor Local de Paginas Web's, soportando ASP y ASP.NET

En nuestro disco duro, la carpeta por defecto sera c:\inetpub\wwwroot que equivale a http://localhost

Hagamos ahora nuestro primer y sencillo ASP para comprobar el funcionamiento de nuestro Servidor Web Local:

Vamos a Inicio Ejecutar

escribimos notepad c:\inetpub\wwwroot\index.asp

le diremos que queremos crear un archivo (ya que no existe)

Page 63: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

y adentro escribimos<%Response.Write("Nuestro Primer ASP, www.tallerwebmaster.com")%>

Y cerramos el Block de Notas, guardando el archivo

Solo nos queda probar nuestra pagina recien creada y el funcionamiento del IIS, para esto abrimos nuestro navegador web y digitamos:

http://localhost/index.asp

Listo !! veremos como en la imagen, nuestro Servidor esta funcionando ;)

FUENTE: http://www.tallerwebmaster.com/tutorial/instalacion-de-iis-para-paginas-asp/31/

PROGRAMAS PARA SUBIR ARCHIVOS A MI SERVIDOR WEB

Page 64: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

FTP: Bueno, para los que terminaron de leer el manual de html y no sepan subir archivos via FTP, aqui va un mini-manual:

1) Escoger un host (el q quieras para tu web). Puede ser:www.geocities.comwww.miarroba.comwww.shinranet.comwww.sponsoradulto.com (sin publicidad)www.iespana.es2) Cuando crees la cuenta, te van a mandar un mail (o en la web ya están los datos) con datos, que son:-Host: deberia tener algo asi: ftp.dominio.com o ftp.usuario.dominio.com-Usuario: tu nombre de usuario-Constraseña: tu contraseña.3) Usar un programa para subir los archivos, descarga el FileZilla o el CuteFtp. En este caso va a ser con el FileZilla.4) Lo instalas y lo abres, vas a aqui una imagen para saber que poner:

5)Le das a QUICKCONNECT para conectarte a tu servidor.6) Para subir archivos al servidor o bajar archivos del servidor a tu pc, click con el boton derecho del mouse sobre el archivo y despues le das a Upload para subir el archivo o Download para bajarlo

DREAMWEAVER: Vamos a subir la página que hemos hecho anteriormente, es muy sencillo, hacerlo con Dreamweaver, debemos tenerlo configurado, tal y como explicamos en el tutorial anterior.

Page 65: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Abrimos nuestra página en el Dreamweaver, para subirla tenemos dos opciones, vamos a trabajar las dos:

1.- A través del menú Sitio:

Nos fijamos que en la ventana de nuestro documento, está la página que desamos subir a nuestro servidor, y tan solo hay que hacer click en

Sitio > Colocar

Se nos abre un cuadro de dialogo, preguntandonos si queremos subir los archivos dependientes de nuestra página, esto es, que suba tambien todo lo que forma nuestra página, es decir, las imagenes, fondos, música si la hubiera, es decir cualquier elemento que forme parte de la misma. Como nosotros no hemos subido nada de esta página, le damos a aceptar, para que vaya subiendo todo, si en breve hicieramos cualquier modificación, que no conllevara ninguna modificación en las imagenes u objetos de nuestra página, no tenemos por qué subir esos archivos dependientes, ya que con ellos, ahorrariamos tiempo.

Y ya tenemos subida nuestra primera página web.  Sencillo verdad?

2.- La segunda posibilidad es a través de la ventana de archivos remotos y locales, damos click en el icono para abrirla:

Page 66: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

Si no se ve nuestro sitio web, tan solo debemos dar click al icono de conectar, y una vez en las dos ventanas podamos ver los archivos correspondientes a nuestro sitio web y nuestro sitio de trabajo en el pc, tan solo debemos arrastrar nuestra página hacia el sitio web, tambien en esta ocasión nos pedirá si queremos subir tambien los archivos dependientes.

Como veis no es nada complicado, la verdad que Dreamweaver, nos facilita mucho el trabajo, y con eso tambien ahorramos tiempo.

FUENTE: http://www.simplemachines.org/community/index.php?topic=53856.0

ASP PURO: Permitirle al cliente subirle archivos al servidor es algo muy comun y cada vez mas necesario para que los sitios web sean mas dinámicos y configurables. Veremos una solucion rapida para realizar esta misión

Existen componentes para realizar la tarea (algunos muy buenos y recomendables) pero si no queremos hacer uso de ellos porque no siempre nuestro hosting permite instalarlos (algunas veces hay que pagar adicinonales), podemos hacer un upload por ASP PURO

ara el ejemplo, vamos a usar un script que lo pueden Descargar AquiEl ZIP contiene 2 archivos.

freeASPUpload.asp Corazon del upload. Clase implementada con sus metodos y propiedades(no hace falta que entendamos o miremos este archivo, salvo que nos interese, por supuesto)

PruebaUpload.asp Ejemplo de upload. (es el código que está aqui abajo)

Page 67: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

En realidad el código de aqui abajo esta simplificado para explicar ahora un poco como se maneja el upload. El ejemplo que está en el ZIP para descargar está mas completo y mejor, pero para explicar por primera vez, creo mas fácil un ejemplo con menos cosas...

Explicacion en detalle del script (el ejemplo)

La primera línea importante del script es la linea del Include: <!-- #include file="freeaspupload.asp" --> la cual llama al archivo freeASPUpload.asp (que como dije antes, es el corazon de todo esto). Sin esta linea nada funcionará

Luego mas abajo hay un comentario que básicamente lo que dice es que hay que configurar el directorio de destino donde los archivos subidos van a quedar. Esto se hace en una variable que está justo alli, en el ejemplo se llama uploadsDirVar. (Leer el comentario. Habla sobre permisos de escritura, etc.)

Luego aparece una funcion llamada SaveFiles y es la que se encarga de efectuar la subida de los archivos. Es la funcion que deberemos llamar para hacer el upload (internamente digamos, esta funcion hace uso del archivo freeASPUpload.asp)

Explicacion dentro de la funcion. Hay dos lineas principales e imprescindibles: Set Upload = New FreeASPUploadUpload.Save(uploadsDirVar)La primer linea crea un objeto de la clase FreeASPUpload y la segunda llama al método Save, produciendo el upload de los archivos.

Luego restaría explicar un poco de HTML. El formulario tiene que ser asi: <FORM METHOD="POST" enctype="multipart/form-data">Y luego los campos de texto deben ser algo asi: <INPUT NAME="archivo1" TYPE="FILE">

Todo esto que estoy diciendo, está reflejado en el script de aqui abajo

<%option explicitResponse.Expires = -1Server.ScriptTimeout = 600

Page 68: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

%><!-- #include file="freeaspupload.asp" --><%' ****************************************************' Cambiar el valor de la siguiente variable' para indicar el directorio de destino.' El directorio indicado debe tener permisos de escritura' de caso contrario el script fallará mostrando un error.Dim uploadsDirVaruploadsDirVar = "C:\Inetpub\wwwroot\" ' ****************************************************

Function SaveFilesDim Upload, ks, resumenSet Upload = New FreeASPUploadUpload.Save(uploadsDirVar)If Err.Number <> 0 then Exit functionks = Upload.UploadedFiles.keysif (UBound(ks) = -1) then resumen = "No es un nombre valido en el sistema."SaveFiles = resumenend function%>

<HTML><HEAD><TITLE>Test Free ASP Upload</TITLE></HEAD><BODY><br><div style="border-bottom: #A91905 2px solid;font-size:16">Subir archivos</div><div style='margin-left:150'>

<form name="frmSend" method="POST" enctype="multipart/form-data" action="pruebaupload.asp">Archivo 1: <input name="attach1" type="file" size="35"><br>Archivo 2: <input name="attach2" type="file" size="35"><br><br><input type=submit value="Upload"></form>

Page 69: DISEÑO WEB:ASP,PHP, MY SQL

DISEÑO WEB UPOLI ESTELI 16-06-2010

<BR></div><%'solo llamo al UPLOAD si hay envio de formularioif Request.ServerVariables("REQUEST_METHOD") = "POST" thenresponse.write SaveFiles()end if%></BODY> </HTML>

Este ejemplo que manejamos aqui, es una "modificación" de su original, al cual le debemos las gracias. El sitio oficial es este: Free ASP Upload. Aqui hay una explicación (en ingles) del script y explica algunas cosas más.

FUENTE: http://www.soloasp.com.ar/vereje.asp?eje=51