Xserver 2 l XML GUI Client Proprietary format

  • Slides: 40
Download presentation

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

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

X-Server 简介 – 3 调用语法 http: //<server>: <port>/X? op=<servicename>&<param_name>=<param_value> Ø Port就是OPAC的端口。 Ø 通常使用GET机制发送请求 Ø

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

样例1 – 查找 输入: http: //202. 198. 141. 86: 8992/X? op=find&request =wti=oracle&base=whu 01 l

样例1 – 查找 输入: http: //202. 198. 141. 86: 8992/X? op=find&request =wti=oracle&base=whu 01 l Ø 基地址: IP:Port/X? Ø 接口名: op=find Ø 参数: &request=wti=oracle Ø 参数: &base=whu 01 l 输出: 7

�例 2 – �者�� http: //202. 198. 141. 86: 8992/X? op=borauth&id=ID 51&verification=1234 8

�例 2 – �者�� http: //202. 198. 141. 86: 8992/X? op=borauth&id=ID 51&verification=1234 8

常用 X-services列表 1 • bor-auth • bor-by-key • bor-course • bor-info • circ-status •

常用 X-services列表 1 • bor-auth • bor-by-key • bor-course • bor-info • circ-status • find-doc • get-holding • get-sort-codes • hold-req-cancel • item-data • present • renew • sort-set • update-bor • update-doc • explain • login • user-auth • ill-arrive-copy • ill-arrive-loan • ill-bor-auth • ill-bor-info • ill-build-loan • ill-create-pat • ill-get-doc-short • ill-get-set 10 • ill-loan-return • ill-print-holdings • ill-print-items • ill-holds-delete • ill-in-loc-preview • ill-item-by-bc • ill-item-delete • ill-item-due-date • ill-item-info • ill-loan-lost • ill-loan-recall • ill-loan-renew

常用 X-services列表 2 • • bor_auth_valid bor_info_nlc item_data_nlc loan_history hold_list overdue_list return_date • •

常用 X-services列表 2 • • bor_auth_valid bor_info_nlc item_data_nlc loan_history hold_list overdue_list return_date • • • bor_status bor_farewell hold_req_nlc update_bor_id update_item_nlc update_cash update_user_pwd update_order 11 • • lcl_loan lcl_return lcl_find lcl_doc_short get_bor_idp get_hol_ucs update_doc_ucs update_hol_ucs

X-server �限控制 l IP控制 Ø $alephe_tab/server_ip_allowed l �号控制 Ø user_name Ø user_password 13

X-server �限控制 l IP控制 Ø $alephe_tab/server_ip_allowed l �号控制 Ø user_name Ø user_password 13

权限控制 – 账户控制 – 3 • 可以有两种方式调用先前创建的用户: 方法 1: 在提交url接口里,增加 user_name和 user_password两个参数。 • 例如:

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

权限控制 – 账户控制 – 4 • 不带user_name, user_password的话就校验WWW-X用户的权限: http: //202. 198. 141. 86: 8992/X?

权限控制 – 账户控制 – 4 • 不带user_name, user_password的话就校验WWW-X用户的权限: http: //202. 198. 141. 86: 8992/X? op=borauth_valid&id=ID 51&verification=1234 • 17

权限控制 – 账户控制 – 5 • 方法 2: 1) 先带”user_name”, ”user_password” 参数调用“login” 接口 2)

权限控制 – 账户控制 – 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=whu 50 2) http: //202. 198. 141. 86: 8992/X? op=bor- auth_valid&id=ID 51&verification=1234&session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE • 推荐采用第二种方法,因为第一种方法每次调用会产生不同的session -id,占用license资源。 18

转换机制 – trn – 2 l 以bor-info为例 http: //202. 198. 141. 86: 8992/X? op=borinfo&id=6666&session=UU

转换机制 – trn – 2 l 以bor-info为例 http: //202. 198. 141. 86: 8992/X? op=borinfo&id=6666&session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE 返回: <bor-info> + <z 303> […] <z 303 -home-library>武大馆</z 303 -home-library> <z 303 -birth-date>08/11/1973</z 303 -birth-date> </z 303> <z 304> […] </z 304> <z 305 -bor-status>教职 </z 305 -bor-status> </z 305> <z 31 -sum>(10. 00)</z 31 -sum> </z 31> </bor-info> 22

转换机制 – tag – 2 Ø 例如: 在$alephe_root/www_x_eng/bor-info. tag中设置 z 304 z 305 -id

转换机制 – tag – 2 Ø 例如: 在$alephe_root/www_x_eng/bor-info. tag中设置 z 304 z 305 -id z 305 -sub-library DELETE TRANSLATE sublib http: //202. 198. 141. 86: 8992/X? op=borinfo&id=6666&session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE 返回信息中就没有z 304节点,而z 305 -sub-library标签也变更为 sublib <bor-info>. . . <z 305> <sublib>武大馆</sublib> <z 305 -open-date>26/01/2007</z 305 -open-date> … 24

转换机制- filter– 2 l 在bor-info接口里增加参数 &filter_data=<file_name> : Ø http: //202. 198. 141. 86: 8992/X?

