Programacion Web

2.1. Arquitectura de las aplicaciones Web La arquitectura tradicional de cliente/servidor también es conocida como arqu

Views 192 Downloads 3 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

2.1. Arquitectura de las aplicaciones Web

La arquitectura tradicional de cliente/servidor también es conocida como arquitectura de dos capas. Requiere una interfaz de usuario que se instala y se ejecuta en una PC o estación de trabajo y envía solicitudes a un servidor para ejecutar operaciones complejas.

Por ejemplo, una estación de trabajo utilizada como cliente puede ejecutar una aplicación de interfaz de usuario que interroga a un servidor central de bases de datos.

Ventajas del Sistema de Dos Capas:

El desarrollo de aplicaciones en un ambiente de dos capas funciona adecuadamente, pero no es necesariamente lo más eficiente. Las herramientas para el desarrollo con dos capas son robustas y ampliamente evaluadas.

Las técnicas de ingeniería de software de prototipo se emplean fácilmente. Las soluciones de dos capas trabajan bien en ambientes no dinámicos estables, pero no se ejecutan bien en organizaciones rápidamente cambiantes.

Desventajas del sistema de dos capas:

Los ambientes de dos capas requieren control excesivo de las versiones y demandan esfuerzo de distribución de la aplicación cuando se les hacen cambios. Esto se debe al hecho de que la mayoría de la aplicación lógica existe en la estación de trabajo del cliente.

La seguridad del sistema en un diseño de dos capas es compleja y a menudo requiere administración de las bases de datos; esto es debido al número de dispositivos con acceso directo al ambiente de esas bases de datos. Las herramientas del cliente y de la base de datos, utilizadas en diseños de dos capas, constantemente están cambiando. La dependencia a largo plazo de cualquier herramienta, puede complicar el escalamiento futuro o las implementaciones.

Arquitectura de tres capas

La arquitectura de tres capas es un diseño reciente que introduce una capa intermedia en el proceso. Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. En la arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario final (el cliente). La arquitectura basada en Web transforma la interfaz de búsqueda existente (el explorador de Web), en la interfaz del usuario final. La arquitectura de las aplicaciones Web suelen presentar un esquema de tres niveles. 

El primer nivel consiste en la capa de presentación que incluye no sólo el navegador, sino también el servidor web que es el responsable de presentar los datos un formato adecuado.



El segundo nivel está referido habitualmente a algún tipo de programa o script.



Finalmente, el tercer nivel proporciona al segundo los datos necesarios para su ejecución. Una aplicación Web típica recogerá datos del usuario (primer

nivel), los enviará al servidor, que ejecutará un programa (segundo y tercer nivel) y cuyo resultado será formateado y presentado al usuario en el navegador (primer nivel otra vez).

Las diferentes capas suelen ser:

 

Capa 1: Cliente de aplicación: Navegador Web Capa 2 : Servidor de Aplicaciones: Apache, Servidor Tomcat con servlet’s



Capa 3 : Servidor de Datos: Base de datos, servidor SMTP… Ventajas de la arquitectura de tres capas: Las llamas de la interfaz del usuario en la estación de trabajo, al servidor de capa intermedia, son más flexibles que en el diseño de dos capas, ya que la estación solo necesita transferir parámetros a la capa intermedia.

Con la arquitectura de tres capas, la interfaz del cliente no es requerida para comprender o comunicarse con el receptor de los datos. Por lo tanto, esa estructura de los datos puede ser modificada sin cambiar la interfaz del usuario en la PC.

El código de la capa intermedia puede ser reutilizado por múltiples aplicaciones si está diseíado en formato modular. La separación de roles en tres capas, hace más fácil reemplazar o modificar una capa sin afectar a los módulos restantes. Desventajas de las Arquitecturas de Tres Capas y basadas en Web.

Los ambientes de tres capas pueden incrementar el tráfico en la red y requiere más balance de carga u tolerancia a las fallas.

Los exploradores actuales no son todos iguales.

La estandarización entre diferentes proveedores ha sido lenta en desarrollarse. Muchas organizaciones son forzadas a escoger uno en lugar de otro, mientras que cada uno ofrece sus propias y distintas ventajas.

2.2. Lenguajes de programación del lado del cliente Un lenguaje del lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio. Pero nuestra página no se verá bien si la computadora cliente no tiene instalados los plugin adecuados. El código, tanto del hipertexto como de losscripts, es accesible a cualquiera y ello puede afectar a la seguridad.

Javascript. Javascript es un lenguaje de programación que realiza acciones dentro del ámbito de una página web. Su compatibilidad con la mayoría de los navegadores modernos, lo posiciona como el lenguaje de programación del lado del cliente más utilizado. Con Javascript podemos crear efectos especiales en las páginas y definir interacción con el usuario. El navegador (browser) del

cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el propio navegador. Entre las acciones típicas que se pueden realizar en Javascript tenemos dos vertientes. Por un lado los efectos especiales sobre páginas web, para crear contenidos dinámicos y elementos de la página que tengan movimiento, cambien de color o cualquier otro dinamismo.

Por el otro, javascript nos permite ejecutar instrucciones como respuesta a las acciones del usuario (eventos), con lo que podemos crear páginas interactivas con programas como calculadoras, agendas, o tablas de cálculo.

Javascript es un lenguaje con muchas posibilidades, es orientado a objetos, con funciones, estructuras de datos complejas, etc.

Además, Javascript pone a disposición del programador todos los elementos que forman la página web, para que éste pueda acceder a ellos y modificarlos dinámicamente.

JavaScript no permite dos de las características clásicas de los lenguajes orientados a objetos (herencia y polimorfismo), pero permite la creación y manipulación de objetos sencillos, y la definición de métodos y propiedades para dichos objetos.

JavaScript soporta el Modelo de Objetos de Documento (DOM, Document Object Model). El DOM es el conjunto de objetos predefinidos que nos permite acceder a todos los elementos de una página y a ciertas características específicas del navegador.

