It’s the same question every time. Always “What is FME Server?” and never “How is FME Server?” Well, today we’ve got answers.
What is FME Server?
FME Server is the second piece of the FME platform that allows you to do way more with the data integration workflows you create in FME Desktop.
Originally, the goal of FME Server was to make it possible to integrate and transform huge quantities of data. Rather than having an FME user “click Run” every time a data transformation or integration was needed, FME Server would “click Run” for you. By eliminating this manual step and instead use instructions that indicate when a workflow should be run, more data can be integrated, transformed, converted, or validated on the fly.
How is FME Server?
FME Server has travelled the world, done some soul searching, and is now the best version of itself (seriously! FME is used all around the world).
What started as mostly scheduling-based automation and increased processing power has evolved into a tool that does at least 5x more than that. What are these things? Find out below!
1. Logic-Based Integration
One of the biggest benefits of using FME is that you don’t need to know or understand any kind of coding language to be able to integrate your data quickly and easily. However, if you just use FME Desktop, you aren’t able to use the same kind of “conditional branching” that you may have used if you wrote a script.
FME Server brings logic into the equation. If you take a close enough look, you’ll realize that FME Server’s core strength is that you can apply your own logic! And it’s this strength that gives users so much more flexibility when integrating their data.
In particular, Automations in FME Server is the place to add your own custom logic-based rules. Whether you need to use event-driven triggers or want to add conditional branching for parallel processing, Automations can help!
It’s impressive to see all of the different workflows our customers and Safers have created with Automations. Some of my favourite examples are:
- [Blog] Going…going…gone! Automating an Auction with FME Server
- [Webinar] How Local Governments Improve Operations with Data Integration Workflows
- [Article] Automating Dropbox Workflows with FME Server
- [Article] Automating Workflows from Survey123 to ArcGIS using FME Server
This FME Server Automations workflow watches for new files, processes them, and sends a notification to an external service when complete.
As you’ll see with the items below, logic is embraced in various FME Server capabilities. To learn more about what you can do FME Server, check out these resources:
- [Article] Getting Started with Automations
- [Article] Job Orchestration with Automations
- [Blog] Queues and Dating Processing Jobs
2. Create Web Applications
How are your web design skills? HTML? CSS? JS? It doesn’t matter!
With FME Server Apps, you can use a no-code, form-based approach to designing a web application. There are two types of apps you can create in FME Server. The first is a “Workspace App” where FME Server Apps allows you to wrap an interface around an FME Workspace. The second is a “Gallery App” where you can take a collection of Workspace Apps, in addition to any other external links, and create a Gallery App that displays all of them.
Once you’re done, promote your apps publicly, or keep it locked down to only authenticated users within your organization. FME Server Apps ensures that data authors or consumers can perform frequently required data integration tasks on demand.
Make it simple for stakeholders to submit request with FME Server Apps.
You can easily create an FME Server Workspace App for various uses, including:
- Self-serve data distribution (ex. Map-Based Data Distribution)
- Self-serve data conversion (ex. Data Converter)
- Self-serve data validation (ex. Data Validation Reporting)
- Self-serve data integration (ex. Citizen Reporting App, Work Order Submitter, Status Checker)
- Other fun stuff! (ex. DIY Story Set)
If you’d like to embed an FME Server App onto your webpage, here’s where you can start:
- [Article] Getting Started with FME Server Workspace Apps
- [Article] Getting Started with FME Server Gallery Apps
- [Webinar] Creating No Code Web Apps with FME Server
3. Perform Application Integration
To perform application integration, you need some way of getting two completely different applications to “talk” to one another. FME Server is that middleman. One of the core features of FME Server has always been creating and handling event-driven workflows, which is the basis of application integration!
With API support and Automations, FME Server can connect multiple applications together to form one cohesive application integration workflow.
What’s that about API support? Naturally, FME has direct support for hundreds of formats and their APIs. But, sometimes, native support doesn’t exist due to the ever-changing format landscape and frequent vendor updates for APIs. Enter your new friend, FME Hub. It is the go-to place for FME Packages (including powerful libraries and transformers to connect with even more applications and formats, distributed in a release-agnostic way) and third-party content (created by community users, like you!) to provide you with access to even more applications.
Still don’t see what you need? Not to fret. FME Server is flexible enough to allow you to connect with any API of your choosing. So long as you can access the API for the application of your choice, you’ll be able to add it to your workflow on your own.
Many FME users have been able to create their own application integration workflows with FME Server. Take the City of Surrey who’ve been able to upgrade its water meter maintenance process by integrating AMANDA, Cityworks, and ArcGIS. There’s also the City of Coquitlam who’ve integrated Tempest, IBM Maximo, and their internal applications to process citizen requests more effectively.
If you have applications that need integrating, check out these resources to help you get started:
- [Webinar] Application Integration for Smart Cities
- [Webinar] How to Connect to Any API (Without Writing Code)
- [Article] Getting Started with APIs
4. Send and Receive Email
A lot of our customers have added the Emailer transformer to their FME workspaces in order to send out emails, but did you know that FME Server can do this too? This provides you with more flexibility to create email templates and to control where the connection information is stored.
With FME Server Automations, you can choose to send an email after your data integration task completes (depending on if it’s successful or if there is a failure) or in response to other actions or triggers in your workflow. This way, you can do things like send maps or reports to stakeholders as soon as new information becomes available.
It’s not just about outgoing mail though. FME Server also ships with a built-in email server! If your FME Server instance has a publicly accessible URL, you can enable FME Server to receive and process emails through some simple setup. It’s as easy as adding the “Email Received (SMTP)” trigger to an FME Server Automation workflow, and specifying the username.
Configuring FME Server to receive email directly and process it in an Automation.
So, FME Server is an email powerhouse! Send emails in response to completed jobs (your data integration tasks), send updates as your Automations workflow processes, or set yourself up to receive email directly and use the content of that email to drive workflows in FME Server.
Learn more about how you can keep everyone connected here:
- [Article] Send email from Automations
- [Article] Sending Email in FME: FME Workbench vs. FME Server
5. Perform Tasks Without FME Desktop
Since FME Server is web-based, the good old internet can help you leverage any of the web services out there to help enrich your workflows.
With the HTTP Request action in Automations, you can perform web requests without needing to implement them as part of an FME workspace—which means that you do not need to use an FME Engine to carry out those requests.
You might choose to do simple data retrieval tasks with the HTTP Request, but you could also use it to send data or trigger workflows external to FME Server with webhooks. From simple workflows like processing data to more advanced scenarios like sending notifications to Slack.
Configuring an FME Server Automation to retrieve data from an external web service and process it.
The HTTP Request Action is incredibly useful for connecting to services that the FME platform does not yet support directly. It has flexible parameters, such as support for multiple request types (e.g. GET and POST) and authentication, to meet the varying requirements of web services out there.
Have some HTTP requesting to do? See how it all works with these resources:
- [Documentation] Make an HTTP Request
- [Article] Integrating FME Server with Other Software
- [Article] Creating Web Services with FME Server
It’s not difficult to see that FME Server is so much more than scheduling. There are a variety of daily tasks, processes, and integration methods that FME Server can assist with.
If what you’ve learned here doesn’t help, what do you think would? Share any thoughts you have about FME Server with us or submit ideas in the FME Community to let us know what you’d like to see!
As always, if you want to check out everything that’s new with the FME platform, you can learn more on the New Features page.
Rylan MaschakRylan Maschak is the Product Owner for FME Server. After studying geology and pursuing GIS opportunities, he discovered the lovely folks at Safe. Originally an FME Expert, Rylan found his passion for solving user challenges in working with both users and product developers. Outside of work, he enjoys kicking back with a glass of whisky and working on his website.