1. domino access service.pdf
TRANSCRIPT
-
7/25/2019 1. Domino Access Service.pdf
1/32
2012 IBM Corporation
REST services in Domino -Domino Access Services
Domino Programmability Team
-
7/25/2019 1. Domino Access Service.pdf
2/32
2 2013 IBM Corporation
Agenda
Why R!T"
#R!T Ba$i%$
#R!T&'l Domino
Domino A%%e$$ !er(i%e$ )(er(ie*
Domino A%%e$$ !er(i%e$
#Domino data $er(i%e
#Calendar $er(i%e
#Mail $er(i%e
#)ther $er(i%e$ *e are di$%'$$ing
nable Domino A%%e$$ !er(i%e$
B'ild %'$tomi+ed $er(i%e !ome '$er $torie$
API by relea$e
Re&eren%e
-
7/25/2019 1. Domino Access Service.pdf
3/32
2013 IBM Corporation
Why R!T , R!T Ba$i%$
2011 IBM Corporation3
What i$ R!T"
#Repre$entational !tate Tran$&er -R!T.
#Re$o'r%e/oriented
, Do%'ment$ (ie*$ me$$age$ %alendar entrie$ are all '$t re$o'r%e$
, a%h re$o'r%e ha$ a 'ni4'e 5R6
#M'ltiple repre$entation$ o& a re$o'r%e -7!)8 9M6 MIM iCalendar et%:.#5$e$ ;TTP 'ni&orm inter&a%e -
-
7/25/2019 1. Domino Access Service.pdf
4/32
2013 IBM Corporation
Why R!T , R!T&'l Domino
Domino *or=$ a$ $er(i%e pro(ider
#Client and $er(er are more de%o'pled
#?ery lo* barrier to '$e
#a$y to integrated in *eb@mobile appli%ation$
T*o *ay$ to a%%e$$ R!T $er(i%e o& Domino
#>rom 9Page$ '$ing the R!T !er(i%e %ontrol -*ont %o(er in thi$ $lide.
#A$ b'ilt/in $er(i%e %alled Domino A%%e$$ !er(i%e$ -DA!.
R!T API ($ Traditional API
#R!T ($ !)AP
#R!T ($ 8RPC@DII)P
-
7/25/2019 1. Domino Access Service.pdf
5/32
2013 IBM Corporation
R!T ($ !)AP
Both are *eb $er(i%e$ b't :::
It$ ea$ier to b'ild a R!T %lient
#8o need &or $pe%ial librarie$ or generated %ode
R!T %lient$ are lighter
#a$y to a%%e$$ a R!T $er(i%e by http %lient
R!T ($ 8RPC@DII)P
Client doe$nt need 8ote$@Domino librarie$ or 8ote$ ID
#
-
7/25/2019 1. Domino Access Service.pdf
6/32
2013 IBM Corporation
What i$ Domino A%%e$$ !er(i%e$ -DA!."
-
7/25/2019 1. Domino Access Service.pdf
7/32 2013 IBM Corporation
Domino A%%e$$ !er(i%e$ -DA!. i$ al$o a &rame*or=
)ne &rame*or= &or adding R!T $er(i%e$ to Domino
Eten$ible &rame*or= b'ilt on Apa%he Win= -$eehttp@@in%'bator:apa%he:org@*in=. and )!
-
7/25/2019 1. Domino Access Service.pdf
8/32F 2013 IBM Corporation
DA! in API >rame*or=
C SDK
Java WrappersLotusScript
Wrappers
Core function
Back-end Classes
C'$tomer
$ol'tion$ '$ing
6ot'$!%ript
C'$tomer
$ol'tion$ '$ing
8ote$ 7a(a API
C'$tomer
$ol'tion$ '$ing
C @ CGG
C'$tomer
$ol'tion$ '$ing
R!T
C'$tomer
$ol'tion$ '$ing
!!7!
JS Wrappers REST Service
-
7/25/2019 1. Domino Access Service.pdf
9/32 2013 IBM Corporation
Domino A%%e$$ !er(i%e$ Ar%hite%t're
2011 IBM Corporation
H
Domino !er(er
DA! !er(let
Domino Web ngine-nati(e %ode.
:::Data!er(i%e
Pl'g/in
Calendar
!er(i%e Pl'g/in
Tra(eler
AdminPl'g/in
Apa%he Win= R'ntime
Client %an be abro*$er nati(e mobileapp et% , anything that%an $end an ;TTPre4'e$t:
All %omponent$ inbl'e are )!
-
7/25/2019 1. Domino Access Service.pdf
10/32 2013 IBM Corporation
Domino A%%e$$ !er(i%e$ -DA!.
Domino data $er(i%e
Calendar $er(i%e
Mail $er(i%e
)ther $er(i%e$ *e are di$%'$$ing
-
7/25/2019 1. Domino Access Service.pdf
11/3211 2013 IBM Corporation
Domino Data !er(i%e , )(er(ie*
Relea$ed in F::3 5pgrade Pa%= 1 al$o planned &or H:0
A%%e$$ to databa$e$ (ie*$ &older$ do%'ment$
7!)8 repre$entation &or ea$y a%%e$$ &rom 7a(a!%ript and other lang'age$
Create Read 5pdate Delete -CR5D. operation$ &or do%'ment$
-
7/25/2019 1. Domino Access Service.pdf
12/3212 2013 IBM Corporation
Domino Data !er(i%e , >'n%tionality
Reading databa$e %olle%tion
Reading@'pdating (ie*@&older entry %olle%tion
Creating ne* do%'ment$
Reading@'pdating@deleting eEi$ting do%'ment$
-
7/25/2019 1. Domino Access Service.pdf
13/3213 2013 IBM Corporation
Method F>CACCHOFF2F1100OD0C
Nnoteid2CA
Npo$ition1
eyA6
8ameA6ABAMA
K
J
Nentryid2/D>12>03OA>OF2F1100OD0C
N'nidD>12>03OA>OF2F1100OD0C Nnoteid2C
Npo$ition2
eyA
8ameA6A!A
K
Domino Data !er(i%e !ample,
-
7/25/2019 1. Domino Access Service.pdf
14/32
1O 2013 IBM Corporation
Calendar !er(i%e / )(er(ie*
Planned &or H:E
;igher le(el o& ab$tra%tion &or a%%e$$ to %alendar data
7!)8 and iCalendar repre$entation$
CR5D operation$ *ith impli%it $%hed'ling
-
7/25/2019 1. Domino Access Service.pdf
15/32
1 2013 IBM Corporation
Calendar !er(i%e , >'n%tionality
Create read 'pdate and delete %alendar entrie$
Read a range o& entrie$ &rom a %alendar
-
7/25/2019 1. Domino Access Service.pdf
16/32
1 2013 IBM Corporation
Calendar $er(i%e eEample , Read a range o& e(ent$
-
7/25/2019 1. Domino Access Service.pdf
17/32
1 2013 IBM Corporation
Calendar $er(i%e eEample , Read a range o& e(ent$
-
7/25/2019 1. Domino Access Service.pdf
18/32
1F 2013 IBM Corporation
Calendar $er(i%e eEample , Create a ne* e(ent
P)!T http@@Jho$tK@JdbK@api@%alendar@e(ent$Content/Type appli%ation@$on
JS! re"uest
{
"events": [
{
"summary": "2013 #st#n arat
-
7/25/2019 1. Domino Access Service.pdf
19/32
1H 2013 IBM Corporation
Calendar $er(i%e eEample , Create a ne* e(ent
P)!T http@@Jho$tK@JdbK@api@%alendar@e(ent$Content/Type teEt@%alendar
iCalendar re"uest
E)+:(/A'E+DA
(E)+:20
>D)D:-??#me /#m!any??++' #me >r#du*t??E+
E)+:(E(E+
DA:20130415130000
DE+D:20130415190000
A;:2013 #st#n arat
-
7/25/2019 1. Domino Access Service.pdf
20/32
20 2013 IBM Corporation
Mail !er(i%e , )(er(ie* and >'n%tionality
)n )pen8T> no* no &irm plan$ &or prod'%t relea$e
7!)8 and MIM repre$entation$
Read (ie*$ &older$ me$$age$ !end me$$age$ Dra&t me$$age$
-
7/25/2019 1. Domino Access Service.pdf
21/32
21 2013 IBM Corporation
Method >1B1F2H2:::
K
J
&rom>ran= Adam$
$'be%tmail *ith Mime
date2011/10/1T11
hre&httpS@S@ibm:%omS@mailS@dmi$a*a:n$&S@apiS@mailS@me$$age$S@DBAC3HC2F2H2:::
K
J &romBetty e%hman
$'be%tMe$$age *ith ri%h teEt %onent and atta%hment:
date2011/12/0HT1F3O3
hre&httpS@S@ibm:%omS@mailS@dmi$a*a:n$&S@apiS@mailS@me$$age$S@D02DOH2O23DB>>F2H1:::
K
Mail $er(i%e eEample ,
-
7/25/2019 1. Domino Access Service.pdf
22/32
22 2013 IBM Corporation
Method >F2H100C2O2C %ontent L
J
%ontentTypem'ltipartS@miEed bo'ndaryQSQUmiEed 00COACF2H1UQS
K J
%ontentTypeteEtS@html %har$etQS5!/A!CIIS
dataV&ont $i+eQ2 %olorQred &a%eQS$an$/$eri&SVbThi$ teEt i$ bold and red:VS@bVS@&ontSrSnVbrSrSnVbr
bo'ndary//QUmiEed 00COACF2H1UQ K
J %ontentTypeteEtS@plain nameQSTeEt Do%'ment:tEtS
%ontentTran$&ern%oding4'oted/printable dataThi$ i$ a $imple teEt &ile *ith $ome teEt:QSrSnQ
bo'ndary//QUmiEed 00COACF2H1UQ
%ontentDi$po$itionatta%hment &ilenameQSTeEt Do%'ment:tEtS
K
K
Calendar $er(i%e eEample ,
-
7/25/2019 1. Domino Access Service.pdf
23/32
23 2013 IBM Corporation
Method D02DOH2:O23DB>>/)8F2H1:00C2O2C/F2H1:00COA>N6o%alDomain
Date >ri H De% 2011 1OO2OH /000
!ender &adam$NeEplorer:$*g:'$ma:ibm:%om>rom &adam$Nnote$de(:ibm:%om
Content/Type m'ltipart@miEed bo'ndaryQQUmiEed 00COACF2H1UQ
MIM/?er$ion 1:0
//QUmiEed 00COACF2H1UQ
Content/Type teEt@html %har$etQ5!/A!CII
V&ont $i+eQ2 %olorQred &a%eQ$an$/$eri&VbThi$ teEt i$ bold and red:V@bV@&ontVbr
//QUmiEed 00COACF2H1UQContent/Type teEt@plain nameQTeEt Do%'ment:tEt
Content/Di$po$ition atta%hment &ilenameQTeEt Do%'ment:tEtContent/Tran$&er/n%oding 4'oted/printable
Thi$ i$ a $imple teEt &ile *ith $ome teEt:Q
Q//QUmiEed 00COACF2H1UQ//
Calendar $er(i%e eEample ,
-
7/25/2019 1. Domino Access Service.pdf
24/32
2O 2013 IBM Corporation
)ther $er(i%e$ *ere di$%'$$ing
>reeB'$y
Room$ Re$o'r%e$
Tra(eler admin
6oo=ing &or %'$tomer &eedba%= on other idea$ and prioritie$
-
7/25/2019 1. Domino Access Service.pdf
25/32
2 2013 IBM Corporation
nabling $er(i%e on $er(er i$ re4'ired
DA! i$ di$abled by de&a'lt: Can be enabled &or !er(er Databa$e -?ie* and Do%'ment. and ?ie*
Administrator%ontrol$ *hi%h $er(er$ r'n the data $er(i%e
Internet !iteor !er(erDo%'ment
J %odeO03 teEt>orbidden me$$ageDataba$e not allo*ed &or Web A%%e$$
K
-
7/25/2019 1. Domino Access Service.pdf
26/32
2 2013 IBM Corporation
nabling $er(i%e &or a databa$e
Application developer%ontrol$ Data#asea%%e$$
Application developer%ontrol$ $ie%a%%e$$
?ie*
Ad(an%edPropertie$
Databa$eAd(an%edPropertie$
-
7/25/2019 1. Domino Access Service.pdf
27/32
2 2013 IBM Corporation
C'$tom R!T !er(i%e$
Tool$ to b'ild yo'r o*n $er(i%e$ '$ing )!
-
7/25/2019 1. Domino Access Service.pdf
28/32
2013 IBM Corporation
5$er $tory-1 o& 3.
Data $er(i%e Do%'ment Repo$itory
&ser stor'
5$er *ant to read@*rite do%'ment in domino $er(er on mobile or *eb bro*$er
(ro-art and limitation
9page$;elp do%'ment$ on 6ot'$ *i=i are implemented by Epage 9page$ i$ de(elopedand binding *ith db:
Y'i%=rprod'%t o& do%'ment repo$itory ba$ed on domino
Solution
A&ter *e p'bli% R!T&'l $er(i%e any (endor or partner %an de(elop %lient appli%ationprod'%t or integrate thi$ $er(i%e into their prod'%t
-
7/25/2019 1. Domino Access Service.pdf
29/32
2013 IBM Corporation
5$er $tory-2 o& 3.
Mail $er(i%e !o%ial mail@Conne%tion mail
&ser stor'
5$er *ant to read hi$ mail on mobile or *eb bro*$er
(ro-art and limitation
i8ote$ '$e internal domino api in$tead o& %on$'me R!T mail $er(i%e: Additional libraryneeded on $er(er:
Solution
R!T API i$ $tandard and general $er(i%e independent o& %lient@$er(er a&ter *e pro(idemail $er(i%e api all =ind$ o& *eb/ba$ed mail %lient %an %on$'me it integrate it in%l'dingneEt generation note$ %lient/ !o%ial mail
-
7/25/2019 1. Domino Access Service.pdf
30/32
2013 IBM Corporation
5$er $tory-3 o& 3.
Calendar $er(i%e
-
7/25/2019 1. Domino Access Service.pdf
31/32
31 2013 IBM Corporation
API$ by Relea$e
API Name 8.5.3 Upgrade
Pack 1
Extension
Library(penN!"#
$.% &ocia'
Edition
$.x
Domino data service )es )es *n (lan *n (lan
Calendar service !o !o !o *n (lan
+ail service !o )es !o !ot in (lan
-
7/25/2019 1. Domino Access Service.pdf
32/32
Do%'mentation and other re&eren%e$
!opic &orce Link
Domino data service App Dev Wiki http@@***/10:lot'$:%om@ldd@dd*i=i:n$&@Ep?ie*Categorie$:E$p"loo='p8ameQDominoZ20DataZ20!er(i%e
+ail service pen!T, http@@***:opennt&:org@Proe%t$@pmt:n$&@1B3OBAHH31OO1F2AC00>2@Z2O&ile@DominoZ20MailZ20!er(i%e:pd&
Calendar service Planned for an extlib release coming soon -http@@eEtlib:opennt&:org@.
Domino applicationdevelopment in eneral
App Dev Wiki http@@***/10:lot'$:%om@ldd@dd*i=i:n$&
E.tension li#rar' in eneral pen!T, http@@eEtlib:opennt&:org@