Arquitectura y Frameworks Web Carlos Andrade

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

Web Services.
Rogelio Ferreira Escutia Modelo Vista Controlador.
Mónica Acosta Yeison Ceballos Carlos Rodallega
Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
Servidores Web Capítulo 2.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Arquitectura Orientada a Servicios (SOA)
Escuela Politécnica del Ejército
Model View Controller (MVC)
Editor de Visual de Templates Open EHR-Gen
Índice 1. Introducción, objetivos y justificación del proyecto.
Symfony La Vista y el Controlador (MVC)
ACIS Desarrollar proyectos de software y “evitar” el fracaso ?
Java 2 Platform Enterprise Edition
Características Técnicas
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Sistema de Administración de Contenidos CMS Administración de Sitios.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Presentado por Alfredo de la Mora Díaz Catedrático Dr. Jesús Favela
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
Lenguajes de programación Web
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
Lenguajes de Programación
ACIS Desarrollar proyectos de software y “evitar” el fracaso ? Por Bernardo Díaz Arias Arquitectura.
FRAMEWORK VS Código fuente
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
Términos y Conceptos Básicos
Cristian Fonnegra Marin
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Eugenia Parodi Eugenia Parodi Lazaro Ruiz Lazaro Ruiz Juan Achucarro Juan Achucarro Sebastian Castellanos Sebastian Castellanos.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Cómo crear tu primer MVC WebPart en Sharepoint 2010 Ing. Randall Barnett Villalobos, Mci DBA / Developer Instituto Costarricense de Electricidad.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Gestión de proyectos fin de carrera
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
LOGO Grupo de desarrollo de software (GDS) Grupo de desarrollo de software.
MODELAMIENTO VISUAL Y UML
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Febrero 2016 FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACIÓN AREA DE ARQUITECTURAS Dirección de Ingeniería, Soporte a Gestión de Aplicaciones y Centros.
Sistemas EPR,s  Los sistemas ERP son sistemas integrales de gestión para la empresa. Se caracterizan por estar compuestos por diferentes partes integradas.
TEMA 2 PHP. Introducción e Instalación índice 1. Introducción 6. Primera Prueba 2. Requisitos 3. ¿Qué es MySQL? 4. ¿Qué es Apache? 5. WAMPServer Raquel.
Tema 7: Ingeniería del software Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan.
Introducción En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor.
TEMA 8 Introducción a Windows 2008 Server Msc. Rina Arauz.
CENTRO UNIVERSITARIO UAEM TEXCOCO INGENIERÍA EN COMPUTACIÓN DISEÑO DE SISTEMAS M. En C.C. Ma. Dolores Arévalo Zenteno.
Sistema de gestión de contenidos (Content Management System) Sistema de gestión de contenidos (Content Management System)
ESTE ES EL LISTADO DE LOS MEJORES GESTORES DE CONTENIDO (CMS) OPEN SOURCE EN 2015 LOS CMS LOS GESTORES DE CONTENIDO CMS OPEN SOURCE NOS HAN FACILITADO.
Gestión de versiones. Cronograma Conceptos introductorios Arquitecturas posibles Riesgos en la no utilización Herramientas.
=MARCOS DE TRABAJO ORIENTADO A OBJETOS= « NETBEANS » INTEGRANTES: SOTELO CORTES JESVAN FIDEL JIMENEZ ALFARO ARTURO CAMARA.
Contexto nacional de las TIC en la educación. Docentes, estudiantes y padres de familia pueden reforzar el conocimiento adquirido en las aulas de clase.
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
SYMFONY Información del Framework. Síntesis de Symfony  Es un framework diseñado para optimizar el desarrollo de aplicaciones web creado con PHP5. 
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
INGENIERÍAS Y TECNOLOGÍAS DE LA INFORMACIÓN Motavita Pedraza Sandra Milena Código No Administración de Sistemas de Información y Documentación.
Comunicación y tics Sistema de gestión de contenidos (Content Management System)
¿Que es Yii ? Framework para PHP de alta performance basado en componentes web para desarrollar aplicaciones web de gran escala. Yii es un framework que.
Transcripción de la presentación:

Arquitectura y Frameworks Web Carlos Andrade

Introducción Qué es un Framework? Ventajas de usar un Framework Desventajas ? Cuál es el mejor Framework ?

Consideraciones al escoger un Framework/Plataforma Requerimientos del Cliente: Es necesario integrar el software a otros sistemas? Escalabilidad : El software será usado por miles de personas o algunas pocas? Existirán millones de tuplas cada mes o se utilizará en ragafas. Extensibilidad: El software cambiará profundamente en el tiempo ? Qué tan preparado debo estar para este escenario ?