Ejecutar

Ejemplo JavaScript



Visual Basic Script Es un lenguaje de programación de scripts del lado del cliente, sólo compatible con Internet Explorer. Es por ello se usa poco. Está basado en Visual Basic de Microsoft. Tanto su sintaxis y modo de operación es una versión reducida del primero. El modo de funcionamiento de Visual Basic Script para construir efectos especiales en páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede acceder también son los mismos: el navegador.

Applets de Java

Son programas hechos en Java, que se transfieren con las páginas web y que el navegador ejecuta en el espacio de la página. Los applets son más difíciles de programar que los scripts en Javascript y requerirán conocimientos medios del lenguaje Java. La principal ventaja de utilizar applets consiste en que son independientes del navegador, del sistema operativo y multiplataformas.

Cada sistema operativo dispone de una máquina Virtual de Java que puede interpretar los Byte Codes y transformarlos a sentencias ejecutables en el sistema en cuestión.

Arquitectura de appletviewer

El appletviewer representa la interfaz mínima de navegación. En la figura se muestran los pasos que seguiría appletviewer para presentarnos el resultado de la ejecución del código de nuestra clase.

Esta es una visión simplificada del appletviewer. La función principal de esta aplicación es proporcionar al usuario un objeto de tipo Graphics sobre el que dibujar, y varias funciones para facilitar el uso del objeto Graphics.

Ciclo de vida de un Applet Cuando un applet se carga en el appletviewer, comienza su ciclo de vida, que pasaría por las siguientes fases:

 

Se crea una instancia de la clase que controla el applet. En el ejemplo de la figura anterior, sería la clase HolaMundo. El applet se incializa.



El applet comienza a ejecutarse.



El

applet

empieza

a

recibir

llamadas.

Primero

recibe

una

llamada init (inicializar), seguida de un mensaje start (empezar) y paint (pintar). Estas llamadas pueden ser recibidas asíncronamente.

Flash

Es un programa multimedia de Adobe que se utiliza para crear presentaciones animadas. Se trata de una aplicación “del lado del cliente” que es leída por los principales navegadores. Las animaciones se realizan a partir de vectores y de

imágenes en base a píxeles (llamadas “raster graphics”) y pueden incluir audio y video. Este programa es uno de los más utilizados para animar sitios Web y permitir la interactividad.

Crítica de Steve Jobs 

Flash una tecnología 100% propietaria, argumenta que los estándares web deben de ser completamente abiertos.



Adobe asevera que los dispositivos que no tienen soporte para Flash, no



tienen acceso a toda la web, “porque más del 75% del vídeo en Internet está basado en Flash". Pero lo que no dicen, es que casi todo ese contenido, también está disponible en formatos más modernos como el H.264“. Flash ofrece poca seguridad a sus usuarios. Dice que es uno de los



principales culpables que las computadoras Mac fallen. Afirma que han tratado de trabajar conjuntamente con Adobe para corregir los problemas, pero que estos persisten después de varios años. “No queremos reducir la confiabilidad y la seguridad del iPhone, del iPod, o del iPad añadiendo la tecnología Flash“. Flash se desempeña pobremente en los dispositivos portátiles, dado que consume mucha energía, además de que también, consume demasiados recursos aunque el hardware sea capaz de reproducir dicho contenido.

2.3. Lenguajes de programación del lado Servidor

Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles para desarrollar distintas aplicaciones.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente.

Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, JSP, PERL y PHP.

ASP.NET (Active Server Pages).

Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET.

Se desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitará instalarlo en versiones anteriores.

El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service). La integración de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecución sea más estable y rápida que otros lenguajes de programación. Las páginas creadas con la tecnología ASP.NET funcionan en todo tipo de navegadores – incluyendo Netscape, Safari y Internet Explorer.

Actualizaciones Dinámicas Soporte de servicios web XML Conexiones del tipo DSN, o sin utilización de DSN, para acceder a fuentes de datos ODBC.

Ventajas: 

Completamente orientado a objetos.



Controles de usuario y personalizados.



División entre la capa de aplicación o diseño y el código.



Facilita el mantenimiento de grandes aplicaciones.



Incremento de velocidad de respuesta del servidor.



Mayor velocidad.



Mayor seguridad.

Desventajas: 

Mayor consumo de recursos.



Tecnología propietaria.



Hospedaje de sitios web costosos.

JSP

Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma.

JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat.

Características:



Código separado de la lógica del programa.



Las páginas son compiladas en la primera petición.



Permite separar la parte dinámica de la estática en las páginas web.



Los archivos se encuentran con la extensión (jsp).



El código JSP puede ser incrustado en código HTML.

Los elementos que pueden ser insertados en las páginas JSP son los siguientes: 

Código: se puede incrustar código “Java”.



Directivas: permite controlar parámetros del servlet.



Acciones: permite alterar el flujo normal de ejecución de una página.

Ventajas:



Ejecución rápida del servlets.



Crear páginas del lado del servidor.



Multiplataforma.



Código bien estructurado.



Integridad con los módulos de Java.



La parte dinámica está escrita en Java.

Desventajas:



Complejidad de aprendizaje.

PERL Perl (Practical Extraction and Report Language) es un lenguaje de programación desarrollado por Larry Wall (lwall at netlabs.com) inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la administración de tareas propias de sistemas UNIX. No establece ninguna filosofía de programación concreta. No se puede decir que sea orientado a objetos, modular o estructurado aunque soporta directamente todos estos paradigmas; su punto fuerte son las labores de procesamiento de textos y archivos. Lenguaje de programación basado en scripts portable a casi cualquier plataforma. Es muy utilizado para escribir CGIs. Uno de sus elementos más

potentes son las expresiones regulares, que a partir de su versión en Perl han sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.

Ventajas



