SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
10 minutos
             Introducción

30 minutos
             Diseño de la Lógica de Negocio

45 minutos
             Arquitectura de la Lógica de Negocio

25 minutos
             Tipos de Arquitectura
Diseño


Arquitectura


Tipos
10 minutos
             Introducción

30 minutos
             Diseño de la Lógica de Negocio

45 minutos
             Arquitectura de la Lógica de Negocio

25 minutos
             Tipos de Arquitectura
¿Qué es un Modelo?
Visión simplificada de algo complejo utilizada en el
análisis y resolución de problemas
¿Por qué necesitamos modelar?

      …

      …

      …

      …
BPM & Workflow

                   Diagrama de Deploy

                                                              Data examples
                     Diagrama de Capas

                                                                  Story test
Abstracción




                           Diagrama de Clases y Secuencia

                                                            Prototypes

                           Unit Test                                       DSL

                       Código OO


                 Esquema de Base de Datos




              Tecnología                                        Negocio
10 minutos
             Introducción

30 minutos
             Diseño de la Lógica de Negocio

45 minutos
             Arquitectura de la Lógica de Negocio

25 minutos
             Tipos de Arquitectura
Common         Common
SOLID   DRY
                 Closure        Reuse




                  Stable      Separation
KISS    YAGNI
                Abstraction   of Concerns
Single Responsability Principle

Open Close Principle

Liskov Substitution Principle

Interface Segregation Principle

Dependency Inversion Principle
Don’t Repeat Yourself

Evitar duplicaciones

Aplicar abstracciones
Keep it Simple… stupid

Evitar complejizar el problema de forma
innecesaria

Un modelo simple es siempre más fácil de
mantener
You ain’t gonna need it
No añadir funcionalidad extra que no vamos
a utilizar

Desventajas 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
Las clases que se usan juntas, se empaquetan
juntas

Apunta a la Modificabilidad

Permite facilidad de distribución y actualización
Las clases que se usan juntas, se empaquetan
juntas
Tener un balance entre lo abstracto y lo rígido



                          inútil
            Abstracción




                                       rígido


                                   Estabilidad
Aplica a paquetes, clases y métodos

Separa las responsabilidades:

      En un nuevo método

      En una nueva dependencia
Las dependencias deben ser sobre abstracciones y
no sobre implementaciones concretas

Relacionado con Dependency Injection
Programática    Declarativa




Introspectiva
Separación de responsabilidades mediante objetos
que se mandan mensajes entre sí
Separa la lógica de negocio de aspectos intrusivos.

Parametriza fuera del código los componentes
arquitecturales.

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;
                                }
Puedo manipular la lógica utilizando Reflection

Modifica el comportamiento de mi aplicación

Me permite extender mi aplicación
10 minutos
             Introducción

30 minutos
             Diseño de la Lógica de Negocio

45 minutos
             Arquitectura de la Lógica de Negocio

25 minutos
             Tipos de Arquitectura
Transaction
  DDD       Capas   Aspectos
                                  Script




Hexagonal   CQRS    Workflow     Cloud
Problemas al construir Software:

       Construir Software complejo sin conocer el Dominio

       Trabajar en conjunto con el experto de Negocio
Lenguaje Ubicuo

              Domain            Jerga
              Expert

                                     Technical
                                      Expert
                  Jerga



                          Traducir

                          Refinar

                       Acordar
Lenguaje Ubicuo




                            Bounded
                             Context

       Domain              Lenguaje         Technical
       Expert                                Expert
                            Ubicuo
                Bounded
                 Context         Bounded
                                  Context
TDD

BDD
Building Blocks




       X
Conjunto de componentes reutilizables

Ayuda a aplicar el principio de SoC

Facilidad para identificar problemas

Elimina duplicación innecesaria
División lógica por funcionalidad


                    Presentación



                      Negocio



                      Recursos
Transversal
              Presentación




                 Servicios




                Aplicación




                  Dominio




               Persistencia
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
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
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
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!!!
División lógica por módulos

Separa Responsabilidades y Dependencias




       Módulo A       Módulo B     Módulo C




       Equipo A        Equipo B    Equipo C
Presentación   Presentación   Presentación



  Negocio        Negocio        Negocio



 Recursos       Recursos       Recursos



 Módulo A        Módulo B      Módulo C
