The Zero Bullshit Architecture

50 %
50 %
Information about The Zero Bullshit Architecture

Published on May 29, 2008

Author: lars3loff

Source: slideshare.net

Description

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)

The Zero Bullshit Architecture Day Business & Tech Summit Chicago, May 2008 Lars Trieloff, Product Manager 1

Before I start “ One of the most salient features of our culture is that ” there is so much bullshit. —Prof. Harry G. Frankfurt 2

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

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

Goal Review 4

Goal Review We want to build web applications 4

Goal Review We want to build web applications to deliver value to our users 4

Goal Review We want to build web applications to deliver value to our users web applications that allow integration 4

Goal Review We want to build web applications to deliver value to our users web applications that allow integration and enable personalization 4

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

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

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

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

Sounds easy, but May you have interesting software projects 5

Sounds easy, but Why do so many soft ware projects end up becoming interesting? May you have interesting software projects 5

Where do projects become interesting? 6

Where do projects become interesting? Requirements 6

Where do projects become interesting? Concept Requirements 6

Where do projects become interesting? Architecture Concept Requirements 6

Where do projects become interesting? Implementation Architecture Concept Requirements 6

Where do projects become interesting? Operations Implementation Architecture Concept Requirements 6

Where do projects become interesting? Operations Implementation Architecture Concept $$ $$ $ $$ $ Requirements 6

Where do projects become interesting? Operations Implementation Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6

Where do projects become interesting? Operations $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6

Where do projects become interesting? Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6

Where do projects become $ interesting? $$ $ $ $$ $ $ $ $$ $ $$ $$ $ $ $ $ $ $ $$ $ $ $ Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6

Where do projects become $ interesting? $$ $ $ $$ $ $ $ $$ $ $$ $$ $ $ $ $ $ $ $$ $ $ $ Operations $ $ $$ $ $$ $ Implementation $$$ $ $$ Architecture $$ $ $$$ Concept $$ $$ $ $$ $ Requirements 6

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

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

Why does Architectural Failure happen? 8

Why does Architectural Failure happen? “Nob od y go t fired fo r bu y ing IBM” 8

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

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

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

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

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

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

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

Fighting Bullshit Architecture by Example 9

Fighting Bullshit Architecture by Example MySQL 9

Fighting Bullshit Architecture by Example Hibernate MySQL 9

Fighting Bullshit Architecture by Example Hibernate SQL Server MySQL 9

Fighting Bullshit Architecture by Example Hibernate ADO.NET SQL Server MySQL 9

Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET SQL Server MySQL 9

Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET SQL Server MySQL Oracle 9

Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET EJB 3.0 SQL Server MySQL Oracle 9

Fighting Bullshit Architecture by Example SOAP Bridge Hibernate ADO.NET EJB 3.0 Lucene SQL Server MySQL Oracle Index 9

Fighting Bullshit Architecture by Example SOAP Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9

Fighting Bullshit Architecture by Example SOAP Spring Webflow Bridge Hibernate Custom ADO.NET EJB 3.0 Crawler Lucene SQL Server MySQL Oracle Index 9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Building an alternative 18

Building an alternative CRX (+Connectors) 18

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

Building an alternative CRX (+Connectors) 20

Building an alternative Apache Sling CRX (+Connectors) 20

Building an alternative OSGi Apache Sling CRX (+Connectors) 20

Building an alternative OSGi Scripting Apache Sling CRX (+Connectors) 20

Building an alternative OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20

Building an alternative Web Browser (Frontend Runtime) OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20

Building an alternative Web Browser (Frontend Runtime) Widgets OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20

Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20

Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 20

Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21

Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21

Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21

Comparing approaches - Languages Web Browser (Frontend Runtime) Widgets Gadgets Sling.js JS JS JS OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 21

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

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

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

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

Comparing approaches - Interfaces Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 23

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

Building an alternative Web Browser (Frontend Runtime) Widgets Gadgets Sling.js OSGi Scripting O/C Mapping Apache Sling CRX (+Connectors) 25

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

1 Don’t bullshit 26

1 Don’t bullshit 2 think before you act 26

1 Don’t bullshit 2 think before you act 3 consider CRX 26

Thank you Learn more at www.day.com or ask lars.trieloff@day.com 27

Add a comment

Related presentations

Related pages

Brooklyn Soap Company: hochwertig und lässig – Zero Bullshit!

Architecture. Inspirations; Interior Design; Cars; Tech & Gadgets; Beauty. ... Zero Bullshit. Stattdessen kommen in die Produkte nur vegane Inhaltsstoffe, ...
Read more

Tekkie Consulting | Facebook

Application architecture should only be aimed at solving the business need, and not be dictated by other interests. The Zero Bullshit Architecture.
Read more

The Principles Of Architecture By Peter Nicholson

the master cleanse done right the zero bullshit guide to File: the principles of architecture by peter nicholson.pdf. Title:
Read more

Bullshit | LinkedIn

View 12516 Bullshit posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn.
Read more

Java Content Repository: The Best Of Both Worlds - DZone

Java Content Repository: The Best Of Both Worlds ... I like what my colleague Lars Trieloff sometimes calls the Zero Bullshit Architecture much better!
Read more

Connect relentlessly interactive systems architecture ...

"Connect relentlessly interactive systems architecture." - Generated by the Bullshit Generator 3.0
Read more