TYPO3 5.0 The Business Case

Post on 19-May-2015

662 views 0 download

Tags:

description

n this presentation we looked at the architecture and explain it’s structure from a practical point of view: - what are the features and benefits of this design for developers, administrators and users - how to explain this architecture to prospective and existing clients - how it compares to previous TYPO3 versions and competing products. The presentation ends with a number of application scenarios.

Transcript of TYPO3 5.0 The Business Case

Gimme Five!The road to TYPO3 5.0 „Phoenix“

TYPO3 5.0 - The Business CasePRINCIPIA PHOENIXTYPO3 Conference 21.09.2007, Karlsruhe / Germany

Inspiring people toshare

Your itineraryThe way to here

Guiding principles

Example projects

Key success factors

Next steps

Inspiring people toshare

the way to here

Inspiring people toshare

What's wrong?TYPO3 4.x‘s architecture is reaching it‘s limit

Content management got more important and professional and with it the challenges have changed

Customers demand more for less (and rightly so)

Software around TYPO3 has moved on

TYPO3 needs to define the standard (like it did in the past) to maintain the lead

The Way To Here

Gimme Five!The road to TYPO3 5.0 „Phoenix“

Born in the Ketchup Mountains

Plan

Momentum

Idea

The Way To Here

Inspiring people toshare

Mission „Ease of Use“From the becoming of the TYPO3 Association to building of a brand, everything we have thought, said and done was meant to bring us here:

to the birth of a new era

to prove that Open Source projects can re-invent themselves

Welcome to Phoenix, the rebirth principle incarnate

The Way To Here

Inspiring people toshare

guiding principles

Inspiring people toshare

Why Principles Matterwith principles we are referring to the conventions and techniques used by TYPO3 5.0

we don‘t build buildings – design decisions can be changed most of the time

refactoring is already an important partof the daily 5.0 development

code changes, principles prevail

Guiding Principles

Inspiring people toshare

TYPO3's Principles

meet real world needs

configuration over development

modularity through Extensions (TER)

... inspiring people to share.

Guiding Principles

Inspiring people toshare

TYPO3's Principles

anticipate real world needs

convention over configuration

modularity everywhere

... inspiring people to share.

Guiding Principles

centralize concerns

efficient development

human readable code

Inspiring people toshare

5 Development MethodsWork where it matters (DDD)

Work where it belongs to (DRY)

No chaos, ever (TDD)

No bad surprises (CI)

Innovation built-in (DI, AOP, GUI)

Guiding Principles

Domain Driven Design

Don't Repeat Yourself

Test Driven Development

ContinuousIntegration Dependency Injection

Aspect Orient ProgrammingGraphical User Interface

Inspiring people toshare

Why focus on Domains?

More time in development is spent on infrastructure instead of user interfaces and business logic.

To hell with this!

Inspiring people toshare

Domain Driven DesignA domain is the activity or business of the user

Domain Driven Design is about

focussing on the domain and domain logic

accurately mapping the domain concepts to software

forming a ubiquitous language among the project members

Inspiring people toshare

Ubiquitous languageThe common vocabulary is an important prerequisitefor successful collaboration

Use the same words for discussion, modeling, developmentand documentation

Inspiring people toshare

Phone Book Domain Model

Inspiring people toshare

More phone book actionsshow phone book entries

check if user may delete phone book entry

export phone book entries

log phone book actions

Inspiring people toshare

More phone book actionsshow phone book entries

check if user may delete phone book entry

export phone book entries

log phone book actions✘ not in the domain of a phone book

Inspiring people toshare

Layered Architecture

Presentation

Domain

Data source

Application Logic (Service Layer)

Domain Model (Domain Layer)

View

Controller

Data Mapper (part of Content Repository)

Data Source Abstraction

Inspiring people toshare

Layered Architecture

Presentation

Domain

Data source

Application Logic (Service Layer)

Domain Model (Domain Layer)

View

Controller

Data Mapper (part of Content Repository)

Data Source Abstraction

Inspiring people toshare

Domain-Driven Design„Cancel the reservation for Mr. Sarkosh“

$person = $partyRepository->findByLastName(‘Sarkosh‘);$reservation = $reservationRepository->findByPerson($person);$reservation->cancel();

Inspiring people toshare

Why Centralize Concerns ?TYPO3 4.x leaves critical concerns and tedious redundant functions to be re-done with every extension.

