版本作者参与者起止日期备注V1.0罗慧2007-11-5V1.1徐永远2007-11-7V1.2徐永远2007-11-8V1.3魏明智2007-11-22V2.0魏明智2008-3-271文档描述1.1目标和范围编制本文档的目的是为了给开发Maximo6.20应用程序提供向导。1.2定义和缩写Abbr.DefinitionMaximo620美国MRO公司(原PSDI公司)出品的企业资产管理产品,版本6.201.3参考DocumentNameDocumentTitle开发模式.doc1.4角色职责RolesResponsibilities罗慧撰写本文档徐永远审核修改本文档魏明智添加丰富开发指南。2命名规则2.1基本准则1、总体说来,按照Maximo的包结构,存放相应的类,将psid改为com.jxkj即可。2、公司开发的类,统一放在com.jxkj包中。3、应用程序业务逻辑类,请放在com.jxkj.app.包中。4、应用程序的页面操作类,请放在com.jxkj.webclient.beans.包中。5、工作流过程名,一般为应用程序的名字。6、主表与子表之间的联系名,请直接使用子表的名称。2.2类名的命名规则以下的规则,按优先级,从高到低排列,如果有冲突,请按优先级高的方式命名。1、关于类名的命名规则,请多多熟悉Maximo本身源码类名的命名规则。2、扩展原有的类,请不要使用相同的名字,最好加上“Jx”关键字。3、直接从Mbo或StatefulMbo继承的类,最好使用表名作为类名。4、直接从MboSet继承的类,最好使用表名加上“Set”作为类名。5、远程接口的名称,最好都加上Remote。6、字段的类名,最好以Fld开头。3开发说明3.1搭建开发环境3.1.1Maximo6.2发布为开发模式Maximo6.20采用的是ear包发布到weblogic8.1中的,为了方便开发与测试,我们需要将其发布为开发模式(非产品的EAR模式)。1、将maximo.ear解压到maximo文件夹。(怎么解压不用我说了吧!)2、再将解压后的目录中的文件businessobjects.jar解压为businessobjects.jar文件夹。注意文件夹名要与原文件名相同。3、同理,解压maximouiweb.war以及properties.jar4、完毕3.1.2配置Eclipse集成开发环境对于Maximo6的二次开发,这里推荐使用基于eclipse的集成开发环境。1、安装Eclipse;2、安装MyEclipse,并注册(MyEclipse-UpdateSubscription);3、安装RMI插件?解压net.genady.rmi_1.6.5.zip到%eclipse%目录;?拷贝rmi.jar到%eclipse%\plugins\net.genady.rmi_1.6.5directory?在命令行下运行“javaKeygen”生成license;?在菜单中选Window\Preferences\Java\RMI,填入License;?使用RMI进行编译4、集成应用服务器?点击窗口-〉首选项配置与Myecplise相关的信息?在myeclipse中配置ApplicationServers相关信息说明:?weblogic8配置选择Enablebea根目录:安装bea的目录如(c:\bea)weblogic81的根目录如(C:\bea\weblogic81)domain的用户名:登陆控制台的用户名domain的密码:登陆控制台的密码domain的路径:如C:\bea\user_projects\domains\SCMISdomain的名称:发布的domain的名称服务的名称:如myserverIP地址和端口号:localhost:7001安全文件:C:\bea\weblogic81\server\lib\weblogic.policy这样,你就可以在eclipse中启动和停止服务了。?JDK配置:建议使用BEA带的JRE,以提高执行效率点击ADD增加bea提供的JRE,同时为该JRE指定参数:指定的参数为:-ms256m-mx512m-Djava.library.path=C:/bea/weblogic81/server/bin-Dweblogic.management.discover=false-Dweblogic.ProductionModeEnabled=false?在path中增加classpath在Weblogic8下面配置Paths,加入BEA安装路径下/weblogic81/server/lib中的webservices.jar和weblogic.jar两个包。如果需要其他的包,也在这里加入,建议加入oracle对应的驱动程序包。这样就可以在eclipse中进行单步调试了,只要你在eclipse里启动服务后,设置断点,当程序运行到断点时,就会进入eclipse的调试模式,同时针对表现层的程序支持热发布。针对MBO等程序可以进行单步跟踪。?其他的配置根据大家自己的喜好进行配置。?在窗口-〉首选项-已安装的JRE中调整JRE的缺省参数5、创建工程创建一个“JavaProject”,加入一些必须lib,参考下图所示。其中maximouiweb.jar是手动将maximo\maximouiweb.war\WEB-INF\classes下的文件打包而成,其余都可以拷贝现成的。6、使用ant部署开发环境怎么安装ant就不用我说了吧!只提供一个build.xml文件作为模板?xmlversion=1.0?projectname=Maximo620CopyFilesbasedir=.propertyname=BOpathlocation=D:/maximo620/Maximo/deployment/develop/maximo/businessobjects.jar/com/jxkj/app/propertyname=WebPathlocation=D:/maximo620/Maximo/deployment/develop/maximo/maximouiweb.war/WEB-INF/classes/com/jxkj/webclient/targetname=copybusinessobjectsdescription=将编译过的class考贝到maximo的发布目录(业务类)copytodir=${BOpath}filesetdir=classes/com/jxkj/appincludename=**/**.class//fileset/copy/targettargetname=copywebclientdescription=将编译过的class考贝到maximo的发布目录(客户端类)copytodir=${WebPath}filesetdir=classes/com/jxkj/webclientincludename=**/**.class//fileset/copy/target/project7、运行跟踪3.1.3配置JBuilder集成开发环境3.1.3.1配置weblogic1、打开Jbuider2、选择菜单Enterprise-ConfigureServers3、配置如下信息:参数参考:HomeDirectory:D:/bea8/weblogic81/serverMainClass:weblogic.ServerVMParameters:添加-Xms512m-Xmx924m-XX:MaxPermSize=256m,其它保持不变。ServerParamters:Workingdirectory:选择你发布的域。4、配置Custom如下图:5、新建工程,选择project-projectproperties-server配置服务如下图:6、新建一个调试环境,project-projectproperties-run-new-runtype选择server,其它默认即可。3.1.3.2配置类选择project-projectproperties-path,如下图示:注意:JDK版本,一定要用Weblogic8自带的JDK,保证兼容。3.2第一个应用程序3.2.1业务描述做一个单表的增、删、改、查业务,以下业务为黄龙滩实际程序。3.2.1.1应用设计属性描述应用程序名Abnormity(异动)应用程序模块名ASSET应用程序位置371应用程序表Abnormity(主对象)应用程序关联表Asset(资产):与资产表通过AssetNum字段关联,在Asset应用程序中添加显示资产异动情况的显示。资产应用中可以编辑异动情况。Location(位置):与位置表通过Location字段关联,在Location应用程序中添加显示位置异动情况的显示。位置应用中可以编辑异动情况。说明3.2.1.2数据表设计3.2.1.2.1设备异动Abnormity字段名类型列标题说明AbnormityIdInteger(12)请假标识唯一标识,系统自动生成,不要改。CHANGEBYUPPER(30)更改人=PERSON.PERSONIDCHANGEDATEDateTime更改时间默认为SYSDATEHISTORYFLAGYORNnotnull历史标志默认为0AbnormityNumupper(12)notnull单号自动增长DescriptionALN(100)描述有长描述ASSETNUMUpper(30)资产编号=Asset.AssetNum,资产与位置必填一个LOCATIONUpper(30)位置编号=Locations.Location,资产与位置必填一个LaunchDateDate投运时间SourceParamALN(100)原设备参数有长描述AbnormityDateDate异动时间NewParamALN(100)异动后参数有长描述ReasonALN(100)异动原因有长描述SITEIDUPPER(8)地点标识符=SITE.SITEIDORGIDUPPER(8)组织机构=ORGANIZATION.ORGID主列:AbnormityNum,SITEID3.2.2开发步骤3.2.2.1第一步建立数据表1、启动Maximo,转到配置,数据库配置。2、点击新建对象。3、输入相关信息,如下图,注意这里对象即是表名ABNOREMITY、服务输入CUSTAPP、级别选择SITE,如果不是工作流表,请不要选中主对象,存储分区,是你的分区表空间。4、添加字段信息,注意,新建表之后,系统会自动生成一些字段,并未在表设计中,写出来,默认即可。5、da3.2.2.2第二步建立应用程序3.3创建域3.3.1域的分类域即是值列表,是用于对象属性值的选择列表。Maximo6中域分ALN域、同义词域(Synonym)、数字域(Numeric)、数字范围域(NumericRange)、表域(Table)、交叉域(CrossOver)。域的主要信息保存在MAXDOMAIN表里,字段值保存在相应的表中,其中的对应关系如下图所示:例如:对于一个同义词域,可以看到在MAXDOMAIN表中有一条记录对应和在SYNONYMDOMAIN表中的若干条记录。MAXDOMAINTableDOMAINIDDOMAINTYPEMAXTYPELENGTHDESCRIPTIONPOSTATUSSYNONYMUPPER6POStatusSYNONYMDOMAINTableDOMAINIDMAXVALUEVALUEDESCRIPTIONPOSTATUSAPPRAPPRApprovedPOSTATUSCANCANCanceledPOSTATUSCLOSECLOSEClosedPOSTATUSINPRGINPRGInProgressPOSTATUSWAPPRWAPPRWaitingonApproval