![]()
|
|
| Recursos Técnicos Madrid, S.L. - Pº Quince de Mayo 2, 1º, Of. 1 - 28019 Madrid (España) Tel. 914609406 |
Arquitectura de FME Server
Este Informe Técnico presenta los componentes de la arquitectura de FME Server describiendo posteriormente escenarios con ejemplos. También aporta una introducción al funcionamiento y escalabilidad ofrecido por FME Server.
Antes de que Vd. Siga leyendo, se recomienda que tenga una sólida comprensión de la tecnología spatial ETL y FME para sacar el mejor partido de este Informe Técnico.
FME Server es una plataforma espacial escalable ETL para extracción, transformación y carga (extract, transform and load) que ofrece una flexible distribución de datos espaciales y servicios de carga para ayudar a que las organizaciones cumplan rápidamente con sus diversas necesidades de acceso a datos.
Diseñado con una arquitectura orientada a servicios (SOA), los servicios de datos espaciales flexibles de FME Server pueden ayudar a convertir y distribuir grandes volúmenes de datos de tal forma que los usuarios puedan acceder a su datos, donde, cuando y como ellos lo necesiten. Llevando la potencia de la probada tecnología de conversión, transformación e integración desde FME Escritorio para emprender entornos de servicio, FME Server hace que las organizaciones tengan las ventajas siguientes:
• Flexibilidad en la distribución de datos espaciales.
• Carga y conversión de datos escalable
| Componentes de la Arquitectura de FME Server | |
| FME Server consiste en una serie de
componentes principales como ilustramos en el gráfico de abajo. Se puede
hacer referencia a este diagrama cuando se va leyendo sobre más detalles
acerca de los componentes y escenarios de utilización.
|
|
| CLIENTES | |
![]() |
Con FME Server se suministran
dos tipos de clientes: de Web y de no-Web. FME Server también lleva una
API en C++, Java y .NET que capacita a las terceras partes para
desarrollar sus propios clientes (de Web y de no-Web) o para integrar
FME Server como un componente dentro de un sistema mayor.
El primer cliente de Web que FME Server lleva
es una interfase de usuario de Web que se ejecuta en un visualizador
Web. Ofrece un simple cliente estándar que capacita a los
administradores y usuarios finales para: |
![]() |
La interfase de usuario Web de
FME Server opera como una aplicación Web ejemplo que muestra como
utilizar muchos de los componentes de Web disponibles para los
desarrolladores de Web. En toda la interfase, cuando se pulsan los
botones claramente definidos como “Show Request” (mostrar petición),
revelan los comandos post y get enviados a FME Server. La interfase
puede, por tanto, ser utilizada como punto de inicio para las
organizaciones que prefieren integrar los servicios de FME Server en sus
aplicaciones existentes de Web o construir las suyas propias utilizando
la API de FME Server. Además de la interfase de usuario de Web de FME Server, otros clientes Web se pueden utilizar con FME Server incluyendo el FME Server Administration Panel y aplicaciones de que son capaces de solicitar peticiones URL, tales como Google Earth. Las aplicaciones de clientes que no son de Web también pueden hacer interfase con el FME Server. Se incluye el FME Server Console, FME Workbench, y clientes terceras partes desarrollados utilizando la API de FME Server. FME Workbench sirve como entorno de publicación de espacios de trabajo que capacita a los publicadores para colgar sus espacios de trabajo en FME Server para su utilización por usuarios finales. La Consola de FME Server capacita a los administradores a interactuar con FME Server utilizando comandos mejor que la interfase de usuarios de Web FME Server o FME Workbench. |
| SERVICIOS WEB | |
![]() |
Los servicios que aporta FME Server son aplicaciones java (servlets) que permiten a los usuarios recibir los datos que necesitan. Se pueden ofrecer varios servicios que utilizan FME Server incluyendo las descargas de datos, flujo de datos, SpatialDirect y servicios Web del OGC. Para informarse mejor sobre las posibilidades de los servicios de FME Server lea los ejemplos de “Usage Scenarios” de la sección de abajo.
|
|
COMPONENTES DEL REPOSITORIO |
|
![]() |
EL repositorio de FME Server sirve como un catálogo de espacios de trabajo que se utilizan para suministrar servicios a los usuarios. La funcionalidad del repositorio de FME Server se compone de varios elementos: Repository Manager (gestor de repositorios) , Repository Database (base de datos de repositorios), y Repository File System (sistema de archivos de repositorios). Cada repositorio es una carpeta del Sistema de Archivos de Repositorio que contiene una carpeta para cada espacio de trabajo publicado y sus transformadores personalizados, formatos y recursos tales como juegos de datos fuente. La Base de datos de Repositorios almacena opciones, indexa los repositorios y mantiene metadatos de los repositorios y sus contenidos. Como alternativa al uso de HSQLDB que se suministra, se puede escoger la utilización de Oracle, MySQL o SQL Server. Las instrucciones para su configuración aparecen en la Guía del Administrador de FME Server Administrator’s (solicitar a RTM en Español). El Gestor de Repositorios almacena y sirve los metadatos de este repositorio a los clientes. Apoya a la gestión de múltiples repositorios y permite la creación y eliminación de repositorios. Su funcionalidad es accesible por medio de la API del FME Server API que aporta acceso a C++, Java, .NET, y SOAP.Los contenidos de cada repositorio pueden ser colgados, descargados, creados y borrados utilizando FME Workbench y el Panel del Administrador de FME Server, o la Consola del FME Server. |
| Motores FME | |
![]() |
Las capacidades ETL espaciales de proceso de FME Server están aseguradas por uno o más motores FME. Estos motores están construidos con la tecnología de FME, capacitándoles para ejecutar espacios de trabajo publicados utilizando el Banco de Trabajo de FME (FME Workbench). El número de motores que se seleccionan para su utilización está directamente fundamentado en la capacidad de procesamiento que se necesita. Más motores en uso concurrente significan potencia adicional para ejecutar más tareas espaciales ETL al mismo tiempo. Se puede saber más sobre la escalabilidad en la sección llamada Funcionamiento y Escalabilidad. |
|
gestor de transformación |
|
![]() |
El Gestor de Transformación es responsable de aceptar las peticiones espaciales ETL desde los clientes y de distribuirlas al primer motor FME disponible capaz de realizar la transformación solicitada. Al completar la petición, el Gestor de Transformación devuelve los resultados desde el Motor FME al cliente. Los motores FME comunican con el Transformation Manager utilizando TCP/IP, lo que permite que múltiples motores de FME se registren en el mismo Gestor de Transformación. Esto también significa que el Gestor de Transformación y que los Motores FME (Engines) pueden correr en un sistema o que pueden distribuirse entre varias máquinas.Una base de datos subyacente almacena las peticiones del Gestor de Transformación hasta que pasen a un motor FME para su procesado. El Gestor de Transformación mantiene un sistema de turno de prioridades de todas las peticiones que esperan, antes, durante y después de que han sido procesadas por un motor FME. Esto hace que el Gestor de Transformación suministre tolerancia fault en los cortes y fallos del sistema, evitando que las peticiones se pierdan. Su funcionalidad es accesible vía API de FME Server API que proporciona accesos a C++, Java.NET. |
|
MONITOR DE PROCESOS |
|
![]() |
El Monitor de Procesos aporta tolerancia fault para el FME Server re-iniciando automáticamente el Transformation Manager, Repository Manager, y FME Engines si fuera necesario. |
Escenarios de Uso |
FME Server es una plataforma espacial escalable ETL que capacita a los gestores de datos espaciales para cumplimentar con rapidez las diversas necesidades de acceso a datos. Ofrece servicios de distribución de datos espaciales que permiten compartir sus datos espaciales con los usuarios, y aporta carga de datos escalable y servicios de conversión para activar una eficaz validación, carga y conversión de grandes volúmenes de datos. Flexibles Servicios de Distribución de
Datos Espaciales Servicio escalable de carga de Datos
y Conversión |
| Escenarios de Utilización incluidos en este Informe Técnico | Para una mejor comprensión de
los trabajos internos de FME Server, este Informe Técnico sobre
arquitectura incluye descripciones de los siguientes tres escenarios de
uso, describiendo globalmente las experiencias del usuario final y lo
que los componentes de FME Server realizan de fondo: • Publicación y Actualización de Espacios de Trabajo. • Descarga y Flujo de Datos Espaciales. • Realización de Conversiones de Datos Espaciales Basados en Servidor. Al tiempo que muchos más formas de utilización son posibles, estos tres escenarios son de alcance general y podrían inspirar otros supuestos tales como el óptimo uso de FME Server para lograr los objetivos de la organización. |
|
PUBLICACIÓN Y ACTUALIZACIÓN DE ESPACIOS DE TRABAJO |
|
|
Los espacios de trabajo publicados están disponibles para su ejecución por los usuarios debajo de los servicios) donde han sido publicados. |
Las tareas espaciales ETL se
pueden compartir con los usuarios que regularmente necesitan datos
convertidos, transformados e integrados. En vez de contactar con un
usuario experto en FME para conseguir la transformación de datos
espaciales, los propios consumidores pueden realizar estas acciones de
forma independiente utilizando el FME Server. Cualquier espacio de trabajo publicado utilizando el FME Workbench puede ser cargado en FME Server y ejecutado por usuarios finales. En muchos casos los autores de espacios de trabajo pueden publicar parámetros dentro del espacio de trabajo que permitan a los usuarios configurar la tarea. Por ejemplo, los parámetros publicados pueden ser utilizados para especificar o colgar datos fuente, suministrar valores para transformadores, controlar el flujo de espacios de trabajo y probar las condiciones específicas en juegos de datos fuente.
Los parámetros publicados pueden simplemente
ser apartados de entrada de textos, file pickers, controles de
selección, listas de selección múltiple, campos de contraseñas, etc. , y
pantallas como campos de entrada para usuarios de la interfase de
usuario de Web de FME Server. |
| Una vez publicados en
FME Server, los espacios de trabajo pueden ejecutarse por cualquier
usuario mediante un visualizador de Web, como describimos en los casos
de dos usos siguientes: Los formatos personalizados y los transformadores personalizados también pueden ser publicados, almacenados y actualizados de la misma forma. |
|
|
descarga y flujo de datos espaciales |
|
![]() Cuando no se ha seleccionado notificación por correo electrónico, el servicio de Descarga de Datos devuelve la información con los resultados de la tarea terminada al usuario final directamente en la pantalla del visualizador junto con un link para acceder a la descarga del archivo zip comprimido con los resultados.
|
FME Server capacita a los
usuarios finales para recibir un juego de datos resultante de un espacio
de trabajo utilizando los servicios de FME Server tales como descarga de
datos y flujo de datos. Aquellos usuarios que con frecuencia necesitan
los resultados de tareas espaciales ETL, ahora pueden ejecutar esas
tareas y recibir los datos resultantes en tiempo real según se van
solicitando.
Utilizando la interfase de usuario Web de FME Server, los usuarios finales simplemente eligen el servicio de Descarga de Datos o de Flujo de Datos (Downloading/Streaming Data) y el repositorio al que el espacio de trabajo está asignado, y luego seleccionan el espacio de trabajo. Luego introducen sus especificaciones en los campos de entrada con parámetros publicados, y ejecutan el espacio de trabajo. El juego de datos resultante se suministra
bien como un fichero de descarga (datos de descarga) o como una vista en
el visualizador de Web o como flujo de datos de la aplicación del
usuario eligiendo flujo de datos (data streaming). |
| Una vez
acabado, el siguiente paso en el FME Engine(s) depende del servicio
seleccionado. Para el Servicio de Descarga de Datos, los motores FME
escriben los datos resultantes en un directorio Web, comprimen todos los
ficheros de salida juntos y envían la información con los resultados de
conversión al servicio Data Download Service.
Si se utiliza la opción de notificación de correo electrónico, el servicio entonces envía la información con los resultados al usuario y un vínculo (link) para la descarga del fichero comprimido con juegos de datos. Si no se utiliza la notificación de correo electrónico, el servicio muestra la información con los resultados y un link para la descarga de un fichero comprimido para el usuario en el cliente de la interfase de usuario Web de FME Server. |
|
| Para el servicio de flujo de datos, Data Streaming, el/los motores FME escriben los datos resultantes en un directorio provisional de destino y envían la información de los resultados de la conversión al servicio de Flujo de Datos. Entonces el servicio devuelve los datos resultantes a la aplicación cliente del usuario. | |
| El servicio de Flujo de Datos KML Network vinculado con FME Server funciona de una forma muy similar al servicio de flujo de datos, pero utiliza Google Earth como cliente de usuario. El servicio suministra un fichero KML para su utilización en Google Earth que contiene un link a la Network del Servicio FME Server Data Streaming. Cuando se accede a este link este devuelve los datos resultantes desde el FME Server directamente en Google Earth. | |
| Para los que publican espacios de trabajo, FME Server simplifica la tarea de la creación de servicios competentes aportando un juego de espacios de trabajo plantilla que hacen más fácil el diseño de un espacio de trabajo para los servicios de Descarga y Flujo de datos. Los espacios de trabajo diseñados para los servicios de descarga y flujo de datos también pueden contener parámetros publicados según se describía en el anterior escenario de flujo de trabajo, “Run Spatial ETL Workspaces over the Web.” Por ejemplo el parámetro de formato del Escritor Genérico (Generic Writer) podría ser publicado en un espacio de trabajo, capacitando a los usuarios finales que ejecutan el espacio de trabajo que utiliza FME Server para elegir el formato de destino de los datos. | |
|
realizando conversiones de datos espaciales con base en servidor |
|
| Para ejecutar un espacio de trabajo que ha sido publicado en FME Server, los usuarios simplemente se conectan a la interfase del usuario Web de FME Server, seleccionan el servicio Job Submitter y el repositorio al que el espacio de trabajo está asignado y luego seleccionan el espacio de trabajo. Una vez que los parámetros publicados han sido cumplimentados y que cualquier dato que se necesite ha sido colgado por el usuario final, la tarea espacial ETL se ejecuta y la página Web muestra los resultados. | |
| Tras las escenas el cliente de interfase de usuario de Web de FME Server accede al servicio de solicitudes de trabajo (Job Submitter Service), que envía la petición mediante la API en el Gestor de Transformación. Luego el Gestor de Transformación envía el trabajo de conversión de datos al motor/es adecuados de FME para su procesado. Una vez acabado, los motores depositan los datos resultantes en el juego de datos de destino y envían la información con los resultados de la conversión al usuario directamente a través del servicio de Job Submitter. Después el servicio lo muestra al usuario en la interfase cliente del usuario Web de FME Server. | |
|
Funcionamiento y Escalabilidad |
|
![]() |
Una de las capacidades más potentes tras el diseño del FME Server es su funcionamiento y la escalabilidad. Construido para un alto rendimiento, los motores FME pueden procesar incluso pequeños trabajos muy rápidamente puesto que no existe ni inicio ni corte para cada tarea ETL cuando se está ejecutando. |
![]() Si los parámetros han sido publicados en un espacio de trabajo, los usuarios pueden pulsar el botón Config de la interfase de usuario Web de FME Server para que aparezcan los parámetros publicados disponibles, algunas veces considerados por los usuarios como opciones de configuración. |
FME Server también está
diseñado para adaptarse paulatinamente al crecimiento de cualquier
organización. Está pensado para soportar instalaciones grandes y
pequeñas, FME Server permite que muchos motores FME puedan ser añadidos
al sistema. Si su organización crece, las capacidades espaciales ETL del
sistema se pueden aumentar simplemente añadiendo más motores a la
instalación de FME Server. Para soportar esta capacidad adicional, FME Server activa cambios dinámicos de potencia de procesado del sistema. O sea, que las organizaciones pueden dinámicamente añadir o quitar motores desde el pool de procesado en cualquier momento. Esto permite a las organizaciones mover o volver a mostrar licencias de motores en hardware diferente mientras que el sistema está todavía ejecutándose. Con FME Server, las organizaciones pueden guardar sus sistemas críticos ejecutándose incluso mientras están cambiando las configuraciones de su instalación FME Server. |