17. Services of a typical web application
!
Accounts: login, authorization
API: data storage and retrieval
WWW: actual web front-end
Most frameworks put these in the
same box - why?
38. Server for each service
can be expensive
providers like Heroku can help here
39. You're on your own
less framework support, fewer books, less
experience
40. Many other valid concerns
Backup
Cross DB queries
API changes
Down time
Terms of service
Legal
Quality concerns
End of service
Performance
Missing Features
Setup delays
Price
Latency
User Experience
48. We are not yet tackling the hard stuff
.. did give us PSR-3 for logging
49. PHP Content Repository Specification
•
•
•
•
Adaption of the JCR standard
Contains mostly just interfaces
API covers the needs of CMS
Semi-structured data
• Hierarchical data
• Fulltext Search
• Versioning
• etc.
52. Interface providers in Composer
"name": "jackalope/jackalope",
"type": "library",
...
"provide": {
"phpcr/phpcr-implementation": "2.1.0"
},
… now you can depend on
“phpcr-implementation” instead
of a specific provider
55. Decoupling your CMS
Example: Symfony CMF
•
•
•
•
!
PHPCR
o
Single API, different storage implementations
Symfony2
o
Off-the-shelf framework
Create.js
o
Client-side inline editing with RDFa and JSON-LD
Varnish
o
Construct pages from output of different services