本文介绍了 InterSystems IRIS®数据平台中的大文件传输(Managed File Transfer,MFT)集成选项,它使您能够轻松地将第三方文件传输服务直接集成到 InterSystems IRIS 产品中。本文还包括在新产品中使用 MFT 的逐步指导。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。
- 在 InterSystems IRIS 中使用 MFT 的好处
许多拥有 InterSystems IRIS 产品的网站也使用文件传输服务,如 Box、Dropbox 或 Accellion kiteworks,以实现安全、符合 HIPAA 的文件共享。然而,这种服务的使用取决于终端用户是否愿意使用它。在没有强制执行的情况下,他们可能很容易忘记这样做,或者有时干脆选择将文件作为附件发送。通过将 MFT 服务集成到您的产品中,您可以确保文件总是被安全地发送。另一个好处是,由于产品可以根据需要自动地将敏感文件路由到正确的位置,并遵循适当的工作流程,因此,错位或错误指向文件的风险更小。
考虑以下用例:一家职业介绍所将潜在员工的常规体检或药物测试外包给门诊医疗测试机构。测试机构和职业介绍所都有责任确保私人信息的安全数据传输,并在彼此之间进行传输。然而,虽然医疗机构可能已经有了符合 HIPAA 的程序,并可能已经使用了安全文件传输服务,但职业介绍所可能没有适当的基础设施来处理所需的安全级别。在任何一端设置启用 MFT 的 InterSystems IRIS 产品,均可简化所有此类通信的标准化文件传输服务的使用。
对于需要向内部和外部位置(location)提交相同文件的企业来说,或者当单个部门接收到需要根据发件人进行不同处理的文件时,MFT 也非常有用。例如,假设一家汽车经销商需要将签署的客户财务文件传送到他们的总部以及金融机构。另外,假设销售部门与租赁部门有不同的流程(即使这两个部门必须向同一家银行提交相同类型的信息)。这些差异可能会导致混乱和错位或发送错误的文书工作。此外,经销商不能也不应该将客户签署的财务或其他个人数据作为常规电子邮件的附件发送。使用集成了 MFT 的 InterSystems IRIS 产品简化了提交和路由过程,以便将正确的文档送到正确的部门进行适当的处理,从而减少了文档丢失的机会。
- 它是如何工作的?
InterSystems IRIS 提供了业务主机,您可以将其添加到产品和配置中,而不需要编程。这些业务主机支持 Box、DropBox 和 Accellion kiteworks 服务。一旦您添加了这些业务主机并配置了它们,产品就可以轻松地从终端用户帐户检索文件,或将文件放入这些帐户,或两者都是。
InterSystems IRIS 使用开放授权框架(Open Authorization Framework)2.0 版本(称为 OAuth 2.0)授权对第三方传输服务的访问。当您配置 InterSystems IRIS 产品来使用传输服务时,您将该产品设置为传输服务帐户的授权用户。这允许产品从该帐户下的任何目录(例如分配给单个终端用户的目录)中提取文件并将文件放入其中。这些个人 终端用户的访问完全不受任何影响,他们可以继续像以前一样放置和检索文件。
- 尝试 MFT:创建启用 MFT 的产品
将 MFT 集成到 InterSystems IRIS 产品中只需要几个步骤:首先,创建并初始化与传输服务的连接,然后包括适当的业务主机,使产品能够直接与传输服务对话。您可以按照本节中的步骤创建一个在您的 Accellion kiteworks 帐户和您的本地桌面系统之间复制文件的产品,就可以看到它是多么简单。如果您更习惯或已经可以访问 Box 或 DropBox,只需在使用 kiteworks 的地方为您的服务替换这些项目。
重要提示: 为了简单起见,使用这些说明创建的产品使用默认设置。在创建实时产品时,InterSystems 强烈建议您根据您的环境来调整设置,特别是那些与安全和您自己特定的 InterSystems IRIS 实例有关的设置。例如,下面提到的 Redirect URL(重定向 URL) 使用 http 而不是 https,这在产品中不是一个好的做法。
想试试 InterSystems IRIS 互操作性功能的在线视频演示吗?请查看 Interoperability QuickStart(互操作性快速入门)!
-
- 用前须知
要使用这个程序,您需要一个正在运行的 InterSystems IRIS 实例。您对 InterSystems IRIS 的选择包括多种类型的已授权的和免费的评估实例;该实例不需要在您工作的系统中(尽管它们必须相互具有网络访问权限)。有关如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见 InterSystems IRIS Basics: Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Deploying InterSystems IRIS(部署 InterSystems IRIS)。
您还需要对 Accellion kiteworks 上的帐户进行管理访问;您可以在 https://www.accellion.com/kiteworks/ 上创建一个免费试用帐户。
-
- 创建 TLS 配置
使用以下程序创建一个 TLS 配置:
- 使用 InterSystems IRIS Basics:Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中为您的实例描述的 URL,在浏览器中打开您的实例的管理门户(Management Portal)。
- 导航到 TLS 配置页面(System Administration(系统管理) > Security(安全) > SSL/TLS Configurations(SSL/TLS 配置))。
- 点击 Create New Configuration(创建新的配置) ,并为 Configuration Name(配置名称) 字段输入 MFTTLSConfig。让所有其他字段保持原样,并点击Save(保存)来保存这个新的配置。
-
- 在传输服务中注册您的 InterSystems IRIS 实例
接下来,您需要在传输服务本身上为这个 MFT 产品创建一个应用程序(条目)。在一个单独的浏览器窗口或标签中,进入您的 Accellion kiteworks 帐户的管理页面并执行这些步骤。
- 在管理门户(Management Portal)中,进入 Customs Applications(自定义应用程序)页面,该页面在 Application(应用程序) > Client Management(客户端管理)(适用于 kw2017.02.04 版本)下。
- 添加一个新条目,并为应用程序指定一个名称,如 ISCFileTransferApp。
- 请确保 Authorization Code(授权代码)和 Enable Refresh Token(启用刷新令牌)被选中。
- 在 Redirect URI(重定向 URI) 字段中,输入 URL http://server:port/csp/sys/oauth2/OAuth2.Response.cls,其中服务(server) 和端口(port) 是您的实例的主机标识符和 web 服务器端口。例如,对于一个云实例,URL可能是
http://35.192.42.98:52773/csp/sys/oauth2/OAuth2.Response.cls
本地安装的实例可以在服务(server) 字段中使用 localhost。
这是 kiteworks 用来联系 InterSystems IRIS 实例的 URL。
- 点击 Add Application(添加应用程序)并记录显示的安全令牌(Client Application ID(客户端应用程序 ID) 和 Client Secret Key(客户端密钥))。稍后在 InterSystems IRIS 上创建 TLS 连接时将使用此信息。
重要提示: 此信息只有在这个时候对您可用,所以您必须立即记录它。如果您在 InterSystems IRIS 产品上创建 TLS 连接时没有此信息,那么您必须再次生成此信息并使用新的值来创建 TLS 连接。
-
- 在传输服务中添加目录
现在导航到主 kiteworks(非管理)Folders(文件夹)页面,其中显示您的文件和目录,并创建两个新的顶级目录,一个名为 FilesReceived,用于接收文件,另一个名为 FilesToSend,用于发送文件。
-
- 添加可访问 InterSystems IRIS 的目录
现在您应该在实例的主机上创建两个目录,InterSystems IRIS 将在其中访问文件。执行此操作的方法取决于您所使用的实例类型 ,如下所示:
- 对于由 ICM 部署的实例,可以使用带有 -machine 和 -interactive 选项的 icm exec 命令,在运行实例的容器内打开 bash shell,例如:
icm exec -command bash -machine MYIRIS-AM-TEST-0004 -interactive
然后您可以在容器文件系统上创建目录。
- 对于任何容器化的实例, 无论是授权版还是社区版(Community Edition),使用命令 docker exec -it container_name bash 在容器中打开 bash shell (社区版[Community Edition]容器的名称是 try-iris)。然后在容器文件系统上创建目录。
- 对于 InterSystems 学习实验室(Learning Labs),使用集成 IDE 中的命令行终端,在 Shared 文件夹中创建新文件夹;您可以在 /home/project/shared 下的管理门户(Management Portal)中浏览到这些。
- 对于已安装的实例,在本地文件系统上创建目录。
这个文本假设在 Windows 系统上安装的实例有以下目录路径;替换您创建的实际目录的路径。
C:\InterSystems\ToRemote
C:\InterSystems\FromRemote
接下来,您需要通过创建 MFT 连接对象在 Intersystems IRIS 上注册传输服务。要做到这一点,请返回管理门户(Management Portal),进入 Managed File Transfer Connections(托管文件传输连接)页面(System Administration[系统管理] > Security(安全)> Managed File Transfer Connections[托管文件传输连接])。点击 Create Connection(创建连接)。请以以下方式指定字段的值,然后点击 Save(保存):
Field Name(字段名称) |
Value(值) |
Connection Name(连接名称) |
KiteSecured |
File management service(文件管理服务) |
Kiteworks |
SSL/TLS configuration(SSL/TLS 配置) |
MFTTLSConfig |
Email address(电子邮件地址) |
您的 Kiteworks 管理员的电子邮件地址,例如 |
Base URL(基准 URL) |
您企业的 kiteworks 的根 URL,例如 |
OAuth 2.0 application name(OAuth 2.0 应用程序名称) |
ISCFileTransferApp |
OAuth 2.0 client id(OAuth 2.0 客户端 id) |
之前从 kiteworks 检索到的 Client Application ID(客户端应用程序 ID) |
OAuth 2.0 client secret(OAuth 2.0 客户端机密) |
之前从 kiteworks 检索到的 Client Secret Key(客户端密钥) |
OAuth 2.0 redirect URL(OAuth 2.0 重定向 URL) |
留空。一旦您填写了 Host name(主机名) 和 Port(端口),该字段将自动使用前面提供的 Redirect URI(重定向 URI) 的值填充。 |
Use TLS/SSL(使用 TLS/SSL) |
(清除复选框) |
Host name(主机名) |
您的实例的主机标识符。 |
您的实例的 web 服务器端口。 |
|
Prefix(前缀) |
(留空) |
-
- 获取访问令牌
Managed File Transfer Connections(托管文件传输连接)页面会再次显示所有可用的连接,包括您刚刚创建的新连接。如果该连接的状态是 Not Authorized,那么:
- 点击 Get Access Token(获取访问令牌) 以显示来自 kiteworks 的 Oauth 同意页面,该页面识别了您之前注册的应用程序的名称(ISCFileTransferApp)。
- 点击 Grant Access(授予访问权限)来授权访问。这将重新显示 Connections(连接) 列表,新的 MFT 连接的状态现在被列为 Authorized。
-
- 创建命名空间
为了创建产品,您必须有一个启用互操作性的命名空间。如果您已经创建了一个启用互操作性的命名空间,您可以把它用于此产品。要创建一个新的启用互操作性的命名空间,请使用以下程序。(您首次安装 InterSystems IRIS 时创建的命名空间没有启用互操作性。)
- 在管理门户(Management Portal)主页上,选择 System Administration(系统管理) > Configuration(配置) > System Configuration(系统配置) >Namespaces(命名空间),进入 Namespaces(命名空间)页面。
- 在 Namespaces(命名空间)页面,选择 Create New Namespace(创建新的命名空间)。这将显示 New Namespace(新的命名空间)页面;按照 System Administration Guide(《系统管理指南》)的“Configuring InterSystems IRIS(《配置 InterSystems IRIS》)”章节中 Create/Modify a Namespace(创建/修改命名空间)中的使用说明,确保选中了 Enable namespace for interoperability productions(启用互操作性产品的命名空间)复选框。
- 选择靠近页面顶部的 Save(保存),然后在生成的日志末尾选择 Close(关闭)。
- 创建产品
接下来,您需要切换到新的命名空间来创建新的产品本身。
- 进入 InterSystems IRIS 管理门户(Management Portal)主页,在顶部横幅的中间部分找到命名空间标识符。点击 Switch(切换)链接以调出 Namespace Chooser(命名空间选择器)。
- 选择您刚刚创建的命名空间(例如,ForMFT),然后点击 OK(确定)。
- 现在导航到 Production(产品) 页面(Interoperability(互操作性) > Configure(配置) > Production(产品))。
- 点击 New(新建)以调出 Production Wizard(产品向导)。
- 对于 Package(包),从下拉菜单中选择 INFORMATION(信息)。
- 输入 Production Name(产品名称),如 NewMFTProduction。
- 将 Production Type(产品类型)保留为 Generic(通用型),然后点击 OK(確定)来创建产品。
有关产品的更多信息,请参见 Introducing Interoperability Productions guide(《介绍互操作性产品指南》)的 "Introduction to InterSystems IRIS Interoperability(《InterSystems IRIS 互操作性介绍》)"一章中的 "Introduction to Productions(产品介绍)"。
-
- 创建业务操作和业务服务
留在新创建的产品中,并添加文件传输所需的四种业务操作和服务(每个方向一个业务操作和一个业务服务):
业务主机名 |
主机类型 |
用于 |
SecureToRemoteOffice |
业务操作 |
发送文件到传输服务 |
GatherLocalFiles |
业务服务 |
发送文件到传输服务 |
StoreFilesLocally |
业务操作 |
从传输服务中接收文件 |
ReceiveFromRemoteOffice |
业务服务 |
从传输服务中接收文件 |
-
-
- 创建和配置:SecureToRemoteOffice
-
SecureToRemoteOffice 是将文件发送到传输服务的业务操作(Operation)。为了将它添加到产品中:
- 点击 Operations(操作)旁边的加号。
- 选择 Operation Class(操作类) EnsLib.MFT.Operation.Passthrough。
- 输入 Operation Name(操作名称) SecureToRemoteOffice。
- 请确保未选中 Enable Now(立即启用),并保留其他字段。
- 点击 OK(确定)来添加该操作。
- 选择该操作,然后从右侧的面板进入 Settings(设置)标签。
- 在 Basic Settings(基础设置)部分,仅配置以下内容:
Field Name(字段名称) |
Value(值) |
说明 |
Enable(启用) |
(在方框内打勾) |
启用该业务主机 |
MFT Connection Name(MFT 连接名称) |
KiteSecured |
之前创建的 TLS 配置的名称 |
Default MFT Folder(默认的 MFT 文件夹) |
/FilesReceived/ |
传输服务的顶级接收目录的名称 |
Default Filename Specification(默认的文件名规范) |
%f |
用于创建接收文件名称的模板 |
- 将所有其他字段保留为默认设置,并点击 Apply(应用)来保存您的更改。
-
-
- 创建和配置:GatherLocalFiles
-
GatherLocalFiles 是用于收集从 InterSystems IRIS 发送的文件的业务服务(Service)。为了将它添加到产品中:
- 点击 Services(服务)旁边的加号。
- 选择 Service Class(服务类) EnsLib.File.PassthroughService。
- 输入 Service Name(服务名称) GatherLocalFiles。
- 请确保未选中 Enable Now(立即启用),并保留其他字段。
- 点击 OK(确定) 来添加该服务,
- 选择该服务,然后从右侧的面板进入 Settings(设置)标签。
- 在 Basic Settings(基础设置)部分,仅配置以下内容:
Field Name(字段名称) |
Value(值) |
说明 |
Enable(启用) |
(在方框内打勾) |
启用该业务主机 |
File Path(文件路径) |
C:\InterSystems\ToRemote\ |
您的本地系统中包含要发送的文件的目录(如果不同,请用正确的路径代替)。 |
File Spec(文件规范) |
* |
要发送的文件名的正则表达式 |
Target Config Names(目标配置名称) |
SecureToRemoteOffice |
从此业务服务接受输入的业务主机 |
- 将所有其他字段保留为默认设置,并点击 Apply(应用)来保存您的更改。
-
-
- 创建和配置:StoreFilesLocally
-
StoreFilesLocally 是在 InterSystems IRIS 中存储接收到的文件的业务操作(Operation)。为了将它添加到产品中:
- 点击 Operations(操作)旁边的加号。
- 选择 Operation Class(操作类) EnsLib.File.PassthroughOperation。
- 输入 Operation Name(操作名称) StoreFilesLocally。
- 请确保未选中 Enable Now(立即启用),并保留其他字段。
- 点击 OK(确定)来添加该操作。
- 选择该操作,然后从右侧的面板进入 Settings(设置)标签。
- 在 Basic Settings(基础设置)部分,仅配置以下内容:
Field Name(字段名称) |
Value(值) |
说明 |
Enable(启用) |
(在方框内打勾) |
启用该业务主机 |
File Path(文件路径) |
C:\InterSystems\FromRemote\ |
您的本地系统中存储所接收的文件的目录(如果不同,请用正确的路径代替)。 |
File Name(文件名称) |
%f_%Q%!+(_a) |
要发送的文件名的语法。为了保证唯一性,InterSystems 建议在文件名中加入日期和时间戳。 |
- 将所有其他字段保留为默认设置,并点击 Apply(应用)来保存您的更改。
-
-
- 创建和配置:ReceiveFromRemoteOffice
-
ReceiveFromRemoteOffice 是用于从您的传输服务接收文件的业务服务(Service)。为了将它添加到产品中:
- 点击 Services(服务)旁边的加号。
- 选择 Service Class(服务类)EnsLib.MFT.Service.Passthrough。
- 输入 Service Name(服务名称) ReceiveFromRemoteOffice。
- 请确保未选中 Enable Now(立即启用),并保留其他字段。
- 点击 OK(确定)来添加该服务。
- 选择该服务,然后从右侧的面板进入 Settings(设置)标签。
- 在 Basic Settings(基础设置)部分,仅配置以下内容:
Field Name(字段名称) |
Value(值) |
说明 |
Enable(启用) |
(在方框内打勾) |
启用该业务主机 |
MFT Connection Name(MFT 连接名称) |
KiteSecured |
之前创建的 TLS 配置的名称 |
MFT Source Folders(MFT 源文件夹) |
/FilesToSend |
传输服务的顶级发送目录的名称 |
Files to Retrieve(检索的文件) |
(留空) |
从远程位置收集的文件名称(类型)的模板 |
Target Config Names(目标配置名称) |
StoreFilesLocally |
从此业务服务接受输入的业务主机 |
-
- 测试产品
现在,您已经创建了产品,是时候尝试一下了!只需将文件拖放到您的本地目录和第三方传输服务的指定文件夹中,就可以看到它们出现在另一个位置。
- 通过点击顶部的 Start(启动) 按钮来启动产品,然后在 Start Production(启动产品)对话框中点击 OK(确定)。
- 要验证发送到 kiteworks 的文件:
- 使用操作系统的目录资源管理器,导航到添加 GatherLocalFiles 业务服务时,您在 FilePath(文件路径)字段中指定的目录(C:\InterSystems\ToRemote\ 或您创建的其他目录)。
- 在该位置放置一个文件。
- 进入 kiteworks 并导航到 /FilesToRemote/ 文件夹,(添加 SecureToRemoteOffice 业务操作时,您在 Default MFT Folder(默认的 MFT 文件夹)字段中指定的目录)。
- 刷新文件夹视图,直到新文件出现。这通常是在几秒钟内,甚至更早。
- 要验证从 kiteworks 接收的文件:
- 进入 kiteworks 并导航到 /FilesToCentral 文件夹(添加 ReceiveFromRemoteOffice 业务服务时,您在 DefaultMFTFolder(默认的 MFT 文件夹)字段中指定的目录)。
- 在该位置放置一个文件。
- 使用您的 OS 目录资源管理器,导航到添加 StoreFilesLocally 业务操作时,您在 FilePath(文件路径) 字段中指定的目录 (C:\InterSystems\FromRemote\ 或您创建的其他目录)。
- 刷新目录视图,直到新文件出现。这通常是在几秒钟内,甚至更早。
祝贺您,您刚刚成功地使用 MFT 创建了一个工作的production!
更多信息,请参见:
Enabling Productions to Use Managed File Transfer Services(《启用Production使用大文件传输》)