Cuadro de texto:                                                     Informe Técnico
 
 

Recursos Técnicos Madrid, S.L.

Recursos Técnicos Madrid, S.L. - Pº Quince de Mayo 2, 1º, Of. 1 - 28019 Madrid (España) Tel. 914609406

Cadcorp FME FME Server Gis Móvil OziExplorer  ContactarPagina de Inicio Arriba

 LOGO_RTM 

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:
Visualizar espacios de trabajo, repositorios y espacios de trabajo en FME Server.

Gestionar espacios de trabajo publicados, formatos personalizados y transformadores personalizados.

Ejecutar espacios de trabajo que han sido publicados en FME Server.

Acceder a datos por medio de los servicios ofertados por FME Server tales como descarga de datos, Flujo de datos, SpatialDirect, y servicios Web OGC como WFS y WMS.
 

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
Para ayudar en el compartir de datos automáticos, FME Server incluye dos servicios flexibles de distribución de datos espaciales:

• Spatial Data Download Service (Servicio de Descarga de Datos Espaciales)

• Spatial Data Streaming Service (Servicio de Flujo de Datos Espaciales)
• Scalable Data Loading and Conversion Services (Servicios de Conversión y Carga de Datos Escalables).

Servicio escalable de carga de Datos y Conversión
FME Server incluyes tres potentes servicios de carga de datos espaciales y de conversión para ayudar a su corporación a soportar los requisitos de un alto volumen de acceso a datos:
• Bulk Data Loading and Migration Service (Servicio de Carga de Datos de Volumen y Servicio de Migración de Datos).
• Spatial Data Upload and Validation Service (Servicio de Colocación de Datos Espaciales y Servicio de Validación).
• Server-Based Spatial Data Conversion Service (Servicio de Conversión de Datos Espaciales Basado en Servidor).
 

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.
Los publicadores de espacios de Trabajo que hayan creado y probado un espacio de trabajo, pueden publicarlo en FME Server directamente desde FME Workbench simplemente haciendo click en el botón Publish. Se abre el Publish Wizard en el que las opciones de repositorios y servicios estén seleccionadas. El espacio de trabajo y cualquier recurso que se necesite se cuelga entonces en FME Server y se coloca en el repositorio especificado por los componentes de FME Server.
Detrás de las escenas, cuando un autor de espacio de trabajo realiza esta tarea el FME Workbench Client pasa el espacio de trabajo por toda la API de FME Server y el Gestor de Repositorio en la Base de Datos de Repositorios.
Los espacios de trabajo publicados pueden ser actualizados en cualquier momento simplemente descargándolos, actualizándolos y volviendo a publicarlos en el FME Server. Cuando un usuario se descarga un espacio de trabajo publicado, el Gestor de Repositorios empuja al espacio de trabajo desde la base de datos de Repositorios a través de la API de FME Server y en el Cliente FME Workbench.
 

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).
El proceso final de vuelta para terminar esta tarea es muy similar a la ejecución de espacios de trabajo espaciales ETL workspaces en la Web para los componentes de FME Server. El cliente de la interfase de usuario de Web de FME Server accede al servicio apropiado – bien Descarga o flujo de Datos – que luego envía la petición a través de la API en el Gestor de Transformación (Transformation Manager). Después el Gestor de Transformación envía el trabajo de conversión de datos al motor(es) FME adecuado para su procesado.
 

     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.