SlideShare a Scribd company logo
1 of 19
CSLA-- e integración con BBDD
2/19


¿Qué es CSLA?

   Framework de desarrollo .NET
   Arquitectura eScalable de Componentes Lógicos
      ●
        Component Scalable Logical Architecture
   Mecanismo estandarizado de crear aplicaciones robustas orientadas a objetos
   Gira en torno a los llamados Objetos de Negocio (Business Objects)
   Algunas características clave
   Toda la lógica de objeto de negocio está encapsulada en una misma clase, que son
    los objetos de negocio
   Esqueleto de la parte de servidor. Está implementado siguiendo el patrón CSLA--
     ●
       versión descafeinada de CSLA en php
     ●
         contiene algunos errores de limpieza del código
3/19


Esqueleto de CSLA--
4/19


dal.php

   Centraliza las operaciones de la base de datos
5/19


fechas.php

   Operaciones sobre fechas
6/19


getJugadoresConectados

   “Servicio web” que recupera qué jugadores están en este momento
    conectados
7/19


util.js

   Utilidades de javascript genéricas a toda mi aplicación
8/19


jugador.php

   Primer objeto de negocio
   Regiones. Una clase de negocio está estructura en las siguientes:
     1. Referencias externas
     2. Propiedades
     3. Constructor
     4. Getters y Setters de las propiedades
     5. Métodos de sobrecarga del objeto (ToString, IsEmpy, IsValid, IsNew,...)
     6. Helpers o métodos auxiliares
     7. Métodos públicos
     8. Métodos de acceso a datos
     9. Procedimientos almacenados
9/19


Región 1: Referencias externas

   Aquí van los include a otros ficheros que utiliza nuestro objeto de
    negocio
10/19


Región 2: Atributos

   Son los atributos/campos propios del objeto
   Deben ser declarados como privados
   Separemos los propios de los genéricos (isValid, isEmpty,
    isNew,...)
11/19


Región 3: Constructor

   Constructor del objeto de negocio
   Aquí colocamos la inicialización de sus campos
12/19


Región 4: getters/setters

   Métodos que manejan los campos/atributos de nuestro objeto
13/19


Región 5: Sobrecarga de object

   Métodos que deben contener TODOS los objetos de negocio
    y que personalizamos para uno en concreto
      ●
        ObtenerReglasRotas
     ●
         IsValid
     ●
         IsNew
     ●
         IsEmpty
14/19


Región 6: Helpers o métodos auxiliares

   Métodos auxiliares que me ayudan a realizar una función que hace
    el objeto
15/19


Región 7: Métodos públicos

   Métodos que ofrece el objeto hacia el exterior
   Visibles desde fuera de la clase
16/19


Región 8: Métodos de acceso a datos

   Guardar
     ●
        Guarda el objeto en base de datos
      ●
          Distingue entre si es un objeto nuevo (insert) o se es uno ya existente (update)
      ●
          Utiliza isNew para hacer esta distinción
   Obtener
     ●
        Método por defecto de recuperar un objeto desde bd
      ●
          El método por defecto recupera por Id del objeto
   Obtener_PorXXX
     ●
        Otras formas de recuperar un objeto de base de datos
   CargarRecordset
     ●
        Carga los atributos del objeto a partir de una row de bd
   Obtener_desdeLinea
     ●
        Se utiliza para cargar colecciones (listas) de objetos
17/19


Región 9: Procedimientos almacenados

   Generación de la SQL del motor de BBDD que hallamos escogido
    para nuestra solución
   Devuelven la sql generada
   Estos métodos tienen la siguiente notación:
     ●
        XXX_P_<nombre del sp>
     ●
         Ejemplo:
          –   CRN_P_CrearJugador
          –   CRN_P_ActualizarJugador
          –   CRN_P_ObtenerJugador_PorId
          –   ...
18/19


jugadoresList.php

   Colección de objetos de negocio
   Su responsabilidad es manejar listas de jugadores
   Internamente contiene un array que almacena objetos de la clase
    Jugador
   Acceso a datos
     ●
        Obtener. Método por defecto que recupera todos los
        jugadores
     ●
         ObtenerConectados. Método que recupera sólo aquellos
         jugadores que están conectados
19/19


Base de datos: cronoDB

   Crearemos una base de datos mySQL que se llamará cronoDB
   En principio tendrá una única tabla que se llamará CRN_Jugadores
   Esta tabla almacena toda la información asociada a los jugadores

More Related Content

