tema 2 plataformas de desarrollo de software miguel Ángel niño zambrano

29
Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Upload: yessenia-pozos

Post on 22-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Tema 2

Plataformas de Desarrollo de Software

Miguel Ángel Niño Zambrano

Page 2: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Agenda• Introducción• Desarrollo del lado del cliente

– HTML, DHTML, Scripts Cliente, Componentes Multimediales.• Desarrollo del lado del Servidor

– CGI, FastCGI, ISAPI, ASP.– Linux / Apache / MySQL / PHP (LAMP).– Windows / IIS / SQL Server / ASP (WISA)– Framework de Desarrollo Web

• J2EE y JSF• .NET

– Entornos de Desarrollo Integrado Web• JAVA BEANS, ECLIPSE, VELNEO, etc.• Visual Studio .NET (VSNET).

• Comparación de Plataformas de Desarrollo.

Page 3: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Introducción

Programación del Cliente:

•HTML•DHTML•SCRIPTS•COMPONENTES

•COM•ACTIVEX

Programación del Servidor:

•CGI•FastCGI & ISAPI•PHP & ASP•FRAMEWORK

•J2EE•.NET

ENTORNOS DE DESARROLLO INTEGRADO DE APILACIONES WEBJAVA BEANS, ECLIPSE, VELNEO, etc.

Visual Studio .NET (VSNET).

Page 4: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Programación del lado del Cliente

HTML, DHTML, Scripts, Cookies, Componentes.

Page 5: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Lenguaje HTML

• Es el lenguaje de creación de páginas Web de las páginas “estáticas”.

• Era imprescindible que la misma información se pudiese ver en diferentes plataformas. Por tanto, Berners-Lee diseñó un lenguaje de estructuración de documentos, no de presentación (ésta se dejaba al programa cliente).

• Como tal, tiene unas reglas que deben ser cumplidas, esto es, una sintaxis, una gramática... igual que el español o cualquier otro lenguaje informático.

• Es además un lenguaje informático, para ser procesado por ordenadores; pero no es un lenguaje de programación.

Page 6: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Ejemplo HTML<html> <head> <title>Curso de Arquitectura y Desarrollo

Web</title> </head> <body bgcolor="lightBlue" text="blue" link="red"

vlink="white"> <h1>Desarrollo de aplicaciones Web</h1> <p>Lista de enlaces</p> <ul> <li><a

href="http://www.aulaclic.es/html/t_1_1.htm">Curso de HTML</a></li>

<li><a href="http://www.dhtmlya.com.ar/">Tutorial de DHTML</a></li>

<li><a href="#Contacto">Contacto</a></li> <ul> <h2><a name="Contacto">Contacto</a></h2> <p><font color="red">Dirección:</font>C/ Tulcan

- Popayán - Unicauca</p> <p><font color="red">Teléfono:</font>8209800

Ext: 2119</p> </body></html>

Cabecera

Cuerpo

Lista

Enlaces

Detalles de Presentación

Page 7: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Estructura y Elementos del HTML

• DTD es la Declaración de tipo de documento.

• Un elemento contiene:– Una etiqueta inicial

(nombre entre signos < y > ): <etiqueta>

– La etiqueta inicial puede contener atributos: <etiqueta atributo=“valor”>

• El elemento debe acabar con una etiqueta final con el mismo nombre, anteponiendo un /.

• El contenido del elemento es todo lo que hay entre la etiqueta inicial y la final

• El contenido pueden ser otros elementos

• En caso de un elemento vacío puede usarse la sintaxis:<etiqueta/>

Page 8: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Objetos, Imágenes, Marcos y Formularios HTML

Page 9: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Scripts -HTML

Page 10: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

DHTML – HTML Dinámico

• El DOM (Document Object Model - Modelo Objeto Documento), es importante para trabajar DHTML.

• Con el DOM, todos los elementos HTML se insertan en un árbol cuyos nodos son las marcas HTML y las hojas, los valores propiamente dichos de las marcas

Page 11: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Mantenimiento de la Sesión

• HTTP es un protocolo sin estado.• Algunas de las alternativas son:

– Usar el objeto Session (o similar) provisto por los entornos de programación como ASP o J2EE (Servlets, JSP...).

– Almacenar toda la información de la sesión, a mano, en una cookie (por ejemplo, mediante JavaScript).

– Una combinación de cookie (para guardar un ID de usuario) y bases de datos

– “URL rewriting”, entre otras.

Page 12: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Funcionamiento de un Componente Activex

• ActiveX es un término que hace referencia a un conjunto de tecnologías independientes del lenguaje, que permiten que los componentes de software escritos en diferentes lenguajes funcionen juntos en entornos de red. Los componentes desarrollados bajo esta tecnología se denominan ActiveX.

• ¿Qué son los controles ActiveX?Se trata de pequeñas aplicaciones capaces de interactuar

con el usuario, realizar cálculos o representar datos, y que se insertan en páginas web a través de las etiquetas <OBJECT> y <PARAM>, que se corresponden a las operaciones de inserción del componente y paso de sus parámetros de ejecución.

Page 13: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Componentes Activex

• Los componentes ActiveX: Son piezas de software que el cliente puede programar por su cuenta o comprar a terceros.

• Pueden ser creados con casi todas las herramientas tradicionales de desarrollo. Entre las más conocidas están los lenguajes C++ o Visual Basic. Si tiene algo de experiencia en programación de aplicaciones, puede que le resulte interesante desarrollar sus propios componentes para temas específicos.

• Se ejecutan en el servidor y se utilizan para complementar la funcionalidad de las páginas ASP, Scripts,HTML.

• Ejemplo: http://club.idecnet.com/~ccastano/femepa/160106.htm.

Page 14: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Programación del lado del Servidor

