ORDA – De principiante a experto

Traducido automáticamente de Deepl

ORDA, siglas de Object Relational Data Access (acceso adatos relacionales aobjetos ), es un método de acceso a datos que combina las ventajas de la programación orientada a objetos con las de las bases de datos relacionales, lo que permite a los desarrolladores centrarse en resolver problemas de negocio en lugar de gestionar el acceso a los datos.

Tanto si es nuevo en ORDA como si ya está familiarizado con él y desea ampliar sus conocimientos, considere esta entrada de blog como una hoja de ruta que le guiará en el proceso de aprendizaje.

Esta entrada de blog incluye lo siguiente

Sin más dilación, ¡vamos al grano!

¿Por qué debería interesarme ORDA?

Antes de ir a través de los detalles técnicos, vamos a enumerar algunos de los beneficios de ORDA:

Todo es un Objeto

ORDA es un mundo donde todo es un objeto, incluyendo la base de datos.

Este enfoque permite acceder atoda la base de datos 4D utilizando un enfoque orientado a objetos, lo que facilita el trabajo con los datos y puede ayudar a reducir la complejidad del código. ORDA mapea los datos a conceptos del mundo real de manera que el uso de los datos se vuelve simple y elimina la necesidad de una comprensión profunda de la estructura relacional.

Código orientado al negocio con clases

ORDA viene con clases dedicadas al modelo de datos. Gracias a las clases, se puede ocultar la complejidad de la implementación física de los datos, y la aplicación puede exponer servicios fácilmente, ser más manejable, más fácil de mantener e integrarse a la perfección con otras aplicaciones.

Rendimiento inmediato

ORDA puede ayudar a mejorar el rendimiento de las aplicaciones proporcionando varias técnicas de optimización, como contextos y lazy loading. Estas técnicas pueden ayudar a reducir el número de consultas a la base de datos que necesitan ser ejecutadas, lo que lleva a tiempos de respuesta de la aplicación más rápidos. ¿Y lo mejor? Todo es automático; a diferencia de SQL o una herramienta ORM, no es necesario programar.

Mayor escalabilidad

ORDA puede ayudar a que las aplicaciones sean más escalables al soportar arquitecturas de bases de datos distribuidas. Esto significa que los datos pueden ser distribuidos a través de múltiples servidores de bases de datos, lo que puede ayudar a mejorar el rendimiento y manejar cantidades más significativas de datos.

Abierto y extensible

ORDA permite la creación de una integración perfecta entre diferentes sistemas. Se puede combinar con el servidor REST para exponer la lógica de negocio con una API controlada (a través de sus clases) para otras herramientas, como frameworks web como Angular o React.

Después de conocer algunos de los beneficios de ORDA y cómo esta tecnología puede afectar positivamente a tu aplicación, vamos a sumergirnos en los detalles técnicos.

Visión global de ORDA

Este esquema muestra una visión global de todo el uso de ORDA:

  • ORDA proporciona APIs para trabajar con sus datos y una robusta capa de abstracción que será expuesta como APIs de negocio.
  • Un completo sistema de permisos está disponible para filtrar el acceso a tus datos.
  • Con ORDA, puede trabajar con el servidor REST utilizando almacenes de datos remotos o las API REST.
  • Puedes utilizar ORDA si trabajas en modo Cliente-Servidor.
  • El código ORDA también se puede utilizar en una aplicación web (4DACTION, 4D tags).

Este diagrama debería darle una visión general de cómo ORDA se conecta a las diferentes partes de 4D. Una vez que la idea está clara, siga los siguientes pasos para comenzar su viaje de aprendizaje.

¡Que comience el viaje de aprendizaje!

Paso 1 – Conceptos principales

Los conceptos principales de ORDA pueden ser descubiertos aquí.

Primero, familiarízate con los términos datastore, dataclass, entity y entity selections. Entienda el significado de esos conceptos, ya que los verá a menudo cuando trabaje con ORDA.