Similar to Ajax: CSLA-- e integración con BBDD

Modelos de persistencia
Modelos de persistenciaModelos de persistencia
Modelos de persistencia
Avaco Unibague
 
Manejadores de bases de Datos
Manejadores de bases de DatosManejadores de bases de Datos
Manejadores de bases de Datos
Zoraima Hernandez
 

Similar to Ajax: CSLA-- e integración con BBDD (20)

Drupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidadesDrupal8 : novedades y nuevas funcionalidades
Drupal8 : novedades y nuevas funcionalidades
 
Modelos de persistencia
Modelos de persistenciaModelos de persistencia
Modelos de persistencia
 
Abd1 intro
Abd1 introAbd1 intro
Abd1 intro
 
Code Igniter
Code IgniterCode Igniter
Code Igniter
 
archivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptxarchivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptx
 
Melavvv
MelavvvMelavvv
Melavvv
 
S4-PD1-2.2 EF
S4-PD1-2.2 EFS4-PD1-2.2 EF
S4-PD1-2.2 EF
 
Introducción a Migrate API en Drupal 8
Introducción a Migrate API en Drupal 8Introducción a Migrate API en Drupal 8
Introducción a Migrate API en Drupal 8
 
Basededatosconceptosbasicos
BasededatosconceptosbasicosBasededatosconceptosbasicos
Basededatosconceptosbasicos
 
Temario
Temario Temario
Temario
 
Manejadores de bases de Datos
Manejadores de bases de DatosManejadores de bases de Datos
Manejadores de bases de Datos
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 
Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4Curso de MicroStrategy - Sesion 4/4
Curso de MicroStrategy - Sesion 4/4
 
Tema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptxTema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptx
 
Dinamic area formación mongodb
Dinamic area   formación mongodbDinamic area   formación mongodb
Dinamic area formación mongodb
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
Joomla 1.5: desarrollo de componentes
Joomla 1.5: desarrollo de componentesJoomla 1.5: desarrollo de componentes
Joomla 1.5: desarrollo de componentes
 
Monitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectorsMonitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectors
 

More from Moisés Pérez Delgado

Conceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entornoConceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entorno
Moisés Pérez Delgado
 
Conceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entornoConceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entorno
Moisés Pérez Delgado
 

More from Moisés Pérez Delgado (20)

02 resistencias y condensadores
02 resistencias y condensadores02 resistencias y condensadores
02 resistencias y condensadores
 
02 croquis y canalizacion
02 croquis y canalizacion02 croquis y canalizacion
02 croquis y canalizacion
 
02 carcasa y fuente
02 carcasa y fuente02 carcasa y fuente
02 carcasa y fuente
 
03 circuitos en cc
03 circuitos en cc03 circuitos en cc
03 circuitos en cc
 
Conceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entornoConceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entorno
 
Conceptos básicos de electricidad
Conceptos básicos de electricidadConceptos básicos de electricidad
Conceptos básicos de electricidad
 
Conceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entornoConceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entorno
 
Naturales temas 01 al 04
Naturales   temas 01 al 04Naturales   temas 01 al 04
Naturales temas 01 al 04
 
Tema 02 elementos del medio natural
Tema 02   elementos del medio naturalTema 02   elementos del medio natural
Tema 02 elementos del medio natural
 
Naturales temas 05 al 07
Naturales   temas 05 al 07Naturales   temas 05 al 07
Naturales temas 05 al 07
 
Matemáticas: Temas 1 a 4
Matemáticas: Temas 1 a 4Matemáticas: Temas 1 a 4
Matemáticas: Temas 1 a 4
 
Tema 1. El planeta Tierra
Tema 1. El planeta TierraTema 1. El planeta Tierra
Tema 1. El planeta Tierra
 
La Tierra
La TierraLa Tierra
La Tierra
 
Cálculo de circuitos: Thévenin
Cálculo de circuitos: ThéveninCálculo de circuitos: Thévenin
Cálculo de circuitos: Thévenin
 
Teoría de circuitos: superposición
Teoría de circuitos: superposiciónTeoría de circuitos: superposición
Teoría de circuitos: superposición
 
Resolución de circuitos con Kirchoff
Resolución de circuitos con KirchoffResolución de circuitos con Kirchoff
Resolución de circuitos con Kirchoff
 
Corriente alterna
Corriente alternaCorriente alterna
Corriente alterna
 