CGI, PHP, Scripts, ASP, Framework (J2EE, .NET).

Page 15: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

CGI: Common Gateway Interface

• CGI no es un lenguaje. Es un protocolo simple para comunicar una página Web con un programa. Por lo anterior el Script CGI puede ser escrito casi en cualquier lenguaje que acepte el servidor de aplicaciones que utilicen las variables de entorno (GET, POST) y los flujos STDIN para leer y STDOUT para escribir. Ejemplos (C, Perl, o script del Shell).

• Estructura de un script CGI– Lee las entradas del Formulario– Procesa las entradas y los datos. – Escribe una respuesta HTML al flujo STDOUT.

Page 16: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Funcionamiento de un CGI

Forma de acceso a la Información:

Page 17: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

PHP

• El lenguaje PHP es un lenguaje de programación de estilo clásico, parecido al lenguaje C.

• Se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos.

• Ejemplo instalación PHP en ISS y ejecución en un programa sencillo.

Page 18: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

MySQL

• MySQL es un sistema de gestión de bases de datos relacionales.

• MySQL software es Open Source.• El servidor de base de datos MySQL es muy

rápido, fiable y fácil de usar.• MySQL Server trabaja en entornos

cliente/servidor o incrustados.• Una gran cantidad de software de

contribuciones está disponible para MySQL.• Ejemplo Uso MySQL y PHP.

Page 19: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

ASP – Active Server Pages• ASP es una tecnología desarrollada

por MS para crear páginas web de contenido dinámico apoyándose en scripts ejecutados en el servidor. Básicamente una página ASP es una mezcla entre una página HTML y un programa que da como resultado una página HTML que es enviada al cliente (navegador).

• Estos scripts o programas pueden en ASP ser escritos en uno de estos dos lenguajes de programación VBScript o JavaScript, pero el más extendido es VBScript, por eso centraremos todo este manual en VBScript y todas las posibilidades que él tiene.

Page 20: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Framework de Desarrollo – J2EE

ProgramaciónEficiente

ExtensibilidadFrente a la demandaDel Negocio.

Integración

applets, aplicaciones Java

servlets, páginas JSP

Contenedores Estándar: Servlet/JSP, EJBDescriptores de Despliegue.APIs acceso Servicios.

Page 21: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Framework de Desarrollo – .NET

• .NET es el modelo de desarrollo de Microsoft que hace que el software sea independiente de la plataforma y de los dispositivos, y hace que los datos estén disponibles a través de Internet. El .NET Framework es la infraestructura básica subyacente de .NET.

Page 22: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Características de .NET

• .NET ha sido implementado desde el principio pensando en una arquitectura abierta.

• El objetivo de la plataforma .NET de Microsoft es simplificar el desarrollo Web. Está formada por las siguientes tecnologías principales:– .NET Framework

• El Common Language Runtime (CLR).• Biblioteca de clases.

– Windows Server System– Servicios building block fundamentales– Visual Studio .NET

Page 23: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Componentes del .NET Framework

• Substrato de la plataforma.

• Servicios de aplicaciones.

• Biblioteca de clases del .NET Framework.

• Common Language Runtime.

• Microsoft ADO.NET• ASP.NET• Servicios Web XML• Interfaces de Usuario.• Lenguajes.

Page 24: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Ventajas del .NET Framework

• Basado en estándares y prácticas Web.– HTML (Hypertext Markup Language), HTTP, XML,– SOAP (Simple Object Access Protocol), XSLT (Extensible

Stylesheet– Language Transformation), XPath (XML Path Language)

• Diseñado utilizando modelos de aplicación unificados.• Fácil de utilizar para los desarrolladores: En el .NET

Framework, el código está organizado en espacios de nombres jerárquicos y en clases

• Clases extensibles: La jerarquía del .NET Framework no queda oculta al desarrollador. Podemos acceder y extender las clases

Page 25: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Entonos de Desarrollo Integrado

Visual Studio, NetBeans, Velneo.

Page 26: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Entornos de Desarrollo Integrado Web – Visual Studio .NET

Page 27: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Entornos de Desarrollo Integrado Web – NETBEANS

•  El NetBeans IDE es un modular, basado en normas, entorno de desarrollo integrado (IDE) escrito en el lenguaje de programación Java. NetBeans El proyecto consiste en una IDE de fuente abierta y una plataforma de aplicaciones, que puede ser usado como un marco genérico para construir cualquier tipo de aplicación.

• Características:– Easy-To-Use Java GUI Builder– Visual Mobile Development.– Ruby and Rails Support.– Visual Web and Java EE Development.– Visual UML Modeling.– C and C++ Development.

Page 28: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

LAMP vs. WISA

• LAMP (Linux, Apache, MySQL, PHP):– Open Source.– Soporte de

comunidad.– Programación

parecida a C, Perl.– Puede utilizar Java.– Se puede ejecutar en

otros S.O.– Programación Visual

con NETBEANS.

• WISA (Windows, IIS, SQL, ASP):– Propietario

– Amplio soporte MSDN, Comunidades.

– Variados Lenguajes de Programación.

– Separa la Lógica y la presentación.

– Programación Visual con VSNET.

Page 29: Tema 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

Bibliografía

• http://www.webestilo.com/php/. Programación de PHP.

• http://dev.mysql.com/doc/refman/5.0/es/what-is.html. Manual de MySQL.

• Curso práctico de CGI. http://www.jmarshall.com/easy/cgi/.

• Curso de J2EE. http://www.di.uniovi.es/~dflanvin/docencia/dasdi/teoria/.

• Activex. http://www.arsys.es/ayuda/directorio/productos/hosting/componentes-activex.htm.

• Arquitectura J2EE. http://www.proactiva-calidad.com/java/principal.html.