Es un buen lenguaje “pegamento”. Se pueden juntar varios programas de una forma sencilla para alcanzar una meta determinada. Los usuarios de Windows agradecerán esta propiedad ya que normalmente adolecen de un buen lenguaje tipo “script”.



Es relativamente rápido para un lenguaje tipo “script”.



Está disponible en múltiples plataformas y sistemas operativos (UNIX, Linux y Windows). Un programa que se escriba teniendo en cuenta la compatibilidad puede ser escrito en una plataforma y ejecutado en otra.



El desarrollo de aplicaciones es muy rápido.



Hay una colección enorme de módulos que pueden ser incorporados a cualquier “script” de Perl. Están disponibles en el CPAN (“Comprehensive Perl Archive Network”). En particular existe una extensión para cálculo numérico denominada PDL.



Perl es gratuito. Mucho más que eso, es “Software Libre”. Esto quiere decir que el código fuente está disponible para que cualquiera lo pueda ver o modificar, y lo que es más importante, siempre lo estará. Aunque nunca pretendas cambiar el código, es importante disponer de la posibilidad de hacerlo, ya que siempre se podrá contratar a una tercera persona para que lo modifique en el caso de que haya un error, y debería ser posible solucionarlo.



Le otorga al programador mucha libertad para que haga el programa como quiera. Tal como dice el eslogan de Perl “Hay más de una forma de hacerlo”.

Desventajas



Es lento para algunas aplicaciones, como programación a bajo nivel, escribiendo un “driver” para una aplicación o corriendo modelos numéricos de cálculo intensivo. Si bien se pueden insertar subrutinas FORTRAN o C en Perl, teniendo lo mejor de los dos mundos, pero con algo más de complejidad.



La libertad que se le otorga al programador puede significar que el resultado sea un programa ilegible. Si no se escribe con cuidado puede llegar a ser difícil de leer. De hecho hay un concurso de Perl ofuscado.



Perl es un lenguaje interpretado. Este tema no es tan crítico como suena, los programas Perl no correrán mucho más rápidos cuando se compilen, la única ventaja está en la desaparición de la fase inicial de compilación al correr la aplicación.



Utiliza muchos recursos de computó. Esto significa que no es tan ligero como un programa en C, pero en la práctica es ligero comparado con la potencia de procesamiento de las computadoras actuales.

PHP PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores.

El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores.

Ventajas:  Muy fácil de aprender. 

Se caracteriza por ser un lenguaje muy rápido.



Soporta en cierta medida la orientación a objeto. Clases y herencia.



Es un lenguaje multiplataforma: Linux, Windows, entre otros.



Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.



Capacidad de expandir su potencial utilizando módulos.



Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.



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



Incluye gran cantidad de funciones.



No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

Desventajas:



Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número.



La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.



La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.



Dificulta la modularización.



Dificulta la organización por capas de la aplicación.

Seguridad: PHP es un poderoso lenguaje e intérprete, ya sea incluido como parte de un servidor web en forma de módulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza.

PHP está diseñado específicamente para ser un lenguaje más seguro para escribir programas CGI que Perl o C, y con la selección correcta de opciones de configuración en tiempos de compilación y ejecución, y siguiendo algunas prácticas correctas de programación.

2.4. Ambientes para el desarrollo de aplicaciones Web Un entorno de desarrollo integrado (IDE- Integrated Development Environment -) también conocido como entorno de diseño integrado o el medio ambiente integrado de depuración es una aplicación de software que ofrece servicios integrales a los programadores de computadoras para el desarrollo de software. Un IDE normalmente se compone de:



Un editor de texto.



Un compilador.



Un intérprete.



Herramientas de automatización.



Un depurador.



Posibilidad de ofrecer un sistema de control de versiones.



Factibilidad para ayudar en la construcción de interfaces gráficas de usuario.

IDE para Php

Existen muchos entornos de desarrollo para PHP en software libre tales como: Zend Studio, Open Komodo Project, Eclipse + phpEclipse, entre otros.

Dreamweaver de Adobe Es en una potente y flexible herramienta de desarrollo que inclute numerosas herramientas para facilitarnos el desarrollo de aplicaciones web. Dreamweaver permite trabajar con los siguientes modelos de servidor: 

ASP JavaScript



ASP VBScript



ASP.NET C#



ASP.NET VB



COLDFUSION



JSP



PHP MySQL

El concepto de sitios en Dreamweaver es bastante útil ya que nos permite mantener un orden lógico/físico de la estructura de nuestro sitio, enlaces y recursos que este utiliza, tiene el potencial para encargarse completamente de los enlaces relativos (recomendado). Como se menciono Dreamweaver proporciona soporte para variados modelos de Servidor entregando capacidades de creación de código estándar para una

serie de funciones como son la inserción, edición, eliminación y consulta de datos, manejo de ciclos y condiciones, incluso acceso por restringido por password, todo esto de una forma muy básica, pero sin duda es un primer acercamiento para novatos, lo importante de esto es que podemos extender esta capacidad mediante nuestros conocimientos y usar este entorno de desarrollo para facilitarnos la dura tarea de desarrollar para la Web.

Jomla! Joomla! es un Sistema de Gestión de Contenidos (CMS) premiado mundialmente, que le ayuda a construir sitios web y otras aplicaciones online potentes. Lo mejor de todo, es que Joomla es una solución de código abierto y está disponible libremente para cualquiera que desee utilizarlo. Joomla! se utiliza en todo el mundo para generar desde una simple página web personal hasta complejas aplicaciones web corporativas. Entre los diferentes usos que la gente da a Joomla! están: 

Webs corporativas o portales



Comercio electrónico



Pequeños sitios de negocios



Webs de organizaciones o ONGs



Aplicaciones gubernamentales



Intranets y extranets corporativas



Webs de escuelas o agrupaciones



Páginas personales o familiares



Portales de comunidades



