the zero bullshit architecture

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

Upload: lars-trieloff

Post on 09-May-2015

10.224 views

Category:

Technology


5 download

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)

TRANSCRIPT

Page 1: The Zero Bullshit Architecture

Lars Trieloff, Product Manager

The Zero Bullshit Architecture

Day Business & Tech Summit Chicago,

May 2008

1

Page 2: The Zero Bullshit Architecture

Before I start

2

One of the most salient

features of our culture is that

there is so much bullshit.“”—Prof. Harry G. Frankfurt

Page 3: The Zero Bullshit Architecture

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

Page 4: The Zero Bullshit Architecture

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

Product Management: Department of “not

yet”

Page 5: The Zero Bullshit Architecture

Goal Review

4

Page 6: The Zero Bullshit Architecture

Goal Review

4

We want to build web applications

Page 7: The Zero Bullshit Architecture

Goal Review

4

We want to build web applications to deliver value to our users

Page 8: The Zero Bullshit Architecture

Goal Review

4

We want to build web applications to deliver value to our users

web applications that allow integration

Page 9: The Zero Bullshit Architecture

Goal Review

4

We want to build web applications to deliver value to our users

web applications that allow integration and enable personalization

Page 10: The Zero Bullshit Architecture

Goal Review

4

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

Page 11: The Zero Bullshit Architecture

Goal Review

4

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

Page 12: The Zero Bullshit Architecture

Goal Review

4

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

Page 13: The Zero Bullshit Architecture

Goal Review

4

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.

Page 14: The Zero Bullshit Architecture

Sounds easy, but

5

May you have interesting software projects

Page 15: The Zero Bullshit Architecture

Sounds easy, but

5

Why do so many software projects end up becoming interesting?

May you have interesting software projects

Page 16: The Zero Bullshit Architecture

Where do projects become interesting?

6

Page 17: The Zero Bullshit Architecture

Where do projects become interesting?

6

Requirements

Page 18: The Zero Bullshit Architecture

Concept

Where do projects become interesting?

6

Requirements

Page 19: The Zero Bullshit Architecture

Concept

Where do projects become interesting?

6

Requirements

Architecture

Page 20: The Zero Bullshit Architecture

Implementation

Concept

Where do projects become interesting?

6

Requirements

Architecture

Page 21: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

Architecture

Page 22: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$$ $ $ $$ $$

Architecture

Page 23: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$$ $ $ $$

$ $

$$

$ $$ $Architecture

Page 24: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$

$$ $ $ $

$

$

$

$

$ $$

$

$

$$

$ $$ $Architecture

Page 25: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$

$$ $ $

$$

$

$$

$

$

$ $

$

$

$ $$

$

$

$

$$

$ $$ $Architecture

Page 26: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$

$

$

$

$$

$$

$$$

$ $ $

$$

$

$

$$ $

$

$

$

$ $

$

$$$

$

$$

$$

$

$

$

$$

$ $

$

$

$ $$

$

$

$

$$

$ $$ $Architecture

Page 27: The Zero Bullshit Architecture

Operations

Implementation

Concept

Where do projects become interesting?

6

Requirements

$

$

$

$

$$

$$

$$$

$ $ $

$$

$

$

$$ $

$

$

$

$ $

$

$$$

$

$$

$$

$

$

$

$$

$ $

$

$

$ $$

$

$

$

$$

$ $$ $Architecture

Page 28: The Zero Bullshit Architecture

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

Page 29: The Zero Bullshit Architecture

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

You can fix everything later on, if you pay for it

Page 30: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

Page 31: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

Page 32: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

Page 33: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

Page 34: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

“Let’s use Ruby on Rails, everybody is talking about it.”

Page 35: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

“Let’s use Ruby on Rails, everybody is talking about it.”

“How will EJB 3.0 look on my resume?”

Page 36: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

“Let’s use Ruby on Rails, everybody is talking about it.”

“How will EJB 3.0 look on my resume?”

“I do not need no capacity planning. I am using a scalable language.”

Page 37: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

“Let’s use Ruby on Rails, everybody is talking about it.”

“How will EJB 3.0 look on my resume?”

“I do not need no capacity planning. I am using a scalable language.”

Page 38: The Zero Bullshit Architecture

Why does Architectural Failure happen?

8

“Nobody got fired for buying IBM”

“Nobody ever got fired for buying Microsoft”

“We have been doing it this way forever”

