Quick Upload

Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Post to Twitter Post to Twitter
Share on Facebook
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons
« Prev Comments 1 - 2 of 2 Next »
Add a comment If you have a SlideShare account, login to comment; otherwise comment as a guest.

    The Zero Bullshit Architecture

    from lars3loff, 6 months ago Add as contact

    2925 views | 2 comments | 2 favorites | 2 embeds (Stats)

    Desc: Lars Trieloff's presentation "The Zero Bullshit Architecture" on how not to design your enterprise content centric application. (And tips on how to do it better)

    Embed customize close
     

    More Info

    This slideshow is Public

    Views: 2925 Comments: 2 Favorites: 2 Downloads: 82

    View Details: 2688 on Slideshare 237 from embeds
    Most viewed embeds (Top 5): More
    All Embeds: Less
    Flagged as inappropriate Flag as inappropriate

    Flag as inappropriate

    Select your reason for flagging this slideshow as inappropriate.

    If needed, use the feedback form to let us know more details.

    Slideshow Transcript

    1. Slide 1: The Zero Bullshit Architecture Day Business & Tech Summit Chicago, May 2008 Lars Trieloff, Product Manager 1
    2. Slide 2: Before I start “ One of the most salient features of our culture is that ” there is so much bullshit. —Prof. Harry G. Frankfurt 2
    3. Slide 3: Hello, my name is Lars Trieloff ! Product Manager Collaboration and Digital Asset Management ! With Day since November 2007 ! Background: ! Open Source Software Development ! Collaboration Software ! Technical Documentation (DocBook) ! Blogging ! IT Systems Engineering 3
    4. Slide 4: Hello, my name is Lars Trieloff ! Product Manager Collaboration and Digital Asset Management Product ! With Day ManagNovember 2007 since ement Department of “n:o ! Background: t yet” ! Open Source Software Development ! Collaboration Software ! Technical Documentation (DocBook) ! Blogging ! IT Systems Engineering 3
    5. Slide 5: Goal Review 4
    6. Slide 6: Goal Review We want to build web applications 4
    7. Slide 7: Goal Review We want to build web applications to deliver value to our users 4
    8. Slide 8: Goal Review We want to build web applications to deliver value to our users web applications that allow integration 4
    9. Slide 9: Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization 4
    10. Slide 10: Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization that establish new communication channels 4
    11. Slide 11: Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization that establish new communication channels , increase usability 4
    12. Slide 12: Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization that establish new communication channels , increase usability and scale to large amounts of users and content 4
    13. Slide 13: Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization that establish new communication channels , increase usability and scale to large amounts of users and content within limited time & budget. 4
    14. Slide 14: Sounds easy, but May you have interesting software projects 5
    15. Slide 15: Sounds easy, but Why do so many soft ware projects end up becoming interesting? May you have interesting software projects 5
    16. Slide 16: Where do projects become interesting? 6
    17. Slide 17: Where do projects become interesting? Requirements 6
    18. Slide 18: Where do projects become interesting? Concept Requirements 6
    19. Slide 19: Where do projects become interesting? Architecture Concept Requirements 6
    20. Slide 20: Where do projects become interesting? Implementation Architecture Concept Requirements 6
    21. Slide 21: Where do projects become interesting? Operations Implementation Architecture Concept Requirements 6
    22. Slide 22: Where do projects become interesting? Operations Implementation Architecture Concept $$ $$ $ $$ $ Requirements 6
    23. Slide 23: Where do projects become interesting? Operations Implementation Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6
    24. Slide 24: Where do projects become interesting? Operations $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6
    25. Slide 25: Where do projects become interesting? Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6
    26. Slide 26: Where do projects become $ interesting? $$ $ $ $$ $ $ $ $$ $ $$ $$ $ $ $ $ $ $ $$ $ $ $ Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6
    27. Slide 27: Where do projects become $ interesting? $$ $ $ $$ $ $ $ $$ $ $$ $$ $ $ $ $ $ $ $$ $ $ $ Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6
    28. Slide 28: Architectural Failure ! Results of Architectural Failure ! Implementation and Operation too expensive ! Implementation too heavyweight, needs to much expensive resources ! Implementation not scalable, scaling becomes expensive ! Implementation not flexible, implementing new features becomes expensive ! System Components do not fit, integration becomes expensive 7
    29. Slide 29: Architectural Failure ! Results of Architectural Failure ! Implementation and Operation too expensive ! Implementation too heavyweight, needs to much expensive resources ! Implementation not scalable, scaling becomes expensive ! Implementation not flexible, implementing new features becomes expensive ! System Components do not fit, integration becomes expensive You can fix everything later on, if you pay for it 7
    30. Slide 30: Why does Architectural Failure happen? 8
    31. Slide 31: Why does Architectural Failure happen? “Nob od y go t fired fo r bu y ing IBM” 8
    32. Slide 32: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t g o t fire drf o r fired fo b u y ing buic ro s oIBM” M y ing f t ” 8
    33. Slide 33: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave g o t fire drf o r fired fo be e n do i ng i t b u y ing t h is way buic ro s oIBM” M y ing f t ” f o re ve r ” 8
    34. Slide 34: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave g o t fire drf o r fired fo be e n do i ng i t b u y ing t h is way buic ro s oIBM” M y ing f t ” f o re ve r ” “ L e t ’s us e R uby o n R a il s, e ve r y b o d y is t a lk ing a b o u t it.” 8
    35. Slide 35: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave g o t fire drf o r fired fo be e n do i ng i t b u y ing t h is way buic ro s oIBM” M y ing f t ” f o re ve r ” “ L e t ’s us e R uby o n R a il s, “H o w w i l l e ve r y b o d y is EJ B 3.0 lo o k t a lk ing a b o u t on my it.” re s ume? ” 8
    36. Slide 36: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave g o t fire drf o r fired fo be e n do i ng i t b u y ing t h is way buic ro s oIBM” M y ing f t ” f o re ve r ” “ L e t ’s us e “I do n o t nee d R uby o n R a il s, “H o w w i l l n o ca p aci ty e ve r y b o d y is EJ B 3.0 lo o k p la n n ing . I am t a lk ing a b o u t on my us ing a sc a la ble it.” re s ume? ” la ngu age .” 8
    37. Slide 37: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave g o t fire drf o r fired fo be e n do i ng i t b u y ing t h is way buic ro s oIBM” M y ing f t ” f o re ve r ” “ L e t ’s us e “I do n o t nee d R uby o n R a il s, “H o w w i l l n o ca p aci ty e ve r y b o d y is EJ B 3.0 lo o k p la n n ing . I am t a lk ing a b o u t on my us ing a sc a la ble it.” re s ume? ” la ngu age .” 8
    38. Slide 38: Why does Architectural Failure happen? “ No b o d y ego r “Nob od y ve t “ We h ave Result: Bulls**t g o t fire drf o r fired fo b u y ing buic ro s oIBM” M y ing f t ” be e n do i ng i t t h is way f o re ve r ” Architecture “ L e t ’s us e “H o w w i l l “I do n o t nee d R uby o n R a il s, n o ca p aci ty e ve r y b o d y is EJ B 3.0 lo o k p la n n ing . I am t a lk ing a b o u t on my us ing a sc a la ble it.” re s ume? ” la ngu age .” 8
    39. Slide 39: Fighting Bullshit Architecture by Example 9
    40. Slide 40: Fighting Bullshit Architecture by Example MySQL 9
    41. Slide 41: Fighting Bullshit Architecture by Example Hibernate MySQL 9
    42. Slide 42: Fighting Bullshit Architecture by Example Hibernate SQL Server MySQL 9
    43. Slide 43: Fighting Bullshit Architecture by Example Hibernate ADO.NET SQL Server MySQL 9
    44. Slide 44: Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET SQL Server MySQL 9
    45. Slide 45: Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET SQL Server MySQL Oracle 9
    46. Slide 46: Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET EJB 3.0 SQL Server MySQL Oracle 9
    47. Slide 47: Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET EJB 3.0 Lucene SQL Server MySQL Oracle Index 9
    48. Slide 48: Fighting Bullshit Architecture by Example SOAP Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9
    49. Slide 49: Fighting Bullshit Architecture by Example SOAP Spring Webflow Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9
    50. Slide 50: Fighting Bullshit Architecture by Example JSF SOAP Spring Webflow Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9
    51. Slide 51: Fighting Bullshit Architecture by Example JSF Flash SOAP Spring Webflow Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9
    52. Slide 52: Fighting Bullshit Architecture by Example JSF Flash SOAP Spring Webflow Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 9
    53. Slide 53: Fighting Bullshit Architecture by Example JSF Flash SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 9
    54. Slide 54: Fighting Bullshit Architecture by Example JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 9
    55. Slide 55: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 9
    56. Slide 56: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene Directory SQL Server MySQL MySQL Oracle Index 9
    57. Slide 57: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active MySQL Lucene Directory SQL Server MySQ MySQL Oracle Index 9
    58. Slide 58: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active MySQL Lucene Directory SQL Server MySQ MySQL Oracle Oracle Index 9
    59. Slide 59: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active MySQL Lucene Directory SQL Server MySQ MySQL Oracle Oracle Oracle Index 9
    60. Slide 60: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active MySQL Lucene Directory SQL Server SQL Server MySQ MySQL Oracle Oracle Oracle Index 9
    61. Slide 61: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    62. Slide 62: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    63. Slide 63: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    64. Slide 64: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP SOAP Bridge Spring Webflow Bridge Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    65. Slide 65: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP SOAP Bridge Spring Webflow Bridge Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    66. Slide 66: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 9
    67. Slide 67: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 10
    68. Slide 68: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 10
    69. Slide 69: Fighting Bullshit Architecture by Example Can we please Portal create an AIR app to NTLM JSF Flash get it to the SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate desktop? Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 10
    70. Slide 70: Fighting Bullshit Architecture by Example Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 11
    71. Slide 71: Fighting Bullshit Architecture by Example Wait, I have some Portal questions NTLM JSF Flash SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 11
    72. Slide 72: Where is our data stored? Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 12
    73. Slide 73: And where is our content? I cannot see it. Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 13
    74. Slide 74: This is a n-tier architecture. But how many layers are there? Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 14
    75. Slide 75: Where is the frontend? And who controls the application? Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 15
    76. Slide 76: How does this scale? And why should it scale? Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 16
    77. Slide 77: Let me extend this: DB migration, EJB annotation, POJO definition, Spring XML, ... Portal JSF Flash NTLM SOAP Spring Webflow Bridge Hibernate Custom Kerberos ADO.NET EJB 3.0 Crawler Active Lucene SQL Server MySQL Oracle Directory Index 17
    78. Slide 78: Building an alternative 18
    79. Slide 79: Building an alternative CRX (+Connectors) 18
    80. Slide 80: Best of both worlds data base fil es yste m hier- integ archi rity structure es read streams tx query write locking access control multi- value un- ning structured “full- obser- versio text” sort vation order content reposit or y 19
    81. Slide 81: Building an alternative CRX (+Connectors) 20
    82. Slide 82: Building an alternative Apache Sling CRX (+Connectors) 20
    83. Slide 83: Building an alternative OSGi Apache Sling CRX (+Connectors) 20
    84. Slide 84: Building an alternative OSGi Scripting Apache Sling CRX (+Connectors) 20
    85. Slide 85: Building an alternative OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20
    86. Slide 86: Building an alternative Web Browser (Frontend Runtime) OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20
    87. Slide 87: Building an alternative Web Browser (Frontend Runtime) Widgets OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20
    88. Slide 88: Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20
    89. Slide 89: Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20
    90. Slide 90: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21
    91. Slide 91: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21
    92. Slide 92: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21
    93. Slide 93: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21
    94. Slide 94: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS JS OSGi Scripting O/C Mapping Java Apache Sling CRX (+Connectors) 21
    95. Slide 95: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS JS OSGi Scripting O/C Mapping Java JSP Apache Sling CRX (+Connectors) 21
    96. Slide 96: Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS JS OSGi Scripting O/C Mapping Java JSP JS Apache Sling CRX (+Connectors) 21
    97. Slide 97: Comparing approaches - Languages Portal JSF Flash NTLM SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 22
    98. Slide 98: Comparing approaches - Interfaces Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 23
    99. Slide 99: Comparing approaches - Interfaces Portal JSF Flash NTLM SOAP SOAP Bridge Bridge Spring Webflow Spring Webflow Hibernate Hibernate Custom Kerberos ADO.NET ADO.NET EJB 3.0 EJB 3.0 Crawler Active SQL Ser ver er MySQL Lucene Directory SQL Server SQL MySQ MySQL Oracle Oracle Oracle Index 24
    100. Slide 100: Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 25
    101. Slide 101: Building an alternative Web Browser (Frontend Runtime) If you need a Widgets Gadgets Sling.js desktop client: try Prism & Fluid OSGi Scripting Apache Sling O/C Mapping CRX (+Connectors) 25
    102. Slide 102: 1 Don’t bullshit 26
    103. Slide 103: 1 Don’t bullshit 2 think before you act 26
    104. Slide 104: 1 Don’t bullshit 2 think before you act 3 consider CRX 26
    105. Slide 105: Thank you Learn more at www.day.com or ask lars.trieloff@day.com 27