Revistas y periódicos

Joomla se puede usar para gestionar fácilmente cualquiera de los aspectos de un sitio web, desde la introducción de contenidos e imágenes hasta la actualización de un catálogo de productos o la realización de reservaciones online.

WordPress

WordPress es un sistema de gestión de contenido enfocado a la creación de blogs (sitios web periódicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL y código modificable, tiene como fundador a Matt Mullenweg.

WordPress fue creado a partir del desaparecido b2/cafelog y se ha convertido junto a Movable Type en el CMS más popular de la blogosfera.

Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus características como gestor de contenidos.

2.5 Metodologías para el desarrollo de aplicaciones Web. El creciente desarrollo del comercio electrónico así como el desplazamiento de las distintas organizaciones hacia la Web ha traído en la actualidaduna constante evolución de las aplicaciones Web. Cada día se incrementan las transacciones financieras, la transferencia de información confidencial y ejecución de procesos online, entre otros, las cuales exigen funcionalidad, confiabilidad, usabilidad y eficiencia por mencionar algunas características de calidad. Esta relevancia de la economía genera grandes desafíos en las aplicaciones Web que son los de controlar y mejorar su calidad. Aunque las aplicaciones Web están creciendo rápidamente tanto en uso como en aceptación, su desarrollo tiende a ser ad hoc, resultando en aplicaciones de pobre calidad. La mayoría de los desarrolladores Web ponen poca atención en la elicitación y análisis de requisitos, así como en las metodologías y procesos de desarrollo. A demás los desarrolladores de aplicaciones confían excesivamente en el conocimiento y experticia de los desarrolladores individuales y sus prácticas de desarrollo individual más bien que en las prácticas estándar. No obstante, son las mismas metodologías de desarrollo las que no tratan de manera adecuada y profunda los atributos de calidad. Estas situaciones traen como consecuencia que los atributos de calidad de los sistemas basados en la Web tales como la funcionalidad, confiabilidad, mantenibilidad, usabilidad y portabilidad no se les da la debida consideración que se merecen durante el proceso de desarrollo. En la ingeniería software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador. Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, así como a la facilidad para actualizarlas y mantenerlas.

Algunas aplicaciones son: los webmails, wikis, weblogs, tiendas en línea, intranet. Ingeniería Web es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad. Esta breve definición nos lleva a abordar un aspecto clave de cualquier proyecto como es determinar que tipo de proceso es más adecuado en función de las características del mismo. Un empleo sistemático y disciplinado de modelos, métodos y modelos de ingeniería de software en la Web para el aseguramiento y control de la calidad favorece a la compresión y análisis y potencialmente mejorar los desarrollos producidos.

El Proceso de Ingeniería Web Características como inmediatez y evolución y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita. Según Pressman, las actividades que formarían parte del marco de trabajo incluirían las tareas abajo enumeradas. Dichas tareas serían aplicables a cualquier aplicación Web, independientemente del tamaño y complejidad de la misma. Las actividades que forman parte del proceso son: formulación, planificación análisis, modelado, generación de páginas, test y evaluación del cliente. 

La formulación identifica objetivos y establece el alcance de la primera entrega.



La planificación genera la estimación del costo general del proyecto, la evaluación de riesgos y el calendario del desarrollo y fechas de entrega.



El análisis especifica los requerimientos e identifica el contenido.



La Modelado se compone de dos secuencias paralelas de tareas. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es importante destacar la importancia del diseño de la interfaz. Independientemente del valor del contenido y servicios prestados, una buena interfaz mejora la percepción que el usuario tiene de éstos.





En la generación

de páginas se integra contenido, arquitectura, navegación e interfaz para crear estética o dinámicamente el aspecto más visible de las aplicación, las páginas. El Test busca

errores

a

todos

lo

niveles:

contenido,

funcional,

navegacional, rendimiento, etc. El hecho de que las aplicaciones residan en la red, y que interoperen en plataformas muy distintas, hace que el proceso de test sea especialmente difícil. 

Finalmente, el resultado es sometido a la evaluación del cliente.

Control y Garantía de la Calidad

Una de las tareas colaterales que forman parte del proceso es el Control y Garantía de la Calidad (CGC). Todas las actividades CGC de la ingeniería software tradicional como son: establecimiento y supervisión de estándares, revisiones técnicas formales, análisis, seguimiento y registro de informes, etc, son igualmente aplicables a la Ingeniería Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como: 

Usabilidad



Funcionabilidad



Fiabilidad



Seguridad



Eficiencia



Mantenibilidad

Control de la Configuración Establecer mecanismos adecuados de control de la configuración para la Ingeniería Web es uno de los mayores desafíos a los que esta nueva disciplina se enfrenta. La Web tiene características únicas que demandan estrategias y

herramientas nuevas. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tácticas de control de configuración para la Web. 

Contenido: Considerando la dinamicidad con la que el contenido se genera, es tarea compleja organizar racionalmente los objetos que forman la configuración y establecer mecanismos de control.



Personal: Cualquiera realiza cambios. Hay mucho personal no especializado que no reconoce la importancia que tiene el control del cambio.



Escalabilidad: Es común encontrar aplicaciones que de un día para otro crecen considerablemente. Sin embargo, las técnicas de control no escalan de forma adecuada.



Política: ¿Quién posee la información? ¿Quién asume la responsabilidad y coste de mantenerla? La Gestión del Proceso

En un proceso tan rápido como es el proceso de Ingeniería Web, donde los tiempos de desarrollo y los ciclos de vida de los productos son tan cortos, ¿merece la pena el esfuerzo requerido por la gestión? La respuesta es que dada su complejidad es imprescindible. Entre los aspectos que añaden dificultad a la gestión destacamos: 

Alto porcentaje de contratación a terceros



El desarrollo incluye una gran variedad de personal técnico y no técnico trabajando en paralelo



El equipo de desarrollo debe dominar aspectos tan varidos como, software basado en componentes, redes, diseño de arquitectura y navegación, diseño gráfico y de interfaces, lenguajes y estándares en Internet, test de aplicaciones Web, etc, lo que hace que el proceso de búsqueda y contratación de personal sea arduo.

¿Qué marca la diferencia? A modo de breve resumen enumeramos las siguientes diferencias:  Confluencia de disciplinas: Sistemas de información, ingeniería software y diseño gráfico que requiere equipos multidisciplinares y polivalentes. Ciclos de vida y tiempo de desarrollo muy cortos 

Cambio continuo:



Necesidad de soluciones que permitan flexibilidad y adaptación conforme el proyecto cambia.



Requisitos fuertes de seguridad, rendimiento y usabilidad.

¿Por qué es necesaria?

La Web evoluciona y crece sin diseño alguno. Prácticas tan pobres de calidad pueden introducir defectos que dejen al efecto 2000 como un juego de niños. Es deber de todos proporcionar cimientos firmes a una tecnología que “mágicamente” nos permite acceder a cualquier hora a cualquier punto del planeta para obtener bienes tan valiosos como son los servicios y la información.

Conclusiones La aplicación de principios de ingeniería pueden evitar el caos potencial al que nos enfrentamos, y poner bajo control el desarrollo de las aplicaciones Web, minimizando riesgos y mejorando el mantenimiento y calidad.

2.6. Aspectos de seguridad. Hoy en día las aplicaciones web son uno de los servicios más utilizados ya sea accediendo a un servidor web a través de internet o de una intranet.

Los lenguaje de programación web son versátiles, sencillos de usar y permiten crear soluciones de gran envergadura. Las aplicaciones escritas en estos lenguajes están expuestas a diversas amenazas si no se toman las medidas adecuadas para evitarlo, por este motivo se resalta la importancia de la formación en seguridad que deberían de recibir todos los programadores. Si no se procede de forma correcta, las aplicaciones web desarrolladas en estos lenguajes pueden servir como puerta de entrada de un intruso a la red de la empresa, por lo que la seguridad de este tipo de aplicaciones tiene que ser tomada como prioritaria para no exponer la seguridad de su negocio. Esta formación está orientada a que los equipos de programadores conozcan y utilicen las buenas prácticas en el diseño y desarrollo de aplicaciones para evitar vulnerabilidades de seguridad.

El objetivo del mismo es conocer como proteger la aplicación contra los fallos más comunes (SQL Injection, XSS, Command Execution, File Inclusion …).

Las fallas de seguridad más comunes son: 

Cross Site Scripting (XSS). Las vulnerabilidades de XSS originalmente



abarcaban cualquier ataque que permitiera ejecutar código de "scripting", como VBScript o JavaScript, en el contexto de otro sitio web (y recientemente esto se podría clasificar más correctamente como "distintos orígenes"). Injection Flaws

 

Insecure Remote File Include Insecure Direct Object Reference



Cross Site Request Forgery (CSRF)

  

Information Leakage and Improper Error Handling Broken Authentication and Session Management Insecure Cryptographic Storage



Insecure Communications



Failure to Restrict URL access

3.1. Procesamiento del lado del servidor.

La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar páginas HTML dinámicamente como respuesta. Todo lo que suceda dentro del servidor es llamado procesamiento del lado del servidor, o server-side processing. Cuando tu aplicación necesita interactuar con el servidor (por ejemplo, para cargar o guardar datos), ésta realiza una petición del lado del cliente (client-side request) desde el navegador, a través de la red usando invocaciones remotas a métodos (remote procedure call, RPC). Mientras se está procesando una llamada RPC, tu servidor está ejecutando código del lado del servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Cuando se utiliza un servicio en Internet, como consultar una base de datos, transferir un archivo o participar en un foro de discusión, se establece un proceso en el que entran en juego dos partes. Por un lado, el usuario, quien ejecuta una aplicación en procesador local: el denominado programacliente. Este programa cliente se encarga de ponerse en contacto con el procesador remoto para solicitar el servicio deseado. El procesador remoto por su parte responderá a lo solicitado mediante un programa que esta ejecutando. Este último se denomina programa servidor. Los términos cliente y servidor se utilizan tanto para referirse a los programas que cumplen estas funciones, como a las computadoras donde son ejecutados esos programas. El programa o los programas cliente que el usuario utiliza para acceder a los servicios de Internet realizan dos funciones distintas. Por una parte, se encargan de gestionar la comunicación con el computador servidor, de solicitar un servicio concreto y de recibir los datos enviados por éste; y por otra, es la herramienta que presenta al usuario los datos en pantalla y que le ofrece los comandos necesarios para utilizar las prestaciones que ofrece el servidor.

Cuando nosotros seleccionamos un enlace hipertexto, en realidad lo que pasa es que establecemos una petición de un archivo HTML residente en el servidor (una computadora que se encuentra continuamente conectado a la red) el cual es enviado e interpretado por nuestro navegador (el cliente).

Así pues, podemos hablar de lenguajes de lado servidor que son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en un formato comprensible para él, por ejemplo: ASP, PHP, JSP. Por otro lado, los lenguajes de lado cliente (entre los cuales no sólo se encuentra el HTML sino también el Java y el JavaScript los cuales son simplemente incluidos en el código HTML) son aquellos que pueden ser directamente "digeridos" por el navegador y no necesitan un pretratamiento.

Cada uno de estos tipos tiene por supuesto sus ventajas y sus inconvenientes. Así, por ejemplo, un lenguaje de lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio sin necesidad de pagar más ya que, por regla general, los servidores que aceptan páginas con scripts de lado servidor son en su mayoría de pago o sus prestaciones son muy limitadas.

Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es mucho menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo.

3.2. Conceptos básicos de la herramienta de desarrollo

Una herramienta es un objeto elaborado a fin de facilitar la realización de una tarea mecánica que requiere de una aplicación correcta de energía. El término herramienta, en sentido estricto, se emplea para referirse a utensilios resistentes, útiles para realizar trabajos mecánicos que requieren la aplicación de una cierta fuerza física.

Cada herramienta tiene un fin específico y debería ser usado solo con un fin determinado, Sin embargo esto no se cumple en la mayoría de las tareas del quehacer humano y mucho menos en las aplicaciones web. Cuando pensemos en las mejores herramientas para el desarrollo web es necesario pensar en donde estará alojado nuestro sitio (hosting). El hosting o alojamiento web es un sistema esencial para el funcionamiento de los sitios en Internet y es el lugar donde físicamente reside nuestra información. Si tenemos recursos ilimitados para tener nuestro propio sitio entonces tendriamos que hacer una gran investigación para seleccionar las herramientas más sofisticadas. Sin embargo para la mayoría de las aplicaciones debemos pagar porque nuestra información sea colocada en cierto servidor.

El lugar donde físicamente se almacenara nuestra información determina los lenguajes soportados (cliente, servidor), el gestor de la base de datos y las prestaciones que podremos ofrecer a nuestro futuros usuarios.

Sin el afan de romperse las camisas discutiendo este punto, las herramientas que usaremos para desarrollar el sitio, dependen de las preferencias, del acceso a las herramientas ("licencias") y la disponibilidad . En resumen cada quien habla como le va en la feria. Si somos expertos en un X lenguaje y el sistema Operativo de nuestro host no lo soporta, podremos tener las herramientas más sofisticadas pero no servirán de nada. Las fases de un desarrollo web, así como los lenguajes de programación usados, son muy extensas y variadas, y por ello necesitamos herramientas específicas para cada una de ellas. Conoceremos a continuación las principales herramientas existentes para poder desarrollar fácilmente unproyecto web. En el desarrollo web tenemos unas herramientas para el diseño, otras para la maquetación, otras para la programación, y para la depuración. Todas

las herramientas que usemos son muy importantes, desde el sistema operativo hasta el comando más insignificante, y por ello debemos elegir la más adecuada a nuestras necesidades y capacidades.

Sistema Operativo

Para desarrollar una web, lo primero que necesitamos es un Sistema Operativo, como es lógico, y su elección no es tan trivial. Hay que tener en cuenta las aplicaciones de las que dispone el Sistema Operativo y sus costos. Si pensamos desarrollar en .NET este solo es soportado por windows y los costos de hospedaje son mas caros que los que soportan Linux.

Fases de desarrollo de una web Para elegir las herramientas a utilizar, antes debemos identificar las fases del proceso que forman el ciclo de vida de un desarrollo web.



Diseño: consiste en crear esbozos de la web final mediante una herramienta gráfica, como Photoshop



Maquetación HTML/CSS: consiste en convertir los esbozos creados en la fase anterior en plantillas HTML, su respectiva hoja de estilos, y las imágenes usadas. Es posible saltarse la fase anterior para comenzar directamente con esta fase, dependiendo de si dominamos herramientas como Photoshop o no.



Programación cliente: consiste básicamente en Javascript. Existen muchas librerias de distribución libre como JQUERY que nos aportan verdaderas joyas para el desarrollo.



Programación servidor: en esta fase, que se desarrolla junto con la anterior, crearemos la aplicación web en un lenguaje de servidor, como puede ser PHP, ASP .NET, Python, Perl, Java, etc.



Depuración: esta fase enlaza la anterior con la siguiente, y es donde haremos las pruebas unitarias, aserciones, trazas, etc.



Pruebas en local: en nuestro servidor local haremos todas las pruebas posibles. Por ejemplo usando wampServer



Subir archivos al hosting: Dependiendo del hosting, podremos usar FTP, SSH, aconsejo usar cuteFTP es una herramienta confiable y versatil.



Pruebas en hosting: realizaremos las últimas pruebas en el servidor del hosting para comprobar que el cambio de servidor no ha afectado a nada. Para evitar problemas, nuestro servidor local debe tener exactamente la misma configuración que el servidor del hosting. Recuerde probar que sus códigos sean compatibles al menos con Firefox, Safari e Internet explorer

En general podemos usar comercialmente la suite de Adobe que incluye a Dreamwever y sus herramientas de edición un servidor FTP, además de validar nuestros códigos javascript y css. Con el inconveniente de ser una herramienta muy cara.

En contra parte, va versión Joomla! edition de kademar Linux es la adaptación de la versión de Escritorio DVD (Leo) 4.9.1 con la inclusión de los programas necesarios para trabajar con el gestor de contenidos Joomla!.

En esta edición se incluye instalado el gestor de contenidos Joomla, junto con los programas necesarios para su funcionamiento totalmente instalados y configurados. Es posible aprender a usar Joomla! sin necesidad de buscar un servidor de hosting para crear páginas web. Está funcionando en local y no se tiene que pelear con la instalación de todo lo necesario: base de datos MySql, phpmyadmin, apache.... etc. Todo está ya instalado y configurado, plenamente funcional para usarlo inmediatamente.

3.3. Variables Para ejemplificar como se estructura un programa en PHP, checaremos el siguiente código para probar nuestro primer programa. El cual, muestra el himno del Tecnológico de Veracruz. Los programas en PHP inician con "". En el código la instrucción echo imprime en pantalla la cadena encerrada entre pares de '"'. Note que entre las líneas encontramos el tag html "
" lo cual regresa un retorno de línea. Además observe que cada línea termina con un ";". ? 1 2 3 4 5 6 7 8 9

Descargar Ejecutar

Variables. Las variables en PHP no necesitan, a diferencia de otros lenguajes de programación ser declaradas específicamente dado que cuando a una variable se le asigna un valor esta se inicializa en forma automática determinando la cantidad de memoria necesaria para dicha variable. Los nombres de las variables van precedidas del signo "$". Los nombres de las variables son sensibles al uso de las mayúsculas y minúsculas. De tal forma que la sintaxis correcta es: $nombreVariable = valor;

Por ejemplo, las siguientes asignaciones serían perfectamente validas

? 1 2 3 4

$miNovia = "Gabriela Vergara
"; $nacio = "Caracas, Venezuela
"; $cumple = "29 de Mayo
"; $signo = "Géminis
"

El nombre de una variable también se conoce como identificador y debe cumplir las siguientes normas:



Sólo puede estar formada por letras y números y los símbolos ($ dólar



y _ guión bajo). El primer carácter del nombre del identificador o varible debe ser estrictamente el signo de dólar.

Ahora observe el siguiente código, después de ejecutarlo, use la opción ver código fuente de su navegador y encontraras solo código html.

? 1 2 3 4 5 6 7 8 9 10 11 12

Descargar Ejecutar

Tipos de datos

PHP soporta los siguientes tipos y son definidos en tiempo de ejecución

        

integer. Son datos de tipo numérico entero double. Datos numéricos en coma flotante ( manejo de decimales) string. Cadenas alfanuméricas. boolean. Valores de tipo Verdadero o Falso como resultado de evaluar una condición, estado de una variable, etc. array . Matrices object. Estructuras complejas de datos. class. Moldes mediante los cuales se crean los objetos unknown type. Tipo desconocido NULL.Es el tipo de una variable a la que aún no se le asigna valor alguno. Para forzar una variable a un tipo concreto use la función settype() Dado que las variables no se declaran, el tipo se adquiere en tiempo de ejecución al tipo que usted quiera. Dependiendo de la información que contenga, una variable puede ser considerada de uno u otro tipo:

Tipo

Usos de las variables Asignación Resultado

Entero

$edad = 45;

Números sin decimales

Real

$pi 3.1415;

Números en punto flotante.

Octal

$a = 0123

Número octal (equivalente al 83 decimal).

Hexadecimal

$b = 0x12

Número hexadecimal decimal).

