FME服务器架构

一个 FME Server system consists of a Client layer and a Server layer, each with a number of components.

FME Server Components

1 Web Application Server

A Java Web Application Server is required in order to run theFME Server Web User Interface,FME Server Web Services, and any other web clients.Depending oninstallationconfiguration, the Web Application Server may be a version of Apache Tomcat included with FME Server.(The version of Apache Tomcat for this documented release is8.5.14.) Alternatively, it may be a servlet provided separately.Supported servlets are Apache Tomcat and Oracle WebLogic.

2 Web Clients

TheWeb User Interfaceis 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.

3 FME Server Web Services

FME Server provides predefined services to carry out common tasks.Services provided with FME Server include:

4 Non-Web Clients

  • FME Workbench is the authoring environment for FME Sever but can also be used to submit jobs to FME Server through a number of transformers.
  • FME Server Consoleis a command line interface to FME Server
  • Custom clients can be developed on top of the FME Server REST API service.

5 REST API

The FME ServerREST Serviceuses the FME Server Java API to send client requests to FME Server via the FME Server API.

6 FME Server API

All requests are sent to FME Server through the low-level FME Server API.

7 Security

FME Server providesAuthentication and Access Controlusing the Java Authentication and Authorization Service (JAAS) framework.

8 FME Server Core

TheFME Server Coremanages job requests, scheduling, and repository contents.

9 Process Monitor

TheProcess Monitorprovides fault tolerance functionality ensuring that the FME Server Core and FME Engines remain available to process requests.The Process Monitor also provides a mechanism for managing the FME Server and FME Engine components, including the ability to start, stop, restart and add components.

10 FME Engines

FME Enginesprocess job requests by running FME Workspaces.Each FME Engine processes a single request at a time.FME Server processing can be scaled by adding FME Engines to the same computer or to separate computers within a distributed FME Server environment.

In a distributed environment, FME Engines run on a computer or computers that are separate from the FME Server host.

11 Datasets

Typically, an FME Server job runs a workspace that reads and/or writes data.FME Server administrators must ensure that FME Engines have read access to datasets or databases the workspaces read, and write access to any directories or databases the workspaces write to.

12 FME Server Database

The FME Server Core uses theFME Server Databaseto store job and repository information.The database should never be edited directly, although querying the database for job history and other statistical information is common.

Expressinstallationsof FME Server run the FME Server Database on a version of the PostgreSQL database server.(The version of PostgreSQL for this documented release is9.5.12.) Distributed installations run the FME Server Database on a server provided separately.Supported database servers are PostgreSQL, Oracle, and SQL Server.

13 File System

In aDistributed/Fault Tolerant Installation, the FME Server System Share components are installed in directories on a remote file system to enable access from different computers.These files includeRepositoriesandResources.

FME Server Connections

Note:For a complete list of ports used by FME Server, seeFME Server Ports.

A

Web Clients use the FME Server Web Services over HTTP.Communication is defined by the Web Services API, the REST API, and the FME Server API.

B

Non-web Clients use the REST API over HTTP.

C

Web Clients, FME Server Web Services and non-web clients use the FME Server API to communicate with FME Server over TCP/IP.Requests are sent to the FME Server Core over port 7071.Messages are returned to clients over a randomly-assigned port created by the FME Server Core.

D

The FME Server API communicates over Port 7500 to the Process Monitor.

E

The FME Server API sends job and repository requests to the FME Server Core over TCP/IP port 7071.

F

The Process Monitor monitors the FME Server Core processes and restarts them if they halt.The FME Server Core communicates with the Process Monitor over TCP/IP port 7500.

G

The Process Monitor monitors the FME Engine processes and restarts them if they halt.

H

Once registered (see L below), the FME Engines communicate with the FME Server Core over TCP/IP ports dynamically determined by the Core.

I

The FME Engines read and write data from shared/mounted drives, databases, web services, and others.

J

The FME Server Core communicates with the FME Server Database via JDBC over TCP/IP port 7082.

K

The FME Engines communicate with the FME Server Database.The port varies depending on the selected database.

L

The FME Engines perform initial registration with the FME Server Core over TCP/IP port 7070.

M

The FME Server API can be used to send job scheduling requests to the FME Server Core over TCP/IP port 7073.

N

The FME Server API can be used to send notification requests to the FME Server Core over TCP/IP port 7072.

O

Notification ServiceSubscribersperform initial registration with the FME Server Core over TCP/IP port 7074.用户进程收到的通知 FME Server Core.

P

Notification ServicePublishersperform initial registration with the FME Server Core over TCP/IP port 7076.The FME Server API can be used to relay requests to the FME Server Core over TCP/IP port 7075.For SMTP Publisher ports, seeFME Server Ports.

Q

The FME Serverconfiguration, andbackup and restorerequests, are communicated to the FME Server Core over TCP/IP port 7077.

R

Access toResourcesis communicated with the FME Server Core over TCP/IP Port 7079.

S

Communication with the FME ServerWebSocket Servertakes place over port 7078.

T

Automatic (online)licensingrequests take place through HTTP over port 80.

U

The FME Server Queue managesJob Queuesand dispatches jobs as needed.Communication is over port 6379.