“Let’s use Ruby on Rails, everybody is talking about it.”

“How will EJB 3.0 look on my resume?”

“I do not need no capacity planning. I am using a scalable language.”

Result: Bulls**t Architecture

Page 39: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

Page 40: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

MySQL

Page 41: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

MySQL

Hibernate

Page 42: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL

Hibernate

Page 43: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL

Hibernate

ADO.NET

Page 44: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL

Hibernate

ADO.NET

SOAP Bridge

Page 45: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL Oracle

Hibernate

ADO.NET

SOAP Bridge

Page 46: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL Oracle

Hibernate

EJB 3.0ADO.NET

SOAP Bridge

Page 47: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0ADO.NET

SOAP Bridge

Page 48: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Page 49: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

Page 50: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF

Page 51: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Page 52: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Active Directory

Page 53: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

Page 54: The Zero Bullshit Architecture

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Page 55: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Page 56: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQL

Page 57: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQL

Page 58: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracle

Page 59: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracle

Page 60: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL Server

Page 61: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Page 62: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

Page 63: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

Page 64: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

Page 65: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Page 66: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

9

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Page 67: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

10

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Page 68: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

10

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Page 69: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

10

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Can we please create an AIR app to

get it to the desktop?

Page 70: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

11

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Page 71: The Zero Bullshit Architecture

Portal

Fighting Bullshit Architecture by Example

11

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Wait, I have some questions

Page 72: The Zero Bullshit Architecture

Portal

12

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Where is our data stored?

Page 73: The Zero Bullshit Architecture

Portal

13

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

And where is our content? I cannot see it.

Page 74: The Zero Bullshit Architecture

Portal

14

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

This is a n-tier architecture. But how many layers are there?

Page 75: The Zero Bullshit Architecture

Portal

15

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Where is the frontend? And who controls the application?

Page 76: The Zero Bullshit Architecture

Portal

16

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

How does this scale? And why should it scale?

Page 77: The Zero Bullshit Architecture

Portal

17

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

Let me extend this: DB migration, EJB annotation, POJO definition, Spring XML, ...

Page 78: The Zero Bullshit Architecture

Building an alternative

18

Page 79: The Zero Bullshit Architecture

Building an alternative

18

CRX (+Connectors)

Page 80: The Zero Bullshit Architecture

Best of both worlds

19

database filesystem

content repository

read

write

hier-archiesstreams

locking accesscontrol

integrity structure

tx query

un-structured “full-

text” sortorder

versioning

obser-vation

multi-value

Page 81: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Page 82: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

Page 83: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi

Page 84: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting

Page 85: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Page 86: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Page 87: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets

Page 88: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets

Page 89: The Zero Bullshit Architecture

Building an alternative

20

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

Page 90: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

Page 91: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS

Page 92: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS JS

Page 93: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS JS JS

Page 94: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS JS JS

Java

Page 95: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS JS JS

Java JSP

Page 96: The Zero Bullshit Architecture

Comparing approaches - Languages

21

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

JS JS JS

Java JSP JS

Page 97: The Zero Bullshit Architecture

Portal

Comparing approaches - Languages

22

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Page 98: The Zero Bullshit Architecture

Comparing approaches - Interfaces

23

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

Page 99: The Zero Bullshit Architecture

Portal

Comparing approaches - Interfaces

24

SQL Server MySQL OracleLucene Index

Hibernate

EJB 3.0Custom Crawler

ADO.NET

SOAP Bridge

Spring Webflow

JSF Flash

Kerberos

Active Directory

NTLM

MySQLMySQLOracleOracleSQL ServerSQL Server

Hibernate

ADO.NET

SOAP Bridge

EJB 3.0

Spring Webflow

Page 100: The Zero Bullshit Architecture

Building an alternative

25

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.js

Page 101: The Zero Bullshit Architecture

Building an alternative

25

CRX (+Connectors)

Apache Sling

OSGi Scripting O/C Mapping

Web Browser (Frontend Runtime)

Widgets Gadgets Sling.jsIf you need a desktop client: try

Prism & Fluid

Page 102: The Zero Bullshit Architecture

26

1 Don’t bullshit

Page 103: The Zero Bullshit Architecture

26

1 Don’t bullshit

2 think before you act

Page 104: The Zero Bullshit Architecture

26

1 Don’t bullshit

2 think before you act

3 consider CRX

Page 106: The Zero Bullshit Architecture
Page 107: The Zero Bullshit Architecture