Maximo学习总结文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Maximo开发指导总结文档
1、引言
1.1、编写目的
对于刚接触Maximo的开发人员来说,由于Maximo开发工作大多都是在页面上执行的,使得以前显示编码的方式一下子难以适应。
本文档就对Maximo做一些简单的介绍以及使用方法。
1.2、编写背景
在商业竞争日益激烈的今天,对于拥有高价值资产的企业来说,设备维护已不再局限于成本范畴,更成为获取利润的战略工具。
Maximo就使这个目标得以实现。
2、M aximo概述
2.1、Maximo简介
Maximo主要为存储和维护公司资产、设备和库存的数据,我们可以使用其来辅助安排维护工作、跟踪资产状态、管理库存和资源以及分析成本。
其以工单的创建、审批、执行、关闭为主线,合理,优化地安排相关的人、财、物资源,将传统的被动检修转变为积极主动的预防性维修,与实时数据采集系统集成,可以实现预测性维修。
通过跟踪记录企业全过程的维护历史活动,将维修人员的个人知识转化为企业范围的智力资本。
集成的工作流与业务流程配置功能,使得用户可以方便地进行系统的授权管理和应用的客户化改造工作。
2.2、Maximo组件
进行Maximo开发,还需要一些组件辅助才能完成:
操作系统
-windows xp/7(32-bit/64-bit),推荐使用windows xp
应用服务器
-weblogic server (9.2.2及以上)
关系型数据库
-Oracle 10g/11g
-DB2
报表软件
-birt 3.1.2及以上
-Actuate iServer 9及以上
Jdk及Eclipse
-推荐使用jdk 1.6和MyEclipse 8.6
2.3、Maximo模块和应用程序
Maximo基本界面如下图所示:
2.3.1、数据库配置
数据库配置模块用于帮助系统管理员/开发者在前台完成对数据库对象的配置。
在Maximo系统内,“对象”是专有名词,指存放数据的逻辑载体。
对象既可以是数据库中的表,也可以是试图,甚至可以是虚拟表。
在数据库配置模块中,用户可以创建对象或删除对象,或修改对象的基本信息。
2.3.2、应用程序设计器
Maximo中的应用程序界面信息都是以一定格式保存在数据库中的,并且每
个应用程序界面都是由若干个不同类型的界面控件组成。
用户可以使用该模块创建应用程序并调整其程序界面。
Maximo中的应用程序也可以有另一种理解,在配置数据库时,数据表组成十分庞大,但我们需要进行操作的只是表中的几列,另外的都是通过后台自动运算填充的。
所以我们在对数据表进行操作的时候只需要显示我们需要操作的数据库对象属性。
2.3.3、工作流设计器
工作流主要是描绘公司的业务过程。
当公司的业务规则需要人员对某记录执行某个操作或进行输入时,就可以在工作流中进行相应的配置,并绑定用户组。
然后,当有数据经过工作流程时,系统会将此记录发送给无需要对其进行操作的人员组。
比如:某一员工出差办公后,需要对出差时间的消费进行报销,那么,此时该员工需填写一个申请,申请提交后,该申请单会通过工作流程提交给上司,上司审核无误后,可能会提交财务,财务审核后,通过或弹回该申请。
这就是我们工作中一种常见的工作流程。
工作流设计器就是将此过程进行了一个标准化的规范。
3、标准开发功能
3.1、数据库配置
3.1.1、进入数据库配置
打开Maximo主页面,启动中心→转到→系统配置→平台配置→数据库配置,按上述操作,我们进可以进入数据库配置页面。
以下就是我们的数据库配置列表:
3.1.2、新建对象
在Maximo中,每一个表被称为一个对象。
点击工具栏上面的“新建对象”按钮,就可以跳转到新建对象页面:
在此,我们需要对一些选项进行简单的说明:
●对象:就是在数据库中存储的表的名字;
●描述:主要是为了对该对象进行一些简单的说明;
●状态:该对象目前的状态,为空时表示正常运转;
●服务:每新建一个对象的时候,都会有一个默认的服务;
●主对象:在后续的工作流和应用程序时,需要指定主对象;
●持久性:表示该对象的数据是否同数据库进行同步更新;
●类:每个对象都要有五个相应的类1来控制,在这里我们一般绑定
CustomMboSet类;
1注:五个类,分别是CustomMbo、CustomMboRemote、CustomMboSet、CustomMboSetRemote、CustomService
●级别:创建对象时,默认为系统,在对对象进行关联域绑定后,我们需
要将级别设定会地点;
3.1.3、添加属性
在新建对象完毕后,我们可以根据需求,对该对象进行属性添加。
属性添加就是在数据库表中新建字段。
点击对象右边的属性,就可以查看该对象所有的属性,点击右下角的新建行,就可以添加一个属性(字段):
在此,我们需要对一些选项进行简单的说明:
●属性:在表中该字段的名称;
●标题:该字段在页面中显示的名字;
●描述:对该字段的说明;
●类型:该字段的数据类型;
●长度:该字段的存入数据的最大长度;
●类:可以在这里填写一个类名,该字段里的值存放的是该类实例的ID,
并且字段中的值发生改变时,会出发这个类;
●域:如果绑定一个域,此字段的值只能是域里面的值,需从页面上从该
域中选择类容(相当于添加了一个check约束);
●默认值:该字段设置一个默认值,需改字段自动编号的时候可以在此填
写“&AUTOKEY&”;
●必须:能否为空(相当于not null);
3.1.4、域
在上面对象新建属性的时候,我们提到了域就相当于给该字段添加了一个check约束,那么我们有必要在此对域做一个简单的介绍。
在Maximo中,我们可以使用的域有五种类型:
●ALN域:数字、字母组合域,由value和description构成,一般用来做状
态显示;
●表域:从指定的对象中查找符合条件的对象供选择;
●数字域:使用数字数据类型供选择,一般为一些简单值;
●数据范围域:其值通过制定范围来定义;
●交叉参考域:通过对Maximo编程,恢复要插入另一字段中的字段值。
与其它域不同,此域不涉及值列表,而是取另一个记录的独特的值(如
果此值存在);
3.1.
4.1、关联域
在关联域之前,我们需要在对象上新建两个属性:SITEID和ORGID。
SITEID 的作用是将该对象关联到某个地点上,因为在默认情况下,数据对象存储级别是在系统域里面。
而ORGID得作用是将数据对象应用于某个组织机构,比如:我们现在所在的是成都信泰,那么我们就需要将该对象应用于成都信泰该组织机构下。
至于这两个属性的建立可以参照已有对象进行添加,在此我们就不做过度赘述。
对象属性需要关联域,点击域选项后面的双箭头,转到域。
然后,我们可以选择现有的域,也可以新建域。
一般而言,在我们初学Maximo时,关联域我们都是自己新建域的,因为原有的域而言,我们不知道其功能是什么。
在添加新域的时候,我们是根据需要关联域的属性的数据类型来选择需要添加域的类型。
点击右下角的添加新域:
在此,我们需要对一些选项进行简单的说明:
●域:域的名称,后面输入框为该域的简单说明;
●数据类型:数据类型应和需要关联域对象属性的数据类型一致;
●长度:域的长度应比对象属性的长度小或相同;
●新建行:给域添加值,因为我们关联域就相当于添加一个check约束,
到时我们就需要直接从域里面选择值;
域新建完毕后,点击域列表界面右上角的带值返回,此时我们关联域就完成了,然后返回对象页面,将级别该为地点。
3.1.5、添加索引
点击属性右边的索引页面,即可进入索引列表页面。
该页面有两个表,上面的表示用来添加索引的,下面的表示用来添加该索引应用于哪些属性上面。
然而我们一般不会去添加索引,所以该页面也可以不用理会。
点击索引右边的关联即可进入关联页面:
在此,我们需要对一些选项进行简单的说明:
●关联:关联的名称;
●子对象:要和当前表建立关系的对象的名字,可以点击旁边的搜索图标,
进行搜索选择。
●Where子句:用来和建立关联的子对象的where条件的Sql查询语句。
●备注:简要说明该关系的用途。
3.1.7、对象发布
在以上我们对数据库对象进行配置完成后,对象的状态是待添加,而且表里面的字段也全是待添加状态。
只有当我们将该对象发布到数据库中后,我们才能正常的使用它。
①点击工具栏的选择操作,选择管理方式,打开管理方式。
注意:当某人
打开管理模式后,其它人将无法正常访问Maximo平台,所以平时不是非常紧急的时候,我们千万不要打开该模式,并且在该模式下,完成操作后,需要第一时间将该模式关闭。
②然后再工具栏的选择操作中,选择应用配置变更,带配置变更完成后,
关闭管理模式。
③退出Maximo平台,然后重新登录,这样我们就能对刚创建对象进行操作
了。
3.2、应用程序设计器
3.2.1、程序环境搭建
在完成数据库配置之后,我们要的就是应用程序设计了。
在做应用程序设计时就需要用到上面提到的五个类了,将这五个类拷贝到Maximo所在根目录\applications\maximo\businessobjects\classes这个目录中所对应的目录下。
3.2.2、进入应用程序设计器
Maximo的数据库设计是在“应用程序设计器”这个应用程序中实现的,它的位置如下:启动中心→转到→系统配置→平台配置→应用程序设计器。
依次点击上述位置,即可进入应用程序设计器设计应用程序。
3.2.3、新建应用程序
点击工具栏上面的新建应用程序定义,在弹出的窗口中,填入应用程序的相关信息。
在此,我们需要对一些选项进行简单的说明:
●应用程序:应用程序的名称;
●描述:对这个应用程序的简单描述,这里的内容在转到菜单中显示;
●主对象:这个应用程序用到的主表的名字,可以选择我们刚配置的对象;
●键属性:选择对象ID属性,也就是对象的标识属性,注意不是上面提到
的SITEID属性;
●模块名称:选择将应用程序,放在哪个模块下;
●电源应用程序:表示应用程序部署在本地系统中;
●单页面应用程序:表示本地页面跳转弹出;
注:电源应用程序、单页面应用程序、自助应用程序我也不是很清楚,不懂的,可以向你们的前辈请教。
3.2.4、设计应用程序
3.2.
4.1、List页面设计
点击工具栏的控件选用板,在弹出的窗口中,将表列控件拖到table中,拖入控件的数量,根据需求决定,并且可以将不需要的控件删除。
这里我拖入了两个控件,点击第一个控件,选择属性,在弹出的控件数据窗口中做如下操作:
●可过滤:将√去掉;
●类型:选择连接;
●属性:选择对象主键;
●事件:填入selectrecord;
●更多操作需个人摸索
3.2.
4.2、Main页面设计
在main页面的设计,需要将表中需要显示的数据全部显示在这个页面中,并且要划分一定的区域。
点击空间选用板,将“部分”控件拖入到main页面中,然后把“部分行”控件拖入到“部分”控件中,然后把“部分列”控件拖入到“部分行”控件中,这样我就形成了一行控件。
看需要我们可以多添加几行。
控件添加结束后,我们就需要将我们需要操作对象的属性放入到控件里面,这里我们可以直接在原有Main页面中部分控件里面复制粘贴过来就行。
在调整完毕后,可以将原有的部分控件删除。
在Main页面控件昨晚后,我们需要对对象属性的文本框进行属性设定,而具体设定看需求而定。
这里的属性说明如下:
●标签:可以修改标签,修改之后,将不再显示默认标签
●隐藏标签:在页面上不在显示标签,只显示输入框。
●属性:填入或选择主对象的字段的名子。
●菜单类型:根据需求,填入菜单的类型。
●查找:如果字段为date或datetime类型,填入datelookup。
如果字段从
域中选择值,填入valuelist。
如果该字段从其他表中选择值,填入
lookup.xml中相对应的table id的名字
●输入模式:根据需求,选择相应的输入模式。
●转到应用程序:如果需要转到其它的应用程序,在这里填入,要转到的
应用程序的名字。
如果在main页面中需要加入一个表作为主对象的子表,需要拖入一个“表”控件到main页面中。
察看表的属性,在关系中,填入主对对象和子表建立的关系的名字。
子表的表列中的最左边的表列控件,属性→事件,填入toggledetailstate,事件选择EVENT,
子表的表列中的最右边的表列控件,属性→事件,填入Toggledeleterow,事件选择EVENT,事件图标:btn_garbage.gif。
其他的表列控件和list的页面做法相同。
在表的下面的区域,显示子表的详细数据,做法和main页面前面所述相同。
在子表的区域下面拖入“按钮组”控件,在“按钮组”的右边有一个按钮控件,察看属性(在此就不做演示):
●标签:填入按钮的标签
●事故:填入addrow。
3.2.
4.3、签名
点击工具栏选择操作,在弹出的下拉列表中点击“添加/修改签名选项”,此时会弹出一个签名窗口。
点击右下角的新建行按钮,新建签名选项。
要添加如下的基本签名选项:
3.2.
4.4、选择操作
根据需求,将部分的签名选项添加到选择操作菜单中。
同上面的签名一样,点击工具栏的选择操作,在下拉列表中点击“添加/修改选择操作菜单”,在弹出窗口中,点击右下角的新建行选项。
在下拉列表中,有如下的属性:
●元素类型:类型有六种,但这里我们只介绍两种。
Option为指定操作为
一个实际的操作时选用,HEADER为指定操作不是一个实际的操作,而是
一个目录的节点;
●键值:从上面的签名选项中选择一个已经存在的签名选项;
●职位/下级职位:显示的位置是通过职位决定的,如果一个职位下面有几
个分支,那么每个分支的位置,又由下级职位决定。
●选项卡:“所有”表示所有页面都能看见该操作,“列表”表示只有list
页面能看见该操作,“主要”表示只有main页面能看见该操作。
3.2.
4.5、应用程序权限设定
应用程序设计完成后,我们可以直接点保存将应用程序发布就行。
而设计完应用程序后,需要给它指定权限,才能在相应的目录中看到。
点击启动中心→转到→安全性→安全组→所在用户组→应用程序,然后选择刚设计的应用程序,然后选择具备有哪些权限。
3.2.
4.6、其它操作设计
上面只是介绍了应用程序设计器一些简单的操作设计,很多设计功能我们都没介绍到,需要私下自己去摸索。
比如可以将签名选项添加到工具栏、搜索栏等等,但也不仅仅局限于签名选项的设计。
Maximo中的应用程序设计器功能非常庞大,我们目前看到的只是这其中的冰山一角,很多功能需要经过仔细摸索。
3.3、工作流设计器
3.3.1、新建工作流
启动中心→转到→系统配置→平台配置→工作流设计器。
依次点击上述位置,即可进入工作流设计器设计工作流。
然后点击工具栏上的新建过程,进入工作流新建界面。
在该页面中,有两个选项必填:
●过程:工作流的名字;
●对象:该工作流对应的对象名,我们可以直接在后面的查找项查找对象
即可
这里我们就不新建工作流,而是从已有工作流上进行简单的介绍。
其中,绿色三角形状START1、ISNEWREG、TASK3、MSG、第二站为节点,而START1节点表示工作流的开始节点,第二站红色圆点表示工作流的结束节点,并且至少要有一个结束节点。
每个节点需要用节点线连接起来,注意:每个蓝色的节点只能有两个输出线,切输出线的颜色不能一样,可以有多个输入线。
3.3.2、配置流程节点属性
在把流程节点用节点线连接好之后,就需要配置节点的属性。
右键点击节点,点击属性,弹出节点属性窗口:
点击任务分配表中的新建行按钮来对节点分配任务。
如下图所示。
这里我的截图只是提供一个参考。
应用程序在前面选择对象后,会自动带进来,我们这里只用选择角色标识就行。
角色标识只用在后面选择值就行,但值得注意的是,为了我们流程的稳定,我们选定的应是一个用户组,而不是具体到某个人,因为人员有着不确定因素。
3.3.3、配置操作属性
把节点之间的节点线拖放好之后,需要配置操作属性。
右键点击线,点击属性,将会弹出操作属性窗口。
在操作的输入框中,我们需要选择一个操作,同时我们也可以新建一个操作,新建操作我们这里就不介绍了。
选择操作后,点确定。
3.3.4、验证/启用/激活工作流
当工作流设计完成后,还不能直接使用,此时我们需要进行一些必要的配置。
点击工具栏中的选择操作菜单中,在下拉列表中选择验证过程,在验证提示正确之后,点击启用过程,然后点击激活过程。
在工作流激活之后,点击选择操作中的添加工作流到应用程序,弹出窗口如下所示:
在添加支持列中勾选要使用工作流的应用程序,点击确定。
点击工具栏选择操作中的编辑工作流开始按钮,进入到编辑工作流开始按钮页面,如下所示:
如果这里的数据为空的话,点击新建行按钮,然后再应用程序和进程名称中选择适当的应用程序和过程名,点击确定。
3.3.4、修改/删除工作流
当需要修改工作流的时候,不能直接修改工作流,需要有如下操作:
使过程无效:点击工具栏选择操作中的取消激活过程,此时工作流为无效状
态。
禁用过程:点击选择操作中的禁用过程,此时工作流为非启用状态。
注意:如果在工作流启动的时候,有数据发送了工作流,但是没有执行完整个流程的时候,无法使过程无效和禁用过程。
当工作流的状态为禁用的时候,可以对工作流进行修改了。
当修改完之后,保存修改。
然后再次验证,启用,激活工作流。
而删除工作流就比较简单了,直接在工具栏选择操作删除过程就行了。
4、标准类开发
4.1、Mbo类
上面我们已经提到,Maximo的每一个对象,都要对应5个类,其中有一个继承Mbo类。
Mbo为Maximo系统中的对象基础类,这个类一般可以理解为某一个表中的一条记录,所有的业务对象绑定类都要继承这个类。
其主要方法介绍如下:
4.2、MboSet类
Maximo中的字段类主要作用于当表中的一个字段或字段行数据进行增删改查时。
而MboSet类就可以看着是一个
Mbo的集合。
在前面我们进行配置或新建参数设定的时候,都会有一个选项叫“类”,在这里的类就相当于在该属性或字段上加入特殊的业务逻辑。
而这种业务逻辑在Maximo中大多数情况下是没有的,这时就需要我们自己进行业务逻辑的编码,并部署在相应的字段或属性。
需要注意的一点是,在进行编码的时候,我们必须要继承MboValueAdapter或MaxTableDomain。
操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处
输入值。
保存修改后,后台重新启动就行。
字段绑定类的主要方法如下:
4.4、bean类
Bean类主要分为两大类,AppBean和DataBean。
AppBean在Maximo应用程序中主要作用为控制界面操作,如页面的新建、保存、发送工作流等,所以每个应用程序都需要绑定一个AppBean,并且一个应用程序只能绑定一个AppBean。
其常用方法如下:
DataBean主要作用为控制Maximo中特定数据源的界面操作,如弹出窗口的按钮事件等。
其主要方法用法如下:
附录1:MyEclipse反编译插件安装
在此,本人使用的MyEclipse8.6+jdk1.6
1、首先下载net.sf.jadclipse_3.3.0.jar和jad1.5.8(注意:是1.5.8版本,因为1.5.7
本人尝试无法成功反编译);
2、将net.sf.jadclipse_3.3.0.jar拷贝到MyEclipse安装目录\Common\plugins目录
下(安装MyEclipse时会创建两个文件夹,仔细找下,别放错了);
3、在MyEclipse安装目录下dropins文件夹下创建eclipse文件夹,然后再eclipse
文件夹下创建features和plugins两个文件夹,再将net.sf.jadclipse_3.3.0.jar 拷贝到这两个文件夹下;
4、将jad 1.5.8放到jdk安装目下的bin文件夹下;
5、启动MyEclipse,打开Window →Preferences →Java→JadClipse,在右边会看见
两个输入框,在Path to decompiler输入框中放入jad的全路径,如:C:\Program Files\Java\jdk1.6.0_10\bin\jad.exe,然后Directory for temporary files这个文件夹是存放临时文件,看个人喜好而定;
6、以上设置完成后,我们需要进行一定的配置,Window →Preferences
→Java→JadClipse→Misc,将Convert Unicode strings into ANSI strings选线打勾,避免反编译后可能出现的中文乱码;
7、Window→Perferences→Genderal→Editors→→File Associations中修改.class默
认管理的编辑器为JadClipse Class File Viewer,确认;
8、设置完成后,双击.class源文件,MyEclipse将自动反编译。