Building a SaaS application using the WSO2 Platform
Transcript of Building a SaaS application using the WSO2 Platform
:62��6XPPHU�6FKRRO%XLOGLQJ�D�6DD6�$SSOLFDWLRQ
�XVLQJ�:62�
:62�-RKQ�0DWKRQ
MRKQ#ZVR��FRP&KULV�+DGGDG
FKULV#ZVR��FRP
$JHQGD
Ɣ :K\�6DD6�DSSOLFDWLRQV�HQKDQFH�EXVLQHVV�YDOXH�
Ɣ :KDW�FDSDELOLWLHV�VHSDUDWH�6DD6�DSSOLFDWLRQV�IURP�:HE�DSSOLFDWLRQV�
Ɣ +RZ�WR�EXLOG�D�6DD6�DSSOLFDWLRQ�ZLWK�WKH�:62��3ODWIRUP�
Ɣ 7XUQLQJ�([LVWLQJ�$VVHWV�LQWR�6DD6�$SSOLFDWLRQV
��������������������������������6DD6
%XLOG�%XVLQHVV�5HODWLRQVKLSV�
DQG�(FRV\VWHPV
:HE�����3UHVHQWDWLRQƔ :HE�VLWHVƔ %URFKXUH�ZDUHƔ (�PDLO
Ɣ 0DVV�PDUNHWLQJƔ 6WDWLF�LQIRUPDWLRQ�GHOLYHU\
:HE�����7UDQVDFWLRQDOƔ (�&RPPHUFHƔ 6RFLDO�QHWZRUNV
Ɣ 6HDUFKƔ 5HFRPPHQGDWLRQV�DQG�VWDWXV
:HE�����&RPPXQLW\Ɣ 0DVVLYH�'DWD�GULYHQƔ 0RELOH
Ɣ $G�KRF�JURXSVƔ 6HOI�6HOHFWLRQ�DQG�6RFLDO
Ɣ (FRV\VWHPVƔ &RQWH[WXDO�DQG�3HUVRQDOL]HG
�
�
:K\�6DD6�DSSOLFDWLRQV�HQKDQFH�EXVLQHVV�
YDOXH
Ɣ 2SHUDWH�$W�7KH�6SHHG�RI�1RZƔ 5DSLGO\�RQERDUG�QHZ�FXVWRPHUV�DQG�SDUWQHUVƔ *DLQ�WLPHO\�DFFHVV�WR�ORFDOL]HG�DQG�DJJUHJDWHG�DQDO\WLFV
Ɣ 3XUVXH�1HZ�%XVLQHVV�2SSRUWXQLWLHVƔ 8QLTXHO\�FRQILJXUH�EXVLQHVV�HYHQWV��SURFHVVHV��UXOHV��DQG�GDWD�SHU�
FXVWRPHU�DQG�SDUWQHUƔ %URDGHQ�UHDFK�,QWR�/RQJ�7DLOƔ 'ULYH�VRFLDO��FRPPXQLW\��DQG�HFRV\VWHP�EXVLQHVV�PRGHOV
:KDW�FDSDELOLWLHV�VHSDUDWH�6DD6�
DSSOLFDWLRQV�IURP�:HE�DSSOLFDWLRQV
Ɣ 6HOI�6HUYLFHƔ 3HUVRQDOL]DWLRQƔ 7HQDQF\Ɣ 5HVRXUFH�2SWLPL]DWLRQƔ $JJUHJDWLRQ
(IILFLHQW�%XVLQHVV�6FDOLQJ�ZLWK
2Q�GHPDQG�6HOI�6HUYLFH
5DSLGO\�RQERDUG�QHZ�FXVWRPHUV�DQG�SDUWQHUVƔ 5HJLVWHU�RUJDQL]DWLRQƔ &RQILJXUH�EXVLQHVV�REMHFWV
Ɣ SURFHVVHV��UXOHV��HYHQW�QRWLILFDWLRQV��DQG�GDWD�HOHPHQWVƔ ,QWHJUDWH�XQLTXH�GDWD�VRXUFHV
Ɣ 0DVWHU�GDWD�VRXUFHV��LGHQWLW\�UHSRVLWRU\Ɣ 3URYLVLRQ�SURMHFW�ZRUNVSDFHV�Ɣ &UHDWH�DQG�YLHZ�DQDO\WLFV
(IIHFWLYH�6DD6�$SSOLFDWLRQV�'HOLYHU�D�
3HUVRQDOL]HG�([SHULHQFH
8QLTXHO\�FRQILJXUH�EXVLQHVV�HYHQWV��SURFHVVHV��UXOHV��DQG�GDWD�SHU�FXVWRPHU�DQG�SDUWQHU
Ɣ �[N]gZ<jQ][�<EEIhh�dgQpQYIOIhƔ �[N]gZ<jQ][�<OOgIO<jQ][�<[G�E]Zd]hQjQ][Ɣ /]EQ<Y�[Ijq]gX�<EEIhh�dgQpQYIOIhƔ �khQ[Ihh�dg]EIhhIh�<[G�gkYIhƔ /IgpQEI�YIpIYh�<[G�-k<YQjs�]N�/IgpQEIƔ /IEkgQjs�d]YQEQIhƔ !][IjQv<jQ][�g<jIh
%DNH�7HQDQF\�'LPHQVLRQV�,QWR�<RXU�6DD6
&RQVLGHU�,VRODWLRQ��5HVRXUFH�2SWLPL]DWLRQ��DQG�$JJUHJDWLRQ�DFURVV
Ɣ 3HRSOHƔ 2UJDQL]DWLRQ��7HDP��RU�,QGLYLGXDO
Ɣ 3URMHFWƔ 2SHQ�(QUROOPHQWƔ 0DUNHWLQJ�&DPSDLJQ
Ɣ ,7�$UWLIDFWƔ $SSOLFDWLRQ��$3,��6HUYLFH��RU�0DFKLQH
5HVRXUFH�2SWLPL]DWLRQ
%URDGHQ�5HDFK�,QWR�/RQJ�7DLOƔ 6WUHWFK�&DSLWDO�'ROODUV
Ɣ 7HQDQW�GHQVLW\� �7Q���)XƔ 1XPEHU�RI�7HQDQWV�GLYLGHG�E\�,QIUDVWUXFWXUH�)RRWSULQW�8QLW
Ɣ /RZHU�3HU�7HQDQW�&RVWƔ 5HVRXUFH�XWLOL]DWLRQ�FKDUJHVƔ ,QWHJUDWLRQ�DQG�FRQILJXUDWLRQ�Ɣ 2Q�ERDUGLQJ�DFWLYLWLHV
$JJUHJDWLRQ
'ULYH�VRFLDO��FRPPXQLW\��DQG�HFRV\VWHP�EXVLQHVV�PRGHOVƔ *DLQ�WLPHO\�DFFHVV�WR�ORFDOL]HG�DQG�DJJUHJDWHG�
DQDO\WLFVƔ 3UH�LQWHJUDWH�SURFHVVHV�DQG�HYHQWV�DFURVV�
RUJDQL]DWLRQV��WHDPV��DQG�LQGLYLGXDOV
6DD6�7HFKQLFDO�5HTXLUHPHQWV
Ɣ 7HQDQF\Ɣ 0XOWL�WHQDQF\Ɣ +LJK�UHVRXUFH�XWLOL]DWLRQ��VKDULQJƔ =HUR�'RZQWLPH
Ɣ 6HOI�6HUYLFHƔ $XWRPDWLF�'HSOR\PHQW�RI�WHQDQWVƔ ,GHQWLW\�0DQDJHPHQW
Ɣ 5HVRXUFH�2SWLPL]DWLRQƔ $XWRPDWLF�VFDOLQJƔ $XWRPDWLF�5HVRXUFH�DOORFDWLRQƔ $XWRPDWLF�EDFNXS���DUFKLYH���
UHVWRUHƔ 6/$�0DQDJHPHQW
Ɣ 3HUVRQDOL]DWLRQƔ $GG�RQV�XS�VHOOƔ %LOOLQJ�DQG�0HWHULQJƔ &RPSOLDQFH
Ɣ $JJUHJDWLRQ�DQG�,VRODWLRQƔ $QDO\WLFV��L�H��PLQ�PD[�DYHUDJH��
WUHQGV�Ɣ /RJ�PDQDJHPHQWƔ 6DD6�$SSOLFDWLRQ�LQWHJUDWLRQ
0XOWL�WHQDQF\
Ɣ 0XOWL�7HQDQF\�LV�DERXW�LVRODWLRQƔ 'DWDƔ &RQILJXUDWLRQƔ 'DWDEDVHƔ 8VHU�LQWHUIDFH�Ɣ &XVWRPL]DWLRQVƔ 0HWDGDWDƔ /RJV
Ɣ %HFDXVH�LW¶V�PRUH�HIILFLHQWƔ 6KDUHG�([HFXWLRQƔ 6KDUHG�6HUYLFHV
0XOWL�7HQDQF\
Ɣ 1RQ�PXOWL�WHQDQW�$SSOLFDWLRQ�±�H[SHQVLYHƔ 1R�VKDUHG�H[HFXWLRQ���LQVWDQFH�SHU�WHQDQW±�-HW�0RGHƔ 1R�VKDUHG�GDWD�±�SHUFHLYHG�KLJKHU�VHFXULW\Ɣ 'HGLFDWHG�5HVRXUFHV
Ɣ 6RPH�6KDUHG�5HVRXUFHVƔ 6RPH�SDUWV�RI�DQ�DSSOLFDWLRQ�PXOWL�WHQDQWƔ %UHDN�DQ�DSSOLFDWLRQ�LQWR�SLHFHV�PHDQV�SRWHQWLDO�
ERWWOHQHFNVƔ )XOO\�PXOWL�WHQDQW
Ɣ 0LQLPXP�&RVWƔ 0XVW�EH�DEOH�WR�VFDOH�DQG�PRYH�WHQDQWV�±�PRYH�GDWD
0XOWL�7HQDQF\
Ɣ %XLOG�WR�WKH�PHWDO�Ɣ :ULWH�WKH�DSSOLFDWLRQ�IURP�VFUDWFK�WR�EH�KDUGFRUHƔ ,I�\RX�FDQ¶W�ILW�DOO�WHQDQWV�LQWR�D�VLQJOH�LQVWDQFH�WKHQ�
QHHG�WR�EH�DEOH�WR�UXQ�PXOWLSOH�LQVWDQFHV�DQ\ZD\Ɣ 6DOHV�IRUFH�PRGHO
Ɣ +RVWHG�SHU�,QVWDQFHƔ 0RVW�([SHQVLYH�±�PD\�EH�RQO\�RSWLRQ
Ɣ +\EULGƔ &RPELQDWLRQ�RI�DERYH
6HOI�6HUYLFH
Ɣ $XWRPDWLF�DOORFDWLRQ�RI�UHVRXUFHV�DQG�VKDUHG�VHUYLFHV
Ɣ $XWRPDWLF�ORDG�EDODQFLQJƔ $XWRPDWLF�DOORFDWLRQ�RI�WHQDQW�WR�LQVWDQFHVƔ $XWRPDWLF�EDFNXS���UHVWRUHƔ 6WRUH�WR�RIIHU�&XVWRPHUV�$SSOLFDWLRQV��$3,V��0RELOH�$SSOLFDWLRQV�
$GG�RQV�XS�VHOO
Ɣ 6DD6�DSSOLFDWLRQV�QHHG�WR�SURYLGH�DYHQXHV�IRU�XSVHOOLQJ�FXVWRPHUV
Ɣ 2WKHU�FXVWRPHUV�FDQQRW�EH�DIIHFWHG�Ɣ 3HU�FXVWRPHU�PHWDGDWD�LPSOLHV�VFKHPD�FKDQJHV�RU�PHWD�PHWD�GDWD�PRGHO���KDUGHU
=HUR�'RZQWLPH���6XSSRUW���6/$
Ɣ 26*L�FRPSOLDQFH�SURYLGHV�G\QDPLF�XSJUDGLQJ�RI�DSSOLFDWLRQ
Ɣ 6/$�PDQDJHPHQW�DQG�PRQLWRULQJ���WHQDQW�LV�FULWLFDO
Ɣ /RJ�PDQDJHPHQW���WHQDQWƔ '\QDPLF�FRQILJXUDWLRQ�FKDQJHV�±�QR�UHERRW�DSSOLFDWLRQ
Ɣ %LOOLQJ�DQG�PHWHULQJ�ZLWK�IXOO�ORJ�DYDLODEOH�WR�FXVWRPHU
Ɣ &ORXG�1DWLYH�IRU�DXWRPDWLF�VFDOLQJ�DQG�EXUVWLQJ
&RPSOLDQFH�DQG�6HFXULW\
Ɣ 'LIIHUHQW�&RXQWULHV�UHTXLUH�GLIIHUHQW�UXOHV�DERXW�GDWD�SULYDF\��ORFDWLRQ�RI�GDWD
Ɣ +\EULG�PRGHO�IRU�&ORXG�LPSRUWDQWƔ 3HU�XVHU�ILQH�JUDLQHG�HQWLWOHPHQWVƔ 662Ɣ &XVWRPHU�/'$3�VXSSRUWƔ 0XOWL�IDFWRU�DXWKHQWLFDWLRQƔ &HUWLILFDWH�0DQDJHPHQW�±�HVSHFLDOO\�H[SLUDWLRQ
,GHDO�6DD6�3ODWIRUP
Ɣ $OO�FRPSRQHQWV�VKDUHG�PXOWL�WHQDQWƔ (ODVWLF�/RDG�%DODQFLQJ�EXLOW�LQƔ 6/$�0DQDJHPHQW�EXLOW�LQƔ /RJ�PDQDJHPHQW�EXLOW�LQƔ %LOOLQJ�DQG�0HWHULQJ�EXLOW�LQ�%$0Ɣ &OXVWHULQJ��PRQLWRULQJ�RI�LQVWDQFHV�DQG�VHUYLFHV�EXLOW�LQƔ 6HFXULW\��,GHQWLW\�0DQDJHPHQW�EXLOW�LQƔ 26*L�FRPSOLDQFH�EXLOW�LQƔ &ORXG�1DWLYH�EXLOW�LQ
$GYDQFHG�6DD6�$SSOLFDWLRQV
Ɣ :KHQ�\RX�ZDQW�WR�RIIHU�PXOWLSOH�DSSOLFDWLRQV�DV�6DD6�\RX�ZDQW�WR�RIIHU�VHDPOHVV�LQWHJUDWLRQ�EHWZHHQ�WKH�DSSOLFDWLRQV�Ɣ 6HFXULW\�0RGHOƔ 'DWD�VKDULQJƔ ,QWHU�DSSOLFDWLRQ�HYHQWLQJ��EDFN�HQG�LQWHJUDWLRQ�
Ɣ (6%��0HVVDJH�%URNHU��&(3Ɣ 8VHU�LQWHUIDFH�LQWHJUDWLRQ��IURQW�HQG�LQWHJUDWLRQ�
Ɣ 2GDWD��5(67IXO�$3,¶V�LQ�JHQHUDOƔ $3,�0DQDJHPHQW
Ɣ 2IIHULQJ�$3,V�LQ�DGGLWLRQ�WR�6DD6�±�$3,�0DQDJHPHQW��L3DD6
Ɣ 2IIHULQJ�D�3DD6�LQ�DGGLWLRQ�WR�6DD6�±�(FRV\VWHP�3DD6Ɣ )RUFH�FRP
2IIHULQJ�$3,V�LQ�DGGLWLRQ�WR�6DD6
Ɣ $3,�0DQDJHPHQW�EXLOW�LQ�LV�D�KXJH�SOXVƔ &XVWRPHUV�ZDQW�WR�LQWHJUDWH�\RXU�DSSOLFDWLRQ�GHHSO\�LQ�WKHLU�RWKHU�DSSOLFDWLRQV
Ɣ &UHDWHV�VWLFNLQHVVƔ &RPSHWLWLYH�DGYDQWDJH
2IIHULQJ�3DD6�LQ�DGGLWLRQ�WR�6DD6
Ɣ &XVWRPHUV�ZDQW�WR�EXLOG�QHZ�IHDWXUHV�WR�\RXU�DSSOLFDWLRQ
Ɣ &XVWRPHUV�ZDQW�WR�EXLOG�WKHLU�RZQ�DSSOLFDWLRQV�WKDW�OLYH�LQ�WKH�FORXG�DQG�XVH�\RXU�VHUYLFHV
Ɣ 3DUWQHUV�ZDQW�WR�RIIHU�QHZ�DSSOLFDWLRQV�EDVHG�RQ�\RXU�VHUYLFHV�DQG�DSSOLFDWLRQV�WR�\RXU�FXVWRPHUV
Ɣ &UHDWH�DGGLWLRQDO�VWLFNLQHVV��RSSRUWXQLWLHV�IRU�DGG�RQV�DQG�VKDUHG�UHYHQXH��KLJKHU�FXVWRPHU�VDWLVIDFWLRQ
Ɣ )LOO�+ROHV�LQ�\RXU�SURGXFW
0RELOH
Ɣ %H�DEOH�WR�RIIHU�DSSOLFDWLRQV�OHYHUDJLQJ�\RXU�DSSOLFDWLRQ�IRU�FXVWRPHUV
Ɣ %H�DEOH�WR�RIIHU�D�SODWIRUP�IRU�FXVWRPHUV�WR�EXLOG�PRELOH�DSSOLFDWLRQV�DQG�GHOLYHU�WKHP�LQ�D�VHFXUH�ZD\�WR�FXVWRPHUVƔ $�6WRUH
7XUQLQJ�([LVWLQJ�$VVHWV�LQWR�6DD6�$SSOLFDWLRQV
Ɣ 'LIILFXOW�VRPHWLPHVƔ &DUWULGJH�GHYHORSPHQWƔ ,VRODWLQJ�5HVRXUFHV��&RQILJXUDWLRQ��/RJV�VWLOO�QHHGV�WR�EH�GRQH
Ɣ 6HFXULW\�,QWHJUDWLRQƔ 8,�UHZRUNƔ 6WDUWXS�UHZRUN
'HPR
���6KRZ�7HQDQW�$GPLQLVWUDWLRQ
D��FUHDWH�WHQDQW
���6KRZ�DGPLQLVWUDWLRQ�GHOHJDWLRQ
� D��DSSOLFDWLRQ�PDQDJHPHQW
����E��XVHU�PDQDJHPHQW
���6KRZ�XVHU�PDQDJHPHQW�SHU�WHQDQW
0I[<[j�/<</�7ID��ddYQE<jQ][h
Ɣ ][NQOkgI�hIEkgQjs�Q[�qID�rZYßhIEkgQjs�E][hjg<Q[jà
ßGQhdY<s�[<ZIà�r<ZdYI�/IEkgQjs� ][hjg<Q[jß�GQhdY<s�[<ZIàßqID�gIh]kgEI�E]YYIEjQ][à
ßqID�gIh]kgEI�[<ZIà+g]jIEjIG��gI<ß�qID�gIh]kgEI�[<ZIàß�����INQ[I�jPI�E][jIrj�gIY<jQpI�1. ¥h¦�j]�DI�dg]jIEjIG���àßkgY�d<jjIg[à�Whd�hIEkgQjs�dg]jIEjIG�«ß�kgY�d<jjIg[àß�����N�s]k�YQhj�Pjjd�ZIjP]Gh��][Ys�jP]hI�ZIjP]Gh�<gI�dg]jIEjIG���àßPjjd�ZIjP]Gà�� �0�ß�Pjjd�ZIjP]GàßPjjd�ZIjP]Gà��0ß�Pjjd�ZIjP]GàßPjjd�ZIjP]Gà+$/0ß�Pjjd�ZIjP]GàßPjjd�ZIjP]Gà+10ß�Pjjd�ZIjP]Gà
ß�qID�gIh]kgEI�E]YYIEjQ][àß<kjP�E][hjg<Q[jà
ß�����[s][I�qQjP�][I�]N�jPI�YQhjIG�g]YIh�Z<s�<EEIhh�jPQh�<gI<���àßg]YI�[<ZIà«ß�g]YI�[<ZIà
ß�<kjP�E][hjg<Q[jàß�hIEkgQjs�E][hjg<Q[jà
/kdIg�0I[<[j�/<</��ddYQE<jQ][
Ɣ <[�<EEIhh�jI[<[j�h�khIg�YIpIY�Q[N]gZ<jQ][Ɣ 1hI�]gO�qh]Á�E<gD][�E][jIrj�+gQpQYIOIG <gD][ ][jIrj�j]�
<EEIhh�jI[<[j�h�Q[N]gZ<jQ][Ɣ .IOQhjgsƔ <EPIƔ 0I[<[j�!<[<OIgƔ -kIkI
�<p<� Y<hhIh
Ɣ 1hIg�/IEkgQjs�!<[<OIg�Ɣ ]gO�qh]Ã�E<gD][�khIg�<dQ�1hIg.I<YZ/IgpQEI
Ɣ 0I[<[j�Z<[<OIgƔ ]gO�qh]Ã�E<gD][�khIg�<dQ�0I[<[j!<[<OIg
Ɣ ]]Xkd�jI[<[jƔ ]gO�qh]Ã�E<gD][�kjQYh�ZkYjQjI[<[Es�!kYjQjI[<[j1jQYh�
Ɣ �EEIhh�jI[<[j�h�E][jIrj�Q[N]gZ<jQ][Ɣ ]gO�qh]Á�E<gD][�E][jIrj�+gQpQYIOIG <gD][ ][jIrj�
$Dj<Q[Q[O�0I[<[j� ][jIrj
6WULQJ�ITBXVHUQDPH� �gIfkIhj�OIj.IZ]jI1hIg¥¦�6WULQJ�WHQDQW'RPDLQ� �!kYjQjI[<[j1jQYh�OIj0I[<[j�]Z<Q[¥Nf¢khIg[<ZI¦�
8VHU5HDOP6HUYLFH�UHDOP6HUYLFH� ��8VHU5HDOP6HUYLFH��3ULYLOHJHG&DUERQ&RQWH[W�JHW&XUUHQW&RQWH[W���JHW26*L6HUYLFH�8VHU5HDOP6HUYLFH�FODVV��
RUJ�ZVR��FDUERQ�XVHU�DSL�7HQDQW0DQDJHU�WHQDQW0DQDJHU� �UHDOP6HUYLFH�JHW7HQDQW0DQDJHU���,QW�WHQDQW,'� �WHQDQW0DQDJHU�JHW7HQDQW,G�WHQDQW'RPDLQ��
LI���UHDOP6HUYLFH�JHW7HQDQW8VHU5HDOP��WHQDQW,'��JHW8VHU6WRUH0DQDJHU���LV([LVWLQJ8VHU�QHZBXVHUQDPH���^
UHDOP6HUYLFH�JHW7HQDQW8VHU5HDOP�W,'��JHW8VHU6WRUH0DQDJHU���DGG8VHU�QHZB�XVHUQDPH��SDVV��QXOO��QXOO��QXOO��
`
�GZQ[Qhjg<jQ][�0Qdh
Ɣ gI<jI�G]Z<Q[h�<[G�G]Z<Q[�<GZQ[Qhjg<j]ghƔ �<EP�G]Z<Q[�<GZQ[Qhjg<j]g�gIhd][hQDYI�N]g�
GINQ[Q[O�jPIQg�jI[<[j�<ddYQE<jQ][h��g]YIh��<[G�khIgh
6XPPDU\
Ɣ :62��SURYLGHV�D�FRPSOHWH�SODWIRUP�WR��Ɣ 8VH�DQ�([LVWLQJ�DSSOLFDWLRQ�DQG�JHW�LW�WR�6DD6�DV�IDVW�DV�SRVVLEOHƔ &UHDWH�D�QHZ�SRZHUIXO�DSSOLFDWLRQ�WKDW�VFDOHV�DQG�LV�RSWLPDOO\�HIILFLHQW�
LQ�UHVRXUFH�XVDJHƔ 3URYLGH�PLQLPDO�GRZQWLPHƔ 3URYLGH�ELOOLQJ��PHWHULQJ��6/$�PDQDJHPHQW�DQG�RWKHU�VXSSRUW�DQG�
RSHUDWLRQDO�VHUYLFHVƔ 3URYLGH�DXWRPDWLF�VFDOLQJ�DQG�UHVRXUFH�DOORFDWLRQƔ 3URYLGH�$3,V�ZLWK�\RXU�DSSOLFDWLRQ�DQG�L3DD6Ɣ 3URYLGH�D�3DD6�IRU�\RXU�XVHUV�WR�OHYHUDJH�\RXU�6DD6
2WKHU�5HVRXUFHV���)ROORZXS
Ɣ &RQWDFW���EL]GHY#ZVR��FRP��Ɣ 2WKHU�5HVRXUFHV���
Ɣ KWWS���ZVR��FRP�OLEUDU\�ZHELQDUV���������FORXG�VROXWLRQ�SDWWHUQV�EXLOGLQJ�VDDV�VROXWLRQ�XVLQJ�VWUDWRVƔ KWWS���ZVR��FRP�ODQGLQJ�DSS�IDFWRU\�Ɣ KWWS���ZVR��FRP�SURGXFWV�DSL�PDQDJHUƔ KWWS���ZVR��FRP�FORXG�VWUDWRVƔ KWWS���ZVR��FRP�ZKLWHSDSHUV�FORXG�QDWLYH�DGYDQWDJH�PXOWL�WHQDQW�VKDUHG�FRQWDLQHU�SDDVƔ KWWS���ZVR��FRP�ZKLWHSDSHUV�VHOHFWLQJ�D�FORXG�SODWIRUPƔ KWWS���ZVR��FRP�ZKLWHSDSHUV�ZVR��VHFXULW\�DQG�LGHQWLW\�JDWHZD\�VROXWLRQ�Ɣ KWWS���ZVR��FRP�ZKLWHSDSHUV�ZVR��PRELOH�VHUYLFHV�JDWHZD\�VROXWLRQ�Ɣ KWWS���ZVR��FRP�ZKLWHSDSHUV�ZVR��VDS�PHVVDJH�JDWHZD\�VROXWLRQ�Ɣ KWWS���ZVR��FRP�ZKLWHSDSHUV�ZVR��GDWD�VHUYLFHV�DQ�H[HFXWLYH�RYHUYLHZ