La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura y Frameworks Web Carlos Andrade

Presentaciones similares


Presentación del tema: "Arquitectura y Frameworks Web Carlos Andrade"— Transcripción de la presentación:

1 Arquitectura y Frameworks Web Carlos Andrade crandrad@gmail.com

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

3 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 ?

4 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 ?

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

6 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

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

8 MVC : Model View Controller

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

10 Component Event-Driven Oriented

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

12 Comparativas Ruby on Rails Symfony MVC.NET Tapestry

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

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

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

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

17 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

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

19 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

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


Descargar ppt "Arquitectura y Frameworks Web Carlos Andrade"

Presentaciones similares


Anuncios Google