SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
PA U L S E I F F E R T

|

08. NOVEMBER 2013




SYMFONY LIVE BERLIN 2013

RAUS AUS DEM
VENDOR-LOCK-IN
PA U L
SEIFFERT
VENDOR-LOCK-IN
Grenzen der Bibliotheken
Keine Garantien
Einfluss auf die eigene Architektur
ABER…
Wiederkehrende Funktionalität
Best Practices
Gekapselte Komplexität
FRÜHER…
• “reines” PHP
• keine Frameworks
• Viel Technologie-

spezifischer Code

• Stark gekoppelte

Komponenten
VENDOR-LOCK-IN?
✔✔✔
S PÄT E R …
• Struktur durch

Framework

• Abstraktion über

Technologien

• Libraries teilweise

austauschbar

• Vermischte Concerns
• Framework nicht

austauschbar
VENDOR-LOCK-IN?
✔
Symfony / HTTP

Application

MySQLBackend

ES GEHT NOCH BESSER!
Controller

PageRepository

<<Interface>>
PageStorage

MySQLPageStorage

MySQLConnection
• Das Herzstück der Software

ist ein Modell der Domäne

• Frameworks sind Details
• Libraries sind austauschbar

durch semantische
Abstraktionen
Symfony / HTTP

Application

Controller

PageRepository

<<Interface>>
PageStorage

MySQLBackend

MySQLPageStorage

MySQLConnection
VENDOR-LOCK-IN?

X
BEISPIEL: GUZZLE
• HTTP-Client Library
• Viele praktische Features
• Erweiterbar
I N T E G R AT I O N V O N G U Z Z L E
I) GUZZLE-CLIENT OBJECT
VENDOR-LOCK-IN?
✔
II) GUZZLE-BUNDLE
II) GUZZLE-BUNDLE
II) GUZZLE-BUNDLE
VENDOR-LOCK-IN?

✔✔
I I I ) E I G E N E S I N T E G R AT I O N S - B U N D L E

AppBundle
Controller

<<interface>>
Search

GuzzleSearch

GuzzleSearchBundle

GuzzleClient
VENDOR-LOCK-IN?

✔
I I I ) E I G E N E S I N T E G R AT I O N S - B U N D L E

AppBundle

Application

Controller

Search

<<interface>>
SearchClient

GuzzleClient

GuzzleSearchClient

GuzzleSearchBundle
VENDOR-LOCK-IN?

X
S Y M F O N Y- A N W E N D U N G

GUZZLE
SYMFONY / HTTP

A P P L I K AT I O N S - L O G I K

GUZZLESEARCH
GUZZLE
TESTING
SYMFONY / HTTP

A P P L I K AT I O N S - L O G I K

GUZZLESEARCH
GUZZLE
• Erfindet das Rad nicht neu
• Macht Euch nicht abhängig
• Semantische Abstraktionen
• Dependency Injection
DANKESCHÖN!

https://joind.in/9418
LESESTOFF
• Eric Evans: Domain-Driven Design
• Vaughn Vernon: Implementing Domain-Driven Design
• Guzzle: guzzlephp.org
PHOTOS
• Lock - http://www.flickr.com/photos/24410855@N07/3172109331/
• Wheel - http://www.flickr.com/photos/72802667@N00/456568753
• Structure - http://www.flickr.com/photos/46271629@N00/2305078608
• Progress - http://www.flickr.com/photos/29312295@N06/4115844000
• Spaghetti - http://www.flickr.com/photos/7897906@N06/8602097091
• United States Capitol - Paul Seiffert
• Gears - http://www.flickr.com/photos/wwarby/4782904694/
• Guzzle - http://www.flickr.com/photos/66969579@N00/451668854
• Questions - http://www.flickr.com/photos/bilal-kamoon/6835060992

Weitere ähnliche Inhalte

Ähnlich wie Raus aus dem Vendor-Lock-In

Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
Docker: Container Management (Webinar vom 09.04.2015)
Docker: Container Management (Webinar vom 09.04.2015)Docker: Container Management (Webinar vom 09.04.2015)
Docker: Container Management (Webinar vom 09.04.2015)NETWAYS
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...SHI Search | Analytics | Big Data
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015AboutYouGmbH
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Paul Bakaus
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfNETWAYS
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0thoemmes
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfNETWAYS
 
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)NETWAYS
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice ArchitekturenLeo Lindhorst
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)NETWAYS
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 

Ähnlich wie Raus aus dem Vendor-Lock-In (20)

Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
Docker: Container Management (Webinar vom 09.04.2015)
Docker: Container Management (Webinar vom 09.04.2015)Docker: Container Management (Webinar vom 09.04.2015)
Docker: Container Management (Webinar vom 09.04.2015)
 
Moderner Webentwicklungs-Workflow
Moderner Webentwicklungs-WorkflowModerner Webentwicklungs-Workflow
Moderner Webentwicklungs-Workflow
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas GelfOSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
OSMC 2014 | Icinga Web 2 kann mehr by Thomas Gelf
 
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Akzeptanztests
AkzeptanztestsAkzeptanztests
Akzeptanztests
 

Raus aus dem Vendor-Lock-In