Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architecting Design Decisions

Architecting Design Decisions

We have a tendency to dive into a project and start coding prematurely. Sometimes we forget that we need to take a step back and ask "How do I best achieve the goals of this project?". Before writing the code, we need to understand the problem, the difficulties, and the architecture of a proposed solution. We need to understand the different layers of the architecture we are proposing. In this talk, I will be showing attendees the proper design for these layers. * Application * Service * Data I will show you the responsibilities for each of these layers, where they fit into your application, and how they should properly interact with each other. Before you fire up your text editor and start writing code, stand back and take a look. See the beauty of the layers.

Viraj Khatavkar

May 29, 2016
Tweet

More Decks by Viraj Khatavkar

Other Decks in Programming

Transcript

  1. 'PMMPX143
    @virajkhatavkar

    View Slide

  2. "SDIJUFDUJOH%FTJHO
    %FDJTJPOT

    View Slide

  3. @virajkhatavkar

    View Slide

  4. @virajkhatavkar

    View Slide

  5. 5IFIFBSUPGTPGUXBSFJTJUT
    BCJMJUZUPTPMWFEPNBJO
    SFMBUFEQSPCMFNTGPSJUTVTFS
    @virajkhatavkar

    View Slide

  6. $PNQMFYJUZJOUIFIFBSUPG
    TPGUXBSFIBTUPCFUBDLMFE
    IFBEPO5PEPPUIFSXJTFJT
    UPSJTLJSSFMFWBODF
    @virajkhatavkar

    View Slide

  7. '6/$5*0/"-
    3&26*3&.&/54
    @virajkhatavkar

    View Slide

  8. 64&$"4&4
    @virajkhatavkar

    View Slide

  9. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF

    \
    4JHO6QUIFVTFS#VU XIBUFMTFEPUIFZXBOU
    3FHVMBS4VCTDSJCFS
    +PJOJOHB5FBN
    3FHJTUFSGPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  10. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    4JHO6QUIFVTFS#VU XIBUFMTFEPUIFZXBOU
    VTFS OFX 6TFS

    VTFSOBNFSFRVFTUOBNF
    VTFSSPMFSFRVFTUSPMF
    3FHVMBS4VCTDSJCFS
    VTFSTBWF VTFS

    +PJOJOHBHJTUFS GPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  11. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF

    \
    4JHO6QUIFVTFS#VU IPX
    3FHVMBS4VCTDSJCFS
    +PJOJOHB5FBN
    3FHJTUFSGPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  12. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF

    \
    4JHO6QUIFVTFS#VU IPX
    3FHVMBS4VCTDSJCFS
    +PJOJOHB5FBN
    3FHJTUFSGPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  13. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF

    \
    4JHO6QUIFVTFS#VU IPX
    3FHVMBS4VCTDSJCFS
    +PJOJOHB5FBN
    3FHJTUFSGPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  14. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF

    \
    4JHO6QUIFVTFS#VU IPX
    3FHVMBS4VCTDSJCFS
    +PJOJOHB5FBN
    3FHJTUFSGPS'PSVN
    ^
    ^
    @virajkhatavkar

    View Slide

  15. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    JG SFRVFTUIBT bGPSVN`

    \
    3FHJTUFSGPS'PSVN
    ^
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    4VCTDSJCFUPQBJEQMBO
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    4VCTDSJCFUPBOFYJTUJOHUFBNBDDPVOU
    ^
    ^
    ^ @virajkhatavkar

    View Slide

  16. 453"5&(:1"55&3/
    @virajkhatavkar

    View Slide

  17. %FGJOFBGBNJMZPG
    BMHPSJUINT FODBQTVMBUFFBDI
    POF BOENBLFUIFN
    JOUFSDIBOHFBCMF
    @virajkhatavkar

    View Slide

  18. @virajkhatavkar

    View Slide

  19. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    JG SFRVFTUIBT bGPSVN`

    \
    3FHJTUFSGPS'PSVN
    ^
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    4VCTDSJCFUPQBJEQMBO
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    4VCTDSJCFUPBOFYJTUJOHUFBNBDDPVOU
    ^
    ^
    ^ @virajkhatavkar

    View Slide

  20. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  21. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  22. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  23. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  24. *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    • 3FHVMBS4VCTDSJCFS
    • +PJOB5FBN
    • 3FHJTUFSGPS'PSVN
    @virajkhatavkar

    View Slide

  25. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  26. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    JG SFRVFTUIBT bGPSVN`

    \
    3FHJTUFSGPS'PSVN
    ^
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    4VCTDSJCFUPQBJEQMBO
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    4VCTDSJCFUPBOFYJTUJOHUFBNBDDPVOU
    ^
    ^
    ^ @virajkhatavkar

    View Slide

  27. DMBTT 3FHJTUFST3FHVMBS4VCTDSJCFS
    \
    ^
    @virajkhatavkar

    View Slide

  28. DMBTT 3FHJTUFST5FBN.FNCFS
    \
    ^
    @virajkhatavkar

    View Slide

  29. DMBTT 3FHJTUFST'PSVN6TFS
    \
    ^
    @virajkhatavkar

    View Slide

  30. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  31. JOUFSGBDF 3FHJTUFST6TFS
    \
    ^
    @virajkhatavkar

    View Slide

  32. JOUFSGBDF3FHJTUFST6TFS
    \
    QVCMJD GVODUJPO IBOEMF

    ^
    @virajkhatavkar

    View Slide

  33. DMBTT 3FHJTUFST3FHVMBS4VCTDSJCFS JNQMFNFOUT 3FHJTUFST6TFS
    \
    QVCMJD GVODUJPO IBOEMF

    \
    -PHJDGPS3FHJTUFSJOHB3FHVMBS4VCTDSJCFS
    ^
    ^
    @virajkhatavkar

    View Slide

  34. DMBTT 3FHJTUFST5FBN.FNCFS JNQMFNFOUT 3FHJTUFST6TFS
    \
    QVCMJD GVODUJPO IBOEMF

    \
    -PHJDGPS+PJOJOHUPB5FBN
    ^
    ^
    @virajkhatavkar

    View Slide

  35. DMBTT 3FHJTUFST'PSVN6TFS JNQMFNFOUT 3FHJTUFST6TFS
    \
    QVCMJD GVODUJPO IBOEMF

    \
    -PHJDGPS3FHJTUFSJOHBTB'PSVN6TFS
    ^
    ^
    @virajkhatavkar

    View Slide

  36. "DUJPOJUFNT
    *EFOUJGZBQPJOUPGGMFYJCJMJUZ
    &YUSBDUFBDITUSBUFHZJOUPJUTPXO
    DMBTT
    "EIFSFFBDITUSBUFHZUPBDPOUSBDU
    %FUFSNJOFUIFQSPQFSTUSBUFHZBOEMFU
    JUIBOEMFUIFUBTL
    @virajkhatavkar

    View Slide

  37. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    ^
    QSPUFDUFEGVODUJPO TUSBUFHZ

    \
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    SFUVSO OFX3FHJTUFST3FHVMBS4VCTDSJCFS
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    SFUVSO OFX3FHJTUFST5FBN.FNCFS
    ^
    SFUVSO OFX3FHJTUFST'PSVN6TFS
    ^
    ^
    @virajkhatavkar

    View Slide

  38. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    UIJTTUSBUFHZ SFRVFTU
    IBOEMF

    ^
    QSPUFDUFEGVODUJPO TUSBUFHZ SFRVFTU

    \
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    SFUVSO OFX3FHJTUFST3FHVMBS4VCTDSJCFS
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    SFUVSO OFX3FHJTUFST5FBN.FNCFS
    ^
    SFUVSO OFX3FHJTUFST'PSVN6TFS
    ^
    ^ @virajkhatavkar

    View Slide

  39. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    UIJTTUSBUFHZ SFRVFTU
    IBOEMF

    ^
    QSPUFDUFEGVODUJPOTUSBUFHZ SFRVFTU

    \
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    SFUVSOOFX3FHJTUFST3FHVMBS4VCTDSJCFS
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    SFUVSOOFX3FHJTUFST5FBN.FNCFS
    ^
    SFUVSOOFX3FHJTUFST'PSVN6TFS
    ^
    ^ @virajkhatavkar

    View Slide

  40. DMBTT 4VCTDSJQUJPO$POUSPMMFS
    \
    QVCMJD GVODUJPO TUPSF 3FRVFTUSFRVFTU 'BDUPSZ GBDUPSZ

    \
    GBDUPSZHFU4USBUFHZ SFRVFTU
    IBOEMF

    ^
    QSPUFDUFEGVODUJPOTUSBUFHZ SFRVFTU

    \
    JG SFRVFTUIBT bQBJE@TVCTDSJQUJPO`

    \
    SFUVSOOFX3FHJTUFST3FHVMBS4VCTDSJCFS
    ^
    JG SFRVFTUIBT bKPJO@B@UFBN`

    \
    SFUVSOOFX3FHJTUFST5FBN.FNCFS
    ^
    SFUVSOOFX3FHJTUFST'PSVN6TFS
    ^
    ^ @virajkhatavkar

    View Slide

  41. @virajkhatavkar

    View Slide

  42. "SDIJUFDUVSF%FDJTJPO
    WT
    %FTJHO%FDJTJPO
    @virajkhatavkar

    View Slide

  43. "SDIJUFDUVSF%FDJTJPO
    WT
    %FTJHO%FDJTJPO
    @virajkhatavkar

    View Slide

  44. "SDIJUFDUVSF%FDJTJPO
    WT
    %FTJHO%FDJTJPO
    @virajkhatavkar

    View Slide

  45. "EFTJHOSFQSFTFOUTPOF
    QPJOUJOUIFQPUFOUJBM
    EFDJTJPOTQBDF
    @virajkhatavkar

    View Slide

  46. "MMBSDIJUFDUVSFJTEFTJHOCVU
    OPUBMMEFTJHOJTBSDIJUFDUVSF
    @virajkhatavkar

    View Slide

  47. "SDIJUFDUVSFSFQSFTFOUTUIF
    TJHOJGJDBOUEFTJHOEFDJTJPOTUIBU
    TIBQFBTZTUFN XIFSF
    TJHOJGJDBODFJTNFBTVSFECZDPTU
    PGDIBOHF
    @virajkhatavkar

    View Slide

  48. 5ZQJDBM$POUSPMMFS
    @virajkhatavkar

    View Slide

  49. QVCMJDGVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    UBTL OFX 5BTL

    UBTLUJUMFSFRVFTUUJUMF
    UBTLEVF@EBUF SFRVFTUEVF@EBUF
    JG UBTLTBWF

    \
    4FOE&NBJMUPUFBNNFNCFST
    /PUJGZ5FBN-FBEFS
    -PH"DUJPO
    4FU$30/+PCGPSSFNJOEFST
    SFUVSO UIJTSFEJSFDU bFEJU@QBHF`

    ^
    UISPX OFX /PU'PVOE&YDFQUJPO

    ^
    @virajkhatavkar

    View Slide

  50. @virajkhatavkar

    View Slide

  51. *OEFGFOTFPG$36% UIJTJT
    QFSGFDUMZ0,J
    "EWJDF'PSTNBMMBQQT
    @virajkhatavkar

    View Slide

  52. @virajkhatavkar
    .PEFM
    %PNBJO-BZFS
    $POUSPMMFS
    7JFX

    View Slide

  53. @virajkhatavkar
    .PEFM
    4FSWJDF-BZFS
    $POUSPMMFS
    7JFX
    %PNBJO-BZFS

    View Slide

  54. QVCMJDGVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    UBTL OFX 5BTL

    UBTLUJUMFSFRVFTUUJUMF
    UBTLEVF@EBUF SFRVFTUEVF@EBUF
    JG UBTLTBWF

    \
    4FOE&NBJMUPUFBNNFNCFST
    /PUJGZ5FBN-FBEFS
    -PH"DUJPO
    4FU$30/+PCGPSSFNJOEFST
    SFUVSO UIJTSFEJSFDU bFEJU@QBHF`

    ^
    UISPX OFX /PU'PVOE&YDFQUJPO

    ^
    @virajkhatavkar

    View Slide

  55. $PNNBOEPSJFOUFE
    BSDIJUFDUVSF
    @virajkhatavkar

    View Slide

  56. $PNNBOET
    • $PNNBOETBSFTJNQMF%50T
    • 5IFJSPOMZSFTQPOTJCJMJUZJTUPDPOUBJOJOGPSNBUJPO
    @virajkhatavkar

    View Slide

  57. DMBTT $SFBUF5BTL$PNNBOE \
    QVCMJD OBNF
    QVCMJD EVF@EBUF
    QVCMJDGVODUJPO @@DPOTUSVDU UBTL@OBNF EVF@EBUF

    \
    UIJTOBNF UBTL@OBNF
    UIJTEVF@EBUF EVF@EBUF
    ^
    ^
    @virajkhatavkar

    View Slide

  58. $0.."/%
    1SFTFOUBUJPO-BZFS 4FSWJDF-BZFS
    $0.."/%
    )"/%-&3
    @virajkhatavkar

    View Slide

  59. $0.."/%
    1SFTFOUBUJPO-BZFS 4FSWJDF-BZFS
    $0.."/%
    )"/%-&3
    @virajkhatavkar

    View Slide

  60. $0.."/%
    1SFTFOUBUJPO-BZFS 4FSWJDF-BZFS
    $0.."/%
    )"/%-&3
    $0.."/%
    #64
    @virajkhatavkar

    View Slide

  61. QVCMJDGVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    UBTL OFX 5BTL

    UBTLUJUMFSFRVFTUUJUMF
    UBTLEVF@EBUF SFRVFTUEVF@EBUF
    JG UBTLTBWF

    \
    4FOE&NBJMUPUFBNNFNCFST
    /PUJGZ5FBN-FBEFS
    -PH"DUJPO
    4FU$30/+PCGPSSFNJOEFST
    SFUVSO UIJTSFEJSFDU bFEJU@QBHF`

    ^
    UISPX OFX /PU'PVOE&YDFQUJPO

    ^
    @virajkhatavkar

    View Slide

  62. DMBTT $SFBUF5BTL$PNNBOE \
    QVCMJD OBNF
    QVCMJD EVF@EBUF
    QVCMJDGVODUJPO @@DPOTUSVDU UBTL@OBNF EVF@EBUF

    \
    UIJTOBNF UBTL@OBNF
    UIJTEVF@EBUF EVF@EBUF
    ^
    ^
    @virajkhatavkar

    View Slide

  63. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO@@DPOTUSVDU 5BTLUBTL .BJMFSNBJMFS

    \
    UIJTUBTLUBTL
    UIJTNBJMFSNBJMFS
    ^
    ^
    @virajkhatavkar

    View Slide

  64. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    ^
    @virajkhatavkar

    View Slide

  65. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    ^
    ^
    @virajkhatavkar

    View Slide

  66. QVCMJD GVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    ^
    @virajkhatavkar
    This function is
    responsible for
    carrying out all the
    sequential tasks

    View Slide

  67. QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    4FOE&NBJM
    4FU$SPO +PCT
    8SBQJOB%#5SBOTBDUJPO
    ^
    ^
    @virajkhatavkar

    View Slide

  68. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    4FOE&NBJM
    4FU$SPO +PCT
    8SBQJOB%#5SBOTBDUJPO
    ^
    ^
    ^
    @virajkhatavkar

    View Slide

  69. $POUSPMMFS
    QVCMJDGVODUJPO TUPSF 3FRVFTUSFRVFTU

    \
    DPNNBOE OFX $SFBUF5BTL$PNNBOE
    SFRVFTUOBNF
    SFRVFTUEVF@EBUF




    UIJTDPNNBOE#VTFYFDVUF DPNNBOE

    SFUVSO UIJTSFEJSFDU bFEJU@QBHF`

    ^
    @virajkhatavkar

    View Slide

  70. CREATE TASK COMMAND
    Presentation Layer
    @virajkhatavkar

    View Slide

  71. CREATE TASK COMMAND
    Presentation Layer Service Layer
    CREATE TASK COMMAND
    HANDLER
    COMMAND BUS
    @virajkhatavkar

    View Slide

  72. 6TFDBTF
    @virajkhatavkar

    View Slide

  73. CLI
    WEB
    API
    @virajkhatavkar

    View Slide

  74. CLI Command
    WEB
    API
    @virajkhatavkar

    View Slide

  75. CLI Command
    WEB
    API
    @virajkhatavkar

    View Slide

  76. &WFOUTJ
    @virajkhatavkar

    View Slide

  77. &YBNQMFTPGFWFOUT
    • 6TFS3FHJTUFSFE
    • 1PTUMJLFE
    • 6TFS5BHHFE
    • 1BTTXPSE$IBOHFE
    @virajkhatavkar

    View Slide

  78. Events
    (are fired)
    @virajkhatavkar

    View Slide

  79. Events
    (are fired)
    Listeners
    Are caught by
    @virajkhatavkar

    View Slide

  80. Listeners Services
    dispatch
    @virajkhatavkar

    View Slide

  81. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    NBJMFSUBTL$SFBUFE UBTL

    ^
    ^
    ^ @virajkhatavkar

    View Slide

  82. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    NBJMFSUBTL$SFBUFE UBTL

    ^
    ^
    ^ @virajkhatavkar
    Task Created
    event

    View Slide

  83. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL .BJMFS NBJMFS

    \
    UIJTUBTL UBTL
    UIJTNBJMFS NBJMFS
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    NBJMFSUBTL$SFBUFE UBTL

    ^
    ^
    ^ @virajkhatavkar

    View Slide

  84. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL

    \
    UIJTUBTL UBTL
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    FWFOUOFX &WFOU

    UIJTFWFOU.BOBHFS
    EJTQBUDI FWFOU

    ^
    ^
    ^ @virajkhatavkar

    View Slide

  85. DMBTT $SFBUF5BTL$PNNBOE)BOEMFS \
    QVCMJDGVODUJPO @@DPOTUSVDU 5BTL UBTL

    \
    UIJTUBTL UBTL
    ^
    QVCMJDGVODUJPO IBOEMF $SFBUF5BTL$PNNBOE DPNNBOE

    \
    UIJTUBTLUJUMFDPNNBOEUJUMF
    UIJTUBTLEVF@EBUF DPNNBOEEVF@EBUF
    JG UIJTUBTLTBWF

    \
    FWFOU OFX &WFOU

    UIJTFWFOU.BOBHFS
    EJTQBUDI FWFOU

    ^
    ^
    ^ @virajkhatavkar

    View Slide

  86. TaskCreatedEvent
    (is fired)
    TaskCreatedListener
    caught by
    @virajkhatavkar

    View Slide

  87. Log Info TaskCreatedListener
    Set Cron Job
    Send Email
    @virajkhatavkar

    View Slide

  88. $-&"/"3$)*5&$563&
    • *OEFQFOEFOUPGGSBNFXPSLT
    @virajkhatavkar

    View Slide

  89. $-&"/"3$)*5&$563&
    • *OEFQFOEFOUPGGSBNFXPSLT
    • 5FTUBCMF
    @virajkhatavkar

    View Slide

  90. $-&"/"3$)*5&$563&
    • *OEFQFOEFOUPGGSBNFXPSLT
    • 5FTUBCMF
    • *OEFQFOEFOUPG6*
    @virajkhatavkar

    View Slide

  91. $-&"/"3$)*5&$563&
    • *OEFQFOEFOUPGGSBNFXPSLT
    • 5FTUBCMF
    • *OEFQFOEFOUPG6*
    • *OEFQFOEFOUPG%BUBCBTF
    @virajkhatavkar

    View Slide

  92. $-&"/"3$)*5&$563&
    • *OEFQFOEFOUPGGSBNFXPSLT
    • 5FTUBCMF
    • *OEFQFOEFOUPG6*
    • *OEFQFOEFOUPG%BUBCBTF
    • *OEFQFOEFOUPGFYUFSOBMBHFODZ
    @virajkhatavkar

    View Slide

  93. $234

    View Slide

  94. @virajkhatavkar

    View Slide

  95. "CPVU.F
    • 'PVOEFS )FBEPG5FDIOPMPHZ
    • 1)1
    • 6*69
    • "OHVMBS+4
    • WJSBK!UBOUSBHZBODPN
    • !WJSBKLIBUBWLBS
    @virajkhatavkar
    5BOUSB(ZBO

    View Slide

  96. KPJOEJOUBMLDF

    View Slide

  97. 26&45*0/4

    View Slide