搜档网
当前位置:搜档网 › maximo 接口 开发

maximo 接口 开发

maximo 接口 开发
maximo 接口 开发

Eclipse :Version: 3.4.2 支持web service 工程

IBM Tivoli Asset Management for IT 7.2.2.0

Maximo部分,开放webservice接口:

转到系统配置→平台配置→webservice库(webservice lib)

如果列表中没有你想要的webservice,那就新建一个:

从对象结构创建工单。选择你要发布的webservice名称,如:

大部分可根根据对象的名称来选择

MXASSET:是针对asset 的增删改查同步的操作

MXSR:是针对服务申请的改查同步的操作

MXPERSON:是针对person的增删改查同步的操作等

我们项目中的要求是,接受第三方系统的一个请求,里边包含资产的信息,maximo进行同步,然后记录下本次的维护记录。

资产信息的更新,新建,删除操作当然选择MXASSET

维护记录,此次放到SR里边,选择MXSR

点击

,创建完成后选择操作部署webservice,然后

确定就好。

会弹出一个xml的对话框,确定,至此maximo端,webservice创建完毕。

系统属性设置mxe.int.webappurl 的值为:http://51.96.2.72/meaweb

查看

http://51.96.2.72/meaweb/wsdl/MXASSET.wsdl

正常显示表示创建成功。

设置属性mxw.int.globaldir,可是设置服务器端路径,生成wsdl文件。

关于使用webservice 创建交互,请参见web_Service_Interactions.pdf。

Eclipse部分:

单纯的使用maximo发布的webservice,只需要建立一个java project。

这里需要开发一个中间转化的工具,接收第三方发来的数据,进行必要的格式和值得处理,然后调用maximo接口,将数据存入maximo中。所以这个工程既是maximo的客户端,又是第三方系统的服务端。

新建:web project

新建class:

下面开始创建maximo的web service client;

在本工程上新建工程→other→ web service client

注意server 是要有值的,webservice runtime为apache axis,不是axis2. 直接点击完成,等待结束。

有错误?不用担心。打开一看。

MXBooleanType 是maximo内置的一种数据类型,其他的还有如 mxStringType,是对普通的boolean float double 以及 String进行了简单的封装。可以观察 MXStringType 的构造方法

public MXStringType() {}

public MXStringType(https://www.sodocs.net/doc/46394662.html,ng.String _value) {

this._value = _value;

}

MXBooleanType报错其实有解决办法,这里先不予讨论,直接将报错的两个方法注释掉。

观察生成的代码

对应有增删改查同步的方法。

MxassetportType是接口,MXASSETPortTypeProxy实现了MxassetportType。

客户端的准备工作已经完成,下面做测试。

package com.ibm.maximo.custom;

import java.rmi.RemoteException;

import com.ibm.www.maximo.MXASSETQueryType;

import com.ibm.www.maximo.QueryMXASSETResponseType;

import com.ibm.www.maximo.QueryMXASSETType;

import com.ibm.www.maximo.wsdl.MXASSET.MXASSETPortType;

import com.ibm.www.maximo.wsdl.MXASSET.MXASSETPortTypeProxy;

public class ProCenter {

public static void main(String[] args) throws RemoteException { //1 创建一个代理对象

MXASSETPortType proxy = new MXASSETPortTypeProxy();

// 5 创建MXASSETQueryType 的对象转到 6

MXASSETQueryType MXASSETQuery = new MXASSETQueryType();

// 6 为MXASSETQuery 设置条件。所有条件均已设置, proxy执行,返回一个QueryMXASSETResponseType的对象转到 7 查看

// MXASSETQuery 内置 MXASSETQueryTypeASSET对象,查询条件可以是设置MXASSETQueryTypeASSET 的必要信息进行查询

MXASSETQuery.setWHERE("assetnum='3020040300001'");

// 3 创建QueryMXASSETType 的对象,观察其类,要设置 MXASSETQuery 转到4

QueryMXASSETType parameters = new QueryMXASSETType();

// 4 setMXASSETQuery方法需要MXASSETQueryType 类型的参数MXASSETQuery 转到 5

parameters.setMXASSETQuery(MXASSETQuery);

// 2 proxy 执行query方法,需要 QueryMXASSETType 类型的参数parameters ,转到3

QueryMXASSETResponseType response =

proxy.queryMXASSET(parameters);

// 7 QueryMXASSETResponseType 中有 MXASSET_ASSETType[] 数组,以下查看。

System.out.println(response.getMXASSETSet()[0].getDESCRIPTION());

}

}

