Mi reporte web
INSTITUTO TECNOLOGICO SUPERIOR DE LA MONTAÑA EXTENCION OLINALÁ


MATERIA: DESARROLLO DE APLICASIONE WEB


REPORTE


ALUMNA: REYNA SEVILLA REYES


INGENIERIA INFORMATICA


PROFESOR: JACOBO REYES MARTINEZ


OLINALA GRO A 31 DE MARZO DEL 2013

Mi reporte
UNIDAD 1: Plataforma Web

1.1.-EVALUACIONES DE APLICASIONES WEB
La hora de calificar la calidad de una aplicasion web, uno de los factores mas importantes es la usabilidad.
El atributo mas bicible ya que determina el grado de satisfacción del usuario respecto de la aplicasion Web.
La norma ISO 8402 define la calidad como el conjunto de propiedades y caracteristicas de un producto o servicio.
La calidad es sinónimo de unos factores que pueden ser medidos:
*Eficiencia
*Flecxibilidad
*Facilidad de uso
*Portabilidad
*Seguridad etc.

La calidad queda definidad a un alto nivel de abstraccion por 6 caracteristicas.
FUNCIONALIDAD: Las funciones satisfacen necesidades declaradas o implicitas [ISO 9126: 1991]
FIABILIDAD: Capacidadde un sistema para mantener su nivel de rendimiento.
USABILIDAD: Esfuerzo necesario para el uso y al valoracion individual de tal uso, por parte de un conjunto de usuario [ISO 9126: 1991]
PORTABILIDAD: Es la capacidad de un sistema para ser transferido de un entorno aotro [ISO 9126: 1991]
MANTENIBILIDAD: Es el esfuerzo necesario para realizar modificasiones especificas [ISO 9126: 1991]
EFICIENCIA: Es la relacion entere el nivel de presentaciones,de un sistema y el volumen de recursos utilizados en condiciones declarados [ISO 9126: 1991]
APLICACIONES WEB
Aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador.
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

Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea
son ejemplos bien conocidos de aplicaciones web.

Una página Web puede contener elementos que permiten una comunicación activa, entre el usuario y la información.
>Por ejemplo: rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo.
Una aplicación Web es una extensión dinámica de la web o una aplicación de servidor.

Existen 2 tipos de aplicaciones Web
*Orientada a la presentación
*Orientada al servicio

--Orientada a la presentación

Genera paginas web interactivas que contienen varios tipos de lenguaje de marca (HTML, XML, etc.) y contenido dinámico en respuesta a peticiones.

Orientada al servicio
Estas paginas implementan el punto final del servicio web.
Las aplicaciones orientadas a la presentación frecuentemente
son clientes de las aplicaciones web,orientadas al servicio.

La iteración entre un cliente Web y una aplicación Web.
1. cliente envía una petición HTTP al servidor web
2. Las tecnologías Java server convierten la petición un objeto HTTPServetRequest
3. Esta petición es deliberada a un componente Web, el cual puede interactuarcon JavaBeans y otros para generar un contenido dinámico
4. El componente web puede generar un objeto HTTPServletResponse
5. El servidor web convierte este objeto en una respuesta HTTP y es enviada a su cliente.

Una Arquitectura define: un conjunto de elementos, conectores, restricciones y un sistema de control que caracterizan a un sistema o a una familia de sistemas.

*ARQUITECTURA DE DOS CAPAS
La WWW está basado en el modelo Cliente / Servidor.
El Cliente principal en el WWW son los browsers o navegadores que solicitan información al Servidor.
El Servidor son los Servidores Web que proporcionan documentos y contenidos multimedia a los clientes a través de la red.
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.
Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros,
la arquitectura básica seguirá siendo la misma.
La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados.

Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta

En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son: - Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación - Espera y recibe las respuestas del servidor. - Por lo general, puede conectarse a varios servidores a la vez. -

Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. - Al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son: -Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación -Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. - Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). - No es frecuente que interactúen directamente con los usuarios finales

VENTAJAS
*Centralizacion del control
*Escalabilidad
*Facil mantenimiento

Desventajas:
Congestión del trafico
El cliente no dispone de los recursos que pueden existir en el servidor

Ejemplos
1.-wikipedia
2.-Juegos en line

ARQUITECTURA DE 3 CAPAS
Capa de datos
Capa de negocios
Capa de presentación

LA WEB
Al conectarnos a internet estamos navegando en 3 capas.
Al abrir un formulario web de inscripción (capa de presentación)
Después de enviar la información esta es verificada (capa de negocios).
Finalmente la información es grabada en una base de datos (capa de datos).

