Tecnologías de desarrollo web

272 views

Published on

todo lo de PHP

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
272
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tecnologías de desarrollo web

  1. 1. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 1 de 12 TECNOLOGÍAS DE DESARROLLO WEB  Tecnología de Desarrollo ZEND El motor Zend es un motor de procesamiento para la interpretación y cifrado del código PHP, desde la versión 4. Desarrollado por Zend Technologies para brindar un equipo de soporte y acelerar la carga de aplicaciones realizadas con PHP. Entre las funciones más importantes que realiza este motor de procesamiento está la posibilidad de cifrar el código fuente de las páginas desarrolladas en PHP para así luego hacer posible la comercialización de este. Debido a las limitaciones de este sistema en volcar el desarrollo de PHP a una índole comercial, un grupo de gurus hackers desarrolladores en PHP se dieron a la tarea de crear un algoritmo que descifrara el código generado por el motor, cosa que fue lograda poco después de su lanzamiento. Lenguajes de programación WEB: PHP El PHP (acronimo de PHP: Hypertext Preprocessor), es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor. El PHP inicio como una modificación a Perl escrita por Rasmus Lerdorf a finales de 1994. Su primer uso fue el de mantener un control sobre quien visitaba su curriculum en su web. “El PHP es un lenguaje de script incrustado dentro del HTML. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas de si mismo. La meta del lenguaje es permitir rápidamente a los desarrolladores la generación dinámica de páginas”. Características • Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos. • Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
  2. 2. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 2 de 12 • El código fuente escrito en PHP es invisible al navegador web 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 módulos (llamados ext's o extensiones). • Posee una amplia documentación en su sitio web 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. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología. • 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, aun haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de 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 (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. Inconvenientes • Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede resultar un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero no necesariamente impide que el código sea examinado.
  3. 3. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 3 de 12 • Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipeado del código, aunque esto no es realmente un inconveniente del lenguaje en sí. Esto es solventado por Zend Studio añadiendo un comentario con el tipo a la declaración de la variable. Entornos de desarrollo integrados para PHP Eclipse PDT, ZEND Studio, NetBeans, PHPEd y PHPDesigner. PHP se ha utilizado para desarrollar sitios web dinámicos por más de 10 años. Inicialmente si no todos los sitios web fueron escritos en PHP, código embebido dentro de HTML(intercalados en la misma página). Esto funcionó muy bien, ya que habia un respuesta rápida de lo que uno estaba desarrollando, ademas de comandos simples. PHP creció en popularidad a través de versiones 3 y 4, por lo que fue inevitable que las aplicaciones más y más grande sean escritos en PHP. Rápidamente se hizo evidente que la mezcla de codigo PHP y HTML no era una solución a largo plazo para los sitios de gran tamaño. Los problemas son evidentes, la mantenibilidad y la extensibilidad. Mientras que PHP mezclado con HTML permite obtener resultados muy rápidos, es difícil continuar para actualizar la página web a largo plazo. Una de las características realmente buenas de la publicación en la web es que es dinámica, con contenidos y diseños de página cambiantes. Grandes sitios de internet cambian todo el tiempo y la mirada y sentir de la mayoría de los sitios se actualizan regularmente, como las necesidades de los usuarios (y los anunciantes), algo había que hacer. Introducción a la estructura de sitios web PHP La solución a esta maraña de código PHP y HTML en un página web es la estructura. El enfoque más básico para la estructuración de aplicaciones dentro de los sitios PHP está el concepto de “separación de preocupaciones”. Esto significa que el código que hace la pantalla no debería estar en el mismo archivo que el código que se conecta a la base de datos. Lo ideal sería separar el código que conecta a la base de datos en otro archivo llamado db.inc.php. Tras haber separado el código de base de datos, a continuación parece lógico también separar el código que muestra el encabezado y el pié de páginas comunes. Aquí es donde entra Zend Framework que apoya el diseño Modelo-Vista-Controlador que ayuda a organizar los archivos de aplicaciones web. Este patrón de diseño se muestra en la figura 1.2
  4. 4. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 4 de 12 ¿Por qué el uso de Zend Framework? Zend Framework provee un conjunto estandarizado de componentes que permiten un fácil desarrollo de aplicaciones web que puede ser fácilmente desarrollado, mantenido y mejorado. Zend Framework tiene una serie de características clave que hacen que valga la pena investigar:  Todo esta en la caja (ya hecha)  Tiene un diseño moderno  Es fácil de aprender  Tiene toda la documentación  El desarrollo es simple y rápido  Dicha lista es dura al principio así que echemos un vistazo a cada elemento y ver lo que significa para nosotros como desarrolladores de sitios web. Todo está en la caja Zend framework es un marco global débilmente acoplados que contiene todo lo que necesita un desarrollador en sus aplicaciones. Esto incluye un robusto componente MVC para garantizar que su sitio web está estructurando de acuerdo a las mejores prácticas de programación y otros componentes como la autenticación de usuarios, la búsqueda, localización, creación de PDF, correo electrónico y conexiones a los servicios web, junto con algunos elementos más. Diseño Moderno Zend Framework está escrito en PHP5, orientado a objetos utilizando modernas técnicas de diseño conocido como patrones de diseño. El framework reconoce la forma en PHP y no te obligan a usar todos los componentes, por lo que son libres de escoger y elegir. Esto le permite colocar componentes específicos como Zend_Search, Zend_Pdf o Zend_Cache en el proyecto actual sin tener que reemplazar todo el resto de su código de proyecto. Fácil de Aprender Afortunadamente Zend Framework es modular, osea que usaremos componentes a voluntad, esto hace que sea fácil de aprender, un paso a la vez. Los componentes individuales no dependen de un montón de otros componentes, por lo que son fácil de aprender. El diseño de cada componente es tal que no es necesario entender cómo funciona en su totalidad cada componente.
  5. 5. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 5 de 12 Desarrollo Rápido Zend Framework hace que sea fácil poner en marcha una aplicación web o añadir nueva funcionalidad a un sitio web actual. El framework proporciona muchos componentes para una aplicación, por lo que son libres para concentrarse en las partes centrales de su solicitud. Usted puede empezar a trabajar rápidamente en una pieza dada de funcionalidad y de inmediato ver los resultados. En otras palabras, usted no tiene que configurar un montón de ajustes de configuración para cada componente. Una vez que está en marcha, añadiendo una nueva página a su aplicación puede ser tan fácil como añadir una nueva función a una clase, junto con un archivo de vista en el directorio correcto. Del mismo modo Zend_Session ofrece una multitud de opciones que pueden ajustarse de modo que usted puede manejar su periodo de sesiones tal y como desea. Estructura de código fácil de mantener También significa que cuando usted está corrigiendo errores, es más fácil encontrar dichos errores. Del mismo modo cuando es necesario desplegar una nueva función en el código solamente los archivos necesarios que necesita ver estarán relacionados con la lógica de visualización. ¿Qué es Zend Framework? Zend Framework es una librería PHP para la creación de aplicaciones web. Los componentes se unen para proporcionar un completo framework con todos los componentes necesarios. Esta descripción bastante simple no cuenta toda la historia aunque veremos más adelante lo que actualmente aporta.
  6. 6. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 6 de 12  TECNOLOGÍA .NET ASP:NET ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET está construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. Cualquier persona que está familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Para el programador de nivel intermedio, el conocimiento y las habilidades que se necesitan para desarrollar aplicaciones web requieren de un mayor conocimiento tanto de lenguajes de programación, etiquetado y formato, como de diversas tecnologías de software relativas al desarrollo distribuido y concurrente, de las que son necesarias en el desarrollo tradicional de aplicaciones. CARACTERÍSTICAS PRINCIPALES DE ASP.NET Las páginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web. Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> que es muy similar a otras tecnologías de desarrollo
  7. 7. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 7 de 12 como PHP, JSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página. ASP.NET sólo funciona sobre el servidor de Microsoft IIS, lo que supone una desventaja respecto a otros lenguajes del lado de servidor, ejecutables sobre otros servidores más populares como Apache. Internet Information server (IIS) Para albergar las paginas ASP.NET creadas junto con las aplicaciones es necesario instalar un servidor Web, aunque en realidad en Servidor Web no será quine ejecute las páginas Web sino la Plataforma .NET. Los componentes de IIS convierten el equipo utilizado de manera automática en un Servidor Web que soporte aplicaciones ASP.NET. La función principal del servidor Web IIS es la de administrar las aplicaciones Web y comunicarse con los navegadores clientes mediantes el protocolo HTTP, además el IIS ofrece servicios de protocolo como Trasferencia d Archivos (FTP), Servicios de Correo electrónico (SMTP) y Servicio de Noticias (NNTP). ASP.NET ofrece ventajas importantes acerca de los modelos de programación anteriores: • Mejor rendimiento. ASP.NET es un código de Common Language Runtime compilado que se ejecuta en el servidor. A diferencia de sus predecesores, ASP.NET puede aprovechar las ventajas del enlace anticipado, la compilación just-in-time, la optimización nativa y los servicios de caché desde el primer momento. Esto supone un incremento espectacular del rendimiento antes de siquiera escribir una línea de código. • Compatibilidad con herramientas de primer nivel. El marco de trabajo de ASP.NET se complementa con un diseñador y una caja de herramientas muy completos en el entorno integrado de programación (Integrated Development Environment, IDE) de Visual Studio. La edición WYSIWYG, los controles de servidor de arrastrar y colocar y la implementación automática son sólo algunas de las características que proporciona esta eficaz herramienta. • Eficacia y flexibilidad. Debido a que ASP.NET se basa en Common Language Runtime, la eficacia y la flexibilidad de toda esa plataforma se encuentra disponible para los programadores de aplicaciones Web. La biblioteca de clases de .NET Framework, la Mensajería y las soluciones de Acceso a datos se encuentran accesibles
  8. 8. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 8 de 12 desde el Web de manera uniforme. ASP.NET es también independiente del lenguaje, por lo que puede elegir el lenguaje que mejor se adapte a la aplicación o dividir la aplicación en varios lenguajes. Además, la interoperabilidad de Common Language Runtime garantiza que la inversión existente en programación basada en COM se conserva al migrar a ASP.NET. • Simplicidad. ASP.NET facilita la realización de tareas comunes, desde el sencillo envío de formularios y la autenticación del cliente hasta la implementación y la configuración de sitios. Por ejemplo, el marco de trabajo de página de ASP.NET permite generar interfaces de usuario, que separan claramente la lógica de aplicación del código de presentación, y controlar eventos en un sencillo modelo de Runtime simplifica la programación, con servicios de código administrado como el recuento de referencia automático y el recolector de elementos no utilizados. • Facilidad de uso. ASP.NET emplea un sistema de configuración jerárquico, basado en texto, que simplifica la aplicación de la configuración al entorno de servidor y las aplicaciones Web. Debido a que la información de configuración se almacena como texto sin formato, se puede aplicar la nueva configuración sin la ayuda de herramientas de administración local. Esta filosofía de "administración local cero" se extiende asimismo a la implementación de las aplicaciones ASP.NET Framework. Una aplicación ASP.NET Framework se implementa en un servidor sencillamente mediante la copia de los archivos necesarios al servidor. No se requiere el reinicio del servidor, ni siquiera para implementar o reemplazar el código compilado en ejecución. Muestra una independencia de la herramienta de desarrollo. Puede utilizarse para su desarrollo desde un simple editor de texto (Notepad por ejemplo), hasta las herramientas más sofisticadas y potentes (Visual Studio .NET, Web Matrix). • Escalabilidad y disponibilidad. ASP.NET se ha diseñado teniendo en cuenta la escalabilidad, con características diseñadas específicamente a medida, con el fin de mejorar el rendimiento en entornos agrupados y de múltiples procesadores. Además, el motor de tiempo de ejecución de ASP.NET controla y administra los procesos de cerca, por lo que si uno no se comporta adecuadamente (filtraciones, bloqueos), se puede crear un proceso nuevo en su lugar, lo que ayuda a mantener la aplicación disponible constantemente para controlar solicitudes. • Posibilidad de personalización y extensibilidad. ASP.NET presenta una arquitectura bien diseñada que permite a los programadores insertar su código en el nivel adecuado. De hecho, es posible extender o reemplazar cualquier subcomponente del motor de tiempo de ejecución de ASP.NET con su propio componente escrito personalizado. La implementación de la autenticación personalizada o de los servicios de estado nunca ha sido más fácil.
  9. 9. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 9 de 12 • Seguridad. Con la autenticación de Windows integrada y la configuración por aplicación, se puede tener la completa seguridad de que las aplicaciones están a salvo. Contenido y Código, por separado ASP.NET separar la interfaz de usuario con el código. El modelo Code-behind Microsoft recomienda que para realizar programación dinámica se use el modelo code-behind, o de respaldo, que coloca el código en un archivo separado o en una etiqueta de script especialmente diseñada. Los nombres de los archivos code-behind están basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta práctica se realiza automáticamente en Microsoft Visual Studio y otras interfaces de desarrollo). Cuando se usa este estilo de programación, el desarrollador escribe el código correspondiente a diferentes eventos, como la carga de la página, o el clic en un control, en vez de un recorrido lineal a través del documento. El modelo code-behind de ASP.NET marca la separación del ASP clásico y alienta a los desarrolladores a construir aplicaciones con la idea de presentación y contenido separados en mente. En teoría, esto permite a un diseñador web, por ejemplo, enfocarse en la creación del diseño con menos posibilidades de alterar el código de programación mientras lo hace. Esto es similar a la separación en el Modelo Vista Controlador. ASP.NET incluye:  Marco de trabajo de página y controles  Compilador de ASP.NET  Infraestructura de seguridad  Funciones de administración de estado  Configuración de la aplicación  Supervisión de estado y características de rendimiento  Capacidad de depuración  Marco de trabajo de servicios Web XML  Entorno de host extensible y administración del ciclo de vida de las aplicaciones  Entorno de diseñador extensible
  10. 10. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 10 de 12  Tecnología de Desarrollo Java Server Pages -JSP Java Server Pages (JSP) es una tecnología basada en el lenguaje Java que permite incorporar contenido dinámico a las páginas web. Los archivos JSP combinan HTML con etiquetas especiales y fragmentos de código Java. Motor JSP El motor de las páginas JSP está basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores que pueden afrontar la programación de JSP es mucho mayor, dado que resulta mucho más sencillo aprender que los servlets. En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes de que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traducción de esa página en un servlet, implementado en un archivo class (Byte codes de Java). Esta fase de traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página .jsp, aunque existe la opción de precompilar en código para evitar ese tiempo de espera la primera vez que un cliente solicita la página. A diferencia de PHP, este lenguaje es Compilado, y tiene el siguiente ciclo de vida: 1. Compilar JSP a Servlet. 2 .Cargar/Compilar el JSP(Servlet). 3. Inicializar el JSP(Servlet). 4. Ejecutar el JSP(Servlet). 5. Limpiar el JSP(Servlet). El primer paso puede ser sorprendente, pero efectivamente todo JSP es convertido a un Servlet , la razón de esto es que el surgimiento de JSP's se debió a la necesidad de facilitar un formato programático sencillo para personal no familiarizado con Java, esto es, el uso de JSP's permite eliminar visualmente funciones de arranque, ejecución y terminación.
  11. 11. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 11 de 12 Cómo se accesa a Java Server Pages? Para realizar una petición de una página JSP se sigue una forma similar al de una página HTML estática, aunque el demás proceso, el cual es transparente para el usuario es diferente. Para una página no dinámica se teclea un URL en el browser y éste usando un protocolo HTTP mandará una petición del archivo con extensión html (ej. archivo.html) a un servidor Web (ej. translator) y dominio determinado (go.com). Posteriormente el servidor extraerá el archivo y lo mandará al browser, el cual hace uso de las etiquetas de HTML del archivo para ser presentarlo a l usuario final. En el otro caso para una página dinámica se hace la petición de un archivo con extensión jsp (ej. article.jsp) y de este punto en adelante las cosas cambian empezando con que no solo se puede hacer la petición desde un browser sino también desde un servlet o de otra página JSP. La petición llegará también a un servidor Web pero que será capaz de reconocer la extensión jsp y que mandé la petición a un contenedor JSP, el cual invoque el método _jspService() de la página JSP compilada. La respuesta dada por este método será enviada al contenedor y de éste al usuario. Características de JSP  Conjunta el poder de Java en el servidor y la flexibilidad de HTML (HyperText Markup Language) en el browser.  No sólo se puede utilizar HTML, sino también XML ( eXtensible Markup Language) o WML (Wireless Markup Language).  Hace más fácil reusar componentes como JavaBeans y Enterprise JavaBeans los cuales realizan tareas más específicas.  Forma parte integral de Java 2 Enterprise Edition (J2EE).  Su función es saber como procesar una solicitud para crear una respuesta.  Soporta contenido dinámico que refleja las condiciones del mundo real.  Existe independencia entre la parte del diseño (interfaz) y la lógica (programa)
  12. 12. Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 12 de 12 REFERENCIAS http://dgsa.uaeh.edu.mx:8080/bibliotecadigital/bitstream/231104/349/1/ASP%20. NET%20orientado%20web.pdf http://www.liberatucodigo.com/2011/03/introduccion-zend-framework/ http://img.redusers.com/imagenes/libros/lpcu143/capitulogratis.pdf http://www.uhu.es/josel_alvarez/NvasTecnProg/recursos/tTema4.pdf http://users.dsic.upv.es/~jlinares/csharp/Tema%201.pdf http://www.jtech.ua.es/j2ee/2006-2007/doc/sesion08-apuntes.pdf

×