打印内容:UPS THM A1

查询和删除时较为简单的,下面着重测试一下update 和create。

查询:

public void update() throws RemoteException{

UpdateMXASSETType parameters= new UpdateMXASSETType();

MXASSET_ASSETType asset=new MXASSET_ASSETType();

asset.setASSETNUM(new MXStringType("3020040300001"));

asset.setDESCRIPTION(new MXStringType("哈哈哈哈哈哈"));

asset.setSITEID(new MXStringType("9"));

MXASSET_ASSETType[] MXASSETSet={asset};

parameters.setMXASSETSet(MXASSETSet);

proxy.updateMXASSET(parameters);

}

设置好主键后,其余属性均可 set,assetnum 和 siteid 为主键,具体属性见MXASSET_ASSETType。

执行new ProCenter().update();后效果如下:

由于parameters.setMXASSETSet(MXASSETSet)中参数是一个

MXASSET_ASSETType[],而这个数组中包含MXASSET_ASSETType对象,通常我们可以根据必要条件将MXASSET_ASSETType对象查询出来之后,再设置要改变的信息,然后放到数组中去。

创建:

public void create() throws RemoteException{

CreateMXASSETType parameters=new CreateMXASSETType();

MXASSET_ASSETType asset=new MXASSET_ASSETType();

asset.setASSETNUM(new MXStringType("99999999"));

asset.setDESCRIPTION(new MXStringType("哈哈哈哈哈哈"));

MXASSET_ASSETType[] aa=this.query();

MXStringType SITEID = new MXStringType("9");

MXStringType STATUS = new MXStringType("使用中");

MXDoubleType PURCHASEPRICE = new MXDoubleType("0.00");

MXDoubleType REPLACECOST = new MXDoubleType("0.00");

MXDoubleType TOTALCOST = new MXDoubleType("0.00");

MXDoubleType YTDCOST = new MXDoubleType("0.00");

MXDoubleType BUDGETCOST = new MXDoubleType("0.00");

MXStringType LOCATION = new MXStringType("9000001");

MXDoubleType UNCHARGEDCOST = new MXDoubleType("0.00");

MXDoubleType TOTUNCHARGEDCOST = new MXDoubleType("0.00");

MXDoubleType TOTDOWNTIME = new MXDoubleType("0.00");

MXStringType CHANGEBY = new MXStringType("MXINTADM");

asset.setLOCATION(LOCATION);

asset.setPURCHASEPRICE(PURCHASEPRICE);

asset.setSITEID(SITEID);

asset.setTOTALCOST(TOTALCOST);

asset.setYTDCOST(YTDCOST);

asset.setZCZT(STATUS);

asset.setREPLACECOST(REPLACECOST);

asset.setBUDGETCOST(BUDGETCOST);

asset.setISRUNNING(aa[0].getISRUNNING());

asset.setUNCHARGEDCOST(UNCHARGEDCOST);

asset.setTOTUNCHARGEDCOST(TOTUNCHARGEDCOST);

asset.setTOTDOWNTIME(TOTDOWNTIME);

asset.setCHANGEBY(CHANGEBY);

asset.setCHANGEDATE(new

MXDateTimeType(Calendar.getInstance()));

asset.setINVCOST(new MXDoubleType("0.00"));

asset.setCHILDREN(aa[0].getISRUNNING());

// 值为mxbooleanType,由于我们的这个类型有错误,直接使用会不行,所以先查询一个//现成的资产,然后取里边的值。

asset.setDISABLED(aa[0].getISRUNNING());

asset.setORGID(aa[0].getORGID());

asset.setAUTOWOGEN(aa[0].getAUTOWOGEN());

asset.setMAINTHIERCHY(aa[0].getMAINTHIERCHY());

asset.setMOVED(aa[0].getMOVED());

asset.setISLINEAR(aa[0].getISLINEAR());

asset.setSFXB(aa[0].getSFXB());

MXASSET_ASSETType[] MXASSETSet={asset};

parameters.setMXASSETSet(MXASSETSet);

CreateMXASSETResponseType response =

proxy.createMXASSET(parameters);

}

