变更记录版本号修改点说明变更人变更日期0.0.1整篇创建rogergou@tom.com2017-06-01注:对该文件内容增加、删除或修改均需填写此修订记录,详细记载变更信息,以保证其可追溯性。参考资料:/metl/user-guide-2.0.4.r.63.html阅读指南:1.【】需要详细解释的内容;2.【】需要特别注意的内容;2目录1.前言本用户指南介绍了Metl,一个简洁的基于Web的系统集成平台,可以通过Web服务实现几种不同风格的数据集成,包括基于文件的提取/转换/加载(ETL),消息传递和远程过程调用。本指南适用于要安装软件、配置集成和管理其操作的用户、开发人员和管理员。感谢开源社区的所有成员,他们的反馈和贡献帮助我们构建更好的软件和文档。该版本的指南是在2017-05-11生成的。42.介绍Metl是一个简洁的基于Web的集成平台,允许通过Web服务进行几种不同风格的数据集成,包括:消息传递,基于文件的提取/转换/加载(ETL)和远程过程调用。Metl旨在解决相对简单的日常系统整合任务,而无需自定义编码、使用重型的基础架构或需要高成本的花费。它可以部署在云端或内部数据中心,并且被设计为允许开发人员通过编写自己的组件来扩展以满足他们自己的需求的架构,这些组件可以被现有的Metl基础架构所包含和利用。2.1.概览Metl是一个Web应用程序。它可以作为Web应用程序包(war)文件部署到应用程序服务器(即Tomcat,JBoss,Websphere)中,或者可以作为附属在JettyServlet容器下的war文件单独部署。详见安装部分。一旦安装,Web应用程序就可以通过Web浏览器访问,并用于设计,部署和管理系统集成。名词解释本系统、本平台即:Metl的一个已安装且运行的实例项目(Project)多个待集成的业务系统的需求按照业务层次或类别可以将其分组或打包成一个或多个项目。项目是以逻辑方式将集成组合在一起的一种方案。例如,一个项目代表包含某个系统内部或外部的所有相关需要集成内容的总体。项目包含流程,模型和资源。模型(Models)定义在流程中流转的数据的数据结构。处理结构化数据时,可以通过建模来定义数据。模型功能用来定义数据的属性或字段。模型与模型之间可以是关联关系或层次结构关系的。资源表示与数据读取或写入的物理端点的连接配置。平台中提供了以下资源类型:数据库-与JDBC兼容的关系数据库的JDBC连接目录-与文件系统的连接。本地,FTP,SFTP和SMB都支持HTTP资源-与REST或基于SOAP的服务的HTTP连接邮件会话-可用于发送和接收电子邮件的SMTP连接代理一旦流程设计和配置完成,它们就可以被部署到要运行的代理(Agent:一种配置好的物理运行环境)中。当流程部署到代理中时,其相关资源也将部署到该代理中,并且可以为每个代理部署不同的配置。52.1.用例本指南提到的一些样例:平面文件数据集成(FlatFileDataIntegrations)RDBMS数据集成(RDBMSDataIntegrations)Pub/Sub(基于队列)数据集成(Pub/Sub(Queuebased)DataIntegrations)基于API/服务的数据集成(API/ServiceBasedDataIntegrations)2.2.为什么选择Metl?系统集成可以在几个小时内进行配置并开始运行,与之相对的是那些需要在几天或几周内进行硬编码的解决方案Metl易于安装。只需下载.war文件并运行Metl是基于网络(B/S)的,没有需要安装在客户端桌面的工具模块。可以在本地部署,也可以在数据中心或云端部署Metl不需要重量级的基础设施。任何windows或linux操作系统架构都可以安装Metl是开源的,没有黑盒部分。如果需要请下载源码去编写自己的组件Metl已被证明能够在大型集成方案中使用Metl是免费的整个工具集是根据GPL许可证开源的Metl被JumpMind,Inc.支持,可以为任何需求提供专业的支持和服务62.1.系统要求Metl是以Java语言编写的,需要Java运行时环境(JRE)标准版(SE)或Java开发工具包(JDK)标准版(SE)。支持大多数主要操作系统和数据库。最低操作系统要求是:JavaSE-运行时环境或开发套件版本8或更高版本内存-1(GB)可用磁盘-256(MB)可用Metl可从Web控制台进行访问,Web控制台需要以下受支持的Web浏览器之一:GoogleChrome23或更新版本InternetExplorer8或更新版本MozillaFirefox17或更新版本Safari6或更新版本2.1.许可METL是根据GNU通用公共许可证(GPL)3.0版许可的免费软件。有关许可证的全文,请参阅。该项目包括由JumpMind()开发的软件和多个贡献者社区。METL根据一个或多个贡献者许可协议授权给JumpMind作为版权所有者。METL和METL徽标是JumpMind的商标。73.正文3.1.安装Metl作为Web应用程序存档(war)文件提供。可以以两种不同的方式部署.war文件。使用Metl的嵌入式Jetty服务器独立部署部署到现有的servlet容器(即Tomcat,JBoss,Websphere,OracleApplicationServer等)3.1.1.使用Metl的嵌入式Jetty服务器独立部署运行Metl的最简单方法是使用其内部Jetty容器独立运行它。为了独立运行Metl,只需从命令行运行以下命令即可。必须安装Java8运行时环境,并添加了java的运行路径。java-jarmetl.war在上面显示的最简单的形式中,Metl将根据登录用户的主目录(即/users/myusername/.metl基于linux的系统)和(c:/users/myusername/.metl基于Windows的系统)选择配置目录。并且在这种形式下,metl将使用基于文件的H2数据库作为Metl数据存储。3.1.2.部署到现有的servlet容器为了将Metl部署到现有的servlet容器,只需将metl.war文件复制到应用程序服务器的deploy目录即可。83.1.3.指定Metl配置目录可以通过指定系统属性org.jumpmind.metl.ui.init.config.dir来设置默认配置目录。java-Dorg.jumpmind.metl.ui.init.config.dir=/opt/metl-jarmetl.war3.1.4.应用程序属性文件(metl.properties)如果在配置目录此文件不存在,Metl将在其配置目录中创建一个默认属性文件。属性文件命名为metl.properties,并具有以下内容:db.driver=org.h2.Driverdb.url=jdbc:h2:./metl-devexecution.retention.time.ms=3600000execution.retention.time.ms.cancelled=60000log.to.console.enabled=truelog.to.file.enabled=truetable.prefix=METL#log.file=为metl替换一个另外的数据库资源用于配置流程和存储运行时数据就是简单的在metl.properties文件中指定jdbc驱动程序和url地址:db.driver=net.sourceforge.jtds.jdbc.Driverdb.url=jdbc:jtds:sqlserver://myserver:1433/mydatabasedb.user=myuseriddb.password=mypassword默认情况下,Metl使用DBCP数据库连接池。除上述之外,所有DBCP配置设置都可以在metl.properties文件中设置,包括:db.validation.query=db.pool.initial.size=db.pool.max.active=db.pool.max.idle=db.pool.min.idle=db.pool.max.wait.millis=db.pool.min.evictable.idle.millis=db.test.on.borrow=db.test.on.return=db.test.while.idle=93.1.5.安装Metl服务Metl可以安装为linux/unix或windows服务。要安装Metl作为服务,请从命令行运行以下命令。java-Dorg.jumpmind.metl.ui.init.config.dir=/opt/metl-jarmetl.warinstall默认情况下,Metl将以服务名称为“metl”的服务进行安装。名为metl_service.conf的服务配置文件将被写入配置目录,可用于进一步配置Metl服务。3.1.6.启动Metl服务要启动Metl服务,请从命令行运行以下命令java-Dorg.jumpmind.metl.ui.init.config.dir=/opt/metl-jarmetl.warstart或者,使用操作系统工具启动和停止服务。如:在linux上输入:servicemetlstart对于Windows,请使用本地服务控制面板启动Metl服务。3.1.7.停止Metl服务要停止Metl服务,请从命令行运行以下命令:java-Dorg.jumpmind.metl.ui.init.config.dir=/opt/metl-jarmetl.warstop或者,使用操作系统工具启动和停止服务。如:在linux上输入:servicemetlstop对于Windows,请使用本地服务控制面板停止Metl服务。3.1.8.卸载Metl服务要卸载Metl服务,请从命令行运行以下命令:10java-Dorg.jumpmind.metl.ui.init.config.dir=/opt/metl-jarmetl.waruninstall3.2.管理模块主界面一旦Metl已经启动,它可以通过Web浏览器进行访问,如下所示:如果Metl在本地计算机上的默认端口(42000)上运行,该URL将如下所示:界面说明3.2.2.功能说明11导航菜单提供了各个主要功能的操作入口菜单栏分为五个主要领域:设计-设计并开发集成项目部署-部署并运行代理(代理:一种流程的执行部署方案)管理-管理特定的代理,包括查看代理的执行历史等。资源-浏览本平台实例配置的资源系统–系统管理,包括定义系统用户,管理日志记录级别等。除了这五大导航菜单之外,导航还允许:帮助-访问此帮助文档注销–注销当前用户于系统之外3.3.设计主界面3.3.1.界面说明设计主界面用于设计并开发集成项目。主要设计界面如下图所示。123.3.2.功能说明设计菜单主界面分为两个主要面板,导航窗格和内容/编辑器窗格。下面显示的导航窗格允许遍历项目,流程,模型和资源。当平台首次安装时,它将安装预置一个包含示例流程、模型和资源的示例项目。这些示例用户可以立即运行。另外,这些示例流程引用了文档中描述的各种组件,以便让用户更好地了解各个组件的工作原理。内容/编辑器窗格是设计编辑流程、资源和模型的地方。下面的截图显示正在编辑的数据库资源。133.4.项目项目就是将有逻辑相关性的系统集成方案组合在了一起。通常,项目的边界应等同于一组部署在一起的待集成的系统(如:一套需要相互集成的几个系统的组合)。这意味着各个有相互依赖的流程必须部署在同一个项目的范围及上下文(配置的资源、模型、