windchill业务
更新时间:2024-04-24 13:32:01 阅读量: 综合文库 文档下载
Info*Engine 的数据管理
Info*Engine 的数据管理机制基于5 个基本的概念:JSP、Task、Webject、Group 和Virtual Database(VDB)。JSP 页和Task定义了Info*Engine 如何获取和显示信息。Webject 则能够被JSP 页和Task 组织起来,具体实现数据的收集、处理和显示。Group 是JSP 页和Task 生成的信息块。VDB 是Group 的存储区域。
Info*Engine 的JSP 页面包含Info*Engine 的自定义标记,主要封装了一些可重用的功能,用于简化JSP 页和Task 文件的实现。
Task 的基本语法与功能JSP 相同,但不包含如HTML 标记等显示组件,因此不提供数据显示功能。
Webject 将特定Info*Engine 功能封装成一条命令,JSP 页和Task 可以通过调用这些Webject 达到动态的组织、处理信息的目的。
能够返回的数据Webject 被调用时会创建一个Object Group。Object Group 存储于VDB,并确保具有唯一的命名。
对task的作用和具体说明在jiaocai\\教材\\ 07_Windchill 9.x Client Customization Exercise Book.pdf中,具体参考文档 //创建一个task
<%@taglib uri=\//添加一个Get-Properties的webject对象
// 这个webject将返回一个wt.federation.ie.VMName对象 //添加一个通过名字查询产品 //定义一个instance作为wt.federation.ie.VMName的”properties”组的字段 //添加webject来创建文件,指定它的properties,CONTAINER_REF(对应的容器),所创建的类型(type)及字段(field,也就是文件的名称) Jsp的客户端架构(jsp client achitecture简称JCA)UI技术的相关列表: Jsp pages (jsp的页面内容) Java beans Custom tags/taglibs 自定义标签/标签库 Java service Javascript JCA(jsp client architecture jsp客户端架构)是一个完整的框架 它包括(classes,method,property files,customization points),它有以下功能 1、 用一种共同的方式支持检索和显示数据 2、 支持客制化 3、 保持客制化的文件和ootb文件分开 4、 支持resource bundles和localization 5、 验证表单和数据 Jca是netmarket基础上的一个扩展,所以许多的JCA对象和类前面都有一个nm的前缀 如:NmCommandBean NmContext NmContextItem NmCustomRole Action: 在windchill页面和逻辑上一个组合的链接的显示,当链接触发时执行 它在UI中表现为文本,图标,导航选项卡,菜单项等 JCA对象中表示一个action的是NmAction 它被定义在结尾为action.xml中 ActionModel: 一个逻辑相关的action的集合 Action model的内容为actions 或者是action model(即action model可以嵌套,如在二级下拉框中) 在jca中,NmHTMLActionModel对象表示action model Jca的actionmodel都定义在以actionmodes.xml结尾的文件中 Action Service service用于检索action和action models 通过一个action 的id(from action.xml),返回一个action(NmAction) 通过一个action model的id(from actionmodels.xml),返回一个action model(NmHTMLActionModel) 它在Windchill Method Server上运行 StandardNmActionService实际上是一个类 UI Component Validation(界面组件验证) Component Validation也成为UI validation,action Validation,或者仅仅为Validation 作用:它确定界面上什么东西应该出现 它包括三种类型的验证: A、 Pre-validation(预验证) 它决定一些东西是否出现在界面上 在actions或者attributes执行 B、 Post-Select Validation(选择验证) 选定某个东西后,对应的action是否允许被执行 C、 Post-Submit Validation(提交验证) 它决定用户提交的表单中所输入的数据是否合法 在客户端的验证使用的是JavaScript,在Method Server上的验证使用的是validation service 和 validators. UI Component Validation Service(UI组件验证服务) Component Validation service也成为UI validation service,action Validation service,或者仅仅为Validation service 给一个UI element (action或attribute),将返回一个结果是否使用该UI elements在给定的context中有效 代表validators执行实际的逻辑决定有效性 它可以调用Pre-validation,Post-Select Validation,Post-Submit Validation 在Method Server上运行 它所代表的类是StandardUIComponentValidationService UI Component validator(UI组件验证器) 也称为“action validator”或“validator” 代表UI Component Validation Service 包含业务逻辑来验证一个或多个UI组件(actions和attribute) 一个单一的validator可以包含Pre-validation,Post-Select Validation,Post-Submit Validation。 它是DefaultUIComponentValidator的一个子类 NmCommandBean 又名为Command Bean 包含HTTP request和所有JCA状态信息 所有JCA代表和组件可以使用这个数据来执行他们的逻辑 主要目标是给一些类型的MVC给不同的组件 Javadoc改善一些方法的描述 Object Reference 轻量级处理持久化(为Windchill business objects持久化的一个超类) 它代表数据库中的一行 它有两个关键的属性:表名和row 的id Version Reference 轻量级处理一个Version 的持久化 代表一个对象的一个分支的一行 每个分支都有许多与像ClearCase的分支相关的对象 它有两个关键属性:表名和branch(分支)的id 每个分支上一定有唯一的一个最新标识的对象,所以得到一个持久化的version Reference经常会扩大对象的最近迭代。 begin.jspf 将所有的JCA的状态数据添加到HTML页面和请求的jSP片段 初始化所有的JCA beans(例如NmCommandBean , NmSessionBean) 包括JCA的JavaScript文件 负责绘制windchill的头文件和全局导航 包含执行action的逻辑 NmSessionBean 又名为“Session Bean” 包装JCA的Session state 包含辅助APIs获取和设置preferences 用于在请求和缓存之间传递信息来减少RMI次数 NMOid Windchill WTReference的JCA包装(这可能是一个Object Reference, Version Reference) 在windchill中一个轻量级持久化 尝试隐藏一些不同类型的WTReference(如Version Reference和cachedObjectReference)的详细信息来提高性能 如一个字符串的例子:oid=OR: wt.org.WTUser:8897 NmSimpleOid 它是一个特别的NmOid类,它让开发者控制一些字符来表示页面上的一些对象 对于非持久化对象,NmSimpleOid是表示in-work(正在使用)对象的唯一途径。 通常它只是一个字符串类型的时间戳(如Example of a string: “oid=WTPart_3433048930”) 开发人员负责字符串的格式,这样就能够解析字符串和重建对象 NmSimpleOid经常被使用所以是更多的信息传递到row Descriptor 又名为Component Descriptor 这个对象包含一个JCA组件的properties 它有点像一个properties对象,但它能有子descriptors(孩子描述符)。 这个properties被一些tags使用来控制它们的行为 DataUtility 从行对象中创建表格单元格数据 它通过service.properties文件中被映射到列的id 它可获得任何对象的显示值 在URL的后面加上JCADebug=1可以看到一个table的所有数据集 DataUtility代表应该至少能从Persistables , Type Instances, and Info*Engine elements得到任一可见元素的值 GUI Component (图形界面) UI Bean对象代表每个表单元格中显示什么属性 这些数据实用程序应该返回的东西 例如:要显示row对象的图标,要使用IconComponent(extends from GuiComponent) 有一个HTML renderer映射到它,如何将一个IconComponent转换成一个 HTML tag 如果我们支持一些其他类型的显示,有一天有多个renderers映射到GUI Components getModel & getIEModel Tags 获取表中业务数据的标签 这个标签将用RMI调用Method Server The properties是方法调用(getModel)或Info*Engine Task(getIEModel) 这些标签作为在一个tableDescriptor tag(用来表示一个表的Component Descriptor)的输入 ModelCommand 它是getModel标签最终执行的对象,为了得到表的业务数据 它有很多子类,每个以自己的方式收集row-data ModelCommand有一个hard-coded 逻辑关于根据在jsp中指定的参数使用哪一个子类 例如:如果知道jsp指定的a service class 和 method name,就去构造一个ServiceModelCommand。 这个表中是一些JCA工具和实例 用Info*Engine来获取数据 在本示例中是查询wtpart,并将wtpart的两个属性输出到表格中 目标:创建一个info*Engine task来搜索数据 为这个info*Engine task创建一个task Delegate(任务委托)(即在实用程序中任务委派管理器)中创建委派 创建一个JCA标签的jsp页面,使用task Delegate来搜索数据 Step1:创建一个名为test的info*Engine task,返回两个属性名称,版本 A、 创建一个文件在WT_HOME/tasks/com/gsdev/client/test.xml B、 在文件中添加一个Query-Objects webject. C、 硬编码(硬编码是指将可变变量用一个固定值来代替的方法)的INSTANCE参数, 它对所有的wt.lifecycle.LifeCycleTemplates进行搜索 例如: <%@taglib uri=\ Step2:实现这个task Delegate(任务委托) A、 选择Site > Utilities > Task Delegate Administrator . B、 输入LDAp的管理员用户和密码(一般为用户:cn=manager 密码:ldap) C、 选择创建委托 D、 对于Repository Type(库类型),选择com.ptc.windchill E、 对于名称,随便你输入,在这里我输入test F、 对于Source URL(源URL),输入刚创建的名为test.xml的task的地址 G、 对于type,选择WCTYPE|wt.fc.Persistable . H、 选择创建 Step3:创建JSP页面 A、 创建一个jsp页面,把它放在WT_HOME/codebase/netmarkets/jsp/Lenovo/fru这个文 件夹下,名为testTask.jsp B、 打开这个jsp C、 添加begin.jspf 和 end.jspf语句 D、 引入JCA组件中的taglib指令 E、 添加2列的describeTable tag:name和number F、 添加getIeModel 标签,使用Info*Engine core tags来指明WHERE and TYPE G、 添加renderTable标签 H、 保存Jsp文件 例如: <%@ include file=\ <%@ taglib uri=\ <%@ include file=\ Step3:做国际化 为the table label ( “Search Results”)添加一个国际化。 配置task Dispatching 提供表单数据 如果jsp中的请求参数在你task中作为一个表单数据,那么,表单可以配置如下: 例如:这个页面的网址/somePage.jsp?foo=bar,那么这个task将form的foo映射到bar 步骤: Step1、在jsp页面中创建form group(使用Info*Engine’ s JSP tag library) Step2、指定group的name,作为getIeModel标签的一个属性 descriptor=\ form=\ 支持配置view的参数 在getIeModel中配置table view 步骤: A、 将当前table view的排序和筛选条件传递给你的task,使用 \,windchill库护短架构提供信息请求的component和视图中 显示的属性 Component使用配置的表 Task可以使用此信息来查询数据,,提供给task的参数映射到一个Query-Objects对象的子集 以下参数: B、 ? A TTRIBUTE: This contains the list of attributes the component wants to display C、 ? SORTBY : What attributes to sort by SORTED: The sort direction for each attribute D、 ? WHERE: Filter criteria E、 ? TYPE: The type or types to search for . F、 ? VERSION: Whether LATEST or ALL versions should be returned. G、 ? ITERATION: Whether LATEST or ALL iterations should be returned H、 ? A TTRIBUTE_TYPE_CONTEXT : 当提供多种类型,应作为一个上下文用于查找属性定义的类型 I、 ? P AGE_LIMIT : The number of results per page J、 ? P AGE_OFFSET : The first result row to return from the paging session, if any K、 ? P AGING_SESSION_ID: The current paging session id, if any 上面一个实例的另一个方法是用Java类来实现: 这里只写步骤: Step1、写一个java类,查询你所需要的类,如WTPart,类名为com.ptc.TestClient,然后返回一个含有WTPart的一个结果集,并生成相应的.class文件,放在codebase下对应的包里 Step2、用JCA框架来调用这个类并写在一个table中。新建一个jsp,添加以下内容: <%@ taglib uri=\<%@ include file=\ 再看一个与上个实例相似的东西—?视图和树形结构 serviceName=\ 这个用的也是java方法 以view为例子,先看它的步骤:可以综合上面那个例子: Step1、写一个java类,并在tree或者view中输出属性。将编译后的.class文件放到codebase对应的文件夹下 Step2、在codebase目录下注册一个服务,调用类 Step3、写一个jsp页面,用JCA框架下引用这个服务,并描绘一个tree或者view输出相应的属性 这个实例具体请见第5周学习总结 创建wizard的做法在jiaocai\\教材\\ 07_Windchill 9.x Client Customization Exercise Book.pdf的P77 面
正在阅读:
windchill业务04-24
FITR红外光谱仪确认方案07-07
审计基础知识综合练习10-21
浙江省杭州市萧山区瓜沥片2011-2012学年七年级数学第二学期5月四科联赛试题 浙教版12-10
粗酚分析02-29
STM32之USB host库:USBH_Process学习理解06-12
成长,需要不断反思自我作文300字07-09
数字电子钟设计说明书05-23
我的家乡内蒙古作文4篇02-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- windchill
- 业务
- 《公众舆论》读书笔记 - 图文
- 硝河乡卫生院乡村一体化管理实施方案
- MQT13030型锚杆钻机
- 英语单项选择题-词汇篇-答案详解
- 幼儿园教师师德承诺书
- 历史趣谈古代对付女犯最恐怖的9大刑罚:变态手段折磨人
- 中级财务会计重点例题
- MOS管驱动电路
- 北语18春《综合英语》(III)作业3
- 商场保安部门制度工作流程及工作手册
- 十二五继教培训教案 - 教学的技能在于用心
- ABAQUS常见问题汇总- 1.0版
- 凤翔泥塑暑期调研实践报告
- (通用版)2018版高三英语一轮复习 第1部分 基础知识解读 Unit 1
- 成都地铁建设工程标准化管理手册 - 图文
- 浅谈统计工作在企业生产经营管理中的重要性
- 四年级下册句型练习
- 塑料包装薄膜的性能与检测 - 图文
- 以氮气、氢气混合取代氨分解气的应用与实践
- (解析版)2014年全国中考物理分类汇编-力、运动和力