32

Innovando en arquitecturas .NET con Angular 2

Embed Size (px)

Citation preview

Page 1: Innovando en arquitecturas .NET con Angular 2
Page 2: Innovando en arquitecturas .NET con Angular 2

Nuestras locaciones

Page 3: Innovando en arquitecturas .NET con Angular 2

Nuestros Panelistas

Mariano Mazzieri Lead Developer

Paulina Ibarra Marketing Analyst

Page 4: Innovando en arquitecturas .NET con Angular 2

Introducción

• Propósito / Objetivos

• Prototipo: Angular Blog

• Foco

QUESTIONS #ArquitecturaBelatrix

Page 5: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

- Login y Autenticación

QUESTIONS #ArquitecturaBelatrix

Page 6: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

- Menú Principal

QUESTIONS #ArquitecturaBelatrix

Page 7: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

- Registración

QUESTIONS #ArquitecturaBelatrix

Page 8: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

-Mantenimiento

de Cuenta

QUESTIONS #ArquitecturaBelatrix

Page 9: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

- Nuevo Post

QUESTIONS #ArquitecturaBelatrix

Page 10: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

- Visualización y

Comentarios

QUESTIONS #ArquitecturaBelatrix

Page 11: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

-Posts Recientes

QUESTIONS #ArquitecturaBelatrix

Page 12: Innovando en arquitecturas .NET con Angular 2

Prototipo - Caso de Estudio

Angular Blog

-Búsqueda

QUESTIONS #ArquitecturaBelatrix

Page 13: Innovando en arquitecturas .NET con Angular 2

Arquitectura

Elementos Generales

- AngularBlog.UI

- AngularBlog.API

QUESTIONS #ArquitecturaBelatrix

Page 14: Innovando en arquitecturas .NET con Angular 2

Arquitectura

Tecnologías

- Angular 2

- TypeScript

- WebAPI 2

- OAuth 2

- Entity Framework 6

- CastleWindsor

QUESTIONS #ArquitecturaBelatrix

Page 15: Innovando en arquitecturas .NET con Angular 2

Backend

Infraestructura

QUESTIONS #ArquitecturaBelatrix

Page 16: Innovando en arquitecturas .NET con Angular 2

Backend

Capa de Datos

- Repositorios

- AccountRepository

- PostsRepository

QUESTIONS #ArquitecturaBelatrix

Page 17: Innovando en arquitecturas .NET con Angular 2

Backend

Capa de Negocios

- Servicios

- AccountService

- PostsService

QUESTIONS #ArquitecturaBelatrix

Page 18: Innovando en arquitecturas .NET con Angular 2

Backend

Capa de Interfaz de Servicios

Web API 2

- OAuth 2

- CastleWindosor

QUESTIONS #ArquitecturaBelatrix

Page 19: Innovando en arquitecturas .NET con Angular 2

Frontend

Preparación del Proyecto

Instalación de Angular 2

- NuGet

- NPM

QUESTIONS #ArquitecturaBelatrix

Page 20: Innovando en arquitecturas .NET con Angular 2

Frontend

Configuración Global de Rutas

·Configuración del Servidor Web / IIS

·Ruta Base SPA

-Configuración Client-Side

-Configuración Server-Side

QUESTIONS #ArquitecturaBelatrix

Page 21: Innovando en arquitecturas .NET con Angular 2

Frontend Estructura de Directorios

QUESTIONS #ArquitecturaBelatrix

Page 22: Innovando en arquitecturas .NET con Angular 2

Frontend

Bootstrapping

- App Component

- App Module

- Main

- Index

QUESTIONS #ArquitecturaBelatrix

Page 23: Innovando en arquitecturas .NET con Angular 2

Frontend Configuración de Rutas Internas

Funcionalidad Ruta

app.routing.ts

-Path -Component -Data -Resolve -Activate

-

QUESTIONS #ArquitecturaBelatrix

Page 24: Innovando en arquitecturas .NET con Angular 2

Frontend

Componentes

·Imports

·Anotaciones

-Selector

-Template URL

Module Id

QUESTIONS #ArquitecturaBelatrix

Page 25: Innovando en arquitecturas .NET con Angular 2

Frontend

Componentes

-Login Component

-Account Component

-Posts List Component

-New Post Component

App Component

QUESTIONS #ArquitecturaBelatrix

Page 26: Innovando en arquitecturas .NET con Angular 2

Frontend

Servicios de Datos

· Http, Headers, Observables, Promises

· Elementos Comunes

-Busy Indicator

-Manejo de Errores

Uso de otros servicios especializados

QUESTIONS #ArquitecturaBelatrix

Page 27: Innovando en arquitecturas .NET con Angular 2

Frontend

Configuración

·Server Side

·No es parte del build

·Responsabilidades del SettingsService

-Obtener Datos

-Proveer Interfaz de Acceso

-Asegurar Disponibilidad a Consumidores

QUESTIONS #ArquitecturaBelatrix

Page 28: Innovando en arquitecturas .NET con Angular 2

Frontend

Autenticación

UserService

-Realiza el Login y gestion de Auth Token -Provee información del usuario actual -Expone el estado de autenticación del usuario -Genera Headers con autorización para la API -Logout

QUESTIONS #ArquitecturaBelatrix

Page 29: Innovando en arquitecturas .NET con Angular 2

Frontend

Autorización

LoggedInGuard

-Utilizado en la configuración de rutas internas

-Implementa CanActivate

-UserService proporciona estado de la sesión

QUESTIONS #ArquitecturaBelatrix

Page 30: Innovando en arquitecturas .NET con Angular 2

Frontend

Comunicación y Mensajería

MediatorService

·Subscripción a través de Observales ·Emisión de mensajes

-Error -Success -Busy

QUESTIONS #ArquitecturaBelatrix

Page 31: Innovando en arquitecturas .NET con Angular 2

Prototipo

QUESTIONS #ArquitecturaBelatrix

Page 32: Innovando en arquitecturas .NET con Angular 2

¡Muchas Gracias!