*Capa de datos
*Base de datos
*Tablas
*Procedimientos almacenados
*Componentes de datos
*Capa de datos Microsoft
1.-ADO .NET
2.-SQL SERVER 20000
3.-Procedimientos almacenados
4.-Componentes (c#, vb, c++, j#)

XML
**Capa de Negocio
Reglas del negocios
Validaciones
Cálculos
Flujos y procesos

**Capa de Negocios Microsoft
Lenguajes de Componentes (c#, vb, c++, j#)
Componentes Locales
Componentes Web (Servicios web)
Comunicación entre componentes utilizando el SOAP y XML
**Web Services
Permiten publicar componentes de negocios(Web Services) en un servidor web.
Estas componentes pueden ser llamadas desde otros servidores o clientes utilizando SOAP.
Simple Object Access Protocol (SOAP) es un protocolo para el intercambio de la información basado en HTTP y XML

**Capa de Presentación**
Formularios
Informes
Respuestas al usuario

**Capa de Presentación Microsoft**
ASP .NET
ASP
XML, XSL
HTML
JAVASCRIPT
VBSCRIPT
Vb Form
Word, Excel

**Extensible Markup Language (XML)
Meta Lenguaje de Marcación es un lenguaje estandar similar al html, que permite la comunicación entre los sistemas de información.
Tiene una estructura de árbol.
Se recomienda usarlo en la comunicación entre las componentes de
Presentación con las de Negocios

**LENGUAJES DE PROGRAMACION 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.
Para que la pagina se pueda ver bien es necesario tener instalados los plug-in adecuados.
El navegador es una especie de aplicación capaz de interpretar las órdenes recibidas en forma de código HTML fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden.

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.

**HTML
El lenguaje llamado HTML indica al navegador donde colocar cada texto, cada imagen o cada video y la forma que tendrán estos al ser colocados en la página.
Este lenguaje consta de etiquetas que tienen esta forma o . Cada etiqueta significa una cosa.

JAVASCRIPT
Javascript es un lenguaje de programación utilizado para crear pequeños programitas encargados de realizar acciones dentro del ámbito de una página web.
Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento.
Su uso se basa fundamentalmente en la creación de efectos especiales en las páginas y la definición de interactividades con el usuario

APPLETS DE JAVA
Se trata de pequeños 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 de Java están programados en Java y precompilados.
La principal ventaja consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan.
Además, Java es más potente que Javascript, por lo que el número de aplicaciones de los applets podrá ser mayor.
Como desventajas en relación con Javascript cabe señalar que los applets son más lentos de procesar y que tienen espacio muy delimitado en la página donde se ejecutan, es decir, no se mezclan con todos los componentes de la página ni tienen acceso a ellos.

**VBScript
Es un lenguaje de programación de scripts del lado del cliente,
pero sólo compatible con Internet Explorer.
El funcionamiento de Visual Basic Script para construir efectos especiales en páginas web

**FLASH
Flash es una tecnología, y un programa, para crear efectos especiales en páginas web.
Con Flash se hacen páginas dinámicas del lado del cliente.

LENGUAJES DE PROGRAMACIÓN DEL LADO DEL SERVIDOR

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
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.

CGI
Es el sistema más antiguo que existe para la programación de las páginas dinámicas de servidor.
Actualmente se encuentra un poco desfasado por la dificultad con la que se desarrollan
los programas y la pesada carga que supone para el servidor que los ejecuta.
Los CGI se escriben
habitualmente en el lenguaje Perl, C, C++ o Visual Basic.

**PEARL
Perl es un lenguaje de programación interpretado. Esto quiere decir que el código de los scripts
en Perl no se compila sino que cada vez que se quiere ejecutar se lee el código
y se pone en marcha interpretando lo que hay escrito.

**ASP.net
ASP (Active Server Pages) es la tecnología desarrollada por Microsoft
para la creación de páginas dinámicas
del servidor. ASP se escribe en la misma página web,
utilizando el lenguaje Visual Basic Script o Jscript (Javascript de Microsoft)
.
*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.

*JAVA SERVER PAGES
Es una tecnología orientada a crear páginas web con programación en Java.
Con JSP se hacen aplicaciones web que se ejecutan en variados servidores web,de múltiples plataformas,
ya que Java es en esencia un lenguaje multiplataforma.
Por tanto, JSP se escriben con editores HTML/XML habituales.

**AMBIENTES PARA EL DESARROLLO DE APLICACIONES WEB
Un entorno de desarrollo integrado (IDE- Integrated Development Environment -)es una aplicación de software
que ofrece servicios integrales a los programadoresde 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.

Para PHP se tienen las siguientes herramientas
-Zend Studio
-Open Komodo Project
-Eclipse + phpEclipseetc
Dreamweber es una herramienta que permite trabajar con:
ASP JavaScript
ASP VBScript
ASP.NET C#
ASP.NET VB
COLDFUSION
JSP
PHP MySQL

Joomla es un Sistema de Gestión de Contenidos (CMS) que le ayuda a construir sitios web y otras aplicaciones online potentes.
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

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.

**METODOLOGIA PARA EL DESARROLLO DE APLICACIONES WEB
Las aplicaciones Web exigen funcionalidad, confiabilidad, usabilidad y eficiencia entre otras características de calidad.
La utilidad y crecimiento de las aplicaciones Web genera grandes desafíos
como son los de controlar y mejorar su calidad.
Aunque las aplicaciones Web están creciendo rápidamente tanto en uso como en aceptación,
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.

Ingeniería Web es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad

**Control y garantía de la calidad
Usabilidad
Funcionabilidad
Fiabilidad
Seguridad
Eficiencia
Mantenibilidad

Las actividades que forman parte del proceso son:
Formulación identifica objetivos y establece el alcance. 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.
Análisis especifica los requerimientos e identifica el contenido.
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.
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. Prueba busca errores a todos lo niveles: contenido, funcional, navegacion, rendimiento, etc.
Finalmente, el resultado es sometido a la evaluación del cliente.