




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
A8接口和增值開發(fā)手冊A8接口和增值開發(fā)手冊27/27蟻PAGE27蠆芁螈蒄肂薅螁荿肀膁膆蚆肅肇袁罿膇肁袈蚃襖莆羈薈A8接口和增值開發(fā)手冊
A8平臺接口和增值開發(fā)手冊
2006UFSeeyonCo.,Ltd.Allrightsreserved.
Thisdocumentcontainsinformationthatisproprietaryand
confidentialtoUFSeeyon.,whichshallnotbedisclosedoutsidethe
recipient'scompanyorduplicated,usedordisclosedinwholeorin
partbytherecipientforanypurposeotherthantoevaluatethisfile.
Anyotheruseordisclosureinwholeorinpartofthisinformation
withouttheexpresswrittenpermissionofUFSeeyon.isprohibited.
Date:2009-01-04
Author:王文友
Version:更正記錄4
1.歸納5
編寫目的5
開發(fā)背景5
應用價值5
接口范圍6
2.二次開發(fā)接口7
接口一覽7
服務列表8
3.Portal集成8
單點登錄(SSO)8
外面平臺集成A88
實現說明9
接口說明9
代碼示例10
部署說明10
A8集成第三方系統(tǒng)10
實現方式一:Ticket10
實現方式二:關系系統(tǒng)+擴展欄目11
Portlet12
歸納12
開發(fā)說明12
確定欄目數據12
確定欄目顯示模板12
開發(fā)說明12
注冊到系統(tǒng)12
代碼示例12待做事項和追蹤事項19
新聞和通知19
4.信息集成19
信息通道19
歸納19
接口說明19
方法說明19
注冊到系統(tǒng)19
原理說明20
代碼示例20
短信接口20
歸納20
接口說明20
注冊到系統(tǒng)20
原理說明20
代碼示例21
5.組織模型同步22
初始化同步22
導出22
導入22
實時同步22
實現A8組織模型事件監(jiān)聽接口22
注冊事件監(jiān)聽23
6.BPM集成23
準備23
外面系統(tǒng)倡導A8表單流程24
輪詢完成的表單流程24導出A8表單流程到外面系統(tǒng)25
7.附錄25
術語表25
更正記錄
日期更正人更正內容備注2008-12-08王文友創(chuàng)辦文檔,編寫文檔模板。2008-12-15王文友增加了安裝服務文檔。2008-12-23王文友增加了文檔導出接口例程。2008-12-29王文友合并劉娜組織模型文檔,加入例程;合并于荒津BPM文檔。2009-01-04王文友合并張勇Portal和信息文檔,拆分API文檔。2009-06-16張勇增加單點登錄不打開頁面方式說明和待做事項接口說明2009-9-27王文友增加組織模型同步和BPM集成
歸納
編寫目的
本手冊主要面向二次開發(fā)人員,內容涵蓋A8平臺的二次開發(fā)、第三方應用集成。若是需要更詳細的開發(fā)信息,請
參照《平臺API參照手冊》。
開發(fā)背景
接口的目標是
1、與第三方應用集成,完成松弛耦合,親密集成的目標;
2、與異構應用集成;
3、降低二次開發(fā)的技術難度;
4、規(guī)范化二次開發(fā),提升二次開發(fā)的牢固性;
5、保證二次開發(fā)的連續(xù)性,降低二次開發(fā)應用升級難度。
應用價值
目前平臺開放的接口支持:1、組織模型同步2、使用組織模型導入接口,實現外面系統(tǒng)到A8的組織模型初始化同步;3、調用組織模型管理遠程接口,在外面系統(tǒng)組織模型發(fā)生變化時實時同步到A8。4、實現組織模型事件接口,將A8組織模型改正實時同步到外面系統(tǒng)。5、表單流程集成6、外面系統(tǒng)經過BPM集成遠程接口倡導A8的表單流程,在A8中審批流轉后回到外面系統(tǒng),實現表單流程的打通。7、文檔導出8、使用文檔導出SDK,將A8的共同、公文、新聞、通知、檢查和談論導出到外面系統(tǒng),知足數據交換和歸檔的需求。9、Portal集成10、A8Portal可以集成外面系統(tǒng)的頁面,也可以將A8集成到第三方Portal中,并且實現單點登錄。11、信息集成12、外面經過信息通道,實時獲取A8中的信息??梢詫8的信息以郵件、IM(如GKE、RTX)信息和短信形式發(fā)送。13、外面系統(tǒng)經過信息接口向A8指定用戶發(fā)送信息。14、待做事項集成外面系統(tǒng)經過待做事項接口,可以獲取A8待做事項的列表,并且可以辦理待做事項。
接口范圍
A8共同辦公正臺采用Java開發(fā),支持Oracle、mysql和SqlServer數據庫。
平臺供應了以下接口:
1、二次開發(fā)接口:
2、供應當地開發(fā)的JavaSDK和WebService遠程接口,涵蓋組織模型同步與導入導出、文檔導出、表單與流程集成、新聞與公揭宣布支持。
3、Portal接口:
4、供應頁面集成和單點登錄接口,實現外面應用在A8-Portal的集中展現。
5、信息(短信)接口:
6、供應外面系統(tǒng)獲取A8共同辦公正臺信息的體系。除標準化產品供應的短信集成支持外,A8還供應了短信二次
開發(fā)接口,支持與特定的短信運營平臺集成。
二次開發(fā)接口
預備知識:
1、
WebService
2、
XML
3、支持
WebService調用的編程語言
其中
Java已考據,
C#、Php未經考據,請參照
Java例程及
axis2文檔進行開發(fā)。
A8平臺接口供應基于axis2實現的標準Webservice。可以采用多種方式進行客戶端開發(fā)。
本指南所有遠程接口例程使用axis2的ADB(Axis2DataBindingFramework)stub方式進行開發(fā)。
為便于二次開發(fā),在client/demo目錄中供應了一個示例應用,示例包括以下內容:
單點登錄、組織模型同步、組織模型導出、通知新聞導出、文檔導出、表單流程盤問、BPM集成、信息集成、Portlet
欄目集成
接口一覽
組織模型接口:供應組織模型導入和導出接口,可以實現其他HR與A8的集成,其他系統(tǒng)可以與A8實現組織模型和人員信息同步。文檔接口:供應了A8文檔導出接口,支持共同、公文、新聞、通知等信息導出,經過此接口可以實現與檔案軟件的集成,以及A8信息宣布到外面網站。表單流程接口:供應了外面數據導入A8進行流轉審批,以及A8流程審批信息導出到其他系統(tǒng)(如ERP),通過此接口可以實現政府外網審批信息提交到內網進行流轉審批,ERP數據可以轉入A8進行流轉,A8流程審批信息也可以轉入ERP進行結果管理。新聞和公揭宣布接口:供應了單位新聞和通知的宣布。待做事項接口:供應A8待做事項列表。
服務列表A8平臺供應予下服務:服務說明考據服務authorityService用戶身份考據服務人員管理服務personService人員的創(chuàng)辦、更正、刪除和啟用/禁用。部門管理服務departmentService部門的創(chuàng)辦、更正、刪除和啟用/禁用。崗位管理服務ocupationService崗位的創(chuàng)辦、更正、刪除和啟用/禁用。職務級別管理服務otypeService職務級其他創(chuàng)辦、更正、刪除和啟用/禁用。單位管理服務accountService組織模型數據服務organizationDataService人員、部門、崗位和職務級別數據導入導出服務。文檔導出服務documentService共同、公文、新聞、通知、談論、檢查數據導出服務。新聞公揭宣布服務documentService新聞和公揭宣布宣布服務。表單服務formService表單定義與數據導出服務BPM服務BPMService業(yè)務單據流程集成服務。事項服務affairService待做事項和追蹤事項集成服務。信息服務messageService外面系統(tǒng)發(fā)信息到A8的服務。文件服務downloadServiceA8的附件下載和上傳服務。uploadService
服務詳情拜會《平臺API參照手冊》。
3.Portal集成
單點登錄(SSO)
外面平臺集成A8實現說明
也就是從外面系統(tǒng)登錄到A8,這種認證是完好相信外面系統(tǒng)的。
單點登錄有2種收效:1,單點登錄成功后直接打開A8主頁面2,單點登錄成功后其實不打開A8主頁面,A8保護ticket信息和登錄取戶信息,為今后央求服務作認證使用,比方:央求獲取A8待做事項列表服務。需要配置中一個屬性以下:
<propertyname="forward"value="false"/>
登錄過程:
人員登錄外面平臺
外面平臺帶著ticket和from跳轉到A8-/login/ssofrom=*&ticket=*
1.若是A8登錄正常,會在responseheader中增加SSOOK,否則增加SSOError
比方:
"/login/ssoticket="+encodeURIComponent("<%=("ticket")%>")+"&from=gke";
A8依照from獲取握手bean,也就是springBeanid
比方:
<beanid="gke"class="">
調用握手bean由外面系統(tǒng)認證ticket并返回A8的登錄名
把ticket和username保護在內存
A8帶著ticket跳轉到/login/proxy,也就是執(zhí)行一個servlet
A8JAAS的獲取用戶身份信息
A8退出時,會經過SSOLoginHandshakeInterface的logoutNotify()通知到外面系統(tǒng)
外面系統(tǒng)退出時,接見A8/login/ssologoutfrom=*&ticket=*通知A8
接口說明
外面平臺需要有A8登錄名的照射表也許使用相同的登錄名
JAAS的DefaultLoginModule考據用戶名(不考據密碼)
SSOLoginHandshakeInterface與from照射,需要配置或二次開發(fā),系統(tǒng)供應通用的
SSOLoginHandshakeServletImpl
A8的考據系統(tǒng)完好依賴和相信外面系統(tǒng)(存在風險)1、配置文件:
(如無可自己創(chuàng)辦)
<xmlversion=""encoding="UTF-8">
<!DOCTYPEbeansPUBLIC"-
etAgentModelList(memberId);
List<AgentModel>_agentModelToList=()
.getAgentModelToList(memberId);
List<AgentModel>agentModelList=null;
booleanagentToFlag=false;
booleanisPloxy=false;
if(_agentModelList!=null&&!()){
isPloxy=true;
agentModelList=_agentModelList;
}elseif(_agentModelToList!=null&&!()){isPloxy=true;agentModelList=_agentModelToList;agentToFlag=true;
}else{
isPloxy=false;}
Map<Integer,AgentModel>agentModelMap=newHashMap<Integer,AgentModel>();
if(isPloxy){
for(AgentModelagentModel:agentModelList){
StringagentOptionStr=();
String[]agentOptions=("&");
for(StringagentOption:agentOptions){
int_agentOption=(agentOption);
if(_agentOption==
.key()){
.key(),agentModel);
}elseif(_agentOption==
.key()){
agentModel);
}elseif(_agentOption==
.key()){
(
agentModel);
}
}
}
}
return(memberId,agentModelMap,null,null,
null,agentToFlag);
}
publicBaseSectionTempleteprojection(Map<String,String>preference){
MultiRowFourColumnTempletec=newMultiRowFourColumnTemplete();Useruser=();
LongmemberId=();
LongproxyId=();
(false);etAgentModelList(memberId);
List<AgentModel>_agentModelToList=()
.getAgentModelToList(memberId);
List<AgentModel>agentModelList=null;
booleanagentToFlag=false;
booleanisPloxy=false;
if(_agentModelList!=null&&!()){
isPloxy=true;
agentModelList=_agentModelList;
}elseif(_agentModelToList!=null&&!()){
isPloxy=true;
agentModelList=_agentModelToList;
agentToFlag=true;
}else{
isPloxy=false;
}
Map<Integer,AgentModel>agentModelMap=newHashMap<Integer,AgentModel>();
if(isPloxy){
for(AgentModelagentModel:agentModelList){
StringagentOptionStr=();
String[]agentOptions=("&");
for(StringagentOption:agentOptions){
int_agentOption=(agentOption);
if(_agentOption==
.key()){.key(),agentModel);
}elseif(_agentOption==
.key()){
agentModel);
}elseif(_agentOption==
.key()){
(
agentModel);
}
}
}
}
List<Affair>affairs=(memberId,
agentModelMap,null,null,null,agentToFlag);
if(affairs==null){
returnnull;
}
for(Affairaffair:affairs){
url="";
row=();
StringforwardMember=();
IntegerresentTime=();
Stringsubject=(affair
.getSubject(),forwardMember,resentTime,orgManager,null);
intapp=();
LongobjectId=();
(subject);
ApplicationCategoryEnumappEnum=ApplicationCategoryEnum
.valueOf(app);
switch(appEnum){
casecollaboration:
row
.setLink("/method=detail&from=Pending&affairId="
+());
row
.setCategory(app,
"/method=collaborationFrame&from=Pending");
break;
casemeeting:
row
.setLink("/method=myDetailFrame&id="
objectId);
(app,"/method=listHome");break;caseedocSend:
caseedocRec:
caseedocSign:
row
.setLink("/method=detail&from=Pending&affairId="
+());
(app,EdocUtil
.getEdocCategroryPendingUrl()));
break;
caseexSend:row
.setLink("/method=sendDetail&modelType=toSend&id="
+());
if(appEnum
.getKey()))){
url="/method=listMainEntry&modelType=toSend";
}
(app,url);
break;
caseexSign:
row
.setLink("/method=receiveDetail&modelType=toReceive&id="
+());
if(appEnum
.getKey()))){
url="/method=listMainEntry&modelType=toReceive";
}
(app,url);
break;
caseedocRegister:
(
"/method=entryManager&entry=newEdoc&comm=register&edocType="
++"&exchangeId="+()
+"&edocId="+(),
if(appEnum
.getKey()))){
url="/method=entryManager&entry=edocFrame&from=listRegisterPending"
;
}
(app,url);break;
casebulletin:
("/method=audit&id="
+(),;
booleanisGroup=().intValue()==.ordinal());
(app,
"/method=auditListMain&spaceType="
+(isGroup0:1)+"&bulTypeId=&type=&from="
+(isGroup"Group":""));
break;
casenews:
("/method=audit&id="
+(),;
booleanisGroupNews=().intValue()==.ordinal());
(app,
"/method=auditListMain&spaceType="
(isGroupNews0:1)
"&newsTypeId=&type=&from="
(isGroupNews"Group":""));
break;
caseinquiry:
("/method=survey_check&bid="
+objectId,;
(app,"/method=recent_or_check");
break;
casemeetingroom:{
("/method=createPerm&openWin=1&id="
objectId,;
(app,"/method=index");}
}
V3xOrgMembermember=null;
try{
member=());
}catch(BusinessExceptione){("",e);}
());
(member));
());
if())){
(true);
etLoginName();
RTXNotifyValueBeanvalue=newRTXNotifyValueBean();
Stringcontent=();
=().getName();
.
(value);
}catch(Throwablee){("",e);}
}
}
terator();();){
AdapterMobileMessageMangeram=();
if()){adapterMobileMessageManger=am;
break;
}
}
只在啟用了搬動應用的前提下加載wap短信網關
Map<String,AdapterMobileWapPushManager>aWapMsgM=;
if(!()){
if
for(Iterator<AdapterMobileWapPushManager>iter=().iterator();();){
AdapterMobileWapPushManageram=();
if()){
adapterMobileWapPushManager=am;
break;
}
}
}
else{
("沒有搬動應用插件,將不啟用Wappush");
}
}
從代碼中可以看出短信插件只會加載一個短信接口
if(booleanWappush&&isCanUseWapPush(),())){et("success");
if(success)){
returnfalse;
}
String[]str=(",");
booleansuccessSend=false;
for(inti=0;i<;i++){
if(str[i].equals(destPhone)){
successSend=true;
}
}
returnsuccessSend;
}
xportData(req);
Stringxml=();
導入
在目標系統(tǒng)建立一個新的單位,編寫代碼,剖析A8組織模型XML,建立部門、崗位、職務級別和人員。
實時同步
使用A8組織模型事件接口,實時將A8組織模型的改正同步到目標系統(tǒng)。
實現A8組織模型事件監(jiān)聽接口
實現A8的OrganizationEventListener接口(接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學影像數據的共享與隱私保護的平衡點探索
- 區(qū)塊鏈助力教育管理實現數字化升級
- 買方回復銷售合同范例
- 醫(yī)療設備維護與風險降低方案
- 醫(yī)療大數據助力精準疾病預測與防控
- bot水務合同范例
- 視網膜震蕩與挫傷的臨床護理
- 江蘇省徐州市銅山區(qū)2024-2025學年高一下學期4月期中考試 化學 PDF版含答案
- 臨時雇傭飯店合同范例
- 2024年天然氣液化模塊項目投資申請報告代可行性研究報告
- 2024年山東省泰安市中考英語試題卷(含標準答案及解析)
- 2023年延邊大學工作人員招聘考試真題
- 節(jié)奏課程設計
- 投標擔保函樣式
- DL∕T 548-2012 電力系統(tǒng)通信站過電壓防護規(guī)程
- 物流合伙人合同協(xié)議書
- 鄭州市中原區(qū)第十九初級中學2022-2023學年七年級下學期期中數學試題【帶答案】
- 黑龍江省哈爾濱市德強學校2023-2024學年六年級(五四學制)下學期期中語文試題
- 冀人版科學六年級下冊全冊同步練習
- 建筑結構荷載規(guī)范DBJ-T 15-101-2022
- 眼科知識科普課件
評論
0/150
提交評論