public MXASSET_ASSETType[] query() throws RemoteException{ QueryMXASSETType parameters= new QueryMXASSETType();

MXASSETQueryType MXASSETQuery = new MXASSETQueryType();

MXASSETQuery.setWHERE("assetnum='3020040300001'");

parameters.setMXASSETQuery(MXASSETQuery);

QueryMXASSETResponseType response =

proxy.queryMXASSET(parameters);

return response.getMXASSETSet();

}

执行:new ProCenter().create(); 效果如下:

创建资产时同样要指定必要的资产属性,比如assetnum siteid,这里assetnum 只要不与系统中已有资产编号重复,就可以成功create,是不会走编号规则审查工作的。

注意对MXDatetimeType 的处理和对mxbooleantype的处理。

MXSR接口的测试。

再次在本项目上new other web service client;

.

Finish。

同样还是会出现那两个boolean值得报错,注释掉就行。

当前maximo系统,资产模块中有一项是历史维护记录,其实是服务申请,这里可以将其作为资产的历史变更记录。Ticket 的SR。

同样的,SR里边也要设置一些必要的属性:

MXSR_SRType SR=new MXSR_SRType();

MXStringType CLASS=new MXStringType("SR");

MXStringType SITEID=new MXStringType("9");

MXStringType ASSETNUM=asset[0].getASSETNUM();

Calendar currenttime=Calendar.getInstance();

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd

hh:mm:ss");

Date date;

