次世代:FME Server 2019中的企业级自动化

 

原文网址:https://blog.safe.com/2019/02/fme-server-automations-evangelist185/

本次能够通过这篇博客展示FME功能,让我感到非常荣幸。有的新功能很重要,哪怕是一个很小的变化。有的新功能真的很棒,以至于在几年的时间里我们会想如果没有这个功能我们要怎么做。

有时新功能需要非常巨大的飞跃才能将旧技术提升许多个数量级。

FME Server Automation就是这样一种功能。

这是为什么呢?考虑之前的事情。即使是通知的概念也是令人困惑的,当我能够以清晰合理的方式在我们的FME Server培训手册描述通知概念时,我感到非常高兴。但为了做到这一点,我们花了大约三年的时间进行了修改,最终我觉得已经解释清楚这个功能了,并且任何人都能做到了。

但实际上FME只是简化了复杂的想法。虽然通知很复杂,但我们的功能不必如此。这就是我们为FME 2019提出一种新工具 – Automations自动化) - 的原因。

正如您将要看到的,它的通知完成的非常简单,还有更多......

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

 

 

 

 

 

什么是Automations自动化

自动化是使用FME Server自动化数据驱动工作流的一种方法。包括通知,还包括计划任务和系统事件。系统事件(我们将看到)是有关在服务器上发生的管理操作的通知。

因此,Automations将许多不同的功能组合到一个单独的新组件中。

但是,除了汇集一组有用的功能之外,Automations的优点还在于界面。它使用直观的基于Web的点击式界面以图形方式定义自动化,如下所示:

 

如果您了解如何使用流程图式工具(是的,就像FME Workbench一样),那么使用Automations将非常简单。我们来看看如何开始......

注意:我使用测试版来获取这些截屏,因此 - 正如营销人员所说 - 显示的所有图片仅用于说明目的。实际产品的颜色和术语可能不同!

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

Automations自动化入门

FME Server菜单上选择Automations时,打开一个对话框,您可以在其中打开已有的Automations,或创建一个新Automations

 

创建一个新的Automation会关闭对话框并设置一个空白画布(是的,就像Workbench,我们称之为画布)。顶部有一个菜单和工具栏:

 

......底部有一小组按钮:

https://cdn.blog.safe.com/wp-content/uploads/2019/01/29134122/New2019Automations04.png

这些按钮是定义SourceActionDestination的工具(同样,这个术语可能会因正式发布而改变)。它们都是可以拖放的,可以像这样放置它们:

 

现在让我们看看每个按钮有什么功能......

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

Sources(来源)

一个来源提供输入到Automation。正如我所提到的,这是各种工具的组合,因此它可能是计划任务,系统事件(很快就会有),或许多通知类型中的任何一种。通过单击对象,右侧会打开一个菜单,供您选择源类型和参数:

 

在这个例子中,我添加了一个Scheduled任务。当触发该源时,它 - 反过来 - 触发下一步处理,这通常是一个Action ......

 

Actions(动作)

现在让我们放置一个Action。首先注意对象有输入/输出端口,因此我们可以轻松地将Actions连接到Source

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04091638/New2019Automations08.png

检查Action参数我们可以看到许多选项:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04091834/New2019Automations09.png

显然,Run Workspace是关键工具。它允许我们通过熟悉的对话框运行任何工作空间:

 

...当然,它将FME Workbench及其所有500多个转换器与在线工作流程联系起来(但这是另一个故事)。

最重要的是,检查Run Workspace action上的成功/失败输出端口:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04093701/New2019Automations12.png

这意味着我可以轻松地采取行动,而无需手动设置主题(发布,发布者,订阅或订阅者)!

因此,我可以将一个工作空间链接到另一个工作空间,或者 - 如上所述 - 将失败的结果发送到日志消息action

Log Messageaction内置了一个很棒的文本编辑器(点击放大下图):

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04094037/New2019Automations13.png

    ..加上我也可以选择写文件的位置例如,我将我的日志文件写入$FME_SHAREDRESOURCE_LOG/ TrainingUpdateLog

另外两个动作是合并和过滤,但我很快就会谈到这些。现在让我们来看看目标......

 

Destinations目标

一个目标是像 Automation的写模块。可以想象,其中大多数是通知类型的目标对象:

 

因此,目标由来自Action的传入警告来触发。或者 - 我想 - 您可以完全跳过Action并直接从SourceDestination

 

Saving and Enabling(保存和启用)

自动化完成后,可以保存(包括许多标签),然后启用:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04100115/New2019Automations16.png

考虑一下,对比于相似的Workbench工具,它与Workbench及其Run按钮不同。这些是用了处理来自其他进程的输入的自动化任务,可以随时触发它们。能够在开发过程中禁用工作流且只有在准备就绪时才能启用它是非常重要的。

启用按钮允许您执行该操作。事实上,它不仅实现了自动化,还使其成为只读。只有再次禁用自动化后才能进行进一步编辑。

因此,无法在进行编辑的同时触发工作流。此外,它允许编辑者出于其他原因暂时禁用自动化。

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

Event Keys(事件键)

在图形界面中,一个至关重要的要求是每个对象接收来自前一个对象的信息。参考FME Workbench。如果我在一个转换器中生成一个属性(例如,AreaCalculator),那么该属性将按顺序用于下一个转换器(比如StatisticsCalculator):