转换机制- filter– 2 l 在bor-info接口里增加参数 &filter_data=<file_name> : Ø http: //202. 198. 141. 86: 8992/X? op=borinfo&id=ID 51&cash=O&filter_data=tab_bor_info_filter&sessi on=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE 这样只有读者姓名、电话会显示了: 26

书目检索、排序与显示 - 1 l 查找find Ø http: //202. 198. 141. 86: 8992/X? op=find&request=wti= oracle&base=whu

书目检索、排序与显示 - 1 l 查找find Ø http: //202. 198. 141. 86: 8992/X? op=find&request=wti= oracle&base=whu 01&session=UU 3 H 9 FRDJJUXER 7 DJCA LEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE ü Request参数:检索式 ü Base 参数:检索库 Ø 返回 ü Set_number 结果集名称 ü No_records 命中记录数 ü No_entries 可显示记录数 28

书目检索、排序与显示 - 2 l 排序sort-set Ø http: //202. 198. 141. 86: 8992/X? op=sort_set&lib rary=whu

书目检索、排序与显示 - 2 l 排序sort-set Ø http: //202. 198. 141. 86: 8992/X? op=sort_set&lib rary=whu 01&set_number=000081&sort_code_ 1=01&sort_order_1=D&sort_code_2=04&sort_o rder_2=A&session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE Ø sort_code 来自�目�的 tab_sort 参数表,通常是 ü 01 年份 ü 02 著者 ü 03 �名 ü 04 索�号 /分�号 29

书目检索、排序与显示 - 3 l �示 present Ø http: //202. 198. 141. 86: 8992/X? op=present&bas

书目检索、排序与显示 - 3 l �示 present Ø http: //202. 198. 141. 86: 8992/X? op=present&bas e=whu 01&set_number=000081&set_entry=000 000001&session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1 285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE �示一条 Ø http: //202. 198. 141. 86: 8992/X? op=present&bas e=whu 01&set_number=000081&set_entry=000 0000010&session=UU 3 H 9 FRDJJUXER 7 DJCALE U 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE �示多条 30

�示�目的�藏状� l �藏状� circ_status Ø http: //202. 198. 141. 86: 8992/X? op=circ_status& sys_no=000610238&library=WHU 01&session=U

�示�目的�藏状� l �藏状� circ_status Ø http: //202. 198. 141. 86: 8992/X? op=circ_status& sys_no=000610238&library=WHU 01&session=U U 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE 32

读者相关接口 - 1 l 读者认证 bor-auth: Ø http: //202. 198. 141. 86: 8992/X? op=borauth&id=ID

读者相关接口 - 1 l 读者认证 bor-auth: Ø http: //202. 198. 141. 86: 8992/X? op=borauth&id=ID 51&verification=1234&library=WHU 50&sess ion=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE ü 如果密码正确,返回读者的z 303,z 304,z 305信息 ü 否则返回 <error>Error in Verification</error> 33

读者相关接口 - 1 l 读者认证 bor-auth-valid: Ø http: //202. 198. 141. 86: 8992/X? op=borauth_valid&id=ID

读者相关接口 - 1 l 读者认证 bor-auth-valid: Ø http: //202. 198. 141. 86: 8992/X? op=borauth_valid&id=ID 51&verification=1234&library=WHU 50 &session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 E NIGU 9 QD 28 XU 2 KKE ü 比bor-auth接口增加了检查读者有效性,在tab_check_circ中定 义: • BOR-AUTH check_circ_1_a • BOR-AUTH check_circ_1_c_a ü 如果密码正确,且读者证卡有效,返回读者的z 303,z 304,z 305 信息 ü 否则返回 • <error>验证错误</error> 或 • <error>不是有效读者</error> 34

馆员认证 l 馆员认证user-auth Ø http: //202. 198. 141. 86: 8992/X? op=userauth&staff_user=TEST&staff_pass=TEST&library=WHU 50& session=UU 3

馆员认证 l 馆员认证user-auth Ø http: //202. 198. 141. 86: 8992/X? op=userauth&staff_user=TEST&staff_pass=TEST&library=WHU 50& session=UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 2 8 XU 2 KKE Ø 如果认证成功,返回账户基本信息 36

更新�者�� - 1 l 更新�者�� update-bor Ø 可以新建、更新、�除�者�� Ø 采用POST方式,需要做一些脚本 <input type="hidden" name="op" value="update-bor">

更新�者�� - 1 l 更新�者�� update-bor Ø 可以新建、更新、�除�者�� Ø 采用POST方式,需要做一些脚本 <input type="hidden" name="op" value="update-bor"> <input type="hidden" name=“SESSION" value="UU 3 H 9 FRDJJUXER 7 DJCALEU 1285 HALFKLL 7 ENIGU 9 QD 28 XU 2 KKE "> <input type="hidden" name="library" value=“WHU 50"> <input type="hidden" name="update_flag" value="Y"> <textarea name="xml_full_req" cols="50" rows="10"></textarea> Ø 同�准�一个 xml_full_req 文件,里面存放的xml格 式的���者信息 37

参考文档 l l ALEPH 18[1]. 01 X-Services. pdf Aleph 500 X-Services -- LOCALIZATION. doc

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

Thank you! Lei. zhou@exlibrisgroup. com

Thank you! Lei. zhou@exlibrisgroup. com