La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Plataformas de Desarrollo de Software

Presentaciones similares


Presentación del tema: "Plataformas de Desarrollo de Software"— Transcripción de la presentación:

1 Plataformas de Desarrollo de Software
Capitulo 2 Plataformas de Desarrollo de Software Miguel Ángel Niño Zambrano

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

3 Introducción Programación del Cliente: HTML DHTML SCRIPTS COMPONENTES
ACTIVEX Programación del Servidor: CGI FastCGI & ISAPI PHP & ASP FRAMEWORK J2EE .NET ENTORNOS DE DESARROLLO INTEGRADO DE APILACIONES WEB JAVA BEANS, ECLIPSE, VELNEO, etc. Visual Studio .NET (VSNET).

4 Programación del lado del Cliente
HTML, DHTML, Scripts, Cookies, Componentes.

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

6 Detalles de Presentación
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=" de HTML</a></li> <li><a href=" de DHTML</a></li> <li><a href="#Contacto">Contacto</a></li> <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> Ext: 2119</p> </body> </html> Cabecera Cuerpo Lista Enlaces Detalles de Presentación

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

8 Cabecera, Texto, Listas HTML

9 Enlaces, Imágenes, Formateo de texto y Tablas HTML

10 Objetos, Imágenes, Marcos y Formularios HTML

11 Scripts -HTML

12 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 Ejemplos: Localhost/html

13 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. URL rewriting Consiste en incluir la información del estado en el propio URL /…/comprar.asp?paso=3&producto1=01992CX&producto2=ZZ112230&producto3=HJ19X25… No es de recibo en aplicaciones “serias”. Un cliente puede iniciar dos o más sesiones simultáneas, páginas tediosas de programar, sólo se puede usar el método GET, etc.

14 Funcionamiento de las Cookies
Las cookies son pequeñas porciones datos que son almacenados localmente por el Navegador en forma de pequeños ficheros de texto La cookie es enviada al navegador desde el servidor y si este la acepta permanece en él. Las páginas piden la cookie al navegador... Condiciones de Implementación Según la especificación, un agente de usuario (es decir, un navegador), debe permitir al menos: Un total de 300 cookies Hasta 4 KB (4.096 bytes) por cookie Al menos 20 cookies de un servidor dado El navegador se encarga automáticamente de eliminar aquéllas que hace más tiempo que no se utilizan cuando necesita guardar nuevas cookies. El navegador las envía, permitiendo la identificación del usuario por parte del servidor

15 Ventajas del Uso de Cookies
Menor uso de los recursos del servidor: Los servidores “sin estado” no necesitan reservar y mantener recursos para guardar el estado de la sesión Fácil escalabilidad y uso de clusters: Al no tener estado, cualquier servidor puede atender a cualquier cliente. No hace falta que un cliente siempre sea atendido por el mismo servidor, ni ningún tipo de distribución del estado entre servidores. La sesión del cliente podría sobrevivir a una caída del servidor: Un reintento por parte del cliente con el mismo URL suele funcionar.

16 Inconvenientes del Uso de Cookies
Privacidad: Otros servidores podrían leer información almacenada en las cookies del cliente no son válidas para guardar números de tarjeta, contraseñas y cosas por el estilo. Los datos pueden ser alterados: Un usuario podría modificar el fichero de una cookie. Lo mismo ocurre con otros mecanismos de cliente: URL, formularios, etc. Aumenta el tráfico por la red: El estado se transmite con cada petición al servidor Implementación compleja: Mantener “a mano” el estado en el cliente puede ser realmente complicado si queremos hacerlo de manera robusta. Tamaño de datos limitado: Tanto el tamaño máximo permitido por las cookies como la longitud máxima de un URL pueden darnos problemas para almacenar sesiones complejas.

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

