Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Desarrollo Web con MVC 5

No description
by

Javi CC

on 7 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Desarrollo Web con MVC 5

Desarrollo Web con MVC 5
Diseño de aplicaciones
Aspectos clave a la hora de diseñar una aplicacion:

Compatibilidad Extensibilidad
Tolerancia a fallos Mantenibilidad
Modularidad Confiabilidad
Reutilización Robustez
Seguridad Usabilidad
Rendimiento Portabilidad
Escalabilidad
Desglose de la arquitectura N-Tier

MVC

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.


Ejemplos de frameworks que implementan el patrón MVC

ASP.NET MVC (.Net). http://www.asp.net/mvc
Grails (Java). http://www.asp.net/mvc
Ruby on Rails (Ruby). http://rubyonrails.org/



Las aplicaciones deben pensarse para el medio y largo plazo, nunca para el corto plazo.

La arquitectura de las aplicaciones define la interacción de los diferentes módulos o subsistemas software/hardware. Es importante estudiar estas relaciones para obtener los resultados esperados
Arquitectura N-Tier
La arquitectura N-Tier es una arquitectura cliente-servidor en el que el objetivo primordial es la separación de funciones logicas en la aplicación, en al menos 3 capas:

Capa de presentación
: es la que ve el usuario

Capa de negocio
: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso.

Capa de persistencia
: es donde residen los datos y es la encargada de acceder a los mismos
El Modelo: Es la representación de la información con la cual el sistema opera. Es la lógica de negocio.

El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo'.

La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado. Es la capa de presentación.


Elementos del patrón MVC
ASP.NET MVC
Es la implementación del patrón MVC por parte de Microsoft. La ultima versión disponible es Asp.Net MVC 5
Ejemplo practico:

Básico
ORM
El mapeo objeto-relacional (por sus siglas en ingles, ORM) es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional, utilizando un motor de persistencia.


Usado para abstraerse de la capa de persistencia de datos, delegando estas tareas a un framework que implementa la tecnica de programacion anteriormente descrita


Ejemplos de frameworks de ORM:
Entity Framework (.net)
NHibermate (.net)
Hibernate (java),…

Entity Framework
Entity Framework (EF) es un framework de mapeo objeto-relacional que permite a los desarrolladores de .NET trabajar con datos relacionales usando objetos específicos del dominio.

Elimina la necesidad de la mayor parte del código de acceso a datos que los desarrolladores suelen tener que escribir.

Version actual: 6.0
Ejemplo practico:
Desde diseñador
Desde base de datos
Code first
Creación de una aplicación ASP.Net MVC
Pilares básicos:
Separación de funciones/conceptos por capas independientes.
Separación entre contrato y funcionalidad: Interfaces e implementación.
Mantenible y escalable.
Testeable (Calidad).
Capa de Persistencia
Capa de Lógica de negocio
Capa de Presentación
Implementación de la capa de Persistencia
Tras definir el dominio de la aplicación usaremos un ORM para implementar la capa de acceso a datos.

Usaremos el patrón repositorio para organizar la capa de acceso a datos. En pocas palabras, un repositorio es un mediador entre el dominio de la aplicación y los datos que le dan persistencia. Basado en el concepto de "colección" permite simplificar el modo en el que se entiende el acceso a datos.

Nuestro repositorio, basado en un repositorio genérico, usará el ORM seleccionado

Ejemplo practico:
Implementación practica del patrón repositorio
Implementación de la capa de Lógica de negocio
La lógica de negocio estará implementada por "Servicios". Estos servicios usarán uno o mas repositorios.
La Inyección de dependencia, debería la encargada de proporcionar los repositorios a los servicios.
Para que el domino de la aplicación sea interno a la misma, usaremos DTOs como "salida" y "entrada" de los servicios.
Para la conversión de DTOs en entidades y viceversa usaremos los adaptadores
DTOs implementarán las validaciones
Ejemplo práctico:
Implementación de los servicios y extensión de los mismos.
Inyección de dependencia
Validadores standard y custom
DTOs y adaptadores
Implementación de la Capa de presentación
Elementos base para la creación de capas de presentación:
Controlador (+). Selección de lógica de negocio.
Razor engine
Uso de HTML/HTML5
Uso de CSS
Uso de Layouts/Master Pages
Uso de vistas parciales
Uso de JavaScript
Otros elementos importantes:
jQuery (+)
Plugins jQuery
BootStrap (+)
Unit Testing en ASP.Net MVC
Objetivo:
Es el proceso de validación de una aplicación de software que funciona como se esperaba. Comúnmente se cree que cuanto antes se encuentra un defecto, más barato es arreglarlo. Puede llegar a ser hasta 10 veces en algunos errores.

NUnit (+)
Framework de testeo unitario para entornos .Net.
Ejemplos prácticos:
Testeo capa de persistencia.
Moq (+)
Framework de Mocking. Permite simular objetos y comportamientos.
Ejemplos prácticos:
Testeo capa de lógica de negocio.
Jmeter/Selenium (+)
Herramientas para el testeo de capa de presentación. Basadas en macros.
Seguridad
El entorno web es por lo general un medio inseguro

La seguridad es crítica al publicar la información del sistema en un medio que puede estar abierto en internet

Links (+)

Ejemplos prácticos:
Autenticación en MVC
CSRF
Full transcript