Transversal
              Presentación




               Negocio




               Recursos
Transversal
              Presentación




               Negocio




               Recursos
Aspectos Típicos

     Seguridad

     Cache

     Gestión de Configuraciones

     Gestión de Excepciones

     Logging
Organiza la lógica de negocio en procedimientos

Cada procedimiento maneja una petición de la
presentación
Presentación



Servicios (Comandos)



   Infraestructura
El core es el modelo y es centro de la aplicación

La infraestructura depende del core

La UI depende del core y tiene acceso a la
infraestructura
Domain
           DB




         Mock DB
Dominio
Command Query Responsibility Segregation

¿Qué pasa si tenemos pocos usuarios
actualizando los datos pero muchos leyendo?

¿Por que complejizar y comprometer
performance por transformaciones sin sentido?
update   read
Almacén de Datos

      hice algo




                                     dame
                                     datos
Hago Algo            hace algo         Aplicación
Permite escalar por separado el modelo de
Lectura y Escritura

Aplicable a un Bounded Context

UI con respuestas rápidas
Misma fuente de Datos


                             Modelo
                 escritura




                                       Lectura
      Lectura




           Dominio           comando   UI
Distintos modelos de Datos


           Modelo 1                     Modelo 2
                  escritura




                                          Lectura
       Lectura




            Dominio           comando      UI
Event Sourcing


         Event Store          Eventos   Modelo
                  escritura




                                         Lectura
       Lectura




            Dominio           comando     UI
SaaS   Public Cloud

PaaS   Private Cloud

IaaS
Proveedor

Organizació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
10 minutos
             Introducción

30 minutos
             Diseño de la Lógica de Negocio

45 minutos
             Arquitectura de la Lógica de Negocio

25 minutos
             Tipos de Arquitectura
Desktop       Web




Distribuidas   Mobile
Abundan los recursos

Aplicaciones pesadas

Atadas al Sistema Operativo
Recursos escasos

Multiplataforma

Basado en estándares

Interfaces fluidas

Comunicaciones asincrónica
Múltiples servidores

Tecnologías que permitan la distribución

Transparencia en su uso

Cluster

Grid Computing
Interfaces Touch

Tiempo de Respuesta muy rápidos

Guidelines de diseño

Recursos más limitados
Business Logic 2012
Business Logic 2012

Más contenido relacionado

Destacado

Mps energie kommunal
Mps energie kommunalMps energie kommunal
Mps energie kommunalmetropolsolar
 
Proyecto de educacion ambiental...
Proyecto de educacion ambiental...Proyecto de educacion ambiental...
Proyecto de educacion ambiental...Mirko Nicolás
 
Windaufstellungszahlen 2010
Windaufstellungszahlen 2010Windaufstellungszahlen 2010
Windaufstellungszahlen 2010metropolsolar
 
Fifty Ways To Build Your Bundle
Fifty Ways To Build Your BundleFifty Ways To Build Your Bundle
Fifty Ways To Build Your BundleNils Hartmann
 
Schulische Öffentlichkeitsarbeit mit Social Media - 10 Einsichten
Schulische Öffentlichkeitsarbeit mit Social Media - 10 EinsichtenSchulische Öffentlichkeitsarbeit mit Social Media - 10 Einsichten
Schulische Öffentlichkeitsarbeit mit Social Media - 10 EinsichtenPhilippe Wampfler
 
Mary alejandra gûiza
Mary alejandra gûizaMary alejandra gûiza
Mary alejandra gûizaoncecsch
 
Teatro en la institución escolar
Teatro en la institución escolarTeatro en la institución escolar
Teatro en la institución escolarLuismaya Morales
 
Hacia una sociedad del conociemiento
Hacia una sociedad del conociemientoHacia una sociedad del conociemiento
Hacia una sociedad del conociemientojeby19910312
 
Actividades economicos de mexico 2
Actividades economicos de mexico 2Actividades economicos de mexico 2
Actividades economicos de mexico 2elizabethtellez
 
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...FAEN
 
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...Philippe Wampfler
 
Tienda online
Tienda onlineTienda online
Tienda onlineluisga2
 
Poliedros y cuerpos redondos22
Poliedros y cuerpos redondos22Poliedros y cuerpos redondos22
Poliedros y cuerpos redondos22SaraOrue
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBMario Müller
 