https://cdn.blog.safe.com/wp-content/uploads/2019/02/05090657/New2019Automations22.png

这里也是如此。信息通过使用我们称之为事件键的东西在Automation中的组件之间传递。

最好的解释是展示一个例子。以下是Run Workspace操作的配置对话框:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04092856/New2019Automations11.png

这是Action对象从Source对象接收信息的方式。关于可以传递的事件有多条信息。在运行工作空间操作的情况下,这些事件键将被使用 - 您猜对了就像已发布的参数传递到工作空间。

让我们考虑一下这意味着什么。传统通知可以将信息传递给已发布的参数,但不能以简单的方式传递。此外,传统通知仅将电子邮件内容作为原始JSON传递。在这里,您可以选择接收(例如)电子邮件主题或发件人作为实际的值。它没有埋没在需要在工作区内进行解密的复杂JSON字符串中!

可用的事件键取决于使用的Source类型。电子邮件源将提供电子邮件主题(例如),而目录监视源将提供文件名和路径。

Destination的参数还可以从事件键接收信息:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04095659/New2019Automations15.png

...这使得在组件之间传递信息更容易,而不必转换为JSON

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

Filters and Merges(过滤器和合并)

现在让我们返回Action对象,特别是FilterMerge操作。

Filter动作是Tester转换器的一个非常基本的版本。它允许您进行基本测试:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04113737/New2019Automations17.png

因为它具有访问事件键的相同功能,所以我可以(例如)测试传入电子邮件的发送到地址,并相应地重定向它。在上面的Automation中,我根据Filter操作(比如传入的电子邮件地址)决定是运行一个工作空间还是另一个工作空间。

合并动作显然正好相反:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04114324/New2019Automations19.png

然而,不明显的是合并为什么是必要的?

因为一个Source可以触发多个动作例如,在上面的自动化中,一个传入的电子邮件触发两个不同的工作空间。如果两个工作空间都直接连接到Destination,则两者都将触发该Destination。会有两个输出通知。

但是,如果要求的只是单个输出通知,则可以使用合并操作。它不仅可以合并工作空间结果,还可以保留整个过程,直到两个工作空间都完成。可以将其视为Workbench中的FeatureJoinerFeatureHolder组合。

因此,简而言之,Merge操作是一种控制自动化中操作流的方法。

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

System Events(系统事件)

Source的输入类型是计划任务,各种类型的通知和系统事件。您肯定熟悉通知和计划任务,但系统事件是2019的新功能。

系统事件 - 显然 - 通知服务器整体上发生了某些操作:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04115827/New2019Automations20.png

与数据处理相关的任何事情都可能更多的是管理警告。事件的最明显的目标是向系统管理员发送的电子邮件例如,让他们知道FME许可证即将到期或已过期。

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

Benefits over Notifications(通知的好处)

与传统通知设置相比,Automations的优势很明显。

首先,输入和输出的范围大于传统的发布者和订阅者。此外,由于图形界面,设置更容易实现,更容易可视化。最后,整个通知工作流程大大简化,因为主题都是自动处理的。

对于现有用户,另一个好处是来源和目的地可以是主题。因此,您可以使用新的自动化并将其绑定到现有的通知设置中。如果您仍希望保留使用通知设置。

另一个功能 - 可能并不明显该功能是专门设计为并行运行。如果单个源电子邮件(例如)启动四个单独的工作区:

https://cdn.blog.safe.com/wp-content/uploads/2019/02/04124030/New2019Automations21.png

...然后FME将每个工作空间分配给不同的引擎。自动化工具提交任务并等待它们完成(使用合并操作)。

Plus (继续我们的例子)如果同时到达四封电子邮件,那将启动四个独立的自动化。每个自动化将在(可能)总共16个不同的引擎上运行四个作业。所以我不一定有工作队列我得到的工作量和我有的引擎一样多。

......还有一件事。自动化可以保存在FME Server Projects中,因此可以更轻松地与其他用户共享。这不算是新功能,因为你可以用Notifications做到这一点。然而,什么是新的功能?... FME Server Projects 的支持即将放到FME Hub!这将是与其他用户共享您的自定义FME创作的另一种方式。

https://cdn.blog.safe.com/wp-content/uploads/2013/09/EvangelistBanner7.png

总结

https://cdn.blog.safe.com/wp-content/uploads/2019/02/06152453/New2019AutomationsBottomImage1.png

当我第一次尝试自动化时,我迅速创建了一个工作流程,向我发送有关培训课程更新的每日报告。它按计划运行工作区,将输出写入SlackSlackConnector转换器),并通过电子邮件向我发送通知。设置这种方式感觉非常正确且非常直观,而不是搞乱通知主题。

在服务器中也将它与新的Workspace Viewer相结合,界面看起来越来越远离这个世界!我认为这是一个惊人的进步,并展示了我们将在不久的将来看到更多的界面。

如果您想查看自动操作的一些示例,请查看我们最近的网络研讨会演示文稿的录制内容。此外,请随时建议您希望看到的任何特定自动化。我们有一个资源安全工作演示场景,我们很乐意将您的想法付诸实践。

 

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/88059605