FME Server Architecture
FME Server has a number of components, some of which are considered part of the FME Server Core and others that are considered Clients of FME Server.
FME Server Clients include:
- Web Services (for example, the Job Submitter Service).
- Web Clients of FME Server such as the web interface.
- Non-Web Clients of FME Server, which include the FME Server Console, FME Workbench, and any custom application that uses the FME Server REST API.
Components that are part of the FME Server Core include:
- Process Monitor
- Repository Management
- FME Server Database
- Repository File System
- FME Engines
- Scheduling Manager
- Relay Manager
- FME Server Notifications
- WebSocket Server
FME Server Architecture Diagram
FME Server Components
Tha main components of FME Server to be aware of are:
- FME Engines: To carry out data transformation processing
- Server Core: To queue jobs, handle scheduling and notifications, and manage load balancing
- Web Services: To handle networking capabilities
FME Engines
FME Engines process job requests by running FME Workspaces. This is the same core engine, carrying out the same processing, that is used by FME Desktop. An FME Server installation can possess multiple engines.
Each FME Engine processes a single request at a time, and FME Server processing can be scaled by adding FME Engines to the same computer or to separate computers within a distributed FME Server environment.
Server Core
The FME Server Core manages and distributes job requests (queuing, request routing, scheduling), the repository contents (workspaces, custom formats, custom transformers, data), and notification requests.
The FME Server Core contains a Software Load Balancer (SLB) that distributes jobs to available FME Engines.
Web Services
Much of the FME Server networking capabilities are handled using what we call "Services". Services are software whose interface provides communication between server and clients.
FME Server has a number of services:
- Data Download
- Data Upload
- Data Streaming
- Job Submitter
- KML Network Link
- Token Security
- REST
- Notification
Some services (for example, Data Download) are “transformation” services that carry out data transformation, whereas others (for example, Token) are non-transforming "utility" services.
The Web Application Server is required in order to run the FME Server web interface, FME Server Web Services, and any other web clients. The web interface is included with FME Server and can be run in a browser. Custom web clients can be developed on top of the FME Server REST API.