Destacado (20)

Ensayo
Ensayo Ensayo
Ensayo
 
Que impuestos tengo que pagar
Que impuestos tengo que pagarQue impuestos tengo que pagar
Que impuestos tengo que pagar
 
Mps energie kommunal
Mps energie kommunalMps energie kommunal
Mps energie kommunal
 
Proyecto de educacion ambiental...
Proyecto de educacion ambiental...Proyecto de educacion ambiental...
Proyecto de educacion ambiental...
 
Teorema del binomio1
Teorema del binomio1Teorema del binomio1
Teorema del binomio1
 
Baron xD
Baron xDBaron xD
Baron xD
 
Windaufstellungszahlen 2010
Windaufstellungszahlen 2010Windaufstellungszahlen 2010
Windaufstellungszahlen 2010
 
Fifty Ways To Build Your Bundle
Fifty Ways To Build Your BundleFifty Ways To Build Your Bundle
Fifty Ways To Build Your Bundle
 
Schulische Öffentlichkeitsarbeit mit Social Media - 10 Einsichten
Schulische Öffentlichkeitsarbeit mit Social Media - 10 EinsichtenSchulische Öffentlichkeitsarbeit mit Social Media - 10 Einsichten
Schulische Öffentlichkeitsarbeit mit Social Media - 10 Einsichten
 
Mary alejandra gûiza
Mary alejandra gûizaMary alejandra gûiza
Mary alejandra gûiza
 
Teatro en la institución escolar
Teatro en la institución escolarTeatro en la institución escolar
Teatro en la institución escolar
 
Hacia una sociedad del conociemiento
Hacia una sociedad del conociemientoHacia una sociedad del conociemiento
Hacia una sociedad del conociemiento
 
Filz
FilzFilz
Filz
 
Actividades economicos de mexico 2
Actividades economicos de mexico 2Actividades economicos de mexico 2
Actividades economicos de mexico 2
 
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...
Ponencia Jornada técnica “Proyectos europeos en eficiencia energética en edif...
 
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...
»Mut zu Neuen Medien am Gymnasium« - Keynote Kantonsschule Wattwil, November ...
 
Berlin vorstellung
Berlin   vorstellungBerlin   vorstellung
Berlin vorstellung
 
Tienda online
Tienda onlineTienda online
Tienda online
 
Poliedros y cuerpos redondos22
Poliedros y cuerpos redondos22Poliedros y cuerpos redondos22
Poliedros y cuerpos redondos22
 
Dokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDBDokumentenorientiere Datenbanken am Beispiel CouchDB
Dokumentenorientiere Datenbanken am Beispiel CouchDB
 

Similar a Business Logic 2012

08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009Pepe
 
Sesion final as1
Sesion final as1Sesion final as1
Sesion final as1Julio Pari
 
Sesion 7 1 diseño particionamiento arquitectural
Sesion 7 1 diseño   particionamiento arquitecturalSesion 7 1 diseño   particionamiento arquitectural
Sesion 7 1 diseño particionamiento arquitecturalJulio Pari
 
Sesion 6 2 diseño análisis arquitectural
Sesion 6 2 diseño   análisis arquitecturalSesion 6 2 diseño   análisis arquitectural
Sesion 6 2 diseño análisis arquitecturalJulio Pari
 
Unidad 1 Panorama general de las aplicaciones distribuidas
Unidad 1 Panorama general de las aplicaciones distribuidasUnidad 1 Panorama general de las aplicaciones distribuidas
Unidad 1 Panorama general de las aplicaciones distribuidasEduardo S de Loera
 
Plataformas colaborativa virtuales para entornos médicos
Plataformas colaborativa virtuales para entornos médicosPlataformas colaborativa virtuales para entornos médicos
Plataformas colaborativa virtuales para entornos médicosAdam Datacenter
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDidier Granados
 
Documentación corporativa en la nube
Documentación corporativa en la nubeDocumentación corporativa en la nube
Documentación corporativa en la nubeAdam Datacenter
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capasKevin Barja
 
Modulo2 Arquitectura dotnet
Modulo2 Arquitectura dotnetModulo2 Arquitectura dotnet
Modulo2 Arquitectura dotnetJuan Pablo
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .NetJorge Ercoli
 

