您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > webmethods文档
WebMethods中文文档一、概述webMethods是时下欧洲比较流行的EDI开发集成平台,国内比较少用到。它以百分百的服务主导架构为基础,可用于开发EDI项目,并进行综合逻辑编辑,测试和调试的工具。企业可以根据特别需要组装自己的解决方案,而不必受到原有设计的局限。通过使用webMethods的方案,客户将可提升订货效率,更有效地管理存货水平及客户的满意度。使用该工具之前必须安装该工具,保证可以访问webMethods综合服务器;获得可以访问服务器的帐号,密码。每次登录之前先确保服务器已经连上,相关的WebMethods服务也已经启动,然后再输入账号密码。WebMethods服务器可以选择本地服务器,也可以选择远程服务器。但,WebMethods相当耗内存,建议内存配置最好在1G以上。1.1界面窗口介绍打开WebMethodsDeveloper,弹出登录窗口,如图:图1.1从这里输入正确的帐号密码,以及服务器端口号才可访问服务器,进入webMethods平台。如图是webMethods开发窗口主界面:图1.2WebMethods主界面通常情况下包括三栏,如上图,左边一栏显示WebMethods服务所连接的服务器上的WM包,双击包中文件夹下的service或者schema,中间栏里会给出该项的详细信息。可以看见中间栏又分为上下两个栏目,上面显示的是具体内容,下面显示的是输入输出参数和Mapping。这里所说的Mapping,在Pipeline栏实现,可以将它理解为一个映射的过程,实现数据赋值,传输。实际上用WebMethods设计时最主要的工作就是Mapping。Comment栏:注释描述SERVICE的相关信息。右边一栏显示的是中间栏里某项的属性信息,将General选项展开,通常包括这几项,如图1.3。图1.3右栏的下面一块是用来显示输出的,我们指定多少个输出项,它都会从这个位置输出显示,点击某个项,下面会显示它的取值,若该项没有值,则显示红色的字符“null”。如图图1.4在如下图所示的位置可以实现重新登录,关闭登录或者刷新平台信息。左中右3大栏中可按此图标,实现该栏的显现,隐藏。图1.5如上图RecentElements栏显示最近几次访问的文档元素,可以查看,直接打开访问。1.2控件介绍1.2.1简单介绍下相关概念:Pacakge:一个文件夹,可以看成是一个容器,里面各层展开包含相应的元素。“Apackageisacontainerthatisusedtobundleservicesandrelatedelements.Packagesaredesignedtoholdallofthecomponentsofalogicalunitinanintegrationsolution.”DocumentType:在一般编程时,我们常常需要定义一些数据类型。在Developer里,这种数据类型的定义是通过DocumentType来实现的。这种DocumentType很像structure,DocumentType的定义可来自Schema。Developer里创建Schema,由Schema生成所需要的Document。Service:这里的service很像我们平常程序中的函数,doc:IntegrationServerisaservice-baseintegrationbroker.Aserviceisaprocessthatmaybeinvokedtoperformawidevarietyoftasks.因为原来函数是可以调用函数的,所以,Service也是可以调用Service的。ElementElements可以看成是package中可以包含的元素。doc:Elementsincludefolders,services,specifications,ISdocumenttypes,triggers,andISschemas.在Developer中,有一些常用的Element,其实都是傻瓜化了的程序功能。比如AdapterService,提供了对数据库操作的支持,我们只需要在IS中定义好相应的数据库联接,就可以方便的在Developer中调用。又比如Trriger,它提供了对subscribe的支持(以后我会讲publish-subscribe)。比如Notification,它能够监视数据源的变化,有力地支持了数据同步功能。这些可以说是webMethods为集成提供的不错的工具。ElementNamesElementsNames比较特别,是由目录名和element名构成的。LockLock很像版本控制里的概念。doc:Alockonanelementpreventsanotheruserfromeditingthatelement.Therearetwotypesoflocks:userlocksandsystemlocks.文件呈现红色勾勾时,表明已经其他用户锁定,此时只能进行查看,运行而不能编辑文件。如果要编辑文件则必须UNLOCK改文件,再LOCKFOREDIT,取得该文件的控制权。FlowService的功能类似于一般的函数。但是,这个函数是用webMethods自创的Flow语言写的。doc里的定义:AflowserviceisaservicethatiswritteninthewebMethodsflowlanguage.每个FlowService都有输入输出。FlowService是由FlowStep构成的。我们可以将flowstep想象为函数的一条(或者多条语句)。doc:Aflowstepisabasicunitofwork.1.2.2控件简单说明flowstep:Developer开发主要常用到6种控件-----BRANCH,SEQUENCE,REPEAT,LOOP,EXIT,MAP,这6种统称flowstep。flowstep可以看做是对一般编程语言的赋值、流程控制等的重新定义,它还可以调用已有的Services。1.根据需要插入Services,类似于调用函数。如图:该Services函数则以所在的目录路径自动命名。图1.62.BRANCH是分支结构的意思,它与Java里的switch类似。用来确定BRANCH走向的参数名恰好就是在switch中定义的.而子选择参数是以Label确定的,当同一属性段下有多个值时可使用该控件分支执行。如图是BRANCH应用的一个例子:(注意:保证每个BRANCH的switch路径走向正确,每个Label都是唯一的,否则报错或者直接跳过该BRANCH)。图1.73.SEQUENCE是顺序结构的意思。它的意义在于它可以将多个flowstep封装成一个结点来看待。并且,在其内部可以定义运行到何时结束,比如untilfailure,untilsuccess,untildone等。如图,定义了一个SEQUENCE父结点,底下子结点包含了MAP,LOOP,BRANCH以及其子结点SEQUENCE,各个flowstep展开有各自的下级子结点等。另外可以在SEQUENCE的属性栏的comments写上注释‘time’,简单描述SEQUENCE的内容。图1.84.REPEAT是重复,它可以指定重复次数。5.LOOP,循环的意义在于它极大方便了对数组的枚举。当该段输出存在多个属性值时,使用LOOP,分别取值,多次循环执行。如上1.8图,在LOOP的属性栏要设定intputarray和outputarray。Intputarray主要是指定该循环路径走向在哪一个属性段下,通常循环中存在嵌套,要注意不可跳过结点循环。比如:下面要在SEA_HBL_DTL下做循环,该循环嵌套在SEA_OBL循环下,但两个循环间不可直接跨越,跳越了SEA_HBL这层循环父循环和子循环的路径,兄弟循环之间的路径要保证正确。对于outputarray,只需在最外围循环设定,指定到该段相应的输出段名。如下图图1.96.EXIT是退出的意思,它可以选择退出到程序的那一层。通常在EXIT的属性里label栏写明执行跳出的判定条件,在Exitfrom里选择要跳到程序哪个位置,有父结点parent,循环loop,整个流程flow,当满足EXIT指定的label条件时,就退出到指定的位置。如下图图2.57.MAP是映射赋值的作用,插入一个新的MAP时,先选中一个位置点击,就可以在该位置下方插进一个新的MAP。WebMethods设计开发的Mapping工作主要在该flowstep完成。它作为构成其他flowstep最小的元素,如图1.7BRANCH底下分为3个MAP支点。在MAP里可以调整数据传输任何一个结点的内容:1)通过连接(linking),增加(adding),删除(delete),丢掉(dropping)操作变量,根据需求为数据传输做准备。2)清除pipeline的变量,前一个STEP遗留的变量而不被后面的STEP所需要的3)移动变量位置,给变量赋值,初始化变量值4)可以把document从一种格式MAPPING映射转换到另外一种格式8.上下移动左右移动可实现flowstep的上下左右的移动,在开发过程中更改确定该step位置。可以选择6种控件任一种再按移动键,调整控件间的父子,兄弟关系到所需要的状态。1.3详细介绍MappingDatainaFlowServiceDatamapping:数据映射是一种在servicesordocument之间解决数据格式表示法转换的过程。这种转化包括名字转化,结构转化以及赋值格式转化图2.0MAPPING主要在Pipeline里实现,分为三栏:PipelineIN-----输入栏,显示所有的输入变量和DOCMENT。Transfomormers------中间转化栏,该栏显示所调用的service,MAPPING的过程中可在此插入service,完成数据值的转化。PipelineOUT------输出栏,显示所有的输出变量和DOCMENT。LINK把输入变量和输出变量链接起来,实现值传递。当需要引入中间转换函数(Transfomormers)把PipelineIN连到函数的ServiceIn,ServiceOut连到PipelineOUT变量。做LINK要特别注意左右两端的变量类型要一致,否则运行时会报错。DROP丢弃无关紧要的变量,可以先把该变量的值传递(LINK)给输出的变量再DROP掉。SetValue赋值双击变量,可以给该变量赋于固定的值。通常用于写死信息,或者引入新变量时赋予空值以防变量丢失。(注意:如果该变量已经被赋值,在该STEP里就不能被LINK到其他变量。滚动条设置:只有右边滚动条,点一下可切换到,左右两个滚动条分别滚动PipelineIN和PipelineOUT此处可以创建新变量,点击可选要创建的变量类型如图。调用函数时,点此选择若找不到所需要的函数,选Browse,从WMDeveloper包里找。举个例子说明:图2.1如图2.1变量String1被赋予最初值。图2.2如图:2.2Document1被LINK到Document2,当这一步执行以后,Document2的值就被映射成Document1的内容。图2.3如上几步,String1在此处再次被赋值,将更新最初所给的值,String1而传到Document2里的值也相应的被更新。图2.4可以看到结果里,Document2也有String1(modified),因为Document1被映射拷贝到Document2了。所以为了防止Document2里的值被后面的STEP更改,通常从源Document1里选中单个子变量LINK到目标Document2里的子变量,这样可以只取目标Document所需要的几个子变量。还有可以调用中间函数实现两个变量的传值(比如时间传到目标变量需要定义更新新的格式,只取源变量字符串某段的代码等等)。注意几点:Document和该Document底下的子变量不能同时被
本文标题:webmethods文档
链接地址:https://www.777doc.com/doc-4579942 .html