try {

date = sdf.parse(dateTime);

currenttime.setTime(date);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

MXDateTimeType CHANGEDATE =new MXDateTimeType(currenttime);

MXDateTimeType REPORTDATE =new MXDateTimeType(currenttime);

MXStringType CHANGEBY=new MXStringType(accountName);

MXStringType FR2CODE_LONGDESCRIPTION=new

MXStringType(all.toString());

MXStringType DESCRIPTION=new MXStringType("资产信息变更记录from**");

MXStringType REPORTEDBY=new MXStringType(accountName);

SR.setASSETNUM(ASSETNUM);

SR.setSITEID(SITEID);

SR.setREPORTDATE(REPORTDATE);

SR.setCHANGEBY(CHANGEBY);

SR.setSTATUS(new MXStringType("已关闭"));

SR.setCHANGEDATE(CHANGEDATE);

SR.setDESCRIPTION(DESCRIPTION);

SR.setCLASS(CLASS);

SR.setFR2CODE_LONGDESCRIPTION(FR2CODE_LONGDESCRIPTION);

SR.setREPORTEDBY(REPORTEDBY);

MXSR_SRType MXSRSet []={SR};

initParameters.setMXSRSet(MXSRSet);

只有指定了必要的assetnum 和siteid 这个维护记录才能对应到资产的维护记录里。SR的增删改查的方法跟asset的类似。这里不再阐述。

下面为 ProCenter,创建webservice,对外开放。

配置好server,这里是 tomcat6

新建了个class :ProRequest,建一个方法queryAsset

还是在本工程上,new →other →web server

将prorequest中添加点东西:

package com.ibm.maximo.custom;

import java.rmi.RemoteException;

public class ProRequest {

public void queryAsset(){

try {

System.out.println(new ProCenter().query()[0].getDESCRIPTION()); } catch (RemoteException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

保存。

访问下地址

http://51.96.20.61:8080/ServerClient/services/ProRequest?wsdl

能打开说明发布的webservice没问题。

下面测试一下这个webservice;

新建一个java project名为ServerClientTest:

在该工程上新建 web service client

Service definition:

http://51.96.20.61:8080/ServerClient/services/ProRequest?wsdl

Finish。看到:

建立一个test 测试类:

package com.ibm.maximo.custom;

import java.rmi.RemoteException;

public class test {

public static void main(String[] args) throws RemoteException { ProRequest pro = new ProRequestProxy();

pro.queryAsset();

}

}

执行后(切换控制台)结果:

至此测试自定义的webservice 工作成功完成。后续,在serverclient中,对ProRequest 类进行其他的丰富化,比如加入资产类别、资产地区、资产状态、资产属性名等的对应关系,从而真正实现第三方系统与maximo的集成。

Maximo7 新特性

Maximo7 新特性 概述 1、保持了一个平台多个关键流程的策略 2、降低了购买成本和迁移成本 3、增强了线性资产管理,工作管理和任务管理功能,提高了 实用性。 详述 1、线性资产管理(Linear Assets) 比如:公路管道铁路 2、一个工单上多个资产或位置 一个工单上允许关联多个资产和位置,没必要子工单和任 务。然而,Maximo7.1 不支持资产和位置级别的费用分担,工单仍只有一个分类帐科目(GL Account) 3、增强了资产异动功能 4、自动工作流控制-状态管理 预定义工单和任务的关联,前置任务complete后,下一任务自动in process,所有任务完成后,工单自动complete 5、新的活动&任务应用程序

6、任务级的附加文档管理功能 7、作业计划可以建立层次结构 8、分类属性(Classification Attributesclassfication )可以分类。 除了资产、位置和库存之外,分类可以用在解决方案(Job Plan's Solutions)和配置项应用程序(CI)。 9、工单应用程序更新 工单新增一tab页,用来展示关联的所有类型的工作票和 预防性维护和检修路线等。 10、标准作业计划模板 11、工单和任务的所有关系 工单和标准作业计划建立owership关系,工单中的任务与 标准作业计划中的任务(task)同样建立owership关系。 12、允许将来的日期 13、巡检路线 巡检路线可以作为子工单,工单的任务 14、资产 汇报、管理停机时间 资产组(Asset Collections) 库存发放库存项目到资产。若为周转资产,则可以作为资 产的一个子资产。 15、库存项目状态 Item 、Service、Tools 具有了状态,并且可以定制工作流

工作流绘制

Maximo工作流绘制 类别maximo Maximo它是一个平台,用户可以标准实施也可以定制进行二次开发。Maximo为二次开发提供了几样非常实用的工具:数据库配置、应用程序设计器、域、基类、工作流设计器。其中工作流设计器也是非常实用的工具,它为企业业务重组提供了极大的方便。 一、认识画布 工作流设计器的画布上有很多东东,来认识下吧! 按照业务流程绘制工作流程,配置节点、操作等设置。 点击【转到】——【配置】——【工作流】——【工作流设计器】,进入工作流设计器,在该页面中绘制工作流和配置节点、操作等设置。 注意:已经激活的工作流程不能再更改,只能创建新的过程修订本后在新的修订本中进行修改。 简单示例流程:

二、配置节点、操作等设置 1.开始和结束节点不能改变任何设置; 2.给任务节点分配角色、通讯模板: 3.条件判断节点配置: 表达式:根据该条件表达式满足与否来控制流程流向。表达式可以根 据表达式构建器

4.手工节点配置: 5.子流程节点配置: 6.交互节点配置: 7.操作(连接线)配置: 三、验证、启用和激活工作流 工作流绘制后,需验证、启用和激活才能用。验证会检查绘制的工作流各节点和操作流程走向及判断条件是否合理。

绘制好后的工作流程必须经过下述过程: 1.验证过程:系统验证定制的过程是否符合设计规范。 2.启用过程:使过程能够使用。要使过程处于非启用状态,需先使过程处于非激活状态。如果有父过程引用该过程,则先需使其父过程处于非启用状态。 3.激活过程:使过程处于活动状态。 4. 添加工作流到应用程序:在应用程序的操作菜单中添加工作流菜单。 四、如何启用有子流程的流程? 有子流程的流程比较特殊,它要先绘制好子流程并验证、启用和激活,这时子流程可以用了,但在走流程时会出现提示,让你选择流程。有子流程的应该一般发生如【工单跟踪】这样的应用里,【工单跟踪】将电气工作票、机械工作票、动火票、倒闸操作票等应用的单据集合在一起,它从一个父流程开始,然后判断是电气工作票还是机械工作票还是动火票还是倒闸操作票,如果是电气工作票则调用电气工作票子流程。 要正常配置好父子流程: 1.先找到主流程(即上面说的【工单跟踪】的流程),再转到【选择操作】-【“编号工作至”按钮】

maximo二次开发

一, MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个: psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应 的业务逻辑。 psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮 psdi.jsptags JSP标签 psdi.mbo 最核心的包 psdi.util 工具类 psdi.workflow 工作流对应的类 五,MAXIMO源码常见类 psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboSetRemote 这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。 例如WO和WOSET、PR和PRSET。 Mbo类是处理单条记录的类。 MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。 一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。 有MboSet得到Mbo是用getMbo()或getMbo(i)得到。 psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。 FldXXXX类,是操作字段的类,一般有下面四个方法 Init() 初始化工作 initValue() 初始化值时的工作 validate() 数据校验,一般在光标离开此字段的输入框时校验 action() 当validate执行完时,执行的动作 六,获取外表Mboset,其中红色字体为表名。 MboSetRemote persongroupteam = MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", getUserInfo()); 设置满足条件的数据: persongroupteam.setWhere("RESPPARTYGROUP = '" + userName + "'"); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段, 这句的意思是搜索出满足字段的USERNAME的记录集。 1、MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个:

MAXIMO系统开发和实施方法

MAXIMO系统开发和实施方法 MAXIMO系统开发和实施方法 (1) 简介 (2) I. 项目启动阶段 (2) II. 设计和开发阶段 (2) III. 系统实施/投产阶段 (3) 阶段1:项目启动 (4) 1.0 项目定位 (4) 2.0 技术环境/架构计划 (4) 3.0 软件安装和调试 (4) 4.0 实施项目组定位和培训 (5) 5.0 需求分析/用户点评估 (5) 阶段2:设计和开发 (5) 6.0 详细说明开发 (5) 7.0 应用设计和开发 (6) 8.0 系统测试 (6) 阶段3:系统实施/投产 (6) 9.0 用户和系统培训 (6) 10.0 数据转换/数据导入和系统投产 (7) 11.0 实施评估和计划 (7)

简介 MRO Software公司采用一种“闭环”的系统开发和实施方法,以确保及时、高效的、统一的、成功的实施结果。这种方法基于每个用户的需求是独特的和重要的这个概念。通过与我们的用户/合作伙伴的协商,MRO SOFTWARE将实施计划进行剪裁,将MAXIMO进行客户化以达到每个用户/合作伙伴的特定的要求。无论我们的客户/合作伙伴的实施目标和预算情况如何,MRO SOFTWARE 的实施方法都是灵活的和可衡量的,它提供了最合适的解决方案。 MRO SOFTWARE系统实施方法由三个独特的实施阶段组成:项目启动,设计和开发,以及系统实施和投产。下面是对组成每个阶段的主要任务或活动的描述。 I. 项目启动阶段 实施启动阶段通过定义或进一步精炼项目的工作范围和业务目标,建立技术环境,以及维项目组成员提供产品培训,奠定了一个成功项目的基础。项目启动阶段的主要任务或活动包括: ?适用性评估/成本估算(Fit Assessment/Cost Estimates) ?项目组织机构(Project Organization) ?技术环境/架构计划(Technical Environment/Infrastructure Planning) ?软件安装和调试(Software Installation and Tuning) ?实施队伍的产品定位和培训(Implementation Team Product Orientation and Training) ?需求分析/各用户点评估(Requirement Analysis/Site Assessment) ?实施计划开发(Implementation Plan Development) II. 设计和开发阶段 设计和开发阶段包括了所有与开发和/或剪裁MAXIMO,使其达到每个用户/合作伙伴的特定需求相关的任务。本阶段的主要任务或活动包括:?当前的及期望的流程模型(Current & Desired State Process Modeling)

Maximo安装部署

Maximo安装部署 作者:王胜华 对Maximo这样一个基于Java平台的EAM部署,应该从它的结构来分步操作。 Maximo由运行容器、数据库服务器和报表服务器三部分组成。

按Maximo的结构,应分四步安装部署: 1、安装Weblogic运行平台; 2、安装Oracle数据库; 3、发布Maximo(为什么是发布,不是安装呢——Maximo经二次开发再使用,开发后一般不会再打包,直接发布更方便些); 4、发布acweb,安装Actuate iServer,安装百科全书,导入百科全书。 各介质的安装都是向导式安装,都是大同小异,现将安装及部署过程的特殊细节一一记录下来。 我安装的是Weblogic8.1,安装后在建立域时,通常选择SUN JDK1.4.xx,若在环境变量里设计JDK1.6,报表运行不起来,JDK1.5版本的还行。最好将环境变量的JDK设为Weblogic8.1自带的。 在建立域后,需要修改启动变量,在startWebLogic.cmd文件中,设置内存参数 set MEM_ARGS=-Xms128m-Xmx1024m-XX:MaxPermSize=128m这些值是区分大小写的。它们指定最小内存和最大内存。(当不是sun jdk时,去掉-XX:MaxPermSize=128m参数)位于%bea%\weblogic81\common\bin中的commEnv.cmd文件,会被startWebLogic.cmd等文件调用,其中需要一个数据连接包oraclethin.jar。在Oracle作为后台数据库下,commEnv.cmd必须将oraclethin.jar包含在Classpath中。先将oraclethin.jar复制到%bea%\weblogic81\server\lib目录下,然后在weblogic81\common\bin\目录中找到commEnv.cm文件,用记事本打开,查找WEBLOGIC_CLASSPATH=,把%WL_HOME%\server\lib\oraclethin.jar;加入到等号后。 Oracle没什么问题,按向导安装一点问题都没有。

maximo二次开发

一,MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个: psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应 的业务逻辑。 psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮 psdi.jsptags JSP标签 psdi.mbo 最核心的包 psdi.util 工具类 psdi.workflow 工作流对应的类 二,MAXIMO源码常见类 psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboSetRemote 这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。 例如WO和WOSET、PR和PRSET。 Mbo类是处理单条记录的类。 MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。 一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。 有MboSet得到Mbo是用getMbo()或getMbo(i)得到。 psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。 FldXXXX类,是操作字段的类,一般有下面四个方法 Init() 初始化工作 initV alue() 初始化值时的工作 validate() 数据校验,一般在光标离开此字段的输入框时校验 action() 当validate执行完时,执行的动作 三,获取外表Mboset,其中红色字体为表名。 MboSetRemote persongroupteam = MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", getUserInfo()); 设置满足条件的数据: persongroupteam.setWhere("RESPPARTYGROUP = '" + userName + "'"); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段, 这句的意思是搜索出满足字段的USERNAME的记录集。 1、MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个:

Maximo二次开发培训

二次开发培训 1、二次开发介绍 1.1、对象及属性 设计好表结构后,通过MAXIMO中“数据库配置”应用程序创建表。创建过程中需要注意以下属性: 1.1.1、对象选项 1.1.2、属性选项

1.2、MBO介绍 如果需要在新建的对象中加入特殊的业务逻辑,则需要自己编写MBO,并部署到相应的对象。 操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。如下图所示: 1.2.1、MBO介绍 Mbo可理解为数据库中某一条记录,其方法都是对记录的操作,如:添加、删除、修改等。

1.2.1.1、MBO中常用的方法 1.2.2、MboSet介绍 MboSet可以理解为Mbo的集合,既多个Mbo。其方法都是对整个Mbo集合的操作。 1.2.2.1、MboSet常用方法

1.2.3、字段绑定逻辑介绍 如果需要在指定的字段上加入特殊的业务逻辑,则需要自己classes,并部署到相应的字段上。必须继承psdi.mbo.MboValueAdapter或 psdi.mbo.MAXTableDomain(弹框)。 操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。保存修改后,需要停止服务,执行configdb.bat使更改生效。如下图所示: 1.2.3.1、字段绑定类中常用的方法

1.3、AppBean介绍 AppBean用于实现MAXIMO6中应用程序的界面操作控制,如界面的新建、保存、发送工作流等。在HARV-EAM系统中可参考“采购单”应用程序的AppBean,harv.webclient.beans.po.CtmPOAppBean。 1.3.1、AppBean常用方法介绍 1.4、DataBean介绍 DataBean用于实现MAXIMO6中特定数据源的界面操作控制,如弹出窗口中按钮的事件等。在HARV-EAM系统中可参考“采购单”应用程序的DataBean,harv.webclient.beans.pocheck.SelectPoCheckLineBean。

IBM MAXIMO7应用开发手册1

Linux is anywhere.. M A X I M O7应用开发 参考手册

前言 编制本文档的目的是为了给基于M a x i m o7平台的应用程序开发人员提供向导。

目录 前言 (1) 目录 (2) 1环境搭建 (3) 1.1运行环境搭建 (3) 1.2E CLIPSE集成开发环境 (3) 2命名规则 (3) 2.1目录结构 (3) 2.2类命名 (3) 3数据库配置 (4) 3.1创建对象(表) (4) 3.1.1对象标签页 (4) 3.1.2属性标签页 (5) 3.1.3关联标签页 (5) 3.1.4应用数据库变更 (6) 4关于域 (9) 4应用程序设计器 (10) 4.1添加自定义模块 (10) 4.4添加增删改查按钮 (13) 4.5分配权限 (14)

1环境搭建 环境搭建分为运行环境和Eclipse集成开发环境两部分。 1.1运行环境搭建 运行环境的搭建,请参照【房费收费系统运行环境配置手册】 1.2 Eclipse集成开发环境 集成环境的配置,请参照【房费收费系统Eclipse集成环境配置手册】。 2命名规则 主要叙述本次基于MAXIMO7平台下开发过程中的命名规范。 本次开发主要涉及应用程序业务逻辑类和页面操作类两部分。 应用程序业务逻辑类主要包括对数据库增删改查等一系列操作。 页面操作类主要对应画面按钮动作。 2.1目录结构 应用程序业务逻辑类放在//maximo/businessobjects/classes文件夹下 结构为:antu.app.XXX(例如房租金相关页面antu.app.fzj) 页面操作类放在//maximo/maximouiweb/webmodule/WEB-INF/classes文件夹下 结构为:antu.webclient.beans.XXX(例如房租金相关页面antu.webclient.beans.fzj) 2.2类命名 尽量和MAXIMO原有类保持统一命名风格。 不可改写MAXIMO原有类,仅可以通过继承的方式完成代码编写。 应用程序业务逻辑类:对应表名+父类简称 例如减免特画面对应主表为RENT_JMT 当父类为MboSet时,则对应类名为RENT_JMTSet 页面操作类:拼音简称+AppBean 例如减免特画面简称为JMT,则对应类名为JmtAppBean

maximo经验上

MAXIMO入门培训 M A X I M O入门培训 目录 MAXIMO入门培训 (1) 1.MAXIMO使用技术介绍 (2) 2.MAXIMO程序结构 (3) MAXIMO程序简介 (3) 3.MAXIMO页面开发 (7) 界面示例 (8) 常用控件 (8) 4.MAXIMO工作流开发 (9) MAXIMO工作流模型 (9) 工作流涉及的应用程序 (9) 工作流组件、标记 (10) 工作流实践 (11) 5.MAXIMO后台任务开发 (13) 界面配置 (13) 代码开发 (13) 6.MAXIMO数据库配置 (14) 界面配置 (14) 更新数据库 (14) 7.MAXIMO代码开发 (16) MboSet 例子 (16) Mbo例子 (17)

FldXX例子 (18) 8.Mbo中常用类及说明 (19) add(). 20 appValidate (). 20 canDelete(). 20 checkFieldAccess(). 20 clear(). 20 copy(). 20 delete(). 21 getXXXX(attributeName). 21 getInitialBaseLanguageString(). 21 getInsertCompanySetId(). 21 getThisMboSet(). 21 init(). 21 initialize(). 21 isModified(). 22 isModified(attribute). 22 isNew(). 22 isNull(attributeName). 22 isSelected(). 22 modify(). 23 rollbackToCheckpoint(). 23 setFieldFlag(attributeName, flag, state). 23 setFlag(flag, state). 23

相关主题