Similar a Business Logic 2012 (20)

08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009
 
Sesion final as1
Sesion final as1Sesion final as1
Sesion final as1
 
Sesion 7 1 diseño particionamiento arquitectural
Sesion 7 1 diseño   particionamiento arquitecturalSesion 7 1 diseño   particionamiento arquitectural
Sesion 7 1 diseño particionamiento arquitectural
 
Sesion 6 2 diseño análisis arquitectural
Sesion 6 2 diseño   análisis arquitecturalSesion 6 2 diseño   análisis arquitectural
Sesion 6 2 diseño análisis arquitectural
 
Unidad 1 Panorama general de las aplicaciones distribuidas
Unidad 1 Panorama general de las aplicaciones distribuidasUnidad 1 Panorama general de las aplicaciones distribuidas
Unidad 1 Panorama general de las aplicaciones distribuidas
 
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
Charla IBM Soa Web 2.0 Cloud Computing   M BoloCharla IBM Soa Web 2.0 Cloud Computing   M Bolo
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
 
Plataformas colaborativa virtuales para entornos médicos
Plataformas colaborativa virtuales para entornos médicosPlataformas colaborativa virtuales para entornos médicos
Plataformas colaborativa virtuales para entornos médicos
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
 
Documentación corporativa en la nube
Documentación corporativa en la nubeDocumentación corporativa en la nube
Documentación corporativa en la nube
 
Sql Data Services
Sql Data ServicesSql Data Services
Sql Data Services
 
SOA Open Source
SOA Open SourceSOA Open Source
SOA Open Source
 
Clase xiii
Clase xiiiClase xiii
Clase xiii
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capas
 
Cloud computing UGB
Cloud computing UGBCloud computing UGB
Cloud computing UGB
 
Rational unified process (rup)
Rational unified process (rup)Rational unified process (rup)
Rational unified process (rup)
 
Weblogic server 12c agosto 2012
Weblogic server 12c agosto 2012Weblogic server 12c agosto 2012
Weblogic server 12c agosto 2012
 
Introducción SOA - Cloud Computing
Introducción SOA - Cloud ComputingIntroducción SOA - Cloud Computing
Introducción SOA - Cloud Computing
 
Modulo2 Arquitectura dotnet
Modulo2 Arquitectura dotnetModulo2 Arquitectura dotnet
Modulo2 Arquitectura dotnet
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Clase7
Clase7Clase7
Clase7
 