Burn baby, burn.

Inspiring people toshare

Aspect Oriented ProgrammingAOP is a programming paradigm

complements OOP by separating concerns to improve modularization

OOP modularizes concerns: methods, classes, packages

AOP addresses cross-cutting concerns

Inspiring people toshare

Cross-cutting concerns

Presentation

Domain

Data source

Inspiring people toshare

Cross-cutting concerns

Presentation

Domain

Data source

The concerns

live here

Inspiring people toshare

Cross-cutting concerns

Phone BookDomain Model

Security

Logging

Inspiring people toshare

example projects

Inspiring people toshare

Example ProjectsEvery piece of logic added to a software system makes the next relaunch inch a little closer and threatens the relationship between the service provider and the customer.

Make it feel the heat!

Inspiring people toshare

Regular WebsiteProject phases today:

1. specification and design

2. production

3. adaption

4. support

=> the project‘s progress increasingly limits the adaptive range of the customer and the consultancy.

Example Projects

Functional Range

project progress in time

Inspiring people toshare

Regular Website with 5.0project phases then:

1. specification and design

2. prototype implementation

3. adaption and iterative development

4. support and iterative development

=> „extreme programming“ becomes a business model for the interaction between customer and service provider fostering long-term relationships.

Example Projects

Functional Range

project progress in time

Inspiring people toshare

TYPO3 as a frameworkproject phases now:

1. initial spec and design

2. development, beginning with the data model (!)

3. adaption

4. start all-over...

=> finite loop: changing business objectives collide with the initial data model and business logic

Example Projects

Amount of Code

project progress in time

Inspiring people toshare

TYPO3 as a frameworkproject phases with 5.0:

1. initial spec and design

2. initial development of fundamentalbusiness logic domains

3. adaption-as-you-work „surgically“ addressing business logic largely unhindered by infrastructure.

=> infinite loop: changing business objectives address existing and create new domains of business logic representated in the system.

„high speed, low drag“- principle keeps the troops mobile.

Example Projects

Amount of Code

project progress in time

Inspiring people toshare

key success factors

Inspiring people toshare

Key Success FactorsTYPO3 5.0 consists of two parts:

a framework ready to empower business logic

a CMS setting the next standard

TYPO3 5.0 will complete the „ease of use“-mission, thus „enabling people to communicate“.

Made from the same steel, but sharper, lighter and quicker.

Key Success Factors

Inspiring people toshare

3 Value-creating Principles

VIVID: Vitality in Domains (instead of dead db‘s)

SAFE: Centralized Intelligence Architecture

CLEAN: Look Ma, no chaos

Key Success Factors

Inspiring people toshare

Use Phoenix...to empower a content-driven consultancy

to focus on designing and improving business logic

to create more flexible and therefore long-lasting software solutions to business problems

to empower executive strategy without restraining tactics

to thrive on long-term customer relationships

Key Success Factors

Inspiring people toshare

Key Success Factorsbetter return on investment by making development more efficient

securing investments by extending the life-expectancy of systems

making content more versatile and portable through TYPO3 CR

enabling safer software through centralized security

fostering consistency and thereby vendor-independence... by principle

Inspiring people toshare

next steps

Inspiring people toshare

Mission ObjectivesPhase 0: „Preparation“ of Stakeholdersmuster ideas, ressources and people to plan and prepare the campaign.

Phase 1: „ Winning Hearts and Minds“ of Developerswinning those at the heart of TYPO3‘s success: developers everywhere.

Phase 2: „Making the Wave...“ for Consultanciesmake them work together and create a thriving feedback-production loop.

Phase 3: „and Surfing it“ alltogether!take an active role in the adaption of existing extensions' functions into 5.0-compatible extensions..

Proposal for market introduction

Inspiring people toshare

Phases of FlightPhase 0: „Boarding“:join the Phoenix Marketing Team (to be founded today)

Phase 1: „System Check“early adaption of the 5.0 framework for research projects to learn and adapt the principles.

Phase 2: „Take-Off“push for the design and production of the CMS package based on lessons learned by the 4.x versions.

Phase 3: „ Landing“take an active role in the adaption of existing extensions' functions into 5.0-compatible extensions.

Proposal for market introduction

Inspiring people toshare

What about the roadmap?

When will it be released?

Here is what our press rep has to say!

Gimme Five!The road to TYPO3 5.0 „Phoenix“

burning to rock content management (again)