Paso 2 – APIs ORDA

En segundo lugar, mira las APIs orientadas a objetos de ORDA y descubre cómo puedes manejar tus datos con esas APIs.

Por ejemplo, la API más utilizada es query() para ejecutar una consulta en tu base de datos.

Para ayudarte a descubrir cada API, aquí tienes una lista de entradas de blog con aplicaciones de demostración con las que puedes jugar.

  1. Consulta tu base de datos con un enfoque orientado a objetos
  2. Ir y venir entre selecciones actuales a ORDA
  3. Acciones CRUD
  4. Operaciones lógicas
  5. Manejar entidades
  6. Trabajar con objetos y colecciones
  7. Calcular estadísticas
  8. Ordenar por fórmula
  9. Consultas con fórmulas
  10. Marcadores de posición con nombre para rutas de atributos
  11. Marcadores de posición con nombre
  12. Selección de entidades: métodos extract() y refresh()
  13. Métodos miembros para obtener información de estructura
  14. Comparación de dos selecciones de entidades
  15. Mecanismos de bloqueo optimistas
  16. Bloqueo de entidades
  17. Escribir código genérico
  18. Ejemplo de código genérico
  19. Hoja de trucos ORDA

descubra el poder de las relaciones con orda

Como hemos dicho antes, ORDA es un método de acceso a datos que combina la programación orientada a objetos con las ventajas de las bases de datos relacionales.

Si quieres ir más allá y descubrir todas las ventajas que puedes sacar de las relaciones usando ORDA, aquí tienes una serie de demos donde aprenderás a ahorrar muchas líneas de código y a construir una interfaz fácil de usar.

    1. Episodio 1
    2. Episodio 2
    3. Episodio 3
    4. Episodio 4

Enlázalo con el código clásico de 4D

Si todavía utilizas el código clásico de 4D (que todos conocemos y amamos), puedes mezclarlo con el código ORDA si es necesario.

Esto es útil para introducir conceptos ORDA progresivamente en tu aplicación.

Revisa esta entrada de blog para más detalles.

Paso 3 – Capa de abstracción ORDA.

Para ir más allá con ORDA, aprovecha la capa de abstracción.

En esta capa, implementarás toda tu lógica de negocio a través de las clases del Modelo de Datos ORDA.

El manejo de clases va un paso más allá en la programación orientada a objetos. Cada clase puede tomar lógica de negocio en funciones.

Descubra el beneficio de atributos computados y alias. Es fácil configurar un atributo computado definiendo su fórmula de cálculo y toda su lógica de negocio. O definir un alias como cualquier otro atributo en su modelo de datos.

Por lo tanto, los desarrolladores consumirán esta capa de abstracción en lugar de manejar la capa de implementación física.

  1. Bienvenido al mundo de las clases ORDA
  2. Clases ORDA para manejar tu modelo de datos
  3. Clases de modelo de datos ORDA y REST
  4. TIPS con clases de modelo de datos ORDA
  5. Un espectáculo de magia con atributos computados
  6. Saluda a los alias

paso 4 – Trabajando remotamente

Ahora es el momento para la parte divertida 🙂

cliente-servidor

Puedes usar ORDA en modo cliente-servidor. Usa el comando ds para obtener el objeto datastore y comenzar a trabajar con tus datos.

Aquí hay más detalles sobre características específicas para trabajar en C/S.

  1. La palabra clave local
  2. Refrescar selección de entidad

almacén de datos remoto

Si trabaja en Client Server, está limitado a la base de datos actual, lo que requiere una conexión de red permanente.

Gracias al datastore remoto, una aplicación puede obtener datos de otra base de datos 4D remota expuesta en un servidor 4D.

