TRP平台知识总结复习
2024-11-25 18:03:27 0 举报
AI智能生成
知识总结
作者其他创作
大纲/内容
技术平台
微服务开发框架
流水线
监控告警平台
服务治理工具
老IBE (xRez平台)
项目结构(smart_tomcat_ibe)
业务规则分类
config
datalists
基础的数据常量
itemlists
包含中、英文业务常量
language(页面内容)
中文简体zh
中文繁体cn
英文en
normalisation
处理数据的xsl,结果为页面需要的中间数据
rendering
从normalization获取具体的数据,渲染页面的xsl
schema
XSD文件
system(系统常量)
xsl
jsp
业务处理类jsp
命名类似Process***.jsp
渲染页面类JSP
Form类JSP,**Form.jsp
结果类JSP,**Result.jsp
公用JSP
错误页面JSP
struts
struts.xml
xml处理相关工具类
com.openjaw.utils.DOMtilities
将文件或者字符串转化为Document,将Document转化为字符串
com.openjaw.utils.OJXPathHelper
能处理复杂的XPath,根据XPath来实现
com.openjaw.xpath.OpenJawXPathAPI
只能处理简单的XPath,自己封装方法遍历实现,不需要传命名空间
com.openjaw.utils.DateUtilities
com.openjaw.utils.StringUtilities
常用jsp作用
common.jsp
commonNoErrorPage.jsp
beans.jsp
公用初始化useBeans
variables.jsp
初始化公用变量
methods.jsp
初始化公用方法
commonRequest.jsp
公用执行逻辑
页面跳转控制器
default
正常跳转
timeout
超时配置
login
需要登陆
sessionLocked
控制不允许重复刷新
常用form
configForm
比较特殊,保存系统配置(xRezConfigBean)
ibeForm
接收航班查询类请求或其它普通请求
checkoutForm
接收支付类请求
loginForm
接收登录类请求
profileForm
接收用户类请求
常用Bean
xRezConfigBean
加载应用配置项
sessionBean
拼请求
发请求
保存对象至session
从session中获取保存的对象
从session中移除对象
从session中获取form,没有则初始化form
Persist Form
客户端跳转
服务器跳转
itineraryBean
queuesBean
languageBean
内容管理CMS——多语言
itemList
内容管理CMS——itemList,存放较为复杂的内容
dataList
内容管理CMS——dataList,存放复杂的内容
loggerBean
locationHierarchy
xLocation工具类
renderingBean
格式化数据并渲染页面
paramList
配置知识点
查询航班报错时,需要修改 TS_IBE/xRez/ibe/common/config/system/common.xml 里的
https 为 http
https 为 http
首页打开很慢时,可以本地先注释掉 xRez/ibe/common/jsp/flightSearch.jsp 中读取
hotCity 的代码
hotCity 的代码
重点内容环境搭建
队列
数据库表
queueitems
queues
逻辑层队列操作
queuesBean.addQueueItem
queuesBean.removeQueueItem
规则中队列操作
QueueUtilities.addItemToQueue
QueueUtilities.deleteItemFromQueue
自动进程
TS_OJDynamicPackaging
SPNR_Connector子工程
队列类型(重点)
国内退票审核队列
Domestic Refund Review Queue for reviewing a Domestic Refund application
预取消队列
等待的在线支付队列
5分钟出票队列
出票同步队列
国内退票队列
退票单生成失败5分钟再试队列
卡券赠送队列
新IBE
swagger
配置相关
Ebuild内容总结
三、EBuild API接口,并简要描述其作用
1、航班查询 av接口 com.travelsky.ibe.client.AV|AvResult|AvItem|AvSegment
AvResult
即:avres.getItemamount()
AvSegment
航段信息
2、订票 sellseat接口com.travelsky.ibe.client.pnr.SellSeat
根据航班号、航班日期订票
3、打印pnr信息 rt接口com.travelsky.ibe.client.pnr.RT
查询PNR信息:
RT rt = new RT();
RTResult rs = rt.retrieve(pnr);
RT rt = new RT();
RTResult rs = rt.retrieve(pnr);
航段信息
PNRAirSeg字段信息
联系人信息
联系人字段信息
乘客信息
乘客信息字段
4、获取航班座位图 adm接口com.travelsky.ibe.client.pnr.ADM|AdmResult
座位图信息
AdmResult字段信息
5、选座位asr接口com.travelsky.ibe.client.pnr.ASR
根据pnr、乘客姓名、座位编号,预定座位
6、读取电子客票信息detr接口com.travelsky.ibe.client.pnr.DETR
客票信息展示
DETRTKResult 字段信息
DETRTKResult 字段信息剩余信息字段
DETRTKTSegment字段信息
一、Ebuild特点
1、E-Build API本身不是一个完整的应用系统,它是构成客户商务系统的重要组件;
2、客户需要在E-Build API的基础上进行二次开发;
3、E-Build API提供访问中国航信CRS和ICS系统的API,客户只需关注自身的商业逻辑设计;
4、基于标准开放的TCP/IP协议,能够运行在多种应用平台上;
5、主机指令格式的更改不会影响客户端程序的稳定性;
6、开放的产品,随着用户需求和应用增加其功能将不断完善,并具有很好版本兼容性;
7、互连简洁,效率高;
8、使用安全,服务器端具有完备的日志记录与分析功能;
二、Ebuild主要功能列表
1、航班时刻查询
2、航班座位可利用状况查询
3、航班经停点查询
4、运价查询
5、散客、团队旅客实时订座
6、实时旅客订座记录查询
7、散客、团队旅客订座记录修改删除
8、航班最低运价信息查询
XML&XSLT&XSD
"/"用于选择所有子节点
name()函数用于获取当前节点的节点名
XML文档的基本结构包括XML声明、元素、属性、文本节点和注释。XML声明定义了XML版本和编码,元素是数据的容器,属性提供额外信息,文本节点包含数据,注释用于解释代码。
XML文档中的命名空间用于区分不同XML文档中相同名字的元素和属性,以避免命名冲突。
<xsl:template>元素在XSLT中定义了一个模板,用于匹配特定的XML节点,并指定如何处理这些节点以生成输出文档。
XSLT通过<xsl:output method="格式"/>指定如何将这些节点转换成所需的输出格式,如HTML或文本。<xsl:output method=”xml|html|text|name>
XSD通过定义XML文档的结构和数据类型规则来帮助确保XML文档的有效性,任何不符合这些规则的XML文档都将被视为无效。
maxOccurs="unbounded" minOccurs="1" maxOccurs="1"
<xs:simpleType>l
<xs:restriction base=xs:string">
<xs:pattern value="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"/>
</xs:restriction>
</xs:simpleType>
<xs:restriction base=xs:string">
<xs:pattern value="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"/>
</xs:restriction>
</xs:simpleType>
XDistributor
概述
xDistributor configurator
Rules Editor
规则配置器重要组件
Clients
Suppliers
Intermediary
xDistributor runtime
Supplier Connector类型
JDBC类型
JAVA类型
SPM回环类型
其他
消息对(Message Pair)
Client消息
子主题
Supplier消息对
规则的构成
规则分类原则
1、一个处理流程在何时执行规则集。
2、数据对当前规则集内的规则是可用的。
3、操作对当前规则集内的规则是可用的。
2、数据对当前规则集内的规则是可用的。
3、操作对当前规则集内的规则是可用的。
规则类型
Client规则类型
Request Rules 请求规则
1、生成缓存键
2、缓存检索
3、基础请求
Switching Rule 转发规则
Aggregation Rules 聚合规则
Response Option Rules 相应选择规则
Response Rules 响应规则
Error Rules
Supplier 规则类型
Request Rules
Response Rules
Error Rules
规则的Stages
事务处理及相应规则配置
规则编辑器图形化接口
Table Rule
表规则作用
定价
计算税款
货币税率计算
航空公司航线/供应商映射
配置票规则
表规则群
表规则使用
接口参数
查询API
插入方法API
多个并发查询API
start query (query )?????
自动进程
- 自动进程场景
1.在xDistributor内异步处理数据;
2.在给定的时间间隔内,触发周期性任务,如遍历队列,发送报表数据等等。
数据源
本地文件系统
在本地文件系统内,也还存放着另一种请求XML,用于触发一个xDistributor流程,
使其在一个Supplier内下载数据,并将下载的数据转发至另一Supplier进行处理。
该模型可以用于xHotel的内容更新
使其在一个Supplier内下载数据,并将下载的数据转发至另一Supplier进行处理。
该模型可以用于xHotel的内容更新
FTP 以及SFTP
HTTP
配置自动进程 (8步)
执行与监控
自动进程的执行分为两种情况:
1、是服务器在自动进程配置的时间内自行触发自动进程;
2、手动触发,在http://<hostname>/services/scheduler/scheduler.jsp页面,
可触发、停用自动进程,并可在该页面查看自动进程最新的运行记录。
1、是服务器在自动进程配置的时间内自行触发自动进程;
2、手动触发,在http://<hostname>/services/scheduler/scheduler.jsp页面,
可触发、停用自动进程,并可在该页面查看自动进程最新的运行记录。
SPNR
jsp页面
addToCart.jsp
生成一个SPNR
往SPNR中添加航班信息
processPassengerDetails.jsp
往SPNR中添加旅客信息、保险等商品信息
提交订单
提取itineraryBean中的订单
displayBooking.jsp
展示订单
checkBeforeConfirmation.jsp
查询SPNR
OJ_SuperPNR.xsd结构
itineraryBean对象
lastProduct=maximumProductID
itineraryBean.initialise初始化
remove 移除方法
itineraryBean.clearCart清理方法
itineraryBean.add*()
itineraryBean.addSuperPNRElement("checkout",checkoutForm.getAsDocument(),params)
itineraryBean.addSuperPNRProduct(pricingPricedItinerary, "modularAir", paramList)
itineraryBean.modify*
itineraryBean.modifySPNRProduct(pricingPricedItinerary, "ModularAir", paramList);
itineraryBean.modifySPNRPassenger(modifyCostRS, paramList)
itineraryBean.applySPNRAction(SuperPNRActions.xml) 修改内容方法
itineraryBean.commitPendingItems(false, false)
itineraryBean.loadSuperPNR(DOMUtilities.toDocument(OJ_SuperPNR))
查询SPNR
代码分析
计算
SPNR总价格
SPNR 总价格 = 不是bookingfailed MP 价格总和 + AmendmentFees + PriceAdjustment
支付总额
支付总额 = 支付的钱 + 退回旅客的钱
结余
结余(Balance) = SPNR 总价格 - 支付总额
Connector
java
soap
SPM回路
jdbc
http
https
DBC
SQL日志打开
修改配置文件TravelSky-Hainan\Services\tomcat\webapps\services\WEB-INF\classes\log4j.xml
中增加以下内容<logger name="com.openjaw.connection.jdbc.JDBCConnection"><level value="DEBUG"/></logger>
中增加以下内容<logger name="com.openjaw.connection.jdbc.JDBCConnection"><level value="DEBUG"/></logger>
DBC语句
注意语句细节,如:limit 、order by 等操作,不要遗漏
rownum
时间字符相互转换串函数
TO_CHAR(dateTime, 'yyyy-MM-dd HH24:mi:ss')')
to_date('2005-01-01 13:14:20', 'yyyy-MM-dd HH24:mi:ss')
数据库表
itineraryItems
MP(通过historic = 0 为当前MP否则为历史MP)
spnrItems
customer(旅客联系人信息)
payment
queue
itinerary
其他所有
0 条评论
下一页
为你推荐
查看更多