Capítulo 6: Introducción a los frameworks

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

Proyecto Bolsa de trabajo
Cristian Fonnegra Marin
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
Java Server Faces Desarrollo de Aplicaciones Empresariales con Java Instructor: Geovanny Cudco
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
PRESENTACIÓN DRUPAL Versión 0.1 Por Ricardo Chang.
INTRODUCCION AL DISEÑO DEL SOFTWARE EDUCATIVO Presentado por: MILLER ALEJANDRO GAONA ÁLVAREZ UNIVERSIDAD DE PAMPLONA FACULTAD DE EDUCACION DEPARTAMENTO.
SISTEMAS OPERATIVOS REALIZADO POR: Noelia Hidalgo y Auda López.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
ASPECTOS GENERALES. Introducción. ¿Qué es Moodle? Arquitectura. Especificaciones técnicas. Características generales. ¿Cómo puede ayudar Moodle en clase?
hardware Es la ciencia aplicada que abarca el estudio y aplicación del tratamiento automático de la información, utilizando dispositivos electrónicos.
UNIVERSIDAD NACIONAL DE CHIMBORAZO NOMBRE:ERIKA SALAO PRIMERO:A ESCUELADE:EDUCACION BASICA DOCENTE: FERNANDO BUFANTE AÑO LECTIVO Es un sistemas.
Arquitectura para aplicaciones Web
CLIENTE - SERVIDOR INTEGRANTES: JORGE MORA ERICK SALTOS FREDDY SERNAQUE ANGGIE REYES.
Capítulo 2: Tecnologías para la creación de sitios web
Capítulo 7: Consideraciones hacia la web móvil
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE PREVENCIÓN Y SEGUIMIENTO DE CÓLICOS EN EQUINOS UTILIZANDO ASP.NET y MVC MAYO 2014 VIVIANA ESTÉVEZ VERÓNICA.
Unidad 3. Desarrollo de aplicaciones Web
SOFTWARE EDUCATIVO SUAMY YULIETH GARAVITO PEREZ MARILYN PARADA GELVEZ GRUPO F SEM-1 UNIVERSIDAD DE PAMPLONA FACULTAD DE LA EDUCACION CIENCIAS SOCIALES.
MODELO CLIENTE -SERVIDOR
Tópicos de bases de datos
LENGUAJES Y REPRESENTACION TECNICA
Conectividad de Bases de Datos
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
UNIDAD I: INTRODUCCIÓN AL DISEÑO WEB.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Lenguaje y representación técnica
SOFTWARE. Es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos.
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
TALLER DE SISTEMAS OPERATIVOS
QUE ES EL SOFTWARE Es un conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones.
Modelo Vista Controlador (MVC)
HERRAMIENTAS Elementos necesarios para una buena formación virtual
ARQUITECTURA MVC Modelo Vista Controlador es un patrón de arquitectura de software que se utiliza mucho en aplicaciones web, separándola en tres capas.
Conceptos Relacionados Unidad I. Parte A.
Arquitectura de Aplicaciones Web
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
Plataformas cliente-servidor
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
EL SISTEMA OPERATIVO Es un conjunto de programas hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
Diseño de una Base de datos
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
LENGUAJE DE SCRIPTING EN SERVIDORES WEB INTEGRANTES :JOSTIN FRANCO DARYENIS ARAUZ PABLO CANDANEDO.
TIPOS DE SISTEMAS OPERATIVOS ● Sistemas Operativos de multiprogramación (o sistemas operativos de multitarea). ● Sistemas Operativos distribuidos. ● Sistemas.
00:46 1 El software educativo es definido como un conjunto de programas, documentos, procedimientos, y rutinas asociados con la operación de un sistema.
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Java Enterprise edition
MIDDLEWARE Y PROGRAMACION WEB DISTRIBUIDA. ¿ QUE ES MIDDLEWARE?
PROYECTO DE GRADUACIÓN
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
FRONT-END Y BACK-END L.I. MARÍA DEL CARMEN RIVERA GONZÁLEZ.
IMPLEMENTACIÓN DE UN PORTAL WEB PARA LA AUTOMATIZACIÓN DEL PROCESO DE CONSULTORÍAS DE MENTORES GOLD DE LA REGIÓN LATINOAMERICANA DEL IEEE (R9), UTILIZANDO.
Spring Framework.
Lenguajes del lado del cliente
Evolución de las aplicaciones web
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
Tecnología Web Rodrigo Durán y Juan Díaz. ¿Que es?
Características de los Sistemas Operativos
PROYECTO DE GRADUACIÓN
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Introducción a la Programación. Modulo 61 Programación Web Programación Web.
ARQUITECTURA DE SOFTWARE FLUJO DE DATOS Tuberías y Filtros DOCENTE: ING. ALFREDO YAPIAS CIRINEO INTEGRANTES: TINOCO BLANCO, HANS BALVIN QUISPE, JOSE MORALES.
Transcripción de la presentación:

Capítulo 6: Introducción a los frameworks 6.1 La programación web al inicio del siglo: grandes avances con situaciones de riesgo Client/server (cliente/servidor). Modelo de diseño para aplicaciones que corren en redes, en donde la mayor parte del procesamiento en segundo plano (por ejemplo: realizar una búsqueda física en una base de datos) se lleva a cabo en un servidor. El procesamiento en primer plano, que implica comunicación con el usuario, lo manejan programas más pequeños que se encuentran distribuidos en las estaciones de trabajo clientes. En un sistema cliente/servidor de dos capas se da la siguiente distribución típica de tareas: El cliente es la presentación de la aplicación que se usará para realizar el trabajo; el servidor es donde se ejecuta la aplicación. En segundo plano, un servidor de base de datos funciona para administrar una base de datos entre todos los usuarios y las aplicaciones que la usan para almacenar y recuperar datos. Los sistemas cliente/servidor de tres capas se presentan comúnmente en aplicaciones de web: La primera capa está representada por el navegador, el cual interpreta el código HTML y el JavaScript.