18 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: ¿Qué diferencia hay entre controles y componentes ActiveX? Los elementos desarrollados con esta tecnología pueden aplicarse tanto en el lado cliente como en el lado servidor. Esta es la diferencia fundamental: Un control ActiveX se ejecuta localmente en nuestra aplicación. Un componente (u objeto) ActiveX se ejecuta del lado servidor, utilizando una interfaz automatizada para que otras aplicaciones o herramientas de programación puedan utilizarlo. Un componente ActiveX: Tiene la ventaja de que se trata de un estándar prácticamente universal, multiplataforma y, por tanto, independiente de las aplicaciones y sus lenguajes. Puede combinarse, a través de ASP, con scripts y páginas HTML para poder crear webs profesionales. Su funcionamiento precisa la instalación del objeto en la máquina sobre la que se ejecute, y suele encontrarse bajo archivos de extensión OCX o DLL.

19 Programación del lado del Servidor
CGI, PHP, Scripts, ASP, Framework (J2EE, .NET).

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

21 Funcionamiento de un CGI
Hay dos formas posibles en que el servidor Web puede pasarle los datos al programa CGI: Mediante las variables de entorno Mediante la entrada estándar (stdin) Las variables de entorno: CONTENT_LENGTH : Para consultas que llevan asociada información (por ejemplo, las hechas mediante POST), el tamaño en bytes de dicha respuesta QUERY_STRING: La información que sigue al “?” en el URL que referencia a este programa. SERVER_NAME: El nombre del servidor o su dirección IP. Entre otras. Forma de acceso a la Información:

22 Practica ejecutar un CGI en ISS 7
Activar características de Windows. En Internet Information Services, en características de desarrollo de aplicaciones, se habilita CGI. Que por defecto esta deshabilitado. En el administrador ISS, en el nombre del PC, se escoge “Restricciones de ISAPI y CGI”. Seleccionar Modificar configuración de característica y habilitar permitir módulos CGI e ISAPI no especificados. Habilitar los permisos de ejecución al módulo de CGI en la sección de Asignaciones de controlador. Crear un programa en C, compilarlo. Almacenar el ejecutable en el directorio Web. Llamarlo desde el navegador. Ejemplo de Escritura Simple en una página Web Ejemplo de Envío y Recepción de Datos GET y POST.

23 PHP El lenguaje PHP es un lenguaje de programación de estilo clásico, parecido al lenguaje C. PHP 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.

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

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

