Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

0

Share

Download to read offline

Business Logic 2012

Download to read offline

Presentación de la clase "Lógica de Negocio" de la materia "Arquitectura de Proyectos IT" dictada en la Universidad Tecnológica Nacional, Facultad Regional Buenos Aires (UTN FRBA).

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Business Logic 2012

  1. 1. 10 minutos Introducción30 minutos Diseño de la Lógica de Negocio45 minutos Arquitectura de la Lógica de Negocio25 minutos Tipos de Arquitectura
  2. 2. DiseñoArquitecturaTipos
  3. 3. 10 minutos Introducción30 minutos Diseño de la Lógica de Negocio45 minutos Arquitectura de la Lógica de Negocio25 minutos Tipos de Arquitectura
  4. 4. ¿Qué es un Modelo?Visión simplificada de algo complejo utilizada en elanálisis y resolución de problemas
  5. 5. ¿Por qué necesitamos modelar?  …  …  …  …
  6. 6. BPM & Workflow Diagrama de Deploy Data examples Diagrama de Capas Story testAbstracción Diagrama de Clases y Secuencia Prototypes Unit Test DSL Código OO Esquema de Base de Datos Tecnología Negocio
  7. 7. 10 minutos Introducción30 minutos Diseño de la Lógica de Negocio45 minutos Arquitectura de la Lógica de Negocio25 minutos Tipos de Arquitectura
  8. 8. Common CommonSOLID DRY Closure Reuse Stable SeparationKISS YAGNI Abstraction of Concerns
  9. 9. Single Responsability PrincipleOpen Close PrincipleLiskov Substitution PrincipleInterface Segregation PrincipleDependency Inversion Principle
  10. 10. Don’t Repeat YourselfEvitar duplicacionesAplicar abstracciones
  11. 11. Keep it Simple… stupidEvitar complejizar el problema de formainnecesariaUn modelo simple es siempre más fácil demantener
  12. 12. You ain’t gonna need itNo añadir funcionalidad extra que no vamosa utilizarDesventajas de implementar algo “a futuro”  Más tiempo de Testing  Más tiempo de documentación  Añadir funcionalidad extra, puede requerir añadir además, más funcionalidad extra
  13. 13. Las clases que se usan juntas, se empaquetanjuntasApunta a la ModificabilidadPermite facilidad de distribución y actualización
  14. 14. Las clases que se usan juntas, se empaquetanjuntas
  15. 15. Tener un balance entre lo abstracto y lo rígido inútil Abstracción rígido Estabilidad
  16. 16. Aplica a paquetes, clases y métodosSepara las responsabilidades:  En un nuevo método  En una nueva dependencia
  17. 17. Las dependencias deben ser sobre abstracciones yno sobre implementaciones concretasRelacionado con Dependency Injection
  18. 18. Programática DeclarativaIntrospectiva
  19. 19. Separación de responsabilidades mediante objetosque se mandan mensajes entre sí
  20. 20. Separa la lógica de negocio de aspectos intrusivos.Parametriza fuera del código los componentesarquitecturales.Me concentro en el qué y no en el cómo. [Required]<Button Width="102" public void Email(string email) Height="31" { Click=“OnClick” /> this.Email = email; }
  21. 21. Puedo manipular la lógica utilizando ReflectionModifica el comportamiento de mi aplicaciónMe permite extender mi aplicación
  22. 22. 10 minutos Introducción30 minutos Diseño de la Lógica de Negocio45 minutos Arquitectura de la Lógica de Negocio25 minutos Tipos de Arquitectura
  23. 23. Transaction DDD Capas Aspectos ScriptHexagonal CQRS Workflow Cloud
  24. 24. Problemas al construir Software:  Construir Software complejo sin conocer el Dominio  Trabajar en conjunto con el experto de Negocio
  25. 25. Lenguaje Ubicuo Domain Jerga Expert Technical Expert Jerga Traducir Refinar Acordar
  26. 26. Lenguaje Ubicuo Bounded Context Domain Lenguaje Technical Expert Expert Ubicuo Bounded Context Bounded Context
  27. 27. TDDBDD
  28. 28. Building Blocks X
  29. 29. Conjunto de componentes reutilizablesAyuda a aplicar el principio de SoCFacilidad para identificar problemasElimina duplicación innecesaria
  30. 30. División lógica por funcionalidad Presentación Negocio Recursos
  31. 31. Transversal Presentación Servicios Aplicación Dominio Persistencia
  32. 32. Transversal - Interfaz de Usuario - MVC / MVP / MVVM Presentación - Capa de Servicios Distribuidos - Fachada de nuestra lógica Servicios - REST / SOAP- Aspectos Horizontales - Coordina actividades de la Aplicación- Impactan en - No incluye lógica de Negocio Aplicación toda la App. - Coordina servicios de la capa de nivel inferior- Favorece la reutilización- DI / AOP - Implementa la funcionalidad principal de nuestro Sistema - Es quien cuenta con las Entidades de nuestro Negocio - Recordar que las operaciones nacen del modelo Ubicuo Dominio - Totalmente aislado de los componentes de Infraestructura - Centraliza el acceso a los datos - Desacopla la tecnología utilizada Persistencia - DAOs / Repositorios / ORM / DataMapper / ActiveRecord
  33. 33. Transversal - Interfaz de Usuario - MVC / MVP / MVVM Presentación - Capa de Servicios Distribuidos - Fachada de nuestra lógica Servicios - REST / SOAP- Aspectos Horizontales - Coordina actividades de la Aplicación- Impactan en - No incluye lógica de Negocio Aplicación toda la App. - Coordina servicios de la capa de nivel inferior- Favorece la reutilización- DI / AOP - Implementa la funcionalidad principal de nuestro Sistema - Es quien cuenta con las Entidades de nuestro Negocio - Recordar que las operaciones nacen del modelo Ubicuo Dominio - Totalmente aislado de los componentes de Infraestructura - Centraliza el acceso a los datos - Desacopla la tecnología utilizada Persistencia - DAOs / Repositorios / ORM / DataMapper / ActiveRecord
  34. 34. Transversal Controller Model Presentación View Caching Web DTOs Servicios Services Security Application Services Aplicación Domain Services Logging Entities Rules Dominio Repository Contracts IoC Repository Core Persistencia
  35. 35. Transversal Controller Model Presentación View Caching Web DTOs Servicios Services Security Application Services Aplicación Domain Services Logging Entities Rules Dominio Repository Contracts IoC Repository Core Persistencia Aunque a veces encontramos esto!!!
  36. 36. División lógica por módulosSepara Responsabilidades y Dependencias Módulo A Módulo B Módulo C Equipo A Equipo B Equipo C
  37. 37. Presentación Presentación Presentación Negocio Negocio Negocio Recursos Recursos Recursos Módulo A Módulo B Módulo C
  38. 38. Transversal Presentación Negocio Recursos
  39. 39. Transversal Presentación Negocio Recursos
  40. 40. Aspectos Típicos  Seguridad  Cache  Gestión de Configuraciones  Gestión de Excepciones  Logging
  41. 41. Organiza la lógica de negocio en procedimientosCada procedimiento maneja una petición de lapresentación
  42. 42. PresentaciónServicios (Comandos) Infraestructura
  43. 43. El core es el modelo y es centro de la aplicaciónLa infraestructura depende del coreLa UI depende del core y tiene acceso a lainfraestructura
  44. 44. Domain DB Mock DB
  45. 45. Dominio
  46. 46. Command Query Responsibility Segregation¿Qué pasa si tenemos pocos usuariosactualizando los datos pero muchos leyendo?¿Por que complejizar y comprometerperformance por transformaciones sin sentido?
  47. 47. update read
  48. 48. Almacén de Datos hice algo dame datosHago Algo hace algo Aplicación
  49. 49. Permite escalar por separado el modelo deLectura y EscrituraAplicable a un Bounded ContextUI con respuestas rápidas
  50. 50. Misma fuente de Datos Modelo escritura Lectura Lectura Dominio comando UI
  51. 51. Distintos modelos de Datos Modelo 1 Modelo 2 escritura Lectura Lectura Dominio comando UI
  52. 52. Event Sourcing Event Store Eventos Modelo escritura Lectura Lectura Dominio comando UI
  53. 53. SaaS Public CloudPaaS Private CloudIaaS
  54. 54. ProveedorOrganización App 1 App 2 App 3 VM VM VM Cloud Platform Cloud Storage / Network Organización usuarios App 1 App 2 VM VM App 3 Private Cloud Storage / Network
  55. 55. 10 minutos Introducción30 minutos Diseño de la Lógica de Negocio45 minutos Arquitectura de la Lógica de Negocio25 minutos Tipos de Arquitectura
  56. 56. Desktop WebDistribuidas Mobile
  57. 57. Abundan los recursosAplicaciones pesadasAtadas al Sistema Operativo
  58. 58. Recursos escasosMultiplataformaBasado en estándaresInterfaces fluidasComunicaciones asincrónica
  59. 59. Múltiples servidoresTecnologías que permitan la distribuciónTransparencia en su usoClusterGrid Computing
  60. 60. Interfaces TouchTiempo de Respuesta muy rápidosGuidelines de diseñoRecursos más limitados

Presentación de la clase "Lógica de Negocio" de la materia "Arquitectura de Proyectos IT" dictada en la Universidad Tecnológica Nacional, Facultad Regional Buenos Aires (UTN FRBA).

Views

Total views

417

On Slideshare

0

From embeds

0

Number of embeds

7

Actions

Downloads

5

Shares

0

Comments

0

Likes

0

×