¿Quieres saber cómo puedes comunicar tu FileMaker con lenguaje PH? lee esta guía que ha preparado nuestro compañero Ilich Mascorro para enterarte de todo.
Con el paso del tiempo FileMaker (FM) ha creado diversas herramientas para la comunicación de su base de datos con programas de terceros, un caso muy particular es FileMaker con Tableau pero también creó una herramienta buena para comunicación bidireccional y esta es su DATA API REST.
Esta herramienta sigue los protocolos y parámetros de REST API, por lo tanto, se pueden crear Frameworks (FW) en diversos lenguajes como una capa intermedia, dando lugar que el API REST de FM se pueda usar en los siguientes lenguajes:
- PHP
- VB/C#
- Python
- Java /Kotlin
- JS
- Node
- Meteor
- React
- Nativescript
- TypeScript
- C / C++
- Swift (iOS)
Digamos que el punto importante es que el lenguaje tenga soporte CURL (o simulador) para la comunicación HTTP.
4 principios fundamentales.
- La comunicación entre FileMaker y PHP se da a través del API de FileMaker por el servicio REST que se le puede considerar una capa profunda
- En el lenguaje PHP se crea SDK para la comunicación con la capa profunda (API FM) para el intercambio de datos y operaciones CRUD
- Debe tener en cuenta que esta comunicación no es un ESS (External SQL Source), como puede ser en caso de MySQL u Oracle
- La comunicación con la capa profunda con FM DB, es a través del acceso de instancias de tabla vía layouts, por lo tanto, no es una conexión directa
Teniendo esto en cuenta, se podría considerar que cualquier FW escrito en PHP para el REST API debería proporcionar las siguientes singularidades.
- La API de FM para PHP proporciona una interfaz PHP orientada a objetos para las bases de datos de FM.
- La API de FM para PHP permite acceder a los datos y la lógica almacenados en una base de datos de FM Pro y publicarlos en la Web o exportarlos a otras aplicaciones.
- La API también admite comandos de búsqueda complejos y compuestos para extraer y filtrar datos almacenados en bases de datos de FileMaker Pro.
Requisitos
Para llegar una buena comunicación con FileMaker y PHP, se deben crear un entorno adecuado, para esto los requisitos globales sería:
- FileMaker Server (FMS)
- FileMaker API (activado)
- SSL
- PostMan (opcional)
- Servidor Web (apache o nginx) con PHP
Tener en cuenta que en FMS hay que tener en cuenta estos 3 puntos:
- Habilitar Puerto 80 o 8080
- Instalación del certificado completo (incluyendo el intermediario)
- Habilitar Data API
Y en PHP esto son los puntos que hay que tener en cuenta:
- Memoria RAM = 128MB / 1GB (memory_limit)
- 25 MB de Subida (upload_max_filesize)
- Habilitar las siguientes librerías: curl, gd2, mbstring, openssl
- Versión 7.3 en adelante
Como hemos comentado anteriormente, la comunicación se basa en vía layouts, así que el archivo que tenga la vista que será como puerto de entrada del API REST, debe tener permisos, como puede ver en la siguiente imagen.
Lógica de la comunicación del PHP con API REST de FM
La lógica de comunicación es algo simple pero laboriosa, si lo resumimos en una serie de pasos serían los siguientes:
- Se envía una solicitud desde un navegador web al servidor web
- El servidor web enruta la solicitud a través del módulo del servidor web de FileMaker al motor de publicación web.
- El motor de publicación web solicita datos de la base de datos alojada por el servidor FileMaker.
- FileMaker Server envía los datos de FileMaker solicitados al motor de publicación web.
- El motor de publicación web convierte los datos de FileMaker para responder a la solicitud. (por ejemplo, para solicitudes PHP, Web Publishing Engine responde a la solicitud API y para solicitudes XML, Web Publishing Engine envía datos XML directamente al servidor web).
- El servidor web envía la salida al navegador web solicitante.
Estos son los FW de FM con PHP que están en desarrollo de código abierto.
- https://github.com/airmoi/FileMaker
- https://github.com/myFMbutler/myFMApiLibrary-for-PHP
- https://fmdata.io/
Independiente del FW que elijamos, siempre tienen la misma forma de comportarse y/o tener la estructura jerárquica,
- Clase principal
- Clase de búsqueda
- Clase de resultado
- Clase de nodo (por fila de registro)
- Clase de manipulación
- Insertar
- Actualizar
- Borrar
Finalmente cerramos esta guía con los requisitos, configuración y librerías para que pueda haber una comunicación FileMaker y el lenguaje PHP.
——————————————————————————————————————————
En Bitwok nos encanta compartir nuestros tips de desarrollador
Si tienes alguna duda acerca de como llevar a cabo estos pasos, no dudes en contactar con nosotros al correo info@bitwok.es.
Además, para mantenerte al día de nuestras publicaciones, síguenos en nuestras redes sociales, Linkedin y Twitter.