En la capa intermedia se encuentra el servidor de internet En la capa intermedia se encuentra el servidor de internet. Los más comunes son Internet Information Server (para ASP) y Apache (para PHP y JSP). Estos programas interpretan el lenguaje de programación que recibe la base de datos, manejan los elementos básicos de un lenguaje de programación. Aprovechando estos elementos se solicitan datos a la base de datos a través de cadenas SQL y se reciben los datos de respuestas. Entre los más comunes: ASP, PHP y JSP. Finalmente, la tercera capa es el Sistema Manejador de Base de Datos (SMBD), que ejecuta las sentencias SQL solicitadas. Algunos SMBD –entre ellos Oracle y SQL Server– permiten programación de rutinas dentro de ellos mismos utilizando un lenguaje de programación propio. Nos referimos a las vistas, transacciones, procedimientos almacenados y disparadores.

Plataformas típicas para desarrollo web en computadoras personales 6.2 Panorama de los contextos tecnológicos para programación web Plataformas típicas para desarrollo web en computadoras personales (aunque debe considerarse que no son las únicas posibilidades y puede haber combinaciones)

6.2.1 ¿Cuál IDE utilizar? Para el caso de Microsoft, la recomendación directa es Visual Studio .NET 2015, puede descargarse desde el sitio de Microsoft: https://www.visualstudio.com/ Para Android, lo más recomendable es Android Studio, que puede descargarse de https://developer.android.com/studio/index.html

Netbeans y Eclipse para aplicaciones WEB en computadora personal https://netbeans.org/downloads/ https://eclipse.org/downloads/ Netbeans y Eclipse para aplicaciones WEB en computadora personal

6.2.2 Sugerencias para los procesos de enseñanza y aprendizaje Para la enseñanza de este tema es indispensable elegir uno de los contextos tecnológicos mencionados, verificar que la plataforma de los laboratorios sea la adecuada para ello y seleccionar los videos que serán base para la explicación. En su caso, es indispensable validar que los estudiantes tengan los conocimientos previos necesarios sobre Java y sigan los estándares de desarrollo establecidos. No basta que los programas “corran”, porque posiblemente estaríamos fomentando un tipo de programación de hace 15 años: al menos debe llegarse a un estilo claro de modelo-vista-controlador .

6.3 Programación web sin el modelo-vista-controlador Para este ejemplo será necesario tener instalado Netbeans, el JDK y un servidor de internet (Glassfish, Apache Tomcat o JBoss). Si no lo tiene, recurra al video ya mencionado https://www.youtube.com/watch?v=V23GNjnf438&list=PL5F907F818938859E para guiarse en su instalación. Con esa base, reproduzca el código mostrado en el video de Jesús Conde apoyándose en las facilidades del IDE y en la explicación que se brinda a continuación: ht t p s : / / w w w . yo u t u b e . c o m / wa t ch ? v=q10XMtDjTtg&index=3&list=PL5F907F818938859E

6.4 Uso de Frameworks Framework es una estructura conceptual y tecnológica para el desarrollo de software que involucra lenguajes de programación, bibliotecas, herramientas y metodologías de trabajo. 6.4.1 Modelo-vista-controlador, la base de todos los frameworks Un concepto fundamental al trabajar con un framework es en el concepto de modelo-vista-controlador (MVC). Consiste en mezclar lo menos posible la vista (lo que el usuario ve en la pantalla), el modelo (el manejo de los datos y su liga con la base de datos) y el controlador (los programas que “manejan el tráfico” y deciden qué procesos van a llamarse según la situación). El modelo–vista–controlador (MVC) es un patrón de arquitectura de software, que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

6.4.2 Programación web utilizando el modelo-vista-controlador Reproduzca el programa mostrado en el video de Helmont Smith Saez: https://www.youtube.com/watch?v=S-FGoEBjTSA. Apóyese en las facilidades del IDE y en la explicación de este capítulo. Recuerde: ¡No teclee el código directamente como aparece en el texto! Reprodúzcalo empleando el entorno ya señalado. 6.4.3 Modelo-vista-controlador con acceso a base de datos Reproduzca el código mostrado en el video de Helmont Smith Saez a través del IDE Netbeans: https://www.youtube.com/watch?v=JqCxavYhuRw; https://www.youtube.com/watch?v=0DAbnZLL4T8. (Insistimos: ¡no teclee el código a partir de este ejemplo! Constrúyalo empleando el entorno ya señalado). El video y el código muestran las opciones de insertar y consultar. Queda en sus manos incorporar el borrado y la actualización, además de construir el menú.

6.5 Recapitulación para aprender a programar en ambientes web La programación web realizada con cierto rigor es un universo donde conviven factores como una metodología adecuada, aplicación de herramientas y localización de información en sitios específicos. Desde un punto de vista técnico, son indispensables conocimientos básicos de HTML, SQL; algún lenguaje del lado del servidor, preferentemente, JavaScript, Ajax, XML; así como algún reporteador. Implica tener habilidades para entender el requerimiento, trabajar sobre la estructura establecida, dar el dinamismo adecuado al sitio y cierta robustez, y codificar aprovechando las facilidades del IDE elegido. Todo ello es la diferencia entre hacer un programa y un sistema. Si se nos permite una analogía: muchos pueden hacer una casa, pero se necesitan conocimientos mayores para construir un edificio.