Último

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (19)

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Business Logic 2012

  • 1.
  • 2. 10 minutos Introducción 30 minutos Diseño de la Lógica de Negocio 45 minutos Arquitectura de la Lógica de Negocio 25 minutos Tipos de Arquitectura
  • 4. 10 minutos Introducción 30 minutos Diseño de la Lógica de Negocio 45 minutos Arquitectura de la Lógica de Negocio 25 minutos Tipos de Arquitectura
  • 5. ¿Qué es un Modelo? Visión simplificada de algo complejo utilizada en el análisis y resolución de problemas
  • 6. ¿Por qué necesitamos modelar?  …  …  …  …
  • 7. BPM & Workflow Diagrama de Deploy Data examples Diagrama de Capas Story test Abstracción Diagrama de Clases y Secuencia Prototypes Unit Test DSL Código OO Esquema de Base de Datos Tecnología Negocio
  • 8. 10 minutos Introducción 30 minutos Diseño de la Lógica de Negocio 45 minutos Arquitectura de la Lógica de Negocio 25 minutos Tipos de Arquitectura
  • 9. Common Common SOLID DRY Closure Reuse Stable Separation KISS YAGNI Abstraction of Concerns
  • 10. Single Responsability Principle Open Close Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle
  • 11. Don’t Repeat Yourself Evitar duplicaciones Aplicar abstracciones
  • 12. Keep it Simple… stupid Evitar complejizar el problema de forma innecesaria Un modelo simple es siempre más fácil de mantener
  • 13. You ain’t gonna need it No añadir funcionalidad extra que no vamos a utilizar Desventajas 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
  • 14. Las clases que se usan juntas, se empaquetan juntas Apunta a la Modificabilidad Permite facilidad de distribución y actualización
  • 15. Las clases que se usan juntas, se empaquetan juntas
  • 16. Tener un balance entre lo abstracto y lo rígido inútil Abstracción rígido Estabilidad
  • 17. Aplica a paquetes, clases y métodos Separa las responsabilidades:  En un nuevo método  En una nueva dependencia
  • 18. Las dependencias deben ser sobre abstracciones y no sobre implementaciones concretas Relacionado con Dependency Injection
  • 19. Programática Declarativa Introspectiva
  • 20. Separación de responsabilidades mediante objetos que se mandan mensajes entre sí
  • 21. Separa la lógica de negocio de aspectos intrusivos. Parametriza fuera del código los componentes arquitecturales. 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; }
  • 22. Puedo manipular la lógica utilizando Reflection Modifica el comportamiento de mi aplicación Me permite extender mi aplicación
  • 23. 10 minutos Introducción 30 minutos Diseño de la Lógica de Negocio 45 minutos Arquitectura de la Lógica de Negocio 25 minutos Tipos de Arquitectura
  • 24. Transaction DDD Capas Aspectos Script Hexagonal CQRS Workflow Cloud
  • 25. Problemas al construir Software:  Construir Software complejo sin conocer el Dominio  Trabajar en conjunto con el experto de Negocio
  • 26. Lenguaje Ubicuo Domain Jerga Expert Technical Expert Jerga Traducir Refinar Acordar
  • 27. Lenguaje Ubicuo Bounded Context Domain Lenguaje Technical Expert Expert Ubicuo Bounded Context Bounded Context
  • 30. Conjunto de componentes reutilizables Ayuda a aplicar el principio de SoC Facilidad para identificar problemas Elimina duplicación innecesaria
  • 31. División lógica por funcionalidad Presentación Negocio Recursos
  • 32. Transversal Presentación Servicios Aplicación Dominio Persistencia
  • 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. 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
  • 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
  • 36. 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!!!
  • 37. División lógica por módulos Separa Responsabilidades y Dependencias Módulo A Módulo B Módulo C Equipo A Equipo B Equipo C
  • 38. Presentación Presentación Presentación Negocio Negocio Negocio Recursos Recursos Recursos Módulo A Módulo B Módulo C
  • 39. Transversal Presentación Negocio Recursos
  • 40. Transversal Presentación Negocio Recursos
  • 41. Aspectos Típicos  Seguridad  Cache  Gestión de Configuraciones  Gestión de Excepciones  Logging
  • 42. Organiza la lógica de negocio en procedimientos Cada procedimiento maneja una petición de la presentación
  • 44. El core es el modelo y es centro de la aplicación La infraestructura depende del core La UI depende del core y tiene acceso a la infraestructura
  • 45. Domain DB Mock DB
  • 47. Command Query Responsibility Segregation ¿Qué pasa si tenemos pocos usuarios actualizando los datos pero muchos leyendo? ¿Por que complejizar y comprometer performance por transformaciones sin sentido?
  • 48. update read
  • 49. Almacén de Datos hice algo dame datos Hago Algo hace algo Aplicación
  • 50. Permite escalar por separado el modelo de Lectura y Escritura Aplicable a un Bounded Context UI con respuestas rápidas
  • 51. Misma fuente de Datos Modelo escritura Lectura Lectura Dominio comando UI
  • 52. Distintos modelos de Datos Modelo 1 Modelo 2 escritura Lectura Lectura Dominio comando UI
  • 53. Event Sourcing Event Store Eventos Modelo escritura Lectura Lectura Dominio comando UI
  • 54. SaaS Public Cloud PaaS Private Cloud IaaS
  • 55. Proveedor Organizació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
  • 56. 10 minutos Introducción 30 minutos Diseño de la Lógica de Negocio 45 minutos Arquitectura de la Lógica de Negocio 25 minutos Tipos de Arquitectura
  • 57. Desktop Web Distribuidas Mobile
  • 58. Abundan los recursos Aplicaciones pesadas Atadas al Sistema Operativo
  • 59. Recursos escasos Multiplataforma Basado en estándares Interfaces fluidas Comunicaciones asincrónica
  • 60. Múltiples servidores Tecnologías que permitan la distribución Transparencia en su uso Cluster Grid Computing
  • 61. Interfaces Touch Tiempo de Respuesta muy rápidos Guidelines de diseño Recursos más limitados