26 Framework de Desarrollo – J2EE
Programación Eficiente Extensibilidad Frente a la demanda Del Negocio. Integración Las razones que empujan a la creación de la plataforma JEE: Programación eficiente. Para conseguir productividad es importante que los equipos de desarrollo tengan una forma estándar de construir múltiples aplicaciones en diversas capas (cliente, servidor web, etc.). En cada capa necesitaremos diversas herramientas, por ejemplo en la capa cliente tenemos applets, aplicaciones Java, etc. En la capa web tenemos servlets, páginas JSP, etc. Con JEE tenemos una tecnología estándar, un único modelo de aplicaciones, que incluye diversas herramientas; en contraposición al desarrollo tradicional con HTML, Javascript, CGI, servidor web, etc. que implicaba numerosos modelos para la creación de contenidos dinámicos, con los lógicos inconvenientes para la integración. Extensibilidad frente a la demanda del negocio. En un contexto de crecimiento de número de usuarios es precisa la gestión de recursos, como conexiones a bases de datos, transacciones o balanceo de carga. Además los equipos de desarrollo deben aplicar un estándar que les permita abstraerse de la implementación del servidor, con aplicaciones que puedan ejecutarse en múltiples servidores, desde un simple servidor hasta una arquitectura de alta disponibilidad y balanceo de carga entre diversas máquinas. Integración.  Los equipos de ingeniera precisan estándares que favorezcan la integración entre diversas capas de software. La plataforma JEE implica una forma de implementar y desplegar aplicaciones empresariales. La plataforma se ha abierto a numerosos fabricantes de software para conseguir satisfacer una amplia variedad de requisitos empresariales. La arquitectura JEE implica un modelo de aplicaciones distribuidas en diversas capas o niveles (tier). La capa cliente admite diversas tipos de clientes (HTML, Applet, aplicaciones Java, etc.). la capa intermedia (middle tier) contiene subcapas (el contenedor web y el contenedor EJB). La tercera capa dentro de esta visión sintética es la de de aplicaciones 'backend' como ERP, EIS, bases de datos, etc. Como se puede ver un concepto clave de la arquitectura es el de contenedor, que dicho de forma genérica no es más que un entorno de ejecución estandarizado que ofrece unos servicios por medio de componentes. Los componentes externos al contenedor tienen una forma estándar de acceder a los servicios de dicho contenedor, con independencia del fabricante. Algunos tipos de contenedores: Contenedor Web, también denominado contenedor Servlet/JSP, maneja la ejecución de los servlets y páginas JSP. Estos componentes se ejecutan sobre un servidor Enterprise Edition. Contenedor Enterprise JavaBeans, que gestiona la ejecución de los EJB. Esta ejecución requiere de un server EE. Los contenedores incluyen descriptores de despliegue (deployment descriptors), que son archivos XML que nos sirven para configurar el entorno de ejecución: rutas de acceso a aplicaciones, control de transacciones, parámetros de inicialización, etc. La plataforma JEE incluye APIs para el acceso a sistemas empresariales: JDBC es el API para accceso a GBDR desde Java. Java Transaction API (JTA) es el API para manejo de transacciones a través de sistemas heterogeneos. Java Naming and Directory Interface (JNDI) es el API para acceso a servicios de nombres y directorios. Java Message Service (JMS) es el API para el envio y recepción de mensajes  por medio de sistemas de mensajería empresarial como IBM MQ Series. JavaMail es el  API para envio y recepción de . Java IDL es el API para llamar a servicios CORBA. Contenedores Estándar: Servlet/JSP, EJB Descriptores de Despliegue. APIs acceso Servicios. applets, aplicaciones Java servlets, páginas JSP

27 J2EE – Capas de la Arquitectura
Cliente Web Enterprise Java Beans. Sistemas de Información Empresarial.

28 Tipos de Aplicaciones J2EE
Vista desde un browser utilizando todas las capas. Vista desde una aplicación Stan-Alone.

29 Tipos de Aplicaciones J2EE
Utilizando una misma capa Web con la lógica de la aplicación.

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

31 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

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

33 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

34 Arquitectura de una Aplicación .NET
Controles que presentan la información a los usuarios. En un gran número de casos, la interactuación del usuario con el sistema se realiza de acuerdo a un proceso predecible. Una vez que el proceso de usuario ha recopilado los datos necesarios, éstos se pueden utilizar para realizar un proceso empresarial. Los componentes empresariales implementan la lógica empresarial de la aplicación. Cuando un componente empresarial requiere el uso de la funcionalidad proporcionada por un servicio externo

35 Arquitectura de una Aplicación .NET
Para exponer lógica empresarial como un servicio, es necesario crear interfaces de servicios que admitan los contratos de comunicación (comunicación basada en mensajes, formatos, protocolos, seguridad y excepciones, entre otros) que requieren los clientes. Punto único para organizar el acceso a las diferentes Bases de Datos. Paso de datos entre distintos componentes. Administrar excepciones, autorización, comunicación.

36 Entornos de Desarrollo Integrado Web – Visual Studio .NET

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

38 LAMP vs. WISA WISA (Windows, IIS, SQL, ASP):
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. PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.

39 Bibliografía http://www.webestilo.com/php/. Programación de PHP.
Manual de MySQL. Curso práctico de CGI. Curso de J2EE. Activex. Arquitectura J2EE.


Descargar ppt "Plataformas de Desarrollo de Software"

Presentaciones similares


Anuncios Google