Que sabes de electricidad
Que sabes de electricidadQue sabes de electricidad
Que sabes de electricidad
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Qué sabes de word?
Qué sabes de word?Qué sabes de word?
Qué sabes de word?
 

Recently uploaded

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Recently uploaded (20)

Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 

Ajax: CSLA-- e integración con BBDD

  • 2. 2/19 ¿Qué es CSLA?  Framework de desarrollo .NET  Arquitectura eScalable de Componentes Lógicos ● Component Scalable Logical Architecture  Mecanismo estandarizado de crear aplicaciones robustas orientadas a objetos  Gira en torno a los llamados Objetos de Negocio (Business Objects)  Algunas características clave  Toda la lógica de objeto de negocio está encapsulada en una misma clase, que son los objetos de negocio  Esqueleto de la parte de servidor. Está implementado siguiendo el patrón CSLA-- ● versión descafeinada de CSLA en php ● contiene algunos errores de limpieza del código
  • 4. 4/19 dal.php  Centraliza las operaciones de la base de datos
  • 5. 5/19 fechas.php  Operaciones sobre fechas
  • 6. 6/19 getJugadoresConectados  “Servicio web” que recupera qué jugadores están en este momento conectados
  • 7. 7/19 util.js  Utilidades de javascript genéricas a toda mi aplicación
  • 8. 8/19 jugador.php  Primer objeto de negocio  Regiones. Una clase de negocio está estructura en las siguientes: 1. Referencias externas 2. Propiedades 3. Constructor 4. Getters y Setters de las propiedades 5. Métodos de sobrecarga del objeto (ToString, IsEmpy, IsValid, IsNew,...) 6. Helpers o métodos auxiliares 7. Métodos públicos 8. Métodos de acceso a datos 9. Procedimientos almacenados
  • 9. 9/19 Región 1: Referencias externas  Aquí van los include a otros ficheros que utiliza nuestro objeto de negocio
  • 10. 10/19 Región 2: Atributos  Son los atributos/campos propios del objeto  Deben ser declarados como privados  Separemos los propios de los genéricos (isValid, isEmpty, isNew,...)
  • 11. 11/19 Región 3: Constructor  Constructor del objeto de negocio  Aquí colocamos la inicialización de sus campos
  • 12. 12/19 Región 4: getters/setters  Métodos que manejan los campos/atributos de nuestro objeto
  • 13. 13/19 Región 5: Sobrecarga de object  Métodos que deben contener TODOS los objetos de negocio y que personalizamos para uno en concreto ● ObtenerReglasRotas ● IsValid ● IsNew ● IsEmpty
  • 14. 14/19 Región 6: Helpers o métodos auxiliares  Métodos auxiliares que me ayudan a realizar una función que hace el objeto
  • 15. 15/19 Región 7: Métodos públicos  Métodos que ofrece el objeto hacia el exterior  Visibles desde fuera de la clase
  • 16. 16/19 Región 8: Métodos de acceso a datos  Guardar ● Guarda el objeto en base de datos ● Distingue entre si es un objeto nuevo (insert) o se es uno ya existente (update) ● Utiliza isNew para hacer esta distinción  Obtener ● Método por defecto de recuperar un objeto desde bd ● El método por defecto recupera por Id del objeto  Obtener_PorXXX ● Otras formas de recuperar un objeto de base de datos  CargarRecordset ● Carga los atributos del objeto a partir de una row de bd  Obtener_desdeLinea ● Se utiliza para cargar colecciones (listas) de objetos
  • 17. 17/19 Región 9: Procedimientos almacenados  Generación de la SQL del motor de BBDD que hallamos escogido para nuestra solución  Devuelven la sql generada  Estos métodos tienen la siguiente notación: ● XXX_P_<nombre del sp> ● Ejemplo: – CRN_P_CrearJugador – CRN_P_ActualizarJugador – CRN_P_ObtenerJugador_PorId – ...
  • 18. 18/19 jugadoresList.php  Colección de objetos de negocio  Su responsabilidad es manejar listas de jugadores  Internamente contiene un array que almacena objetos de la clase Jugador  Acceso a datos ● Obtener. Método por defecto que recupera todos los jugadores ● ObtenerConectados. Método que recupera sólo aquellos jugadores que están conectados
  • 19. 19/19 Base de datos: cronoDB  Crearemos una base de datos mySQL que se llamará cronoDB  En principio tendrá una única tabla que se llamará CRN_Jugadores  Esta tabla almacena toda la información asociada a los jugadores