SlideShare ist ein Scribd-Unternehmen logo
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 Apps
Creasoft 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 soc
Daniel 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
 
Moderner Webentwicklungs-Workflow
Moderner Webentwicklungs-WorkflowModerner Webentwicklungs-Workflow
Moderner Webentwicklungs-Workflow
PLUSPOL interactive GbR
 
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 2015
AboutYouGmbH
 
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 Gelf
NETWAYS
 
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
thoemmes
 
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
NETWAYS
 
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 Architekturen
Leo 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 computing
Wolfgang Weigend
 
Akzeptanztests
AkzeptanztestsAkzeptanztests
Akzeptanztests
Markus Gärtner
 

Ä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