---
title: "使用 FlowForce Server 实现数据映射和转换的自动化"
date: "2013-05-08"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "flowforce-server"
  - "mapforce-server"
  - "reporting-tool"
  - "stylevision-server"
  - "xml-charts"
description: 探索如何使用 FlowForce Server，结合 MapForce Server 和 StyleVision Server，实现数据映射和转换的自动化，从而提高报告生成和输出格式的效率。
---
Status: #blog

Tags:  #data-mapping #flowforce-server #mapforce-server #reporting-tool #stylevision-server #xml-charts

Categories: [data-integration](/blog/zh/category/data-integration.md)
# 使用 FlowForce Server 实现数据映射和转换的自动化

Altova [FlowForce Server](https://www.altova.com/zh/flowforce.html), 于2013年4月29日发布的版本，相较于之前的测试版本，包含诸多改进。其中，一项最令人兴奋的新功能是：...（此处省略具体功能描述） [StyleVision Server](https://www.altova.com/zh/stylevision/stylevision-server.html). 现在，一个 FlowForce 服务器任务可以通过执行一系列操作，从而自动化整个数据转换流程 [MapForce Server](https://www.altova.com/zh/mapforce/mapforce-server.html) 为了将数据映射和管道处理的结果传输到 StyleVision Server，从而生成各种输出格式。本文将介绍一个简单的 FlowForce Server 映射和转换任务，并通过以下 FlowForce Server 日志中的信息进行说明，其中最新的步骤位于列表的顶部：

![FlowForce 服务器作业日志，显示了 MapForce 服务器和 StyleVision 服务器的作业步骤](https://lh5.ggpht.com/-8nyI7IHJjBc/UYkyxUKea3I/AAAAAAAABIM/z2wFDUbb2mE/clip_image001%25255B3%25255D.png?imgmax=800 "FlowForce Server Job Log showing MapForce Server and StyleVision Server job step")

我们将从数码相机生成的GPS日志文件开始。我们曾在上个月份发表的一篇文章中介绍过这些文件，文章标题是： [在一个数据映射过程中处理多个输入文件](https://www.altova.com/blog/2013/01/process-multiple-input-files-in-single.html). 我们将使用地图输出结果，并结合一个经过修改的StyleVision SPS样式表 [XPath 增强了 XML 报表的功能](https://www.altova.com/blog/2012/04/xpath-enhances-xml-reports.html) 该功能用于为每个文件生成一个包含时间和海拔信息的报告。FlowForce Server 中的“For-each”任务步骤会根据表达式的结果进行重复执行。我们可以使用“For-each”来构建一个文件夹中的文件列表，然后针对每个文件重复执行一个或多个步骤。以下是在任务配置页面上的显示效果：

![FlowForce 服务器数据映射任务步骤](https://lh6.ggpht.com/-GmimmeA3Ffw/UYkyxXmTCtI/AAAAAAAABIQ/JZLs1Ocj8os/clip_image002%25255B3%25255D.png?imgmax=800 "FlowForce Server data mapping job step")

标有“执行函数”的行定义了 MapForce Server 将使用的映射关系，而输入参数 {file} 指的是列表 C:CameraGPSexample\*.LOG 中的每个文件。我们可以添加一个执行步骤，指示 StyleVision Server 执行转换操作：

![FlowForce 服务器转换任务的步骤](https://lh3.ggpht.com/-psbDBGH-trA/UYkyxkq_JaI/AAAAAAAABIU/1US-EHASH0Y/clip_image003%25255B3%25255D.png?imgmax=800 "FlowForce Server transformation job step")

数据映射会通过在输入文件名后添加“.gpx”来创建输出文件。现在，我们可以使用新的文件后缀，通过 {file} 变量来定义转换的输入。我们选择创建“.html”格式的输出，但我们也可以轻松地创建其他格式，以实现多渠道发布。转换的工作目录是 StyleVision Server 解压包含样式表、XML 模式和其他必要组件的“.pxf”文件的位置。使用专门的工作文件夹可以使工作流程更加有序。我们希望允许网络用户将新的“.LOG”文件放入 C:CameraGPSexample 文件夹，并且希望定期运行 FlowForce Server 任务，但我们不希望重复处理相同的文件。我们可以定义一个额外的任务步骤，将处理后的文件移动到不同的位置：

![FlowForce 服务器文件移动任务步骤](https://lh5.ggpht.com/-ihavSqeZp2o/UYkyx2xUj3I/AAAAAAAABIc/PvDAfbZix1Q/clip_image004%25255B3%25255D.png?imgmax=800 "FlowForce Server file move job step")

FlowForce Server 的完整任务是一个包含三个步骤的循环过程，它会针对文件夹中找到的每个 .LOG 文件重复执行。我们可以设置一个重复触发器，用于工作日或其他合适的日程

![FlowForce 服务器基于日历的作业触发器](https://lh3.ggpht.com/-y8IXulTBRbQ/UYky1NKdvYI/AAAAAAAABIg/NtKmU2k2m3Q/clip_image005%25255B3%25255D.png?imgmax=800 "FlowForce Server calendar-based job trigger")

以下是相机生成的 .LOG 文件的部分内容，它是一个输入文件的示例：

![.csv 格式的输入文件示例](https://lh5.ggpht.com/-HTwRFDbedaE/UYky2SKOLbI/AAAAAAAABIs/mgftJBb3UdM/clip_image006%25255B3%25255D.png?imgmax=800 ".csv input file example")

我们可以将该文件放入 C:CameraGPSexample 文件夹中，FlowForce Server 会根据其任务触发机制对该文件进行处理

![工作流程文件夹结构](https://lh3.ggpht.com/-D6q0yLz6vok/UYky3-kmggI/AAAAAAAABIw/0Eq87le0Yd8/clip_image007%25255B3%25255D.png?imgmax=800 "Workflow folder structure")

当定时器触发 FlowForce Server 任务时，Web 界面上的“任务日志”页面会显示一系列与该任务相关的消息，涵盖任务的完整执行过程

![FlowForce 服务器作业日志，用于记录完整的作业执行过程](https://lh6.ggpht.com/-PUuShBROk3U/UYky4NIEFSI/AAAAAAAABI0/BLE00VILyJc/clip_image008%25255B3%25255D.png?imgmax=800 "FlowForce Server job log for complete job execution")

现在，C:CameraGPSexample 文件夹中的内容如下所示：

![流程力服务器任务执行完成后生成的已完成工作文件](https://lh6.ggpht.com/-jkpJmefb-aM/UYky6M_stcI/AAAAAAAABI8/Hq3a9UttO5I/clip_image009%25255B3%25255D.png?imgmax=800 "Completed work files after FlowForce Server job execution")

我们可以使用 XMLSpy 软件来查看 121130.LOG.gpx 文件

![由 MapForce Server 任务步骤生成的 XML 文件](https://lh4.ggpht.com/-wHZFYQIAWpA/UYky6bUh85I/AAAAAAAABJA/1nxXmY4fq3Q/clip_image010%25255B3%25255D.png?imgmax=800 "XML file created by MapForce Server job step")

我们可以使用任何网页浏览器来打开 .html 文件

![StyleVision 服务器任务步骤生成的 .html 文件](https://lh3.ggpht.com/-PNiCJ0xaJuw/UYky6kkzY-I/AAAAAAAABJE/hC-6hEv5uKE/clip_image011%25255B3%25255D.png?imgmax=800 ".html output from StyleVision Server job step")

在未来的博文中，我们将进一步完善这个 FlowForce Server 示例，以展示包含错误处理以及更彻底的工作文件清理的作业。**FlowForce Server 适用于 Windows、Linux 平台，并且很快将支持 Mac OS 平台。如果您想开始使用，请** [点击此处下载免费试用版](https://www.altova.com/zh/download-trial-server.html)**!**