=

Alfanuméricas $c = "a"

Variable alfanumérica

Alfanuméricas $c = 'a'

Variable alfanumérica

(equivalente

al

Ejemplos: Expresión

Resultado

$algo = 1 + 5;

6

$algo = 1 + "5";

6

$algo = 3 + "4 es basura";

7!!!

$algo = "4 es basura" + 7;

11!!!

18

Expresión

Resultado

$algo = "4.2 es basura" + 7.2

11.4!!!!! Descargar Ejecutar

Las cadenas (string) de caracteres se especifican entre uno de dos tipos de delimitadores (" o '). Encerrada entre doble comillas " es posible emplear los siguientes caracteres especiales. Caracteres protegidos

Secuencia

Significado

\n

Nueva línea

\r

Retorno de carro

\t

Tabulación horizontal

\\

Barra invertida

\$

Signo de dólar

\"

Comillas dobles

\[0-7]{1,3}

La secuencia de caracteres que coincide con la expresión regular es un carácter en notación octal

\x[0-9A-Fa-f] {1,2}

La secuencia de caracteres que coincide con la expresión regular es un carácter en notación hexadecimal

Nuevamente, si intenta escapar cualquier otro carácter, ¡la barra invertida será impresa también! Antes de PHP 5.1.1, la barra invertida en \{$var} no venía imprimiéndose. A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la hora de operar con variables. En efecto, cuando definimos una variable asignándole un valor, el computador le atribuye un tipo. Si por ejemplo definimos una variable entre comillas, la variable será considerada de tipo cadena:

$variable="5"; //esto es una cadena

Sin embargo si pedimos en nuestro script realizar una operación matemática con esta variable, no obtendremos un mensaje de error sino que la variable cadena se tomara como numérica:

? 1 2 3 4 5 6 7 8

Descargar Ejecutar Este script dará como resultado "40". La variable cadena ha sido asimilada en entero (aunque su tipo sigue siendo cadena) para poder realizar la operación matemática. Del mismo modo, podemos operar entre variables tipo entero y real. PHP se encarga durante la ejecución de interpretar el tipo de variable necesario para el buen funcionamiento del programa. Esto podría parecer una ventaja pero en la práctica es un dolor de cabeza. Sin embargo, en contraste, hay que tener cuidado en no cambiar mayúsculas por minúsculas ya que, en este sentido, PHP es sensible. Conviene por lo tanto trabajar ya sea siempre en mayúsculas o siempre en minúsculas para evitar este conflicto regularmente difícil de identificar. Variables predefinidas PHP dispone de una gran cantidad de variables que ya están definidas, y que tenemos a disposición para usarlas dentro de nuestros script. Para ver todas las variables que tenemos disponibles en nuestro servidor y versión de PHP, es necesario hacer un llamado a la función predefinida phpinfo(). Por ejemplo: ? 1 2 3

Ejecutar

A continuación se presentan algunas de las variables predefinidas. El resto de las variables las puede obtener de la página resultado del programa anterior. Variable $DOCUMENT_ROOT

Descripción Nombre del subdirectorio donde se ejecuta el script

$HTTP_ACCEPT_LANGUAGE Idioma utilizado $HTTP_CONNECTION

Indica los contenidos de la cabecera Conecction.

$HTTP_REFERER

http://localhost/

$HTTP_USER_AGENT

Indica el navegador del cliente

$PHP_SELF

Nombre del archivo ejecutando el script

$QUERY_STRING

Devuelve la QueryString. Variables y sus valores

$REMOTE_ADDR

IP del cliente

$REQUEST_METHOD

Método de petición con el cual se accedio a la página

$SERVER_FILENAME

Ruta y nombre del script que se esta ejecutando

$SERVER_PORT

Puerto desde donde se ejecuta el scipt

$SERVER_PROTOCOL

Versión del protocolo HTTP

$SERVER_SOFTWARE

Nombre del servidor corriendo el script

$_SERVER

Versión del servidor web y la versión de PHP

donde

Web

se

que

está

está

Con estas variables predefinidas se pueden hacer cosas interesantes, como por ejemplo pedir la $HTTP_ACCEPT_LANGUAGE y dependiendo de su contenido, enviar a los usuarios a sitios en su idioma. Para visualizar el contenido de cualquiera de estas variables predefinidas de PHP, use el siguiente código:

? 1 2 3 4 5 6 7 8 9

"Idioma: ".$HTTP_ACCEPT_LANGUAGE; "Navegador: ".$HTTP_USER_AGENT"; "Cabecera: ".$HTTP_CONNECTION; "IP cliente: ".$REMOTE_ADDR."; "Nombre del archivo:".$PHP_SELF; "Versión Apache: ".$SERVER_SOFTWARE; "Puerto: ".$SERVER_PORT;

Descargar Ejecutar

Ejemplo: Dirección IP del cliente  

getIPReal es una función que nos regresa la IP del cliente empty es una función PHP que nos dice si una variable está vacia o es nula. ? 1 2 3 4 5 6 7 8 9 10 11

Descargar Ejecutar

Expansión de variables

Propiedad de PHP de incluir el valor de la variables en una cadena. Y funciona si la cadena se dilimita con ".



La variable escudo se expande en la línea 5.



La variable capital se expande en la línea 11.

? 1 2 3 4 5 6 7 8 9 10 11 12

Descargar Ejecutar

Variables de variables

PHP puede reconocer y manejar variables que se refieran a otras variables. Se trata de variables cuyo contenido es el nombre de otras variables. Por ejemplo: Las líneas 4, 7 y 10 hacen uso de la propiedad de referenciar variables. ? 1 2 3 4 5 6 7 8 9 10 11

Descargar Ejecutar

Otra forma de hacer uso de las variables de variables es:



Las líneas del 2 al 9 declaran variables con el nombre de los estados de la Republica Mexicana



Mediante la expresión ${"estado".$i} se aplica la variable de variables (líneas 12 y 14)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Descargar Ejecutar

Constantes



Una constante es un dato cuyo valor no puede variar durante la ejecución del programa.



El nombre de las constantes es sensible a mayúsculas.



Por convención, los identificadores (nombres) de las constantes suelen declararse en mayúsculas.



El alcance de una constante es global, es decir, es posible acceder a ellas sin preocuparse por el ámbito de alcance.

Importante: Un nombre de constante válido empieza con una letra o el carácter de subrayado, seguido por una serie letras, números, o subrayados. Los nombres de constantes en PHP no admiten espacios en blanco, signos de puntuación (acentos, ¡!, ¿?, etc), ni caracteres especiales(%, ñ, etc).

Sintaxis 

Se puede definir una constante usando la función define(). Una vez



definida, no puede ser modificada, ni eliminada. Solo se puede definir como constantes valores escalares (boolean, integer, float y string ). Los tipos escalares son aquellos cuyos valores no pueden 'dividirse' en partes menores, no como los arrays, por ejemplo.



Para obtener el valor de una constante solo es necesario especificar su nombre. A diferencia de las variables, no se tiene que especificar el prefijo $. También se puede utilizar la función constant() para obtener el valor de una constante.

Diferencias entre constantes y variables: 

No son precedidas por un símbolo de dólar ($).



Son declaradas usando la función() define , nunca por asignación simple.



Se definen y acceden sin tener en cuenta las reglas de alcance del ámbito.



No pueden ser redefinidas o eliminadas después de establecerse.



Las constantes solo puede albergar valores escalares (boolean, integer, float y string ).

Ejemplo: Definición de constantes ? 1 2 3 4 5 6 7

Descargar Ejecutar

Constantes predifinicas

En PHP exiten algunas constantes predefinidas que no requieren la instrucción: define("Nombre","Valor"). A continuación se presenta un ejemplo del uso de estas variables. ? 1 2 3 4 5 6 7 8

Descargar Ejecutar

Funciones de manejo de variables

PHP proporciona funciones para manipular las variables que se usaran intensivamente en secciones posteriores. Como por ejemplo: Función

Descripción

Sintaxis

isset

Determina si una variable tiene valor. Su isset($var) argumento es un nombre de variable

unset

Elimina el contenido de una variable. El unset($var) resultado es un NULL

empty

Regresa un true si la variable todavía no empty($var) ha recibido valor

gettype

Permite conocer el tipo de datos de la gettype($var)

Función

Descripción

Sintaxis

variable settype

Permite modificar el tipo de dato de una settype($var, variable "tipo")

lowercase

Convierte el contenido de una variable lowercase($var) alfanumérica en minúscula

uppercase

Convierte el contenido de una variable uppercase($var) alfanumérica en mayúscula

is_int

Esta función regresa true si la variable pasada como argumento es entera; en caso is_int($var) contrario devuelvefalse.

is_float

Regresa true si la variable pasada como argumento es de tipo float; en caso is_float($var) contrario regresa false.

Regresa true si la variable pasada como argumentp es un número o una cadena is_number is_number($var) numérica; en caso contrario, devuelve false.

3.4. Operadores

Los operadores constituyen elementos esenciales de cualquier lenguaje de programación. Con ellos podemos asignar, unir, cambiar o comparar valores de datos, cambiar el flujo del programa, etc.

Los operadores son símbolos que representan operaciones sobre un valor. Vamos a ver a continuación los operadores admitidos por PHP agrupados según su utilidad.

Operador de asignación

El símbolo = permite asignar valores a variables:

? 1

Descargar Ejecutar

El operador .=, agrega valores al contenido de una variable, es equivalente a $var = $var + 'nuevo valor';

?

Descargar Ejecutar

Operador de concatenación

Usando el símbolo . concatenamos cadenas

? 1