Consideraciones al escoger un Framework/Plataforma Habilidades del equipo: Cuanta experiencia posee el equipo en desarrollo ? Existen personas ya familiarizadas con alguna tecnología ? Qué tan complicado es aprender un framework en particular? Como es el software pedido ? Es una clásica aplicación Web o es algo más complejo ? Deployment: Es necesario contratar hosting o existe servidor propio? Cuantos recursos hay disponibles? “Cloud Computing” Ready ?

Consideraciones al escoger un Framework/Plataforma Documentación: Existe documentación suficiente disponible ? Respaldo : Existe soporte o respaldo detrás del framework ? El framework es nuevo, revolucionario y desconocido o esta bien posicionado con una compañía que lo respalde ?

Algunas alternativas en el mercado Java ▫Struts/Struts2 ▫Java Server Faces ▫Tapestry ▫Spring PHP ▫Symfony ▫CakePHP ▫Prado Ruby ▫Rails Python ▫Django C# ▫ASP.NET ▫MVC.NET

Clasificación de Frameworks Generalmente se dividen en 2 Tipos: MVC y Component/Form/Event-Driven Oriented. Además también podemos clasificarlos según uso típico: Agile(Ej: RoR, Symfony) o Enterprise (Ej:.NET, J2EE). Dependiendo de la complejidad y posibilidades latentes: Corto, Mediano o Largo plazo.

MVC : Model View Controller

MVC Separa el software en 3 capas: La capa Modelo de encarga de toda la lógica de negocio de la aplicación, incluyendo la capa de acceso a los datos. La capa Vista se encarga de presentar los datos obtenidos en la capa Modelo. La capa Controlador se encarga comunicar ambas capas.

Component Event-Driven Oriented

La idea es imitar el desarrollo de Aplicaciones de Escritorio. La aplicación se construye basado en componentes independientes. Un componente puede estar construido de otros componentes. Al interactuar con cada componente lanza eventos, los cuales ejecutan la lógica. Ej: OnClick(object event).

Comparativas Ruby on Rails Symfony MVC.NET Tapestry

Ruby on Rails (Ruby) MVC Ágil, revolucionó el mercado mostrando que una aplicación podía ser escrita muy rápidamente. Concepto de Scaffolding : Rails te ayuda a construir escenarios clásicos con sólo un comando ( Por ejemplo un CRUD). Patrón ActiveRecord : Una Tabla = Un objeto. Convención sobre configuración : Evita archivos de configuración, simplemente poner nombres apropiados a las clases. El lenguaje puede ser confuso al principio.

Symfony (PHP) Considerado uno de los mejores Frameworks de PHP. Incluye muchas de las características de Rails (claramente influenciado: Scaffolding, Restfull links, Convention over configuration). Symfony puede ser más simple al comienzo que RoR, pero después cuesta más hacer cosas más complejas o rehusables.

Tapestry (Java) Considerado uno de los mejores y más tecnológicamente avanzados frameworks de Java. Utiliza el concepto de Adaptative API, en el cual es el framework el que se adapta a ti y no al revés. Esto se logra utilizando anotaciones, Inversión on Control y Dependency Inyection. Incluye componentes para hacer Forms reutilizables desde objetos simples. Su curva de aprendizaje es empinada, pero después aplicaciones complejas se vuelven fáciles de construir. Puede integrarse con componentes “Enterprise” de Java como Hibernate, Spring, J2EE framework, etc.

MVC.NET (C#,VB.Net, etc) Uno de los últimos frameworks construidos. Incluye las mejores prácticas de todos los anteriores mencionados. Incluye IoC, Scaffolding, Forms Reutilizables, Convention over Configuration. Además posee un framework ORM único en su especie aún : LINQ. Como pertenece a.NET, es “Enterprise Ready” Problema Fundamental : Sólo disponible en plataforma Microsoft, lo cual puede ser costoso y privativo.

Tabla Resumen Framewor k Rapidez De Aprendi zaje Aceleración de Desarrollo OSExtensib ilidad CostoEnterprise Capable RoR6/10 All5/107/106/10 Symfony7/104/10All4/1010/103/10 Tapestry4/109/10All9/105/109/10 MVC.NET6/108/10Win9/104/109/10 Struts7/103/10All7/105/109/10 ASP.NET5/103/10Win5/104/109/10 CakePHP7/102/10All3/1010/102/10 * Percepción Personal

Arquitectura Tenemos el Framework… Como especificamos correctamente la arquitectura de nuestro sistema?. Una arquitectura hay que especificarla desde varios puntos de vista: Lógica, Despliegue, Usuario, etc. UML provee una método estandar para representar la arquitectura. El Modelo 4+1 provee una forma de organizarla.

Modelo 4+1 Scenarios Use Case Diagrams Logic View Class Diagrams Sequence Diagrams Development View Package Diagrams Module Diagrams Deployment View Deployment Diagrams Process View Activity Diagrams

Ejemplo: Máquina Expendedora de Bebibas Web Escenario : ▫Un usuario quiere acceder a este sitio para comprar un bebida. Framework Usado : MVC.Net