Esta funcionalidad cubre muchos casos de uso:

  • organizar sus aplicaciones para que trabajen sin conexión y sólo sincronicen los datos locales cuando los datos remotos sean accesibles
  • publicar sus datos en múltiples servidores y cambiar de uno a otro cuando sea necesario
  • Divida su modelo de datos en diferentes bases de datos( por ejemplo, datos locales, datos internacionales). Entonces puede tener sus datos distribuidos en diferentes lugares y aún accesibles a través de un único código cliente 4D (métodos de proyecto y objetos de formulario)

Lea estas entradas de blog para saber más:

  1. Múltiples fuentes de datos 4D, ¿interesado?
  2. Almacenes de datos remotos, un caso de uso práctico

APIs REST

Las API de servidor REST se basan en conceptos ORDA.

Aquí hay algunas valiosas entradas de blog para aprender a utilizar las APIs REST.

    1. 4D Rest server y Postman
    2. 4D Rest server y ReactJs
    3. Clases de modelos de datos ORDA y REST
    4. La palabra clave expuesta

paso 5 – optimización de peticiones

Cuando se trabaja de forma remota con ORDA, tenga en cuenta que las solicitudes se optimizan automáticamente para pedir al servidor sólo los atributos necesarios. Además, también puede personalizar sus propias reglas de optimización para mejorar el rendimiento.

Para aprender más paso a paso, aquí hay una lista de entradas de blog.

  1. Utilice ORDA para mejorar el rendimiento
  2. Control total sobre las peticiones REST
  3. Optimización de peticiones y una demo
  4. Registro de peticiones

Y aquí hay un video demo en vivo que se hizo durante la Cumbre 2020

paso 6 – Sistema de permisos para filtrar el acceso a los datos

Filtrar el acceso a los datos es una característica imprescindible para evitar accesos maliciosos a su aplicación.

Desde la v19R8, usted se beneficia de un sistema potente y totalmente personalizable para proteger sus datos de usuarios no autorizados. Se trata de un sistema para proteger sus datos en función de quién accede a ellos y a qué datos se accede.

Cubre todos los procesos web, como peticiones REST, peticiones recibidas en un datastore remoto, y procesos web como 4DACTION o 4D tags.

Lea esta entrada del blog para obtener más información.

Paso 7 – compartir datos entre procesos

Es posible que haya trabajado con objetos compartidos y colecciones compartidas. También puede compartir selecciones de entidades entre varios procesos, aumentando el rendimiento.

Lea estas entradas del blog para obtener más información:

  1. Compartir una selección de entidades entre procesos
  2. Pasar a compartir selecciones de entidades sin problemas

aplicación web

También puedes utilizar esto cuando trabajes con sesiones web escalables. Pueden manejar varios procesos en modo preventivo. Esto significa que las sesiones web escalables pueden recibir varias peticiones de agente de usuario al mismo tiempo.

Estas nuevas sesiones web escalables pueden compartir datos entre estos procesos, incluso selecciones de entidades.

Estas entradas del blog te ayudarán si trabajas con selecciones de entidades en procesos web.

    1. Sesiones web escalables para aplicaciones web avanzadas
    2. Compartir conduce al rendimiento
    3. ORDA easy looping con 4D tag

Para concluir

Recuerda, ORDA es una poderosa herramienta que puede hacer tu proceso de desarrollo y acceso a datos más rápido y eficiente.

Esperamos que esta entrada de blog te haya ayudado. No dudes en hacer preguntas en el foro.

¡Estaremos encantados de ayudarte con ORDA!

Avatar
• Propietario de producto - Marie-Sophie Landrieu-Yvert ingresó al equipo de 4D Product como Propietario de producto en 2017. Como tal, está a cargo de escribir las historias de los usuarios y luego traducirlas en especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Marie-Sophie se graduó en la Escuela de Ingeniería de ESIGELEC y comenzó su carrera como ingeniera en IBM en 1995. Participó en varios proyectos (de mantenimiento y creación) y trabajó como desarrolladora de Cobol. Luego trabajó como diseñadora de UML y desarrolladora de Java. Sus principales funciones fueron analizar y redactar requisitos funcionales, coordinar los equipos de negocio y de desarrollo.