Proyecto Multiplataforma – Episodio 3 (Aplicación Cliente «Windows/Linux»)

Hola amigos.

En este Episodio vamos a crear nuestra Aplicación Cliente la cual enviará las peticiones http GET a nuestro Servidor Datasnap para obtener información de los métodos Usuario y Habitaciones.

Escribiremos el código necesario para procesar los dos tipos de RESPONSE que vimos en el Episodio 2.2 y mostraré las diferencias de serializar los objetos JSONObject y FDJSONDataSets. Esto lo haremos en dos aplicaciones independientes que nos servirán de prueba para después implementar el código realizado en la Aplicación Cliente principal.

***En el siguiente video vamos a consumir los métodos Usuario() y Habitaciones() que nos regresarán la clase TJSONObject.

***En el siguiente video vamos a consumir los métodos getUsuario() y getHabitaciones() que nos regresarán la clase TFDJSONDataSets.

Ya vimos como enviar las peticiones GET y consumir los métodos de nuestro Servidor DataSnap y la implementación de los métodos en la Aplicación Cliente se harán con aquellos que nos regresan la clase TJSONObject ya que nos permitirá desarrollar clientes desde cualquier herramienta de programación y no solo desde RAD Studio, sin embargo ustedes podrán decidir cual será su favorito.

Dicho lo anterior, todas las peticiones GET, PUT y POST que se agreguen a partir ahora se escribirán con Response TJSONObject y solo haremos un método para las peticiones PUT y POST como ejemplo ilustrativo de la clase TFDJSONDataSets los cuales se consumirá en una pequeña aplicación por separado, los demás métodos se consumirán directamente en nuestra Aplicación Cliente.

***En el siguiente video vamos a implementar los métodos vistos anteriormente en nuestra Aplicación Cliente y se compilará para el Escritorio de Windows (Win10) y para el Escritorio de Linux (Ubuntu).

Con esto terminamos el Episodio 3. En el siguiente Episodio veremos como generar una app Android a partir de nuestra Aplicación Cliente Base.

***Mientras tanto los invito a iniciar sus pruebas con peticiones GET y consumir sus métodos con la opción que mas les interese.

Nos vemos en la próxima

Nos vemos en la próxima entrada.

Proyecto Multiplataforma – Episodio 2.2 (Creación de Métodos)

Hola amigos.

En éste Episodio vamos a escribir un par de métodos para poder pasar a la siguiente etapa que es la construcción de las Aplicaciones Cliente y de esa forma avanzar con el proyecto.

Posteriormente cada método que se agregue en el Servidor, se hará la el proceso para el llamado del mismo desde la Aplicación Cliente para avanzar de forma paralela.

Primero vamos a rediseñar el método ValidaUsuario() ya que requerimos que además de validar que el usuario existe es necesario obtener la información del usuario que inició sesión en el sistema y mostrarla en la ventana principal.

Posteriormente vamos a crear el método Habitaciones() el cual nos regresará la información de las habitaciones para generar lo que en hotelería se le conoce como Rack de Habitaciones.

Un Rack permite visualizar de forma inmediata el estado de las habitaciones (Disponible, Ocupada, Limpia, Sucia, etc.) en una relación Habitación / Día, la siguiente imagen nos muestra un ejemplo de éste visor .

Vamos a mostrar dos formas diferentes de regresar objetos JSON para que ustedes decidan cual se adapta a sus necesidades. Para realizar esto se van a utilizar las siguientes clases:

  • TJSONObject
    • Con esta clase se creará el mapeo JSON del DataSet para que puedan escribir Aplicaciones Cliente con cualquier herramienta y poder serializar el contenido con formato JSON y extraer la información contenida.
  • TFDJSONDataSets
    • Con esta clase se creará el mapeo JSON del DataSet en formato «mime encoded binary content» por lo que solo será útil cuando se use RAD Studio en ambos extremos es decir tanto en el Servidor como en el Cliente.

***En el siguiente video vamos a crear los métodos con el objeto TJSONObject.

***En el siguiente video vamos a crear los métodos con el objeto TFDJSONDataSets

Con esto terminamos el Episodio 2 el cual hice en dos partes para separar el motor y los métodos que serán consumidos.

En el siguiente Episodio comenzaremos a diseñar nuestra aplicación de Escritorio para las plataformas Windows y Linux.

***Mientras tanto los invito a experimentar con la creación de métodos utilizando los dos enfoques TJSONObject y TFDJSONDataSets .

Nos vemos en la próxima

Nos vemos en la próxima entrada.

Proyecto Multiplataforma – Episodio 2.1 (Núcleo del proyecto)

