Soporte REST y Qodly de Singletons

Con 4D 20 R5, liberamos los singletons. Y con 4D 20 R6, ahora le permitimos llamar directamente a las funciones expuestas de sus singletons compartidos a través de llamadas REST. Del mismo modo, puede utilizar las funciones expuestas de sus singletons compartidos en eventos al diseñar sus páginas Qodly. Permítanme profundizar en estas nuevas funcionalidades.

Soporte HDI REST y Qodly para Singletons

Supongamos que desea crear un servicio REST que no esté vinculado a una clase de datos específica.

Es fácil.

En primer lugar, vamos a crear un singleton compartido con una función expuesta, la que desea llamar a través de REST:

//class mySingleton

shared singleton Class constructor()
	
exposed Function myFonction($value : Integer)
	//code

A continuación, demos un vistazo al catálogo comprobando el JSON devuelto por myServer/rest/$catalog/$all. Veo que mi singleton acaba de aparecer con su función expuesta:

"singletons": [
    {
      "name": "miSingleton"
      "methods": [
        {
          "name": "myFonction",
          "allowedOnHTTPGET": false,
          "exposed": true
        }
      ]
    }
  ],

Ahora puedo hacer una llamada REST a myServer/rest/$singleton/mySingleton/myFonction para ejecutar directamente mi función expuesta.
Por supuesto, puede restringir las llamadas a funciones específicas o singletons configurando privilegios en el archivo roles.json.

En Qodly, es aún más fácil. Al configurar eventos, puede elegir sus funciones expuestas singletons compartidas como cualquier función expuesta de clase de datos:

Qodly Studio muestra mi singleton en el catálogo y me permite elegir sus funciones expuestas para eventos

Y de forma similar, puede configurar los derechos para ejecutar singletons y sus funciones expuestas a través de la pantalla de privilegios:

blank

La página de roles y privilegios de Qodly Studio me permite configurar los derechos de acceso de mi singleton

Si quiere un ejemplo sencillo de lo que puede realizar con singletons, loe animo a que consulte el IDH sobre singletons.

Esperamos que estas dos funciones le faciliten el uso de los singletons.

Si tiene comentarios u observaciones, ¡no dude en hacerlos llegar a nuestro foro!

Nicolas Brachfogel
• Propietario de producto y Desarrollador Senior - Nicolas Brachfogel se unió a 4D en 2017 como Senior Developer (4D Server y networking). Como Product Owner para gestionar el lanzamiento de Apple Silicon, está a cargo de escribir historias de usuario y traducirlas en especificaciones funcionales, así como asegurarse de que las implementaciones de las funcionalidades satisfagan las necesidades del cliente. Diplomado por el Instituto Superior de Informática Aplicada (INSIA), Nicolas comenzó su carrera como desarrollador de software en 2001. Tras varios años codificando en Java y C++, pasó a especializarse en el desarrollo cliente-servidor para empresas de videojuegos. Como desarrollador/arquitecto de servidores, trabajó con éxito en las arquitecturas de servidores de muchos juegos (Dofus Arena, Drakerz, Trivial Pursuit Go!).