1 / 40

Aleph : X-Server 接口简介及应用实例 周磊 2014-6

Aleph : X-Server 接口简介及应用实例 周磊 2014-6. 内容. X-server 简介 入门 权限控制 转换 机制( Translate ) 常用 X-Services 应用实例 : 书目相关接口 读者相关接口 馆员认证接口 更新读者接口. 内容. X-server 简介 入门 权限控制 转换机制( Translate ) 常用 X-Services 样例 : 书目相关接口 读者相关接口 馆员认证接口 更新读者接口. X-server 简介 – 1 . 基于 URL/XML 的 API 接口

Download Presentation

Aleph : X-Server 接口简介及应用实例 周磊 2014-6

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aleph : X-Server 接口简介及应用实例周磊2014-6

  2. 内容 X-server 简介 • 入门 • 权限控制 • 转换机制(Translate) 常用X-Services应用实例: • 书目相关接口 • 读者相关接口 • 馆员认证接口 • 更新读者接口

  3. 内容 X-server 简介 • 入门 • 权限控制 • 转换机制(Translate) 常用 X-Services样例: • 书目相关接口 • 读者相关接口 • 馆员认证接口 • 更新读者接口

  4. X-server 简介 – 1 • 基于 URL/XML 的API接口 • 应用于Exlibris产品之间及与Exlibris产品与外部应用系统之间进行互操作 • Ex Libris 产品例如Metalib , Verde, PDS, Web ILL 都会用到Aleph的X-Server • 第三方应用系统如一卡通系统、门禁系统、电子阅览室系统、自助办证、移动服务、短信服务等 • Aleph本地开发模块:APSM、APSS、AOMS、AIMS、APMS、WebCIR等

  5. X-server 简介 – 2 • 接口返回有层级关系的结构化XML格式数据 • 易于理解 • 有大量商用解析器可直接使用 XML Client GUI Client Proprietary format XML Browser Aleph HTML

  6. X-Server 简介 – 3 调用语法 http://<server>:<port>/X?op=<servicename>&<param_name>=<param_value> • Port就是OPAC的端口。 • 通常使用GET机制发送请求 • 但对于update-bor,update-doc等接口使用POST机制发送请求

  7. 样例1 – 查找 • 输入: http://202.198.141.86:8992/X?op=find&request=wti=oracle&base=whu01 • 基地址: IP:Port/X? • 接口名: op=find • 参数: &request=wti=oracle • 参数: &base=whu01 • 输出:

  8. 样例2 – 读者认证 http://202.198.141.86:8992/X?op=bor-auth&id=ID51&verification=1234

  9. ALEPH 500系统 X-service 接口 • 查询、排序、显示 • 书目记录创建、更新 • 联编异构系统上载书目、馆藏 • 馆藏信息查询、更新 • 读者认证、读者查询、读者记录创建、更新、删除 • 借、还、续借、预约、现金事务处理 • 订单修改、订单转移、订单删除 • 图书封面、热门信息推送 • 短信通知服务接口

  10. 常用 X-services列表1

  11. 常用 X-services列表2

  12. 内容 X-server 简介 • 入门 • 权限控制 • 转换机制(Translate) 常用 X-Services样例: • 书目相关接口 • 读者相关接口 • 馆员认证接口 • 更新读者接口

  13. X-server 权限控制 • IP控制 • $alephe_tab/server_ip_allowed • 账号控制 • user_name • user_password

  14. 权限控制 – 账号控制 – 1 • 每个接口都对应一项工作人员权限 • 系统设置缺省账号WWW-X/WWW-X。该账号的权限就是匿名X-server用户的权限。 • find, find-doc和present 接口完全开放 • 注意: 如果修改了WWW-X用户的密码,就取消了匿名访问。同时,可以通过增减WWW-X用户的账号权限来调整匿名用户的权限。

  15. 权限控制 – 账户控制 -2 • 可以为不同的用户配置不同的权限

  16. 权限控制 – 账户控制 – 3 • 可以有两种方式调用先前创建的用户:方法 1:在提交url接口里,增加 user_name和 user_password两个参数。 • 例如: • 测试账户:WWW-TEST/TESThttp://202.198.141.86:8992/X?op=bor-auth_valid&id=ID51&verification=1234&user_name=WWW-TEST&user_password=TEST

  17. 权限控制 – 账户控制 – 4 • 不带user_name,user_password的话就校验WWW-X用户的权限:http://202.198.141.86:8992/X?op=bor-auth_valid&id=ID51&verification=1234

  18. 权限控制 – 账户控制 – 5 • 方法 2:1) 先带”user_name”,”user_password” 参数调用“login” 接口2) 如果账户验证通过,X-server 会返回一串 session-ID 3) 在之后调用X-server 的时候都加上 “session” 参数,它的值就是这串session-ID值。样例:1) http://202.198.141.86:8992/X?op=login&user_name=www-test&user_password=test&library=whu50 2) http://202.198.141.86:8992/X?op=bor-auth_valid&id=ID51&verification=1234&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • 推荐采用第二种方法,因为第一种方法每次调用会产生不同的session-id,占用license资源。

  19. 内容 X-server 简介 • 入门 • 权限控制 • 转换机制(Translate) 常用 X-Services样例: • 书目相关接口 • 读者相关接口 • 馆员认证接口 • 更新读者接口

  20. 转换机制 Translate • 每个输出都会经过转换 • 转换机制可以针对tag或数据。可以屏蔽或改变一些tag,或者调整数据显示格式及内容。 • 有两种不同的转换机制:1) 在$alephe_root/www_x_lng/目录下有一系列的*trn文件。这个可以处理数据的显示格式及内容2) 在$alephe_root/www_x_lng/目录下有一系列的*tag文件。可以屏蔽一些字段,或转换字段名 • 特别的,对于bor-info接口,还有一个过滤机制 filter-mechanism

  21. 转换机制 – trn – 1 • 对于所有接口,都会调用global.trn 和<service-name>.trn • DATE 把数字转换为日期格式 • SUB-LIB 把分馆代码转换为分馆名称 • PC-TAB-EXP 根据pc_tab_exp_field.lng参数表,把代码转换为描述 • TEXT 直接根据第4列参数的内容做转换 • DECIMAL 增加小数点 • NONE 不做转换

  22. 转换机制 – trn – 2 • 以bor-info为例http://202.198.141.86:8992/X?op=bor-info&id=6666&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE返回:<bor-info> + <z303> […] <z303-home-library>武大馆</z303-home-library> <z303-birth-date>08/11/1973</z303-birth-date> </z303> <z304> […] </z304> <z305> <z305-bor-status>教职工</z305-bor-status> </z305> <z31> <z31-sum>(10.00)</z31-sum> </z31> </bor-info>

  23. 转换机制 – tag – 1 • 对于所有接口,都会调用global.tag 和<service-name>.tag • Tag转换机制主要用于三个目的: • 改变标签(tag)的标题 • 屏蔽指定tags • 屏蔽数据字段 • 说明: 屏蔽数据能够提高X-server输出的响应时间。

  24. 转换机制 – tag – 2 • 例如: 在$alephe_root/www_x_eng/bor-info.tag中设置 z304 DELETEz305-id DELETEz305-sub-library TRANSLATE sublib http://202.198.141.86:8992/X?op=bor-info&id=6666&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE 返回信息中就没有z304节点,而z305-sub-library标签也变更为 sublib <bor-info> ... <z305> <sublib>武大馆</sublib> <z305-open-date>26/01/2007</z305-open-date> …

  25. 转换机制- filter – 1 • 特别的,对于bor-info接口,有一个filter过滤机制,可以定义那些字段需要显示 • 可以在$alephe_root/www_x_eng中增加一个文件,比如 tab_bor_info_filter,在这个文件中列出来需要显示的字段: 样例:tab_bor_info_filter: Z303-NAME Z304-TELEPHONE

  26. 转换机制- filter– 2 • 在bor-info接口里增加参数 &filter_data=<file_name> : • http://202.198.141.86:8992/X?op=bor-info&id=ID51&cash=O&filter_data=tab_bor_info_filter&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE 这样只有读者姓名、电话会显示了:

  27. 内容 X-server 简介 • 入门 • 权限控制 • 转换机制(Translate) 常用 X-Services样例: • 书目相关接口 • 读者相关接口 • 馆员认证接口 • 更新读者接口

  28. 书目检索、排序与显示 - 1 • 查找find • http://202.198.141.86:8992/X?op=find&request=wti=oracle&base=whu01&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • Request参数:检索式 • Base 参数:检索库 • 返回 • Set_number结果集名称 • No_records命中记录数 • No_entries可显示记录数

  29. 书目检索、排序与显示 - 2 • 排序sort-set • http://202.198.141.86:8992/X?op=sort_set&library=whu01&set_number=000081&sort_code_1=01&sort_order_1=D&sort_code_2=04&sort_order_2=A&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • sort_code来自书目库的tab_sort参数表,通常是 • 01 年份 • 02 著者 • 03 题名 • 04 索书号/分类号

  30. 书目检索、排序与显示 - 3 • 显示 present • http://202.198.141.86:8992/X?op=present&base=whu01&set_number=000081&set_entry=000000001&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE 显示一条 • http://202.198.141.86:8992/X?op=present&base=whu01&set_number=000081&set_entry=000000001-00000010&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE 显示多条

  31. 书目检索、排序与显示 - 4

  32. 显示书目的馆藏状态 • 馆藏状态 circ_status • http://202.198.141.86:8992/X?op=circ_status&sys_no=000610238&library=WHU01&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE

  33. 读者相关接口 - 1 • 读者认证 bor-auth: • http://202.198.141.86:8992/X?op=bor-auth&id=ID51&verification=1234&library=WHU50&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • 如果密码正确,返回读者的z303,z304,z305信息 • 否则返回 <error>Error in Verification</error>

  34. 读者相关接口 - 1 • 读者认证 bor-auth-valid: • http://202.198.141.86:8992/X?op=bor-auth_valid&id=ID51&verification=1234&library=WHU50&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • 比bor-auth接口增加了检查读者有效性,在tab_check_circ中定义: • BOR-AUTH check_circ_1_a • BOR-AUTH check_circ_1_c_a • 如果密码正确,且读者证卡有效,返回读者的z303,z304,z305信息 • 否则返回 • <error>验证错误</error> 或 • <error>不是有效读者</error>

  35. 读者相关接口 - 2 • 读者信息 bor-info: • http://202.198.141.86:8992/X?op=bor-info&id=ID51&library=WHU50&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • 可以不用密码,返回读者的z303,z304,z305以及外借、预约、现金事务等信息 • 可以通过参数过滤是否显示相关信息 • Loan=N 不显示外借 • Hold=N 不显示预约 • Cash=O 只显示未完成的现金事务 • Format=1显示详细读者信息,包括多个地址信息和多个ID信息

  36. 馆员认证 • 馆员认证user-auth • http://202.198.141.86:8992/X?op=user-auth&staff_user=TEST&staff_pass=TEST&library=WHU50&session=UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE • 如果认证成功,返回账户基本信息

  37. 更新读者记录 - 1 • 更新读者记录 update-bor • 可以新建、更新、删除读者记录 • 采用POST方式,需要做一些脚本 <input type="hidden" name="op" value="update-bor"> <input type="hidden" name=“SESSION" value="UU3H9FRDJJUXER7DJCALEU1285HALFKLL7ENIGU9QD28XU2KKE"> <input type="hidden" name="library" value=“WHU50"> <input type="hidden" name="update_flag" value="Y"> <textarea name="xml_full_req" cols="50" rows="10"></textarea> • 同时准备一个xml_full_req文件,里面存放的xml格式的详细读者信息

  38. 更新读者记录 - 2 • Xml_full_req文件内容:

  39. 参考文档 • ALEPH 18[1].01 X-Services.pdf • Aleph 500 X-Services -- LOCALIZATION.doc • Aleph 500常用 X-Services列表.doc • 文档中心

  40. Lei.zhou@exlibrisgroup.com

More Related