Hola amigos

En este Episodio vamos a crear el núcleo de nuestro proyecto que nos permita la comunicación a través de Internet, de Red local o en el Localhost a las Aplicaciones Cliente desarrolladas en diferentes plataformas.

Construiremos una aplicación que permitirá a las Aplicaciones Cliente invocar los métodos implementados utilizando una tecnología llamada DataSnap la cual genera automáticamente la interfaz de comunicación entre las aplicaciones Cliente y el Servidor.

Antes de iniciar la creación de nuestro Servidor DataSnap vamos a definir algunos métodos que serán invocados desde las aplicaciones Cliente.

Métodos Get

  1. Validación de Usuario para Iniciar Sesión en el Sistema
  2. Obtener Información de las Habitaciones para crear el Rack de Habitaciones
  3. Obtener Detalle de una Habitación en particular
  4. Obtener Información de Huéspedes o un Huésped en particular.
  5. Obtener Listado de Productos o un solo Producto
  6. Obtener Estado de Cuenta

Métodos Post

  1. Check In
  2. Consumos
  3. Pagos
  4. Check Out
  5. Clientes

Creando el Servidor DataSnap

***En el siguiente video veremos como crear un Servidor DataSnap de forma simple y rápida. Una vez creado probaremos su funcionamiento con dos métodos que seguramente ya conocen EchoString() y ReverseString().

Como pudieron ver, crear el motor base de un Servidor DataSnap es muy fácil y muy rápido.

A continuación vamos a construir un método para validar la existencia de un usuario, dicho método requerirá el envío de los elementos USUARIO y CLAVE, se realizará la consulta a la base de datos y el retorno del método será de tipo Boolean, es decir Falso o Verdadero según corresponda.

Método para la Validación de Usuarios

***El siguiente video muestra como crear el Método para validad Usuario y Contraseña.

Ahora sabemos que crear un método con acceso a base de datos es muy fácil, éste método es muy simple porque solo valida si existe o no el registro solicitado y nos regresa un campos Booleano, muy simple pero la idea era mostrar la capacidad de generar métodos en el servidor DataSnap.

En el siguiente Episodio veremos ***Bloopers incluidos 🙂 *** como se regresan DataSets a las aplicaciones cliente y la facilidad con la que lo podemos hacer con nuestra querida herramienta de trabajo.

***Mientras tanto, los invito a experimentar con mas métodos que regresen datos simples y cualquier duda o comentario con gusto la ampliamos 😀

Nos vemos en la próxima

Nos vemos en la próxima entrada.

GetIt en Delphi 10.2 Starter

Hola amigos,

En ésta entrada vamos a hablar acerca del gestor de paquetes GetIt que nos permitirá navegar, descargar, comprar e instalar paquetes en RAD Studio.

Para instalar una biblioteca o un paquete en RAD Studio mediante GetIt Package Manager seleccione Herramientas –> GetIt Package Manager para abrir la ventana GetIt Package Manager o en la pantalla de bienvenida seleccione la opción Get Add-ons from GetIt.

Se mostrará el administrador de paquetes GetIt donde podrá seleccionar el paquete que desea instalar 0 puede utilizar el cuadro de búsqueda en la esquina superior izquierda de la ventana.

Haga clic en el botón Instalar del paquete que desea.

En el cuadro de diálogo que se abre, lea las licencias del paquete y sus dependencias y haga clic en Aceptar todas si está de acuerdo con todos los términos.

Se abrirá una ventana de instalación y le mostrará el progreso de la descarga e instalación del paquete. Haga clic en el botón Cerrar para cerrar la ventana de instalación cuando finalice la instalación.

Nota: Algunos paquetes pueden ejecutar un instalador una vez finalizada la descarga.

En el caso de paquetes de tiempo de ejecución, o tiempo de ejecución y paquetes de tiempo de diseño; GetIt Package Manager compila el paquete para todas las plataformas disponibles que soporta el paquete. Si posteriormente agrega una plataforma en RAD Studio, debe compilar el paquete para dicha plataforma desinstalando e instalando el paquete de nuevo o compilando dicho paquete manualmente.

Para ver los componentes instalados seleccione la opción Installed y verá todos los paquetes instalados.

Ésta herramienta es muy útil y nos proporciona comodidad al gestionar la instalación de paquetes que están soportados por la herramienta, no dejes de hacer una búsqueda de componentes instalando los que te sirvan, algunos son gratuitos, otros de pago pero podrás instalarlos para evaluarlos ya que cuentan con su versión Trial.

En los próximos artículos veremos la funcionalidad de algunos paquetes que instalaremos.

Hasta la próxima