用友NC56开发培训技术介绍

用友NC56开发培训技术介绍

ID:35611834

大小:2.19 MB

页数:21页

时间:2019-04-01

上传者:U-9364
用友NC56开发培训技术介绍_第1页
用友NC56开发培训技术介绍_第2页
用友NC56开发培训技术介绍_第3页
用友NC56开发培训技术介绍_第4页
用友NC56开发培训技术介绍_第5页
资源描述:

《用友NC56开发培训技术介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

NC56开发培训技术介绍用友软件股份有限公司GBU客户化管理与支持部张乾 支持企业转型升级—NC产品发展线路NC1.0NC2.0NC3.0NC5.0NC5.6NC6.06543211998~20002000~20032003~20052006~20072008~20092010~集中财务核算高端ERP集中管理元数据管理与业务全球化WAS,服务器集群建模集团管控100%Java实现集团财务协同商务性能提升轻量级开发框架动态企业建模支持多硬件平台供应链多帐簿Portal多系统多集团多组织架构企业级信息搜索支持多数据库生产制造全面预算后台任务中心企业动态建模NCTools工作流平台平台化技术集团资金信息交换平台产品化集成开发平台应用集成全新UI及个性化中心用友中间件高性能集成开发平台整合IUFOJ2EE标准支持工作流引擎新界面风格分布式部署集团交付产业链支持应用平台构件深化 UAP分层结构图P表单设计器AU报表设计器基本应用服务应用模板打印设计器会计平台预警平台访问控制业务流程配置表单模板应查询设计器用UI数据缓存数据传输数据交换审批流配置报表模板业务流程框强大的建模工具、开发平台、客户化平设台计器多语言准则消息管理移动管理组织管理打印模板架规则设计器PA组织管理工具U基本技术服务胖客户引擎瘦客户引擎部署工具跨硬件平台、跨操作S系wing统Ui、跨JSP框数架据库登陆/CA认证任务调度异常缓存日志框架客户端安装工具技工作流规则引擎持久性框架基本算法JSP标签术SwingUi配置工具JavaScriipt控制框连接引擎同步SQL翻译器元数据管理脚本系统监视器架开放的业S务服O务A总线的(E框SB)架结构系J2EE服务器(WebSphere/WebLogic/UFIDAApplicationServer)Portal服务器统操作系统数据库框架Solaris/AIX/Linux/WindowsDB2/Oracle/SQLServer/OSCAR NCV5开发模型远程接口Impl远程接口实现类业务逻辑持久化,数据库操作数值VO类UI类 代码结构规范按接口编程---nc.itf.<模块>:表示该模块定义的接口---nc.impl.<模块>:表示该模块定义的接口实现---nc.vo<模块>:表示VO的实现---nc.bs.<模块>:普通的后台应用---nc.ui.<模块>.*:客户端代码将代码分区域存放---public接口和公共代码(比如VO和公共算法)---private实现和其它实现细节---client客户端代码---gen工具生成ejb目录--META-INF模块配置文件目录 区域存放结构规范 VO代码结构VO是ValueObject的简写,在NC中是一个抽象类,它实现了Cloneable和Serializable接口。是NC业务数据的载体在系统各层之间传递业务数据。CircularlyAccessibleValueObject是ValueObject的子类,提供了对自身的属性进行存取操作的方法。SuperVO是CircularlyAccessibleValueObject的子类,是NC系统中最常使用的VO类型,它与一张数据库表对应,可以方便的利用NC的JDBCFramework进行持久化操作。以上是对一个数据对象的抽象,在NC产品中,绝大部分功能是通过单据的形式提供的,而NC的单据大部分是一对多的关系,我们称之为一个主表记录对应多个子表记录。AggregatedValueObject就是用于存储一对多关系的主子表数据。对于一主多子的情况,实现IExAggVO接口。 定义和实现接口定义接口packagenc.itf.sample.service;publicclassIHelloWorld{StringsayHello(StringtoName);}实现接口packagenc.impl.sample.service;publicclassHelloWorldImplimplementsIHelloWorld{publicStringsayHello(StringtoName){return"Welcome"+toName+"exploreV5";} 通过XX.UPM文件部署组件nc.itf.sample.IHelloPubnc.impl.sample.HelloWorldPubnc.itf.sample.IHelloWorldnc.impl.sample.HelloWorldImpl 主要的配置属性组件分为公共组件和私有组件,分别在public段和private段公共组件的主要配置属性name:组件的名称,如果没配,默认为第一个接口的名称,如果没有接口,为实现类的名称singleton:是否为单例,默认为trueremote:是否能够被远程调用到,默认为false,远程组件必须要有接口tx:事务属性,NONE表示没有事务,CMT表示容器管理的事务,BMT表示Bean管理的事务cluster:标志组件的集群属性,默认为NORMAL,表示不是集群组件,SP表示为单点组件(必须有接口)supportAlias:默认为false,表示是否能够按照接口进行查找组件私有组件的配置属性除了没有remote,tx属性,其余属性都支持supportAlias建议为false 客户端调用IHelloWorldIhello=(IHelloWorld)NCLocator.getInstance().lookup(IHelloWorld.class.getName());ihello.sayhello();客户端和其他模块系统调用均通过NCLocator 启动中间件中间件配置:Navigate->Goto->Type找到“ufmiddle.start.tomcat.StartDirectServer”,然后Run,newNcApplication。programarguments设置如下:${FIELD_NC_HOME}/ierp/bin/prop.xml-Dnc.server.location=${FIELD_NC_HOME}-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs-DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLsVMarguments设置如下:-Dnc.server.location=${FIELD_NC_HOME}-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs-DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLsWorkingdirectory选择Other内容为${FIELD_NC_HOME} 启动JstarterNavigate->Goto->Type找到“nc.starter.test.JStarter”,然后Run,newJavaApplication。JavaBuildPath中添加“jdk1.5.0_07jrelibplugin.jar”。和jdk1.5.0_07libtools.jar UI控件简介为了便于UI构建和风格的统一,封装了一套NC的控件——NC_Bean。他们主要位于nc.ui.pub.beans包下。我们在构建UI界面时,应尽量使用NC_Bean提供的控件,如UIButton,UILabel等,通常其对应关系为UIXXX对应于JXXX,如UIButton对应于JButton,UILable对应于JLable。他们是通过扩展对应的java控件而来。NC控件的使用方式基本与NC标准控件相同。NC有一类特殊的控件---参照。它主要用于对特定数据可视化展现并供用户选择。 UI端类ButtonBarTitlePanelFramePanelToftPanel UI端类FramePanel+1+1+1+1+1ButtonBarToftPanel+1TitlePanel+n+1ButtonObject开发人员开发ToftPanel类并进行注册,框架运行时创建FramePanel实例,并进行按钮的展现和节点标题的展现。ButtonObject类是按钮对象描述类,用户在ToftPanel中进行按钮的注册以及按钮事件相应中的类型的区分。ButtonBar是框架提供的负责按钮展现的面板类。由框架负责实例化使用。TitlePanel用于显示节点描述,由框架负责实例化。 节点开发步骤扩展ToftPanel实现getTitle()方法在postInit()方法中初始化界面调用setButtons(ButtonObject[])方法设置菜单实现onButtonClicked(ButtonObject)方法响应菜单事件 UI端类注册节点注册提供在现有产品中增加功能节点的功能。注册一个功能节点,主要需要提供功能编码,功能名称,功能性质,对应文件名或控件名功能节点注册后,即可通过权限分配,分配给用户使用。在功能注册节点上,还可以注册菜单,用于分配菜单按钮权限。 日至和异常异常(BusinessException或BusinessRuntimeException)业务异常必须继承BusinessException,业务代码中的业务异常无需捕获,其他异常需要捕获后转换成自己的XXBusinessException,方法上只能抛BusinessException日志,客户端日志(Debug)和服务器端日志(Logger)DEBUG:输出普通的调试信息,主要用于开发环境的信息输出INFO:输出提示性的信息,如程序运行所花费的时间等WARN:输出警告性的信息,如系统设置了一个需要打开的文件,但是系统在打开他的时候有问题,而用了一个缺省的文件,为此系统还是能够正常运行,但却不符合某些期望,采用警告ERROR:错误信息输出,表示系统出了错误,影响了系统的功能,如系统抛出了一个NullPointException,系统不能正常运行。统运行时默认输出级别为ERROR 日志,SQL语句等调试信息logger-config.properties文件把anonymous.level改成TRACE,输出文件配置去掉anonymous.level=ERRORanonymous.pattern=[%t]%X{remoteAddr}%X{remotePort}%d{yyyy/MM/ddHH:mm:ss}[%A]%p-%m%nanonymous.file=./nclogs/${server}/anony-log.loganonymous.size.maxSize=5MBanonymous.size.maxIndex=20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